
var set_models_dst;
function aa_set_models(make_id, o_dst, part_id){
    aa_select_clear(o_dst);
    set_models_dst=o_dst;
    xmlhttp=createXmlRequestObject();
    if(xmlhttp){
        part_add='';
        if(part_id) part_add="&part_id=" + part_id;
        xmlhttp.open("GET", "/static/ajax/get_models.php?make_id=" + make_id + part_add + "&r=" + Math.random(), true);
        xmlhttp.onreadystatechange = result_aa_get_models;
        xmlhttp.send(null);
    }
}

var result_aa_get_models_defmodel='';
function result_aa_get_models(){
    res=new Array();
    if (xmlhttp.readyState == 4) {
        if(xmlhttp.status == 200){
            if(xmlhttp.responseText!=''){
                r=xmlhttp.responseText.split('|');
                for(i in r){
                    rr=r[i].split('*');
                    res[rr[0]]=rr[1];
                }
            }
//Clear options
            aa_select_clear(set_models_dst);
//Set options
            n=1;
            for(i in res){
                ds=false;
                if(result_aa_get_models_defmodel!='' && result_aa_get_models_defmodel==i) ds=true;
                no=new Option(res[i], i, false, ds);
                set_models_dst.options[n]=no;
                n++;
            }
            result_aa_get_models_defmodel='';
        }
    }
}

var set_years_dst;
function aa_set_years(model_id, oy_dst, part_id){
    aa_select_clear(oy_dst);
    set_years_dst=oy_dst;
    xmlhttp=createXmlRequestObject();
    if(xmlhttp){
        part_add='';
        if(part_id) part_add="&part_id=" + part_id;
        xmlhttp.open("GET", "/static/ajax/get_years.php?model_id=" + model_id + part_add + "&r=" + Math.random(), true);
        xmlhttp.onreadystatechange = result_aa_get_years;
        xmlhttp.send(null);
    }
}

var result_aa_get_years_defyear='';
function result_aa_get_years(){
    res=new Array();
    if (xmlhttp.readyState == 4) {
        if(xmlhttp.status == 200){
            if(xmlhttp.responseText!=''){
                r=xmlhttp.responseText.split('|');
                for(i in r){
                    rr=r[i].split('*');
                    res[rr[0]]=rr[1];
                }
            }
//Clear options
            aa_select_clear(set_years_dst);
//Set options
            n=1;
            for(i in res){
                ds=false;
                if(result_aa_get_years_defyear!='' && result_aa_get_years_defyear==i) ds=true;
                no=new Option(i, i, false, ds);
                set_years_dst.options[n]=no;
                n++;
            }
            result_aa_get_years_defyear='';
        }
    }
}

var init_makes_defmake='';
var init_makes_defmodel='';
var init_makes_defyear='';
var aa_init_makes_part_id;
function aa_init_makes(part_id, defmake, defmodel, defyear){
    aa_init_makes_part_id=part_id;
    init_makes_defmake=defmake;
    init_makes_defmodel=defmodel;
    init_makes_defyear=defyear;
    xmlhttp=createXmlRequestObject();
    if(xmlhttp){
        xmlhttp.open("GET", "/static/ajax/get_makes.php?part_id=" + part_id +
            "&make_id=" + defmake + "&model_id=" + defmodel +
            "&r=" + Math.random(), true);
        xmlhttp.onreadystatechange = result_aa_init_makes;
        xmlhttp.send(null);
    }
}

function result_aa_init_makes(){
    res=new Array();
    f=document.forms.addtocart;
    dst=f.vehicle_make_id;
    dst_model=f.vehicle_model_id;
    dst_year=f.vehicle_year;
    if (xmlhttp.readyState == 4) {
        if(xmlhttp.status == 200){
            if(xmlhttp.responseText!=''){
                s=xmlhttp.responseText.split("\n");
                for(n=0;n<=2;n++){
                    res[n]=new Array();
                    r=s[n].split('|');
                    for(i in r){
                        rr=r[i].split('*');
                        res[n][rr[0]]=rr[1];
                    }
                }
            }
//Clear options
            aa_select_clear(dst);
//Set options
            n=1;
            for(i in res[0]){
                ds=false;
                if(init_makes_defmake==res[0][i]) ds=true;
                no=new Option(i, res[0][i], false, ds);
                dst.options[n]=no;
                n++;
            }
//Clear options
            aa_select_clear(dst_model);
//Set options
            n=1;
            for(i in res[1]){
                ds=false;
                if(init_makes_defmodel==res[1][i]) ds=true;
                no=new Option(i, res[1][i], false, ds);
                dst_model.options[n]=no;
                n++;
            }
//Clear options
            aa_select_clear(dst_year);
//Set options
            n=1;
            for(i in res[2]){
                ds=false;
                if(init_makes_defyear==i) ds=true;
                no=new Option(i, i, false, ds);
                dst_year.options[n]=no;
                n++;
            }
        }
    }
}

