﻿// JScript File

var divID;

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function stateChanged() 
{ 
//if (xmlHttp.readyState==1)
//{
//document.getElementById("loading").style.display='block';
//document.getElementById("center_list").innerHTML='Loading';
//}
if (xmlHttp.readyState != 4)
{ 
//if(xmlHttp.status==200)
//{
//document.getElementById("loading").style.display='none';
try
{
document.getElementById(divID).innerHTML='<img src="http://' + location.host + '/graphics/ajax-loader.gif" />';
}
catch (e)
{
document.getElementById(divID).innerHTML='<img src="http://' + location.host + '/graphics/ajax-loader.gif" />';
}
//}
//}
}

if (xmlHttp.readyState==4)
{ 
//if(xmlHttp.status==200)
//{
//document.getElementById("loading").style.display='none';
try
{
document.getElementById(divID).innerHTML=xmlHttp.responseText;
}
catch (e)
{
document.getElementById(divID).innerHTML=xmlHttp.responseText;
}
//}
//}
}
}

var xmlHttp;

function LoadModels(makeID, div)
{

if (makeID == '')
{
document.getElementById(div).innerHTML='';
return;
}


   
str = '?makeID=' + makeID;

xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url = "http://" + location.host + "/controls/MotoringNewsSearch.ashx";
url = url + str;

divID = div;

xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 


function LoadModelsWithOnChangeEvent(makeID, div)
{

ClearSelects('make');

if (makeID == '')
{
document.getElementById(div).innerHTML='';
return;
}

   
str = '?makeID=' + makeID;
str = str + '&model=true';

xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url = "http://" + location.host + "/controls/CarFinder.ashx";
url = url + str;

divID = div;

xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 

function LoadVariant(makeID,modelID, div)
{
ClearSelects('model')
if (makeID == '')
{
document.getElementById(div).innerHTML='';
return;
}

var searchModel = document.getElementById('searchModel');
if(searchModel.options.selectedIndex == 0)
{
return;
} 
   
str = '?makeID=' + makeID;
str = str + '&modelID=' + modelID;
str = str + '&variant=true';

xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url = "http://" + location.host + "/controls/CarFinder.ashx";
url = url + str;

divID = div;

xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}


function LoadColoursAndTrims(variantID, div)
{
ClearSelects('variant')

if (variantID == '')
{
document.getElementById(div).innerHTML='';
return;
}

var variants = document.getElementById('variants');
if(variants.options.selectedIndex == 0)
{
return;
} 
   
str = '?variantID=' + variantID;
str = str + '&colours=true';

xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url = "http://" + location.host + "/controls/CarFinder.ashx";
url = url + str;

divID = div;

xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function LoadPaymentMethods()
{
document.getElementById('lbPayment').style.display = 'block';
document.getElementById('Payment').style.display = 'block';

// also load preferred date
document.getElementById('lbpreferreddate').style.display = 'block';
document.getElementById('preferreddate').style.display = 'block';

//also load the submit button's fieldset
document.getElementById('fldSubmit').style.display = 'block';
}

function ClearSelects(selected)
{
    switch (selected)
    {
    case 'make':
        document.getElementById('variant').innerHTML='';
        document.getElementById('coloursAndTrims').innerHTML='';
        document.getElementById('lbPayment').style.display = 'none';
        document.getElementById('Payment').style.display = 'none';
        document.getElementById('lbpreferreddate').style.display = 'none';
        document.getElementById('preferreddate').style.display = 'none';
        document.getElementById('fldSubmit').style.display = 'none';
        break;
    case 'model':
        document.getElementById('variant').innerHTML='';
        document.getElementById('coloursAndTrims').innerHTML='';
        document.getElementById('lbPayment').style.display = 'none';
        document.getElementById('Payment').style.display = 'none';
        document.getElementById('lbpreferreddate').style.display = 'none';
        document.getElementById('preferreddate').style.display = 'none';
        document.getElementById('fldSubmit').style.display = 'none';
        break;
    case 'variant':
        document.getElementById('coloursAndTrims').innerHTML='';
        document.getElementById('lbPayment').style.display = 'none';
        document.getElementById('Payment').style.display = 'none';
        document.getElementById('lbpreferreddate').style.display = 'none';
        document.getElementById('preferreddate').style.display = 'none';
        document.getElementById('fldSubmit').style.display = 'none';
        break;

    }
}


function ValidateCarFinder()
{
var result;

try
{


var lbfullname = document.getElementById('lbfullname');
var fullname = document.getElementById('fullname');

var lbtel = document.getElementById('lbtel');
var regtel = document.getElementById('regtel');

var lbemail = document.getElementById('lbemail');
var regemail = document.getElementById('regemail');

var lbcolour = document.getElementById('lbcolour');
var colour = document.getElementById('colour');

var lbtrim = document.getElementById('lbtrim');
var trim = document.getElementById('trim');


if(fullname.value == '')
{
fullname.className='error';
lbfullname.className='error';
result = false;
}
else
{
fullname.className='';
lbfullname.className='';
fullname.removeAttribute('class');
lbfullname.removeAttribute('class');
}

if(regtel.value == '')
{
regtel.className='error';
lbtel.className='error';
result = false;
}
else
{
regtel.className='';
lbtel.className='';
regtel.removeAttribute('class');
lbtel.removeAttribute('class');
}


if(regemail.value == '' || check_email(regemail.value) == false)
{

regemail.className='error';
lbemail.className='error';
result = false;
}
else
{
regemail.className='';
lbemail.className='';
regemail.removeAttribute('class');
lbemail.removeAttribute('class');
}

if(colour.options.selectedIndex == 0)
{
colour.className='error';
lbcolour.className='error';
result = false;

}
else
{
colour.className='';
lbcolour.className='';
colour.removeAttribute('class');
lbcolour.removeAttribute('class');
}

if(trim.options.selectedIndex == 0)
{
trim.className='error';
lbtrim.className='error';
result = false;

}
else
{
trim.className='';
lbtrim.className='';
trim.removeAttribute('class');
lbtrim.removeAttribute('class');
}

}
catch(e)
{
alert(e);
}

return result;
}

function check_email(email)
		{
		valid = true;
		var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            str = email;
            if(!str.match(emailRegEx))
                {
                 valid = false;
                }
                
         return valid;
		}
