/** Define global variable for those field they generated using javascript, used for manipulation */
var mkModel=new Array();
var subType=new Array();
var accA=new Array();
var selTown=new Array();
var milgeTo=yrTo=engTo='';


/** This function call from 'setDefReset' function to set the default value of given form field name
    var advFormField : this contain the HTMLobject i.e. document.formName.fieldname
*/
function setDefValue(advFormField)
{
    if(advFormField && advFormField.length > 0)
    {
        var defValArr=new Array();

        for(var i=0; i<advFormField.length; i++)
        {
            /** Assign value and text name seperated with ,to defValArr array of given field name */
            if(advFormField[i].value != "")
                defValArr[i]=advFormField[i].value+","+advFormField[i].text;
        }
        return defValArr;
    }
}
/** This function call from 'resetForm' function to get the default value of given form field name
    advFormField : This contain the HTMLObject i.e. this.form.fielname
    defValArr : This contain the Global array that set for default value
    txt : optional if no any selected option then display the caption value like ------ Any ------
*/
function getDefValue(advFormField,defValArr,txt)
{
    if(advFormField)
    {
        /** First Remove all the value of given form field name */
        advFormField.options.length=0;
        selOpt=new Option(txt,'');
        eval("advFormField.options[0]=selOpt");

        if(defValArr.length > 0)
        {
            /** Set/add the default value of given form filed from defArray array */
            for(var i=0; i<defValArr.length; i++)
            {
                /** Split array split_defValArr[0] have value and split_defValArr[1] have text */
                split_defValArr=defValArr[i].split(/\,/);
                selOpt=new Option(split_defValArr[1],split_defValArr[0]);
                eval("advFormField.options[i]=selOpt");
            }
        }
    }
}
/** when page is loaded store default value of those field they generated using javaScript,
    this field value is not reset using reset function of javascript so, reset manually.
*/
function setDefReset(advForm)
{
    /** Set values for 'No upper limit' comboboxes */
    if(advForm.mileageTo.selectedIndex > 0)
        milgeTo=advForm.mileageTo.value;

    if(advForm.yearTo.selectedIndex > 0)
        yrTo=advForm.yearTo.value;

    if(advForm.engineTo.selectedIndex > 0)
        engTo=advForm.engineTo.value;

    /** Set for selected filed area  */
    if(advForm.id_sel_model.length > 0)
        mkModel=setDefValue(advForm.id_sel_model);

    if(advForm.id_sel_acc.length > 0)
        accA=setDefValue(advForm.id_sel_acc);

	if(advForm.id_sel_town.length > 0)
		selTown=setDefValue(advForm.id_sel_town);
}
//Function is to used not to allow the user to uncheck all of the checkboxes in group.
function updateChkGrp(chkGrp)
{
    var totEle=chkGrp.form.elements.length;

    //if the checkbox is unchecked.
    if(!chkGrp.checked)
    {
        for(var i=0;i < totEle;i++)
        {
            if(chkGrp.form.elements[i].name == chkGrp.name && chkGrp.form.elements[i].checked)
            {
            	callAjax(document.adv); // This is used for counter when price status is checked/unchecked
            	return;
            }
        }
        chkGrp.checked=true;
    }
    callAjax(document.adv); // This is used for counter when price status is checked/unchecked
}
//Function to select default option automatically when all of the other checkboxes are unchecked.
function changeChkOpt(chkGrp)
{
    var totEle=document.adv.elements.length;
    var chgFrmEle=0;

    //if the checkbox is unchecked.
    if(!chkGrp.checked)
    {
        //this variable holds the index of the "Any/default" in the form.
        var j=0;

        for(var i=0;i < totEle;i++)
        {
            if(chkGrp.form.elements[i].name == chkGrp.name && chkGrp.form.elements[i].checked)
                return;

            //Storet the index number of the default checkbox in the form.
            if(chkGrp.form.elements[i].name == chkGrp.name && !chgFrmEle)
            {
                j=i;
                chgFrmEle=1;
            }
        }
        //Display the default checkbox as selected, as user has not selected in checkbox other than default.
        chkGrp.form.elements[j].checked=true;
        return;
    }

    //if the 'Any' checkbox is selected, then uncheck other checkboxes with the same name.
    if(chkGrp.value == '' || chkGrp.value == 'on')
    {
        for(var i=0;i < totEle;i++)
        {
            if(chkGrp.form.elements[i].name == chkGrp.name && chkGrp.form.elements[i].value)
            {
                chkGrp.form.elements[i].checked=false;
            }
        }
    }
    else //if chekckbox other than 'Any' is selected, uncheck 'Any' checkbox.
    {
        for(var i=0;i < totEle;i++)
        {
            if(chkGrp.form.elements[i].name == chkGrp.name && (chkGrp.form.elements[i].value == '' || chkGrp.form.elements[i].value == 'on'))
                chkGrp.form.elements[i].checked=false;
        }
    }
}
function chkMandOutOfTwo(chk,chkOther)
{
    //if another checkbox is not selected/checked, keep the first one as selected regardless of
    //whether user has checked or unchecked.
    if(!chkOther.checked)
        chk.checked=true;

    return;
}
function blankFa()
{
    if(!checkCity(document.adv.findAgent.value))
    {
        alert(msgInvalidFa);
        document.adv.findAgent.focus();
        return false;
    }
}
function checkFa()
{
    var p='';
    var z='';
	var t='';

    if(document.adv.motMonth.selectedIndex > 0 && document.adv.motYear.selectedIndex <= 0)
    {
        alert(msgMotYearErr);
        document.adv.motYear.selectedIndex=0;
        document.adv.motYear.focus();
        return false;
    }
    else if(document.adv.motYear.selectedIndex > 0 && document.adv.motMonth.selectedIndex <= 0)
    {
        alert(msgMotMonthErr);
        document.adv.motMonth.selectedIndex=0;
        document.adv.motMonth.focus();
        return false;
    }
    if(document.adv.id_sel_model.length > 0)
    {
        for(a=0; a<document.adv.id_sel_model.length-1; a++)
        {
            if(document.adv.id_sel_model[a].value != "")
                p += "'"+document.adv.id_sel_model[a].value+"',";
        }
        if(document.adv.id_sel_model[a].value != "")
            p += "'"+document.adv.id_sel_model[a].value+"'";

        document.adv.zModel.value=p;
    }
    if(document.adv.id_sel_acc.length > 0)
    {
        for(a=0; a<document.adv.id_sel_acc.length-1; a++)
        {
            if(document.adv.id_sel_acc[a].value != "")
                z += "'"+document.adv.id_sel_acc[a].value+"',";
        }
        if(document.adv.id_sel_acc[a].value != "")
            z += "'"+document.adv.id_sel_acc[a].value+"'";

        document.adv.zAcc.value=z;
    }
    if(document.adv.id_sel_town.length > 0)
    {
        for(a=0; a<document.adv.id_sel_town.length-1; a++)
        {
            if(document.adv.id_sel_town[a].value != "")
                t += document.adv.id_sel_town[a].value+",";
        }
        if(document.adv.id_sel_town[a].value != "")
            t += document.adv.id_sel_town[a].value;

        document.adv.selTown.value=t;
    }
    z='';

    return true;
}