function aa_select_clear(o){
    var opts = o.options;
    var c = opts.length - 1;
    for(i=c;i>0;i--){
        o.remove(i);
    }
}


/** Function of sending search request to server by AJAX
* @param void
* @return void
*/
var xmlHttp = createXmlRequestObject();

/** Function of initialization of XMLHttpRequest object
* Function find the latest version of XMLHttpRequest object
* @return xmlHttp object
*/
function createXmlRequestObject()
{
    var xmlHttp;
    try
    {
        xmlHttp = new XMLHttpRequest();

    }
    catch(e)
    {
        var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
                                        'MSXML2.XMLHTTP.5.0',
                                        'MSXML2.XMLHTTP.4.0',
                                        'MSXML2.XMLHTTP.3.0',
                                        'MSXML2.XMLHTTP',
                                        'Microsoft.XMLHTTP');
        for( var i=0; i < XmlHttpVersions.length && !xmlHttp; i ++ )
        {
            try
            {
                xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
            }
            catch(e){}
        }
    }
    if ( !xmlHttp )
        alert('Error creation XMLHttpRequest');
    else
        return xmlHttp;
}

var processed_email_item=false;
var processed_email_prefix='';
function process_email(prefix)
{
    if(!processed_email_item){
        processed_email_prefix=prefix;
        rv_email = document.getElementById('outofstock_email'+prefix);
        part_id = document.getElementById('part_id_pr'+prefix).value;
        model_id = document.getElementById('part_model_id'+prefix).value;
    if (!validate_email(rv_email.value)){
            alert("Please enter your valid E-mail address.");
            return(false);
    }
        xmlhttp=createXmlRequestObject();
        if(xmlhttp){
            processed_email_item=part_id;
            href = "/server_request.php?part_id="+part_id+"&email="+rv_email.value+'&saved_action=add_stock'+'&vehicle_model_id='+model_id;
            xmlHttp.open( "GET", href, true );
            xmlHttp.onreadystatechange = handleServerResponse_email;
            xmlHttp.send(null);
        }
    }
}


/** Handler for AJAX request
* @param void
* @return void
*/
function handleServerResponse_email()
{
    if( xmlHttp.readyState == 4 )
    {
        if( xmlHttp.status == 200 )
        {

            xmlResponse = xmlHttp.responseXML;
            if(!xmlResponse || !xmlResponse.documentElement)
                alert('Incorrect XML structure:\n'+xmlHttp.responseText);
            xmlRoot = xmlResponse.documentElement;
            schoolnameArray = xmlRoot.getElementsByTagName("result_name");
            obj = document.getElementById('back_ordering_text');
            var search_result = '';
            search_result = schoolnameArray.item(0).firstChild.data;
            if( search_result == 1 )
            {
                if(processed_email_prefix!=''){
                    hide('back_form'+processed_email_prefix);
                    show('back_done'+processed_email_prefix);
                }else{
                    hide('back_forma');
                    show('back_donea');
                }
            }
            else
            {
                obj.innerHTML = 'You have problem ....';
            }
            processed_email_item=false;
        }
        else
        {
            alert('We have problems with ' + xmlHttp.statusText );
        }
    }
}

function validate_email(value)
{
  apos=value.indexOf("@");
  dotpos=value.lastIndexOf(".");
  if (apos<1||dotpos-apos<2){return false;}
  else {return true;}
}

function part_addtocart() {
    f=document.forms.incart;
    fa=document.forms.addtocart;
   
    if(fa.vehicle_make_id.selectedIndex==0){
        alert("Please choose your vehicle Make, Model and Year.");
        return false;
    }
    if(fa.vehicle_model_id.selectedIndex==0){
        alert("Please choose your vehicle Model and Year.");
        return false;
    }
    if(fa.vehicle_year.selectedIndex==0){
        alert("Please choose your vehicle Year.");
        return false;
    }
    f.cart_vehicle_make_id.value=fa.vehicle_make_id.options[fa.vehicle_make_id.selectedIndex].value;
    f.cart_vehicle_model_id.value=fa.vehicle_model_id.options[fa.vehicle_model_id.selectedIndex].value;
    f.cart_vehicle_year.value=fa.vehicle_year.options[fa.vehicle_year.selectedIndex].value;
    f.submit();
}

function part_addtocart2(part, make, model, year) {
    var f=document.forms.incart;    
    if (make && model && year) {
        f.item_id.value = part;
        f.cart_vehicle_make_id.value = make;
        f.cart_vehicle_model_id.value = model;
        f.cart_vehicle_year.value = year;
        f.submit();        
    }
}




function paCreateRollOvers(){
	if(document.getElementById){
		var paImages = document.getElementsByTagName('IMG');
		var paButtons = document.getElementsByTagName('INPUT');
	}else if(document.all && navigator.userAgent.indexOf('Mac')==-1){
		var paImages = document.all['mouseovers'].all.tags('IMG');
		var paButtons = document.all['mouseovers'].all.tags('INPUT');
	}else return;
	paPreloads = new Object();

	for (var i = 0; i < paImages.length; i++){
		var paImageOffSrc = paImages[i].src + "";
		if(paImageOffSrc.indexOf("_off.") != -1){
			var paImageOnSrc = paImageOffSrc.replace(/_off\./g, "_on.");
			paPreloads['paImageOff_' + i] = new Image();
			paPreloads['paImageOff_' + i].src = paImageOffSrc;
			paPreloads['paImageOn_' + i] = new Image();
			paPreloads['paImageOn_' + i].src = paImageOnSrc;
			/*paPreloads['paImageOn_' + i].onerror = function(){this.src='/images/blank.gif';}*/
			paImages[i].onmouseover = function(){this.src = this.src.replace(/_off\./g, "_on.");}
			paImages[i].onmouseout = function(){this.src = this.src.replace(/_on\./g, "_off.");}
		}
	}

	for (var i = 0; i < paButtons.length; i++){
		if(paButtons[i].src){
		var paImageOffSrc = paButtons[i].src + "";
		if(paImageOffSrc.indexOf("_off.") != -1){
			var paImageOnSrc = paImageOffSrc.replace(/_off\./g, "_on.");
			paPreloads['paImageOff_' + i] = new Image();
			paPreloads['paImageOff_' + i].src = paImageOffSrc;
			paPreloads['paImageOn_' + i] = new Image();
			paPreloads['paImageOn_' + i].src = paImageOnSrc;
			/*paPreloads['paImageOn_' + i].onerror = function(){this.src='/images/blank.gif';}*/
			paButtons[i].onmouseover = function(){this.src = this.src.replace(/_off\./g, "_on.");}
			paButtons[i].onmouseout = function(){this.src = this.src.replace(/_on\./g, "_off.");}
		}
		}
	}
}

window.onload = paCreateRollOvers;

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function hide(id){
if (document.getElementById){
obj = document.getElementById(id);
obj.style.display = "none";
}
}

function show(id){
if (document.getElementById){
obj = document.getElementById(id);
obj.style.display = "";
}
}

function showhide(id){
if (document.getElementById){
obj = document.getElementById(id);
if (obj.style.display == "none"){
obj.style.display = "";
} else {
obj.style.display = "none";
}
}
}

function createXmlRequestObject()
{
	var xmlHttp;
	try
	{
		xmlHttp = new XMLHttpRequest();

	}
	catch(e)
	{
		var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
										'MSXML2.XMLHTTP.5.0',
										'MSXML2.XMLHTTP.4.0',
										'MSXML2.XMLHTTP.3.0',
										'MSXML2.XMLHTTP',
										'Microsoft.XMLHTTP');
		for( var i=0; i < XmlHttpVersions.length && !xmlHttp; i ++ )
		{
			try
			{
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch(e){}
		}
	}
	if ( !xmlHttp )
		alert('Error creation XMLHttpRequest');
	else
		return xmlHttp;
}

myUrl = location.href;
mySub1 = ".php";
mySub2 = "-all.php";