function addDefaultOpt(v1,txt)
{
    if(v1.options.length == 0)
    {
        selOpt=new Option(txt,'');
        eval('v1.options[0]=selOpt');
    }
}
function remDefaultAccOpt(v1)
{
    for(var i=1; i < v1.length; i++)
    {
        v1.options[i-1].text=v1.options[i].text;
        v1.options[i-1].value=v1.options[i].value;
    }
    v1.length=v1.length-1;
}
function remDefaultSubOpt(v1)
{
    for(var i=1; i < v1.length; i++)
    {
        v1.options[i-1].text=v1.options[i].text;
        v1.options[i-1].value=v1.options[i].value;
    }
    v1.length=v1.length-1;
}


//Function to add the selected option from one listbox into another listbox.
//Used for accessory.
function addSelectedOpt(v1,v2)
{
    if(v1.options[v1.selectedIndex].value != '')
    {
        if(v2.length == 1 && v2.options[0].value == '')
            v2.length=v2.length-1;

        var tot=v2.length;
        var dup=0;

        for(o=0; o < tot; o++)
        {
            if(v2.options[o].value == v1.options[v1.selectedIndex].value)
            {
                dup=1;
                alert(msgAccDupSelected);
            }
        }
        if(dup != 1)
        {
            selOpt=new Option(v1.options[v1.selectedIndex].text,v1.options[v1.selectedIndex].value);
            eval('v2.options[tot]=selOpt');
        }
    }
}