function leftFromSubStringToBeginningOfFullString(fullString, subString) {
if (fullString.lastIndexOf(subString) == -1) {
return "";
} else {
return fullString.substring(0, fullString.lastIndexOf(subString));
}
}

function viewall() {
myText = leftFromSubStringToBeginningOfFullString(myUrl, mySub1);
document.write('<A HREF="');
document.write(myText);
document.write('-all.php">');
document.write('View All');
document.write('</A>');
}

function normalview() {
myText = leftFromSubStringToBeginningOfFullString(myUrl, mySub2);
document.write('<A HREF="');
document.write(myText);
document.write('.php">');
document.write('View Larger Photos');
document.write('</A>');
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
   if (restore) selObj.selectedIndex=0;
   }

function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
cntfield.value = maxlimit - field.value.length;
}

function setOption1(make_id) {
               
    el=document.getElementById('combodiv1a');
    if(el.options[0].value==0){
        el.remove(0);
    }
    el=document.getElementById('combodiv2a');

    for (x = el.options.length; x >= 0; x--) {
      el.options[x] = null;
    }
    el.options[0] = new Option('2.Choose a Model',0);    

    el=document.getElementById('combodiv3a');

    for (x = el.options.length; x >= 0; x--) {
      el.options[x] = null;
    }
    el.options[0] = new Option('3.Choose a Year',0);    
  
    
  f=document.forms.buypartsfor;
  f.refine_vehicle_make_id.value=make_id;
  f.refine_vehicle_model_id.value='';

	xmlhttp=createXmlRequestObject();
	if(xmlhttp){
		xmlhttp.open("GET", "/static/ajax/get_models.php?make_id=" + make_id + "&r=" + Math.random(), true);
		xmlhttp.onreadystatechange = result_setOption1;
		xmlhttp.send(null);
	}
}

function result_setOption1(){
	res=new Array();
    
    
    el=document.getElementById('combodiv2a');
    el.options.length=0;
    el.options[0] = new Option('2.Choose a Model',0);         

    //for (var x=0; x<el.options.length; x++){
//        if (el.options[x].selected==true){
//          val=el.options.value[x];
//           break
//        }
//    }
    //el.options.length=0
	if (xmlhttp.readyState == 4) {
		if(xmlhttp.status == 200){
			if(xmlhttp.responseText!=''){
				var r=xmlhttp.responseText.split('|');
				var c=0;
				for(i in r){
					rr=r[i].split('*');
                    //(rr[0] == val)? sel=true:sel=false
                    el.options[el.options.length] = new Option(rr[1], rr[0]);
					c++;
				}
			}
		}
	}
}

function setOption2(model_id) {
    el=document.getElementById('combodiv3a');

//    for (x = el.options.length; x >= 0; x--) {
//      el.options[x] = null;
//    }

    el.options.length=0;
    el.options[0] = new Option('3.Choose a Year',0);            
	
    // Remove the 'Choose a Model'' option 
    el=document.getElementById('combodiv2a');  
      if(el.options[0].value==0){            
        el.remove(0);   
    }          
    
    var f=document.forms.buypartsfor;
    f.refine_vehicle_model_id.value=model_id;
    f.refine_year.value='';
  
	xmlhttp=createXmlRequestObject();
	if(xmlhttp){
		xmlhttp.open("GET", "/static/ajax/get_years.php?model_id=" + model_id + "&r=" + Math.random(), true);
		xmlhttp.onreadystatechange = result_setOption2;
		xmlhttp.send(null);
	}
}

function result_setOption2(){
	res=new Array();
    var el=document.getElementById('combodiv3a');
   
	if (xmlhttp.readyState == 4) {
		if(xmlhttp.status == 200){
			if(xmlhttp.responseText!=''){
				var r=xmlhttp.responseText.split('|');
				var c=0;
				for(i in r){
                    rr=r[i].split('*');
                    el.options[el.options.length] = new Option(rr[0], rr[1]);
                    c++;
				}
			}
		}
	}
}

function setOption3(year) {
	el = document.getElementById('combodiv3a');
  el.innerhtml=year;
  f=document.forms.buypartsfor;
  f.refine_year.value=year;
  
    // Remove the 'Choose a Year' option 
    el=document.getElementById('combodiv3a');
    
    if(el.options[0].value==0){
        el.remove(0);
    }
    
//  document.getElementById('combodiv3').style.display = "none";
}