//Function to remove the selected option from the listbox.
//Used for accessory and subtype.
function remSelectedOpt(v1)
{
    if(!(v1.selectedIndex >= 0))
        return;

    var p=v1.selectedIndex;
    var tot=v1.length;

    if(tot > p)
    {
        for(var i=p+1; i < tot; i++)
        {
            v1.options[i-1].text=v1.options[i].text;
            v1.options[i-1].value=v1.options[i].value;
        }
    }
    v1.length=tot-1;

    // If no option is there then add "any" as default
    if(v1.length == 0)
    {
        selOpt=new Option('- - - - - - - - - - -'+modelDefVal+' - - - - - - - - - - - -','');
        eval('v1.options[0]=selOpt');
    }
    v1.selectedIndex=-1;
}

function showHideRentUnit()
{
	if(document.adv.ad_type[1].checked)
		document.getElementById('adv_rent_price').style.display="block";
	else
		document.getElementById('adv_rent_price').style.display="none";
}

function loadDef(v1)
{
    if(!v1.value)
    {
        if(v1.name=='priceFrom' || v1.name=='prFrom')
        	v1.value=lvalue;
        else if(v1.name=='priceTo' || v1.name=='prTo')
            v1.value=uvalue;
    }
	showHideRentUnit();
}
/** Change of Vehicle type to get make in Advanced Search */

var textureName='';
var optChar='';
var optGroup='';
var textureGroup='';
var make_opt='';

function advVehicleTypeChange(v1,selVehType,v2,curval,cond,v3)
{
    var vehicleid=selVehType;
    var bflag=1;

    // If browser is IE but version is not 6.0 then flag will be false
    if(navigator.appVersion.indexOf('MSIE') != -1 && navigator.appVersion.indexOf('MSIE 6.0') == -1)
        bflag=0;
    if(navigator.appName == 'Netscape' && !(parseFloat(navigator.appVersion) >= 4.8))
        bflag=0;

    if(isNaN(curval))
        var id_make='';
    else
        var id_make=curval;

    textureName='';

    if(vehicleid != '')     // Vehicle Type is selected
    {
       var j=1;

        for(i=0; i < m1.length; i++)
        {
            goFlag=0;
            arrMakeInfo=(m1[i]).split('#');
            arrMakeTypeInfo=(arrMakeInfo[3]).split(',');

            for(k=0; k < arrMakeTypeInfo.length; k++)
            {
                if(arrMakeTypeInfo[k] == vehicleid)
                    goFlag=1;
            }
            if(goFlag == 0)
                continue;

            var make_value=arrMakeInfo[0];
            var make_text=arrMakeInfo[1];

            // Changes has been made for displaying makes in option group wise.
            // i.e. Starting with char A will listed below A Group, same as for B to Z.
            if(make_text.match(/^[A-Za-z]{1}/) && (!(navigator.userAgent.match(/Opera/))) && bflag == 1)
            {
                optChar='';
                optChar=make_text.substr(0,1);
                optGroup='T';

                if(textureName != optChar)
                {
                    textureName=optChar;
                    textureGroup=document.createElement('optgroup');
                    textureGroup.label=textureName;
                    v2.appendChild(textureGroup);
                }
            }
            else
                optGroup='F';

            if(optGroup != 'F' && textureName != '')
            {
                make_opt=document.createElement('option');
                make_opt.value=make_value;

                if(navigator.userAgent.match(/IE/))
                    make_opt.innerText=make_text;
                else
                    make_opt.text=make_text;

                textureGroup.appendChild(make_opt);
            }
            else
            {
                makeOpt=new Option(make_text,make_value);
                eval('v2.options[j]=makeOpt');
            }

            // Option group part ends here
            if(id_make == make_value)
                v2.selectedIndex=j;

            j++;
        }
        if(v2.selectedIndex == ''  || v2.selectedIndex < 1)
            v2.selectedIndex=0;
    }
}

function removeModelVal(vehID,doc)
{
    document.adv.model_info.value='';

    var len = document.adv.id_sel_model.length;
    if((vehID=='15' || vehID=='14') && len>0)
    {
        for(var i=0;i<len;i++)
        {
           doc.id_sel_model[i].text = '';
        }
        doc.id_sel_model.length=0;
        if(doc.id_sel_model.options.length == 0)
        {
            selOpt=new Option('                                                      ','');
            eval('doc.id_sel_model.options[0]=selOpt');
        }
    }
    //Remove base if it is selected:
    if(vehID=='15' || vehID=='13')
	{
    	document.adv.id_base.value='';
	}
    //Unselect Model value when Travel box is selected:
    if(vehID=='13')
    {
    	var modlen = document.adv.id_model.length;
        m1 = document.adv.id_model;

        if(modlen>1)
        {
        	if(m1.selectedIndex > -1 && m1.options[m1.selectedIndex].value!='')
        	{
               m1.options[m1.selectedIndex].value = '';
        	}
        }
    }
}

function chkVehicleType(vehId)
{
    var user_input;
    for(i=0; i<document.adv.id_vehicle_type.length; i++)
    {
        if(document.adv.id_vehicle_type[i].checked)
            user_input = document.adv.id_vehicle_type[i].value;
    }

    if(vehId == 13 || user_input == 13)
    {
        document.adv.adv_id_base.disabled=true;
        document.getElementById('arrow_move').style.display='block';
        document.getElementById('baseType').style.display='none';
        document.getElementById('showMilage').style.display='none';
        document.getElementById('showEngineSize').style.display='none';
        document.getElementById('showGearBox').style.display='none';
        document.getElementById('truckSubType').style.display='none';
        document.getElementById('showDriveType').style.display='none';
        document.getElementById('grossWeightFromTT').value='';
        document.getElementById('grossWeightTravelTruck').style.display='none';
        document.getElementById('grossWeightTravelBox').style.display='block';
        document.getElementById('showWeight').style.display='block';
        document.getElementById('deadWeight').className="table_row_show";
        document.getElementById('blankLine').className="table_row_show";
        document.getElementById('otherInfo').style.display='block';
        document.getElementById('showSpeedLimit').style.display='block';
        document.getElementById('modelBox').style.display='inline';
        document.getElementById('make_inst').style.display='block';
        document.getElementById('showFirstReg').style.display='block';
        document.getElementById('showMot').style.display='block';
        document.adv.id_model.disabled=false;
        document.adv.id_sel_model.disabled=false;
        document.adv.model_info.disabled=true;
    }
    else if(vehId == 14 || user_input == 14)
    {
        makeChange('',document.adv.id_model,V_SELECTED_MODEL,'ADV');
        document.adv.adv_id_base.disabled=false;
        document.getElementById('arrow_move').style.display='block';
        document.getElementById('baseType').style.display='inline';
        document.getElementById('capbase').style.display='inline';
        document.getElementById('spacebase').style.display='inline';
        document.getElementById('spacebase1').style.display='inline';
        document.getElementById('base').style.display='inline';
        document.getElementById('showMilage').style.display='block';
        document.getElementById('showEngineSize').style.display='block';
        document.getElementById('showGearBox').style.display='block';
        document.getElementById('truckSubType').style.display='block';
        document.getElementById('showDriveType').style.display='block';
        document.getElementById('showWeight').style.display='block';
        document.getElementById('deadWeightFrom').value='';
        document.getElementById('deadWeightTo').value='';
        document.getElementById('deadWeight').className='table_row_hide';
        document.getElementById('blankLine').className="table_row_hide";
        document.getElementById('grossWeightFrom').value='';
        document.getElementById('grossWeightTo').value='';
        document.getElementById('grossWeightTravelBox').style.display='none';
        document.getElementById('grossWeightTravelTruck').style.display='block';
        document.getElementById('otherInfo').style.display='block';
        document.getElementById('showSpeedLimit').style.display='block';
        document.getElementById('modelBox').style.display='none';
        document.getElementById('make_inst').style.display='none';
        document.getElementById('showFirstReg').style.display='block';
        document.getElementById('showMot').style.display='block';
        document.adv.id_model.disabled=true;
        document.adv.id_sel_model.disabled=true;
        document.adv.model_info.disabled=false;
    }
    else if(vehId == 15 || user_input == 15)
    {
        document.adv.adv_id_base.disabled=false;
        document.getElementById('arrow_move').style.display='none';
        document.getElementById('baseType').style.display='inline';
        document.getElementById('capbase').style.display='none';
        document.getElementById('spacebase').style.display='none';
        document.getElementById('spacebase1').style.display='none';
        document.getElementById('base').style.display='none';
        document.getElementById('showMilage').style.display='none';
        document.getElementById('showEngineSize').style.display='none';
        document.getElementById('showGearBox').style.display='none';
        document.getElementById('truckSubType').style.display='none';
        document.getElementById('showDriveType').style.display='none';
        document.getElementById('deadWeightFrom').value='';
        document.getElementById('deadWeightTo').value='';
        document.getElementById('grossWeightFrom').value='';
        document.getElementById('grossWeightTo').value='';
        document.getElementById('grossWeightFromTT').value='';
        document.getElementById('showWeight').style.display='none';
        document.getElementById('blankLine').className="table_row_hide";
        document.getElementById('otherInfo').style.display='none';
        document.getElementById('showSpeedLimit').style.display='none';
        document.getElementById('modelBox').style.display='none';
        document.getElementById('make_inst').style.display='none';
        document.getElementById('showFirstReg').style.display='none';
        document.getElementById('showMot').style.display='none';
        document.adv.model_info.disabled=false;
        document.adv.id_model.disabled=true;
        document.adv.id_sel_model.disabled=true;
    }
}
function resetForm(advForm)
{
    advForm.reset();
    advForm.id_make.value=V_SEL_MAKE;
    advForm.id_model.value=V_MODEL;
    advForm.mileageTo.value=milgeTo;
    listboxChange(advForm.mileageFrom,advForm.mileageTo,SEL_MILEAGE_TO,C_KM);
    advForm.yearTo.value=yrTo;
    yearChange(advForm.yearFrom,advForm.yearTo,SEL_YEAR_TO);
    advForm.engineTo.value=engTo;
    listboxChange(advForm.engineFrom,advForm.engineTo,SEL_ENGINE_TO,C_CM);
    document.adv.deadWeightTo.value=V_SEL_DEAD_WEIGHT_TO;
    document.adv.grossWeightTo.value=V_SEL_GROSS_WEIGHT_TO;
    listboxChange(document.adv.deadWeightFrom,document.adv.deadWeightTo,SEL_DEAD_WEIGHT,C_KG);
    listboxChange(document.adv.grossWeightFrom,document.adv.grossWeightTo,SEL_GROSS_WEIGHT,C_KG);
    if(mkModel)
    {
        advForm.id_model.options.length=0;
        selOpt=new Option('','');
        eval("advForm.id_model.options[0]=selOpt");

        getDefValue(advForm.id_sel_model,mkModel,'');
    }
    if(accA)
        getDefValue(advForm.id_sel_acc,accA,"---------------- "+modelDefVal+" -----------------");
    if(selTown)
        getDefValue(advForm.id_sel_town,selTown,'');
    chkVehicleType(V_VEHICLE_TYPE);
    getDomTown(advForm.id_domicile.value,'','ADV');
    return true;
}
//Used in Simple Search, Advance Search and Vehicle Post forms.
function makeChange(v1,v2,curval,cond,v3)
{
    var vehicleid='';

    if(isNaN(curval))
        var id_model='';
    else
        var id_model=curval;

    if(v1.selectedIndex > -1)
        var makeid=new String(v1.options[v1.selectedIndex].value);
    else
        var makeid='';

    if(v3)
    {
        if(v3.length)
        {
            if(v3.selectedIndex > -1)
                var vehicleid=new String(v3.options[v3.selectedIndex].value);
            else
                var vehicleid='';
        }
        else
            var vehicleid=v3;
    }
    if(makeid != '')
    {
        if(cond == 'Y' || (v2.length > 0 && v2.options[0].value == ''))
        {
            v2.length=1;
            var j=1;
        }
        else    // Posting Vehicle
        {
            v2.length=0;
            var j=0;
        }
        if(cond == 'ADV')
        {
            // Remove first element which is just blank
            v2.length=0;
            var j=0;
        }
        if(v2.length != 0)
            v2.selectedIndex=0;

        if(cond == 'ADV')
        {
            if(m[makeid])
            {
                if(m[makeid].length > 0)
                {
                    var make_value=v1.options[v1.selectedIndex].value+'#'+v1.options[v1.selectedIndex].text;
                    var make_text=v1.options[v1.selectedIndex].text+': '+anyModel;

                    modelOpt=new Option(make_text,make_value);
                    eval('v2.options[j++]=modelOpt');
                }
            }
        }

        if(m[makeid])
        {
            arrModel=(m[makeid]).split(',');

            for(i=0; i < arrModel.length; i++)
            {
                var model_id=arrModel[i];

                arrModelInformation=(c[model_id]).split('#');
                var model_value=model_id;
                var model_text=arrModelInformation[0];
                var goFlag=0;

                // Simple Search
                if(cond == 'Y')
                {
                    if(vehicleid != '')
                    {
                        // When Vehicle Type is also selected then get models for that Vehicle Type only
                        arrVehicleTypeCounter=arrModelInformation[2].split(/[@,]/);

                        for(k=0; k < arrVehicleTypeCounter.length; k++,k++)
                        {
                            if(arrVehicleTypeCounter[k] == vehicleid && arrVehicleTypeCounter[k+1] > 0)
                            {
                                goFlag=1;
                                break;
                            }
                        }
                    }
                    else
                    {
                        if(arrModelInformation[1] > 0)
                            goFlag=1;
                    }
                }
                else
                {
                    if(cond == 'ADV')
                        goFlag=1;
                    else if(vehicleid != '')
                    {
                        // Vehicle Posting
                        arrVehicleTypeCounter=arrModelInformation[2].split(/[@,]/);

                        for(k=0; k < arrVehicleTypeCounter.length; k++,k++)
                        {
                            if(arrVehicleTypeCounter[k]==vehicleid && arrVehicleTypeCounter[k+1] >= 0)
                            {
                                goFlag=1;
                                break;
                            }
                        }
                    }
                    else    // Admin -> Normal Vehicle Search (Without Vehicle Type)
                        goFlag=1;
                }

                if(goFlag == 1)
                {
                    modelOpt=new Option(model_text,model_value);
                    eval('v2.options[j]=modelOpt');

                    if(id_model == model_value)
                        v2.selectedIndex=j;

                    j++;
                }
            }
        }
        if(cond != 'ADV')
        {
            if(v2.selectedIndex == ''  || v2.selectedIndex < 1)
                v2.selectedIndex=0;
        }
    }
    else
    {
        v2.length=1;
        var j=1;

        if(cond == 'ADV')
        {
            selOpt=new Option('                                          ','');
            eval('v2.options[0]=selOpt');
        }
    }
}
//Function to change the Length,Power and Price list box options
function listboxChange(v1,v2,curval,sign)
{
    if(v1.selectedIndex < 1)
        var st=1;
    else
        var st=v1.selectedIndex;

    if(curval == '' && v2.selectedIndex > 0)
        curval=v2.options[v2.selectedIndex].value;

    var tot=v1.length;
    v2.length=1;

    for(i=st,j=1; i < tot; j++,i++)
    {
        if (parseInt(v1.options[i].value) >= 1000)
        {
            var len=v1.options[i].value.length;
            var disp=v1.options[i].value;
            var disp1=disp.substr(0,len-3);
            var disp2=disp.substr(len-3,len);
            disp=disp1+' '+disp2;
        }
        else
            var disp=v1.options[i].value;

        if(sign != '')
            disp=disp+' '+sign;

        temp=new Option(disp,v1.options[i].value);
        eval("v2.options[j]=temp");

        if(curval == v1.options[i].value)
            v2.selectedIndex=j;
    }
}
/** call Ajax function for search result counter on change elements value. */
function callAjax(frmObj)
{
   /** for write hidden parameter selected model & selected acc and validate inspected motmonth & motyear */
    var ajaxFName;
    if(frmObj.name == 'srch_car')
       ajaxFName=_su + '/ajaxSearchCounter.php?ajxifrm=A&site=NA';
   else
       ajaxFName=_su + '/ajaxSearchCounter.php?ajxifrm=A&site=NT';

    if(frmObj.name == 'adv')
    {
        checkFa();
        return ajaxCounterChng(ajaxFName+'&frm=ADV&'+ cleanFrmUrl(frmObj),frmObj.name);
    }
    else if(frmObj.name == 'srch' || frmObj.name == 'srch_car')
    {
       return ajaxCounterChng(ajaxFName+'&frm=SIMP&'+ cleanFrmUrl(frmObj),frmObj.name);
    }
}
/** Ajax Function for display total counter of vehicle which are belong to search criteria */
function ajaxCounterChng(searchUrl,frmName)
{

   var loadingImg='';
   var ajaxFname=searchUrl.replace('/#/ig','@');

   if(frmName == 'adv')
       loadingImg='loadingImg_src_chngCntAdv';
   else if(frmName == 'srch')
       loadingImg='loadingImg_src_chngCnt';
   else if (frmName == 'srch_car')
       loadingImg='loadingImg_car';

   idiv(loadingImg).style.display='inline';

   var xmlHttpReq=createXHR();

   xmlHttpReq.open('GET',ajaxFname);
   xmlHttpReq.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");
   xmlHttpReq.onreadystatechange=function()
   {
       if(xmlHttpReq.readyState == 4)
       {
           showResponse(xmlHttpReq.responseXML);
           idiv(loadingImg).style.display='none';
       }
   };
   xmlHttpReq.send(null);
   return false;
}
function addModel(v1,v2)
{
    if(!(v1.id_model.selectedIndex >= 0))
        return;

    if(v1.id_model[v1.id_model.selectedIndex].value != '')
    {
        if(v2.options[0].value == '')
            document.adv.id_sel_model.length--;

        if(v2.selectedIndex == 1)
            v2.selectedIndex=0;

        var tot=v2.length;
        var dup=0;

        for(o=0; o < tot; o++)
        {
            var tmpValue2=v2.options[o].value;
            var tmpValue=v1.id_model[v1.id_model.selectedIndex].value;

            if(tmpValue == tmpValue2)
            {
                dup=1;
                alert(msgDupSelected);
                break;
            }
            else if(tmpValue.match(/^([0-9]{1,})$/i) && tmpValue2.match(/^([0-9]{1,})#/i))
            {
                var makeid=tmpValue2.substr(0,tmpValue2.indexOf('#'));
                var make=tmpValue2.substr(tmpValue2.indexOf('#')+1,tmpValue2.length);

                arrModel=(m[makeid]).split(',');

                for(i=0; i < arrModel.length; i++)
                {
                    if(tmpValue == arrModel[i])
                    {
                        dup=1;
                        alert(makeAllSelected);
                        break;
                    }
                }
            }
            else if(tmpValue.match(/^([0-9]{1,})#/i))
            {
                var makeid=tmpValue.substr(0,tmpValue.indexOf('#'));
                var make=tmpValue.substr(tmpValue.indexOf('#')+1,tmpValue.length);

                arrModel=(m[makeid]).split(',');

                for(i=0; i < arrModel.length; i++)
                {
                    var model_value=new String(arrModel[i]);

                    for(h=0; h < tot; h++)
                    {
                        var v2Value=v2.options[h].value;

                        if(v2Value == model_value)
                        {
                            var j=0;

                            for(var r=h; r<tot;r++)
                            {
                                j=r+1;

                                if(j > (tot-1))
                                    j=tot-1;

                                var disp=v2.options[j].text;
                                var val=v2.options[j].value;

                                selOpt=new Option(disp,val);
                                eval('v2.options[r]=selOpt');
                            }
                            v2.length=tot-1;
                            tot=v2.length;
                        }
                    }
                }
            }
        }

        if(dup != 1)
        {
            if((v1.id_model[v1.id_model.selectedIndex].value).match(/^([0-9]{1,})#/i) )
                selOpt=new Option(v1.id_model[v1.id_model.selectedIndex].text,v1.id_model[v1.id_model.selectedIndex].value);
            else
            {
                str1=v1.id_model[0].text;
                selOpt=new Option(str1.slice(0,str1.indexOf(':'))+'-'+v1.id_model[v1.id_model.selectedIndex].text,v1.id_model[v1.id_model.selectedIndex].value);
            }
            eval('v2.options[tot]=selOpt');
        }
    }
}
/* Function to fetch town according to domicile */
function getDomTown(domVal,curval,page)
{
    var townStr='';
    var townUrl='http://'+location.hostname+'/ajaxGetDomicileTown.php?ajxifrm=A&frm='+page+'&site=NT&';

    if(curval) townStr='&sel_id_town='+curval;

    if(page == 'ADV')
        AjaxUpdater('adv_id_town',townUrl+'id_domicile='+domVal+townStr,"callAjax(document.adv);");
    else if(page == 'SIMP')
        AjaxUpdater('srch_id_town',townUrl+'id_domicile='+domVal+townStr,"callAjax(document.srch);");
    else if(page == 'POST')
        AjaxUpdater('post_id_town',townUrl+'id_domicile='+domVal+townStr);
    else if(page == 'listService')
        AjaxUpdater('service_id_town',townUrl+'id_domicile='+domVal+townStr);
}

function ajaxListChange(frmObj,chgFor,efs)
{
    var efs,pars;
    var xhr=createXHR();

    pars=Form.serialize($(frmObj));
    if(typeof efs == 'undefined') efs='';

    pars +='&site=NT&chgFor=' + chgFor + '&ajxr=A' + efs + '&frm=' + frmObj.name;

    xhr.open('POST',_su+'/ajaxChangeEntity.php');
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("Content-length", pars.length);
    xhr.setRequestHeader("Connection", "close");
    xhr.onreadystatechange=function()
    {
        if(xhr.readyState == 4)
        {
            showTextResponse(xhr.responseText);

            if(frmObj.name == 'srch' || frmObj.name == 'adv')
            {
        	   if(frmObj.name == 'srch')
        	   {
	        	   if(frmObj.id_vehicle_type.value == 16 || frmObj.id_vehicle_type.value == 17)
	        	    {
	        	        npUrl = '/matkailuvaunujen-varaosat-ja-tarvikkeet';

	        	        if(frmObj.id_vehicle_type.value == 17)
	        	            npUrl = '/matkailuautojen-varaosat-ja-tarvikkeet';

	        	        if(varaosaUrl.match(/login\.php/))
	        	            varaosaUrl2=varaosaUrl.replace(/\/login(.*)/,npUrl);
	        	        else
	        	            varaosaUrl2=varaosaUrl+npUrl;

	        	        window.open(varaosaUrl2);
	        	    }
        	    }
                callAjax(frmObj);
            }
        }
    }
    xhr.send(pars);
    return false;
}

function removeModel(v1)
{
    var p=v1.id_sel_model.selectedIndex;
    var j=0;
    var tot=v1.id_sel_model.options.length;

    if(tot > p)
    {
        for(i=p; i <= tot; i++)
        {
            j=i+1;

            if(j > (tot-1))
                j=tot-1;

            var disp=v1.id_sel_model[j].text;
            var val=v1.id_sel_model[j].value;

            selOpt=new Option(disp,val);
            eval('v1.id_sel_model.options[i]=selOpt');
        }
    }
    v1.id_sel_model.length=tot-1;

    // If no option is there then add "any" as default
    if(v1.id_sel_model.options.length == 0)
    {
        selOpt=new Option('                                                      ','');
        eval('v1.id_sel_model.options[0]=selOpt');
    }
}



Event.observe(window, 'load', function() {
	ajaxListChange(document.forms.adv,'',advefs);
    listboxChange(document.adv.mileageFrom,document.adv.mileageTo,SEL_MILEAGE_TO,C_KM);
    listboxChange(document.adv.deadWeightFrom,document.adv.deadWeightTo,SEL_DEAD_WEIGHT,C_KG);
    listboxChange(document.adv.grossWeightFrom,document.adv.grossWeightTo,SEL_GROSS_WEIGHT,C_KG);
    listboxChange(document.adv.bedsfrom,document.adv.bedsto,SEL_BEDS,"");
    listboxChange(document.adv.engineFrom,document.adv.engineTo,V_ENGINE_TO,"");
    addDefaultOpt(document.adv.id_sel_model,"                                                       ");
    addDefaultOpt(document.adv.id_sel_acc,"- - - - - - - - - - - "+modelDefVal+" - - - - - - - - - - - -");
    addDefaultOpt(document.adv.id_model,"                                          ");
    remDefaultAccOpt(document.adv.id_acc);
    setDefReset(document.adv);// This is used when Reset button click

    chkVehicleType(idVehType);

    if(idVehType == 13) // for travel box
        addModel(document.adv,document.adv.id_sel_model);
    if(document.adv.id_domicile.value!='')
    	getDomTown(document.adv.id_domicile.value,'','ADV'); // Default counter will call from here when first time page is loaded
    showHideRentUnit();
});