document.onclick=check;
function check(e){
	//var target = (e && e.target) || (event && event.srcElement);
	// check and hide dropdown 1
//	var obj1a = document.getElementById('combofield1');
	//var obj1c = document.getElementById('combofield1-arrow');
//	var obj1b = document.getElementById('combodiv1a');
//	if(target!=obj1a && target!=obj1c){
//		obj1b.style.display='none'
//	}
	// check and hide dropdown 2
	//var obj2a = document.getElementById('combofield2');
	//var obj2c = document.getElementById('combofield2-arrow');
//	var obj2b = document.getElementById('combodiv2a');
//	if(target!=obj2a && target!=obj2c){
//		obj2b.style.display='none'
//	}
	// check and hide dropdown 3
	//var obj3a = document.getElementById('combofield3');
	//var obj3c = document.getElementById('combofield3-arrow');
	//var obj3b = document.getElementById('combodiv3a');
	//if(target!=obj3a && target!=obj3c){
	//	obj3b.style.display='none'
	//}
	// check and hide search
	var obj4a = document.getElementById('midsrc');
	var obj4c = document.getElementById('words');
	var obj4b = document.getElementById('mid');
	var obj4d = document.getElementById('ca');
	if(obj4a){
		if(target!=obj4a && target!=obj4c && target!=obj4b){
			if(obj4c) obj4c.className = "inputa"
			if(obj4b) obj4b.className = "middlec"
			if(obj4d) obj4d.style.display='none'
		}
	}
}

var cX = 0; var cY = 0;
function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;}
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;}
if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }
function AssignPosition(d) {
d.style.left = (cX-220) + "px";
d.style.top = (cY-70) + "px";
}
function showcontent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}


function addslashes( str ) {
	return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0");
}

function EnsureNumeric()
{
     var k = window.event.keyCode;
     if (( k < 48 || k > 57) && k != 8 && k != 13 && k != 44) {window.event.returnValue = false; }
}

function CheckPhoneNumber(ob){
     f=ob.form;
     n=ob.name;
     v=ob.value;
     nextfield=0;
     currfield=parseInt(n.substr(n.length-1,1));
     fn=n.substr(0,n.length-1);
     if(currfield<3) nextfield=currfield+1;
     if(nextfield){
          if(v.length>=3){
               f[fn+nextfield].focus();
          }
     }
}

function buypartsfor_submit(){
	f=document.forms.buypartsfor;
	if(f.refine_vehicle_make_id.value==0){
		alert("Please choose your vehicle Make, Model and Year.");
		return false;
	}
	if(f.refine_vehicle_model_id.value==0){
		alert("Please choose your vehicle Model and Year.");
		return false;
	}
	if(f.refine_year.value==0){
		alert("Please choose your vehicle Year.");
		return false;
	}
	return true;
}

function check_search_sub(e){
  var keycode;
	keycode =  (window.event) ? event.keyCode : e.which;
	if(keycode == 13) {
		check_search();
	}

}

function check_search(v_onsub){
	f=document.forms.sitesearch;
	if(f.words.value.length<1 || f.words.value=='Site Search...'){
		alert("Please enter words to search");
		return(false);
	}

	if(v_onsub) {
		f.words.value = f.words.value.replace(/^\s+|\s+$/g, "");
		return(true);
	}	else {
		f.words.value = f.words.value.replace(/^\s+|\s+$/g,"");
		f.submit();
	}
}

function set_field_state(val, dst, ex_nondomestic){
	c=dst.options.length-1;
	currsel=null;
	for(i=c;i>0;i--){
		if(dst.options[i].selected) currsel=dst.options[i].value;
		dst.remove(i);
	}
	toset=new Array();
	if(val=='US'){
		for(i in states_ALL){
			if(!states_CA[i]){
				 if(!ex_nondomestic || !states_ND[i]) toset[i]=states_ALL[i];
			}
		}
	}
	if(val=='CA'){
		for(i in states_CA){
			toset[i]=states_ALL[i];
		}
	}
	n=1;
	for(i in toset){
		ds=false;
		if(i==currsel) ds=true;
		no = new Option(toset[i], i, false, ds);
		dst.options[n]=no;
		n++;
	}
}
