/* $Id: nm_common_81.js,v 1.1 2010/03/17 05:30:50 kiran Exp $ */

var _su='http://'+location.hostname;

function createXHR()
{
   try { return new XMLHttpRequest(); } catch(e) {}
   try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) {}
   try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) {}
   try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
   return null; // no XHR support
}

function AjaxUpdater(updateDiv,url,extraAction)
{
    var xhr = createXHR();
    xhr.open("GET", url, true)
    xhr.setRequestHeader("Content-Type", "text/html;charset=UTF-8");

    xhr.onreadystatechange=function()
    {
        if(xhr.readyState == 4)
        {
            if(updateDiv)
                idiv(updateDiv).innerHTML=xhr.responseText;
            if(extraAction)
                eval(extraAction);
        }
    }
    xhr.send(null);
    return false;
}

function idiv(i)
{
    return document.getElementById(i);
}

function display_search()
{
    if(document.getElementById("adv_option").style.display == 'block')
        document.getElementById("adv_option").style.display = 'none';
    else
        document.getElementById("adv_option").style.display = 'block';
}

function blankCri()
{
   document.srch.eng_type.value='';
   document.srch.mileageTo.value='';
   document.srch.mileageFrom.value='';
   document.srch.id_domicile.value='';
   document.srch.id_town.length=1;

   document.srch.under_25.checked=false;
   document.srch.veh_not_reg.checked=false;
}

/**
Function to change part type and part category and vehicle type and related make model using Ajax.
*/
function ajaxPartCatChange(id_partTypeMake,id_partCatModel,id_vehicle_type,chgFor,curVal)
{
    var divName;

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

    /** Parse the required variables those are used in ajaxPartSearch.php file. */
    var ajaxPars='id_partTypeMake='+id_partTypeMake.value+'&id_partCatModel='+id_partCatModel.value;
        ajaxPars +='&idBikeType='+id_vehicle_type.value+'&chgFor='+chgFor+'&curSelVal='+curVal;

    if(chgFor == 'PT')
        divName='partCategory';
    else if(chgFor == 'VT')
        divName='make_model';
    else if(chgFor == 'MK')
        divName='model_change';
    else
        divName='partCategory';

    var xhr = createXHR();
    xhr.open("GET", _su+'/ajaxPartSearch.php?ajxifrm=A&'+ajaxPars, true)
    xhr.setRequestHeader("Content-Type", "text/html;charset=UTF-8");

    xhr.onreadystatechange=function()
    {
        if(xhr.readyState == 4)
        {
            idiv(divName).innerHTML=xhr.responseText;
            idiv("loadingImg_part").style.display="none";
            callAjaxPart(document.srch_part);
        }
    }
    xhr.send(null);
    return false;
}

// function for nm_searchVehicle.ihtml
function check_search()
{
    vehidRegno=document.search.veh_id_reg_no.value;

    /* Strips blank spaces from left and right */
    var lre=/^\s*/;
    var rre=/\s*$/;

    vehidRegno=vehidRegno.replace(lre,"");
    vehidRegno=vehidRegno.replace(rre,"");

    if(isblank(vehidRegno))
    {
        /* When input field is blank */
        alert(msgBlankSearchVehicle);
        document.search.veh_id_reg_no.focus();
        return false;
    }
    else if(vehidRegno.match(/^[0-9]{1,}$/))
    {
        location.href=_su+"/viewVehicle.php?id_bike="+vehidRegno;
    }
    else if(vehidRegno.match(/^([a-zA-ZäÄÖöÅå]{1,3})([0-9]{1,3})$/) || vehidRegno.match(/^([a-zA-ZäÄÖöÅå]{1,3})-([0-9]{1,3})$/) || vehidRegno.match(/^([0-9]{1,3})([a-zA-ZZäÄÖöÅå]{1,3})$/) || vehidRegno.match(/^([0-9]{1,3})-([a-zA-ZZäÄÖöÅå]{1,3})$/))
    {
        location.href=_su+"/viewVehicle.php?reg_no="+vehidRegno;
    }
    else
    {
        alert(msgInvalidIdRegno);
    }

    return false;
}
function getPage(){
  url    = window.location.href;
  page   = window.location.href.toString().match(/\/([^\/]+)(#)?$/)[1];
  page   = page.replace(/\W/g,"");
  return page;
}
function maintainScrollUnload(e){
  page = getPage();
  var date = new Date()
  var date = new Date()
  var expdate = date.getTime()
  expdate += 5*60*1000; //expires in 5 minutes(milliseconds)
  date.setTime(expdate);

  if(page.match(/^(simpleSearch|listVehicle|listAdvSearchFindAgent|listCategory)/)){
    document.cookie = 'scroll=' +page+ document.documentElement.scrollTop
                    + "; expires="+ date.toGMTString();
  }
  if(page.match(/^viewVehicle/)){
    document.cookie = "prevpage="+page + "; expires="+ date.toGMTString();
  }
}
function maintainScrollLoad()
{
  var page=getPage();
  if( document.cookie.match(/prevpage=viewVehiclephp/ ) )
    {
        var reg = new RegExp( "scroll="+page + "(\\d+)" );
        if( scroll = document.cookie.match(reg) )
        {
            document.documentElement.scrollTop=scroll[1]-50;
        }
    }
}
if(!window.location.href.toString().match(/\/$/) && navigator.userAgent.indexOf('Firefox') > 0 ){
    if (window.addEventListener) {
      window.addEventListener("load", maintainScrollLoad, false);
      window.addEventListener("beforeunload", maintainScrollUnload, false);
    }
}
function car_quiz()
{
    window.open(_su+'/carQuiz.php','ap','scrollbars=auto,resizable=yes,width=694,height=685');
    AjaxUpdater('car_quiz',_su+'/updateQuizCount.php');
}
function updateTapiolaCounter()
{
    AjaxUpdater('',_su+'/updateBannerCounter.php');
}
/** Function to increase the hit counter of navigation_ad table */
function navigationHitCounter(id,urlNo)
{
    AjaxUpdater('',_su+'/navigationHitCounter.php?id='+id+'&urlNo='+urlNo);
}
//This method is Used in Simple Search and Vehicle Post forms.
var textureName='';
var optChar='';
var optGroup='';
var textureGroup='';
var make_opt='';

function vehicleTypeChange(v1,v2,curval,cond,v3,v4,admin)
{
    var vehicleid='';
    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(v1 && v1.options[v1.selectedIndex].value == 22)
    {
        v1.selectedIndex=0;

        boatUrl3=boatUrl.replace(/&amp;/g,'&');
        boatUrl=boatUrl3;

        if(cond != 'POST')
        {
            if(boatUrl.match(/login\.php/))
                boatUrl2=boatUrl.replace(/\/login(.*)/,'/listBoat.php');
            else
                boatUrl2=boatUrl+'/listBoat.php';

            window.open(boatUrl2);
        }
        else
            window.open(boatUrl+'&back=addEditBoatImage.php');

        return;
    }
    else if(v1 && v1.options[v1.selectedIndex].value == 20)
    {
        v1.selectedIndex=0;

        varaosaUrl3=varaosaUrl.replace(/&amp;/g,'&');
        varaosaUrl=varaosaUrl3;

        if(cond != 'POST')
        {
            if(varaosaUrl.match(/login\.php/))
                varaosaUrl2=varaosaUrl.replace(/\/login(.*)/,'/listPart.php');
            else
                varaosaUrl2=varaosaUrl+"/listPart.php";

            window.open(varaosaUrl2);
        }
        else
            window.open(varaosaUrl+'&back=addEditPartImage.php');

        return;
    }
    else if(v1 && v1.options[v1.selectedIndex].value == 21)
    {
        v1.selectedIndex=0;

        autoUrl3=autoUrl.replace(/&amp;/g,'&');
        autoUrl=autoUrl3;

        if(cond != 'POST')
        {
            if(autoUrl.match(/login\.php/))
                autoUrl2=autoUrl.replace(/\/login(.*)/,'/listVehicle.php');
            else
                autoUrl2=autoUrl+'/listVehicle.php';

            window.open(autoUrl2);
        }
        else
            window.open(autoUrl+'&back=addEditVehicleImage.php');

        return;
    }
    else if(v1 && v1.options[v1.selectedIndex].value == 25)
    {
        v1.selectedIndex=0;

        if(cond != 'POST')
        {
            if(karavaaniUrl.match(/login\.php/))
                karavaaniUrl=karavaaniUrl.replace(/\/login(.*)/,'/simpleSearch.php?status=F&id_vehicle_type=13');
            else
                karavaaniUrl=karavaaniUrl+'/simpleSearch.php?status=F&id_vehicle_type=13';

            window.open(karavaaniUrl);
        }
        else
            window.open(karavaaniUrl+'&back=addEditVehicleImage.php');

        return;
    }
    else if(v1 && v1.options[v1.selectedIndex].value == 26)
    {
        v1.selectedIndex=0;

        if(cond != 'POST')
        {
            if(karavaaniUrl.match(/login\.php/))
                karavaaniUrl=karavaaniUrl.replace(/\/login(.*)/,'/simpleSearch.php?status=F&id_vehicle_type=14');
            else
                karavaaniUrl=karavaaniUrl+'/simpleSearch.php?status=F&id_vehicle_type=14';

            window.open(karavaaniUrl);
        }
        else
            window.open(karavaaniUrl+'&back=addEditVehicleImage.php');

        return;
    }

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

    //While posting, if vehicle type is changed change Make,Model and engine model as well
    if(cond == 'POST')
    {
        if(v3.length > 0)
            v3.length=1;

        if(v4.length > 0)
            v4.length=1;
    }
    else if(cond == 'SIMP') //Simple Search
    {
        v3.length=1;
        v4.length=1;
    }

    if(v1)
    {
        if(v1.length)
        {
            if(v1.selectedIndex > -1)
                var vehicleid=new String(v1.options[v1.selectedIndex].value);
            else
                var vehicleid='';
        }
        else
            var vehicleid=v1;
    }
    textureName='';

    if(vehicleid != '')     //Vehicle class is selected
    {
        if(cond == 'SIMP' || (v2.length > 0 && v2.options[0].value == ''))
        {
            v2.length=1;
            var j=1;
        }
        else                //Posting Vehicle
        {
            v2.length=0;
            var j=0;
        }
        if(v2.length != 0)
            v2.selectedIndex=0;

        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];

            if(cond == 'POST' || arrMakeInfo[2] > 0)    //Posting Vehicle && Simple Search
            {
                /** OPTION GROUP PART STARTS HERE */

                /* 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/))
                    {
                        if(id_make == make_value)
                            make_opt.setAttribute("selected","selected");

                        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;

        if(cond == 'POST' && v2.length > 0) //Posting Vehicle
            ajaxMakeModelChange(v2,v3,v4,curval,'','',cond,'',v1,admin);
    }
    else
    {
        //When Vehicle Type is not selected (Simple Search)
        v2.length=1;
        var j=1;

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

            if(arrMakeInfo[2] > 0 || cond == 'ADV')
            {
                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++;
            }
        }
    }
}
/**
Function to change the model as per make and engine_model as per model using ajax.
id_make=form object of make.
id_model=form object of model.
id_eng_model=form object of engine model.
curval_model,curval_engModel=Current value of model and engine model.
chgFrom=change make and/or model from posing/simple search/adv search. ('POST'/'SIMP'/'ADV'/'N'/'OM')
chgFor=change for type/make/model.('TP'/'MK'/'MD')
id_vehicle_class=form object of vehicle class.
admin=Function calling from admin or client side if admin pass '1'.
exOpt=Pass the extra option.
    1. 'nxSrc'=> Calling from Nettix search.
    2. 'carawall'=> Calling from carawall search.
    3. 'PLR'=> Calling from polaris search.
    4. 'BRP'=> Calling from Brp search.
*/
function ajaxMakeModelChange(id_make,id_model,id_eng_model,curval_make,curval_model,curval_engModel,chgFrom,chgFor,id_vehicle_class,admin,exOpt,id_type,bikeAdType)
{
    var idType=idModel=idEngModel=idBikeType='';

    if(!bikeAdType)
        bikeAdType='F';

    if(id_type)
        idType=id_type.value;

    if(id_model)
        idModel=id_model.value;

    if(id_eng_model)
        idEngModel=id_eng_model.value;

    if(id_vehicle_class)
        idBikeType=id_vehicle_class.value

    /** Parse the required variables those are used in ajaxMakeModelChange.php file. */
    var ajaxPars='idMake='+id_make.value+'&idModel='+idModel;
        ajaxPars +='&curvalMake='+curval_make+'&curvalModel='+curval_model+'&curvalEngModel='+curval_engModel;
        ajaxPars +='&chgFrom='+chgFrom+'&chgFor='+chgFor+'&idBikeType='+idBikeType;
        ajaxPars +='&admin='+admin+'&exOpt='+exOpt+'&idType='+idType+'&bikeAdType='+bikeAdType;

    var ajaxFname='ajaxMakeModelChange.php?ajxifrm=A';

    if(chgFrom == 'POST')
    {
        if(chgFor == 'MK')
            idiv('loadingImg_model').style.display='inline';

        if(chgFor == 'MD')
            idiv('loadingImg_engModel').style.display='inline';
    }

    var xmlHttpReq=createXHR();

    xmlHttpReq.open('GET',_su+'/'+ajaxFname+'&'+ajaxPars);
    xmlHttpReq.setRequestHeader("Content-Type", "text/html;charset=UTF-8");
    xmlHttpReq.onreadystatechange=function()
    {
        if(xmlHttpReq.readyState == 4)
        {
            showTextResponse(xmlHttpReq.responseText);

            if(chgFrom == 'SIMP' && !exOpt)
                callAjax(document.srch);
            else if(chgFrom == 'POST')
            {
                if(chgFor == 'MK')
                    idiv('loadingImg_model').style.display='none';

                if(chgFor == 'MD')
                    idiv('loadingImg_engModel').style.display='none';
            }
        }
    }
    xmlHttpReq.send(null);
    return false;
}

/** Get bikeType*/
function ajaxBikeType(id_make,id_model)
{
    var idMake=idModel='';

    /** Parse the required variables those are used in ajaxMakeModelChange.php file. */
    var ajaxPars='idMake='+id_make+'&idModel='+id_model;

    var ajaxFname='ajaxBikeType.php?ajxifrm=A';

    var xmlHttpReq=createXHR();

    xmlHttpReq.open('GET',_su+'/'+ajaxFname+'&'+ajaxPars);
    xmlHttpReq.setRequestHeader("Content-Type", "text/html;charset=UTF-8");
    xmlHttpReq.onreadystatechange=function()
    {
        if(xmlHttpReq.readyState == 4)
            showTextResponse(xmlHttpReq.responseText);
    }
    xmlHttpReq.send(null);
    return false;
}

//Used in Advance Search 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(v2.length > 0 && v2.options[0].value == '')
        {
            v2.length=1;
            var j=1;
        }
        else
        {
            /** Remove first element which is just blank */
            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].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');
            }
        }
        arrModel=(m[makeid]).split(',');

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

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

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

            j++;
        }
    }
    else
    {
        v2.length=1;
        var j=1;

        if(cond == 'ADV')
        {
            selOpt=new Option('                                          ','');
            eval('v2.options[0]=selOpt');
        }
    }
}

//Change subType according to Vehicle Type
function subTypeChange(vtype,subtype,curval,page)
{
    if(vtype)
    {
        if(vtype.length)
        {
            if(vtype.selectedIndex > -1)
                var vehicleid=new String(vtype.options[vtype.selectedIndex].value);
            else
                var vehicleid='';
        }
        else
            var vehicleid=vtype;
    }
    if(page == 'POST')
    {
        subtype.length=1;
        j=1;
    }
    else
    {
        subtype.length=1;
        j=1;
    }
    if(vehicleid != '')
    {
        if(sid[vehicleid])
        {
            for(i=0; i < sid[vehicleid].length; i++)
            {
                var svalue=new String(sid[vehicleid][i]);
                var stext=new String(stype[vehicleid][i]);

                sOpt=new Option(stext,svalue);
                eval("subtype.options[j]=sOpt");

                if(sid[vehicleid][i] == curval)
                    subtype.selectedIndex=j;

                j++;
            }
        }
    }
    else
    {
        //When Vehicle Type is not selected (Simple Search)
        for(z=0; z < vtype.length; z++)
        {
            if(sid[vtype.options[z].value])
            {
                for(i=0; i < sid[vtype.options[z].value].length; i++)
                {
                    var svalue=new String(sid[vtype.options[z].value][i]);
                    var stext=new String(stype[vtype.options[z].value][i]);

                    sOpt=new Option(stext,svalue);
                    eval("subtype.options[j]=sOpt");

                    if(curval == svalue)
                        subtype.selectedIndex=j;

                    j++;
                }
            }
        }
    }
}

//Function to change year list box options
function yearChange(v1,v2,curval)
{
    var tot=v1.selectedIndex+1;

    if(tot == 1)
        tot=v1.options.length-1;

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

    v2.length=1;

    for(i=1,j=1; i<tot; j++,i++)
    {
        temp=new Option(v1.options[i].value,v1.options[i].value);
        eval("v2.options[j]=temp");

        if(curval == v1.options[i].value)
            v2.selectedIndex=j;
    }
}

//Function to change price list box options
function priceChange(v1,v2,curval,sign)
{
    if(sign)
        sign=sign;
    else
        sign="€";

    if(v1.selectedIndex < 1)
        var st=1;
    else
        var st=v1.selectedIndex;

    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+" "+sign;
        }
        else
            var disp=v1.options[i].value+" "+sign;

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

        if(curval == v1.options[i].value)
            v2.selectedIndex=j;
    }
}

//Function to change mileage list box options
function mileageChange(v1,v2,curval)
{
    if(v1.selectedIndex < 1)
        var st=1;
    else
        var st=v1.selectedIndex;

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

    for(i=st,j=1; i < tot; j++,i++)
    {
        temp=new Option(v1.options[i].value,v1.options[i].value);
        eval("v2.options[j]=temp");

        if(curval == v1.options[i].value)
            v2.selectedIndex=j;
    }
}

//Function to change engine size list box options
function engineChange(v1,v2,curval)
{
    if(v1.selectedIndex < 1)
        var st=1;
    else
        var st=v1.selectedIndex;

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

    for(i=st,j=1; i < tot; j++,i++)
    {
        temp=new Option(v1.options[i].value,v1.options[i].value);
        eval("v2.options[j]=temp");

        if(curval == v1.options[i].value)
            v2.selectedIndex=j;
    }
}

//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;
    }
}
//Function to open new pop up window with variable width and height
function openImg(img_nm,w,h,nm)
{
    var myfeatures="directories=no,location=no,menubar=no,status=yes,titlebar=no,toolbar=no,resizable=yes,scrollbars=yes,width="+w+",height="+h+",left=0,top=0";

    if(nm == '')
        nm='new';

    var newImg=open(img_nm,nm,myfeatures);
    newImg.focus();
}

//Function opens window of desired size by giving proper alert window
function doLogin(msgVar,width,height)
{
    openImg(_su+"/msgWin.php?opt="+msgVar,width,height,'newuser');
}
// Function to submit favorite page by adding/removing vehicles
function submitFav(thisV)
{
    frmObj=document.fav;

    var i,flag='N',checked_value,img_id='';

    for(i=1; i < document.fav.length; i++)
    {
        if(document.fav.elements[i].type == 'checkbox')
        {
            if(document.fav.elements[i].checked)
            {
                flag='Y';
                continue;
            }
        }
    }
    if(flag != 'Y')
    {
        alert(msgSelectAtLeastOne);
        return false;
    }
    if(thisV == 'remove')
        document.fav.opt.value='Rem';
    else
        document.fav.opt.value='Fav';

    /*  AJAX code starts    */

    if(thisV != 'remove')
    {
        idiv('loadingImg').style.display='inline';
        if(thisV == 'SalesAd')
            idiv('loadingImg2').style.display = 'inline';

        var pars=Form.serialize($(frmObj));
        var sub_url=document.fav.action;
        var xmlHttpReq=createXHR();

        xmlHttpReq.open('POST',sub_url,true);
        xmlHttpReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHttpReq.setRequestHeader("Content-length", pars.length);
        xmlHttpReq.setRequestHeader("Connection", "close");
        xmlHttpReq.onreadystatechange=function() {
            if(xmlHttpReq.readyState == 4) {
                var str=xmlHttpReq.responseText;
                arr=str.split("#");

                if(arr[0] != '0')
                    idiv('favorite_cnt').innerHTML='(' + arr[0] + ')';

                if(arr[1] != '0')
                {
                    idiv('common_messageX').innerHTML = arr[1] + ' ' + msgAddFavBig;
                    if(thisV == 'SalesAd')
                        idiv('Add_To_Fav_End').innerHTML  = arr[1] + ' ' + msgAddFavBig;
                }
                else
                {
                    idiv('common_messageX').innerHTML = msgRptAddFav;
                    if(thisV == 'SalesAd')
                        idiv('Add_To_Fav_End').innerHTML  = msgRptAddFav;
                }
                idiv('common_messageX').style.display = 'block';
                idiv('loadingImg').style.display='none';
                if(thisV == 'SalesAd')
                {
                    idiv('Add_To_Fav_End').style.display  = 'block';
                    idiv('loadingImg2').style.display = 'none';
                }
            }
        }
        xmlHttpReq.send(pars);

        //  Remove checked items
        for(i=1; i < document.fav.length; i++)
        {
            if(document.fav.elements[i].type == 'checkbox')
            {
                if(document.fav.elements[i].checked)
                {
                    document.fav.elements[i].checked=false;

                    if(thisV != 'remove' && document.fav.elements[i].alt != "compVehicle")
                    {
                        checked_value=document.fav.elements[i].value;
                        changeClass(checked_value,'listing');
                    }
                    continue;
                }
            }
        }
        return false;
    }
    else
        document.fav.submit();
}

//Part of rotating banner module, to show alter text on windows's status bar
function descript()
{
    if(alt[zg])
    {
        window.status=alt[zg];

        if ((navigator.appName == 'Netscape') && (parseFloat(navigator.appVersion.substr(0,3)) < 5.0))
        {
            document.netBan.visibility='show';
            text='';
            text=alt[zg];

            document.netBan.document.write('<layer id="id1" top="20" left="450" bgcolor="#f7f7d3" style="border:0px solid white; font-family: verdana; font-size:11px; color:black;">'+text+'</layer>');
        }
        else
            document.banner.title=alt[zg];
    }
}

//Part of rotating banner module, to remove alter text from windows's status bar
function remove()
{
    window.status='';

    if ((navigator.appName == 'Netscape') && (parseFloat(navigator.appVersion.substr(0, 3)) < 5.0))
        document.netBan.visibility='hide';
}
/** Function to add selected make,model and engine model value in ADV search. */
function addModelEngineModel(v1,v2)
{
    if(!(v1.id_engine_model.selectedIndex >= 0))
        return;

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

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

        var selMakeVal=selMakeText=selModelVal=selModelText='';
        var totSelected=v2.length;
        var dup=0;

        var makeModelVal=v1.id_engine_model[0].value; // Ex.: 8#BMW OR 8#BMW,1345#F
        var makeModelValInfo=makeModelVal.split(',');

        if(makeModelValInfo[0])
        {
            var makeInfo=makeModelValInfo[0].split('#');
            selMakeVal=makeInfo[0];
            selMakeText=makeInfo[1];
        }

        if(makeModelValInfo[1])
        {
            var modelInfo=makeModelValInfo[1].split('#');
            selModelVal=modelInfo[0];
            selModelText=modelInfo[1];
        }

        // Select value.
        var selectTmpVal=v1.id_engine_model[v1.id_engine_model.selectedIndex].value;

        for(o=0; o<totSelected; o++)
        {
            var onlyMake=onlyMkModel='';
            var selectedTmpVal=v2.options[o].value; // Ex.: 8#BMW OR 8#BMW,1345#F OR 8#BMW,1355#F,1

            var selectedInfo=selectedTmpVal.split(',');
            onlyMake=selectedInfo[0];

            if(selectedInfo[1])
                onlyMkModel=selectedInfo[0]+','+selectedInfo[1];

            if(selectedInfo[2] && selectedInfo[2] == selectTmpVal) // You have already selected this engine model
            {
                dup=1;
                alert(msgDupEngModelSelected);
                break;
            }
            else if(onlyMkModel && selectedTmpVal == selectTmpVal) // All engine models from this model are already selected
            {
                dup=1;
                alert(msgAllModelSelected);
                break;
            }
            else if(onlyMake  && selectedTmpVal == selectTmpVal) // All models/engine models from this make are already selected
            {
                dup=1;
                alert(msgAllMakeSelected);
                break;
            }
            else if(selectTmpVal.match(/^([0-9]{1,})$/i))
            {
                if(onlyMkModel && selectedTmpVal == makeModelVal) // All engine models from this model are already selected
                {
                    dup=1;
                    alert(msgAllModelSelected);
                    break;
                }
                else if(onlyMake && !onlyMkModel &&  selectedTmpVal == makeModelValInfo[0]) // All models/engine models from this make are already selected
                {
                    dup=1;
                    alert(msgAllMakeSelected);
                    break;
                }
            }
            else if(selectTmpVal.match(/^([0-9]{1,})#/i))
            {
                if(onlyMake && !onlyMkModel &&  selectedTmpVal == makeModelValInfo[0]) // All models/engine models from this make are already selected
                {
                    dup=1;
                    alert(msgAllMakeSelected);
                    break;
                }

                // if select value like 8#BMW,1345#F then replace all engine model with make:model: Any Engine model
                if(selModelVal)
                {
                    for(i=1; i < v1.id_engine_model.length; i++)
                    {
                        var engModel_value=new String(v1.id_engine_model[i].value);

                        for(h=0; h<totSelected; h++)
                        {
                            var v2Value=v2.options[h].value;
                            var v2ValueInfo=v2Value.split(',');

                            /** Check for id_engine_model */
                            if(v2ValueInfo[2] == engModel_value)
                            {
                                var j=0;

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

                                    if(j > (totSelected-1))
                                        j=totSelected-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=totSelected-1;
                                totSelected=v2.length;
                            }
                        }
                    }
                }
                else // if select value like 8#BMW then replace all model/enginemodel with make: Any model - Engine model
                {
                    for(i=1; i < v1.id_model.length; i++)
                    {
                        for(h=0; h<totSelected; h++)
                        {
                            var v2Value=v2.options[h].value;
                            var v2ValueInfo=v2Value.split(',');

                            /** Check for id_make */
                            if(v2ValueInfo[0] == selectTmpVal)
                            {
                                var j=0;

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

                                    if(j > (totSelected-1))
                                        j=totSelected - 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=totSelected-1;
                                totSelected=v2.length;
                            }
                        }
                    }
                }
            }
        }

        if(dup != 1)
        {
            /** make model and engine model selected. */
            if(v1.id_engine_model[v1.id_engine_model.selectedIndex].value.match(/^([0-9]{1,})$/i))
            {
                var selectedText=selMakeText+': '+selModelText+': '+v1.id_engine_model[v1.id_engine_model.selectedIndex].text;
                var selectedVal=makeModelValInfo[0]+','+makeModelValInfo[1]+','+v1.id_engine_model[v1.id_engine_model.selectedIndex].value;

                selOpt=new Option(selectedText,selectedVal);
            }
            else // Any Model - engine model OR Any Engine model.
                selOpt=new Option(v1.id_engine_model[v1.id_engine_model.selectedIndex].text,v1.id_engine_model[v1.id_engine_model.selectedIndex].value);

            eval('v2.options[totSelected]=selOpt');
        }
    }
}
/** Function to remove selected values from selected make-model-Engine Model fields, In ADV search. */
function removeEngineModel(v1)
{
    var p=v1.selectedIndex;
    var j=0;
    var totSelected=v1.options.length;

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

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

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

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

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

//To check login sesion of user in VIF while sumbitting
//question or giving answer, if user is not logged in
//a popup window opens where he can log in
function checkQue(file,from)
{
    /* Check. User is registered or not */
    if(file.id_user.value == '')
    {
        if(from == 'O')
            openImg(_su+'/popUpLogin.php?M=OnlyForRegisteredUser',350,320,'nm_login');
        else
            openImg(_su+'/popUpLogin.php?M=OnlyForRegisteredUser',350,320,'nm_login');

        return false;
    }
    var flag='N';

    for(i=0; i < file.elements.length;i++)
    {
        if(file.elements[i].type == 'text')
        {
            if(!isblank(file.elements[i].value))
                flag='Y';
        }
    }
    if(flag == 'N')
    {
        alert(msgBlankForm);
        return false;
    }
}

//Function to return nothing, this is used sometimes
//to display tool tip on plain text by making trick
function returnVoid() {}

function RemoveGroups(selectId,v2,make_txt)
{
    var lChars= new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','Ö','Ä','Å');
    for(var chr=0; chr < lChars.length; chr++)
    {
        RemoveGroup(lChars[chr],selectId);
    }
}

function RemoveGroup(groupLabel,selectId)
{
    try
    {
        var selectList = document.getElementById(selectId);
        var eachGroup = selectList.firstChild;
        while (groupLabel != eachGroup.label)
        {
            eachGroup = eachGroup.nextSibling;
        }
        selectList.removeChild(eachGroup);
    }
    catch(er){}
}

function confirmReset(thisForm)
{
    if(confirm(msgConfirmReset))
            return true;

    return false;
}

// function to change town list according the selected domicile.
function townChange(ptype,town,curval,page) //partTownChange
{
    if(page == 'simp')
    {
        town=document.getElementById(town);
        townlist=curval.split(',');
    }
    if(ptype)
    {
        if(ptype.length)
        {
            if (page == 'SELECTPART')
            {
                if(ptype.selectedIndex > -1 && ptype.selectedIndex > 0)
                    idPart=new String(ptype.options[ptype.selectedIndex].value);
                else
                    idPart='';
            }
            else
            {
                if(ptype.selectedIndex > -1)
                    idPart=new String(ptype.options[ptype.selectedIndex].value);
                else
                    idPart='';
            }
        }
        else
            partid=ptype;
    }
    if(page == 'POST')
    {
        town.length=1;
        j=1;
    }
    else if(page == 'ADV')
    {
        town.length=0;
        j=0;
    }
    else if (page == 'listService')
    {
        town.length=0;
        j=0;
    }
    else
    {
        town.length=1;
        j=1;
    }
    if(idPart != '')
    {
        if(tId[idPart])
        {
            for(i=0; i < tId[idPart].length; i++)
            {
                cvalue=new String(tId[idPart][i]);
                ctext=new String(tName[idPart][i]);

                cOpt=new Option(ctext,cvalue);
                eval("town.options[j]=cOpt");

                if(page == 'simp')
                {
                    for(k=0; k < townlist.length; k++)
                    {
                        if(cvalue == townlist[k])
                            town.options[j].selected=true;
                    }
                }
                else
                {
                     if(tId[idPart][i] == curval)
                    town.selectedIndex=j;
                }
                j++;
            }
        }
    }
    else
    {
        j=1;
        town.length=1;
    }
}

function categoryChange(category,subcategory,curval)
{
    if(category)
    {
        if(category.length)
        {
            if(category.selectedIndex > -1)
            {
                    idCat=new String(category.options[category.selectedIndex].value);
            }
            else
                idCat='';
        }
        else
            idCat=category;
    }

    subcategory.length=0;
    j=0;

    if(idCat != '')
    {
        if(sId[idCat])
        {
            for(i=0; i < sId[idCat].length; i++)
            {
                if(sCnt[idCat][i] > 0)
                {
                    if(sAvail[idCat][i].match(/NM/))
                    {
                        cvalue=new String(sId[idCat][i]);
                        ctext=new String(sName[idCat][i]);

                        cOpt=new Option(ctext,cvalue);
                        eval("subcategory.options[j]=cOpt");

                        if(sId[idCat][i] == curval)
                                        subcategory.selectedIndex=j;
                        j++;
                    }
                }
            }
        }
    }
    else
    {
            j=0;
            subcategory.length=0;
    }
}
function checkPage(theForm,pageVal)
{
    if(theForm.gotopage.value.match(/^[0-9]{1,3}$/))
    {
        if(theForm.gotopage.value != 0)
        {
            if(theForm.gotopage.value > pageVal)
            {
                alert(msgPageNotAvailable);
                return false;
            }
            else
                return true;
        }
        else
        {
            alert(notValidPageNumber);
            return false;
        }
    }
    else
    {
        alert(notPageVal);
        return false;
    }
}

//  Functions for changing background color of updated row(s) when posting question or answers for Boats.
function whiteBG()
{
    var elements = document.getElementsByTagName("tr");
    for(var i = 0;i < elements.length;i++)
    {
        if(elements[i].id == "TR_BG" && elements[i].className == "bgyellow" )
        {
            elements[i].className = "bgwhite";
        }
    }
    setTimeout("yellowBG();",500);
}
function yellowBG()
{
    var elements = document.getElementsByTagName("tr");
    for(var i = 0;i < elements.length;i++)
    {
        if(elements[i].id == "TR_BG" && elements[i].className == "bgwhite")
        {
            elements[i].className = "bgyellow";
        }
    }
    setTimeout("oddevenBG();",500);
}
//      Function for doing normal background.
function oddevenBG()
{
    var elements = document.getElementsByTagName("tr");
    for(var i = 0;i < elements.length;i++)
    {
        if(elements[i].id == "TR_BG")
        {
            if(i % 2 == 0)
                elements[i].className = "odd";
            else
                elements[i].className = "even";
        }
    }
}

function sd_ajaxQue(formObj,var_O)
{
    if(checkQue(formObj,var_O) != false )
    {
        var id_bike = formObj.id_bike.value;
        var pars = Form.serialize($(formObj));

        if(formObj.replyToQue.value == 0)
        {
            formObj.que.disabled=true;
            formObj.exchangeid.disabled=true;
            formObj.save.disabled=true;
            document.getElementById('loaderimg').style.display='inline';
        }
        /* replacing € with &euro; */
        pars = pars.replace(/%E2%82%AC/g,'%26euro%3B');

        var xmlHttpReq=createXHR();
        xmlHttpReq.open('GET',_su+'/simple_dealer/sd_questionAnswer.php?ajxQueAns=1&id_bike='+id_bike + '&'+pars,true);
        xmlHttpReq.setRequestHeader("Content-Type", "text/html;charset=UTF-8");
        xmlHttpReq.onreadystatechange=function() {
            if(xmlHttpReq.readyState == 4) {
                var str = xmlHttpReq.responseText;
                idiv('submitXQA').innerHTML = str;
                setTimeout("whiteBG();",1000);
            }
        }
        xmlHttpReq.send(null);
        return false;
    }
    else
        return false;
}

function sd_ajaxLoadImage(id)
{
    var qa_id = id;

    if(document.getElementById('nm_id_user').value == "")
        return false;

    if(checkQue(document.frmqueans) != false )
    {
        var answer = document.frmqueans.replyToQue.value;
        var pars = Form.serialize($(document.frmqueans));

        if(answer == 1)
        {
            var loader_img_id='loaderimg'+qa_id;
            var ans_id='ans'+qa_id;
            var anssave_id='anssave'+qa_id;

            document.getElementById(ans_id).disabled=true;
            document.getElementById(anssave_id).disabled=true;
            document.getElementById(loader_img_id).style.display='inline';
        }

        /* replacing € with &euro; */
        pars = pars.replace(/%E2%82%AC/g,'%26euro%3B');

        var xmlHttpReq=createXHR();
        xmlHttpReq.open('GET',_su+'/simple_dealer/sd_questionAnswer.php?ajxQueAns=1&'+pars,true);
        xmlHttpReq.setRequestHeader("Content-Type", "text/html;charset=UTF-8");
        xmlHttpReq.onreadystatechange=function() {
            if(xmlHttpReq.readyState == 4) {
                var str = xmlHttpReq.responseText;
                idiv('submitXQA').innerHTML = str;
                setTimeout("whiteBG();",1000);
            }
        }
        xmlHttpReq.send(null);
        return false;
    }
    else
        return false;
}

// Fn. for Login modal
function loginmodal(opt,rPage)
{
    //  D => Simple Dealer , N => From View Page , P => Post Ad, RP => any given redirect page rPage
    if(opt=='D')
    {
        pageURL=_su+'/modalLogin.php?mainOnly=1&sd=1';
        idiv('lightbox').style.left='65%';
    }
    else if(opt=='N')
    {
        pageURL=_su+'/modalLogin.php?mainOnly=1&sd=0';
        idiv('lightbox').style.left='40%';
    }
    else if(opt=='P')
    {
        pageURL=_su+'/modalLogin.php?mainOnly=1&postad=1';
        idiv('lightbox').style.left='40%';
    }
    else if(opt=='RP')
    {
        pageURL='modalLogin.php?mainOnly=1&redirectPage='+rPage;
        idiv('lightbox').style.left='40%';
    }
    else if(opt!='P'&&location.href.search('advSearch')==-1)
    {
        document.queAsk.que.value='';idiv('que').blur();
    }
    lightbox.prototype.content=pageURL;
    lightbox.prototype.activate();
    idiv('lightbox').style.top='60%';
    idiv('lightbox').style.width='295px';
}

function modalForm(frmObj)
{
    var flag='N';
    var page_from=frmObj.page_from.value;
    var login_page;
    if(page_from.search('simple_dealer')==-1)
        login_page=_su+'/login.php?ajxLogin=1'
    else
        login_page=_su+'/login.php?ajxLogin=1'
    for(i=0;i<frmObj.elements.length;i++)
    {
        if(frmObj.elements[i].type=='text')
        {
            if(!isblank(frmObj.elements[i].value))
                flag='Y';
        }
    }
    if(frmObj.passwd.value.split(" ").join("").length==0)
        flag='N';
    if(flag=='N')
    {
        alert(msgMandet);
        return false;
    }
    if(flag=='Y')
    {
        var pars=Form.serialize($(frmObj));
        var xmlHttpReq=createXHR();
        xmlHttpReq.open('GET',login_page+((login_page.indexOf('?')>0)?'&':'?')+pars,true);
        xmlHttpReq.setRequestHeader("Content-Type","text/html;charset=UTF-8");
        xmlHttpReq.onreadystatechange=function()
        {
            if(xmlHttpReq.readyState==4)
            {
                if(xmlHttpReq.responseText=='success')
                {
                    if(frmObj.postad.value==1)
                        window.location.href=_su+'/postAd.php';else
                    window.location.reload();
                }
                else if(xmlHttpReq.responseText=='toHomePage')
                    location.href='/';
                else
                idiv('msgLoginError').innerHTML='<table width="100%" border="0" cellspacing="3" cellpadding="0"><tr><td height="27" class="message">'+xmlHttpReq.responseText+'</td></tr></table>';
            }
        }
        xmlHttpReq.send(null);
    }
    return false;
}

/** Function to change the video status. */
function changeVideoStatus(idBike,videoStatus,idReporter)
{
    var reporterSuffix;

    if(confirm(msgChangeStatus))
    {
        if(idReporter == '')
        {
            reporterSuffix='';
            idReporter='';
        }
        else
            reporterSuffix='_'+idReporter;

        var pars='id_bike='+idBike+'&video_status='+videoStatus+'&id_reporter='+idReporter+'&ajxifrm=A';
        AjaxUpdater('vStatus'+idBike+reporterSuffix,_su+'/extra/admin/changeVideoStatus.php?'+pars);
    }
    else
        return;
}
/** Function for confirmation when video ad is delete. */
function confirmVideoDelete(ref)
{
    if(confirm(msgDeleteVideoConfirm))
        window.location.replace(ref);
}
/**
Function to play the video at given id of element.
id_element=>id of element where to display the video.
videoUrl=>viewVideo.php file.
*/
function playVideo(id_element,videoUrl)
{
    AjaxUpdater(id_element,videoUrl+((videoUrl.indexOf('?') > 0) ? '&' : '?')+'ajxifrm=A');
}
//      Check send link form
function checkFL()
{
    if(isblank(document.sendlink.name.value))
    {
        alert(msgFullFLname);
        document.sendlink.name.focus();
        return false;
    }
    if(!document.sendlink.name.value.match(/^[a-zA-ZåÅäÄöÖÁÀÉÈÒÓÙÚáàèéòóùúÝìíýÌÍ´_\s-]{1,50}$/))
    {
        alert(msgFullFLname);
        document.sendlink.name.focus();
        document.sendlink.name.select();
        return false;
    }
    if(!emailInvalid(document.sendlink.userEmail.value))
    {
        alert(msgInvalidEmail);
        document.sendlink.userEmail.focus();
        return false;
    }
    if(isblank(document.sendlink.email.value))
    {
        alert(msgInvalidEmail);
        document.sendlink.email.focus();
        return false;
    }
    s = document.sendlink.email.value;
    removeSpace = s.replace(/ /g,"");
    str1=removeSpace.split(",");

    if(str1.length > 10)
    {
        alert(msgMoreThan10Mail);
        document.sendlink.email.focus();
        return false;
    }
    else
    {
        for(var m=0; m<str1.length; m++)
        {
            if(!emailInvalid(str1[m]))
            {
                alert(msgInvalidEmail);
                document.sendlink.email.focus();
                return false;
            }
        }
    }
    return true;
}

function callAjax(frmObj)
{
    /** for write hidden parameter selected model & selected acc and validate inspected motmonth & motyear */
    var ajaxFName=_su + '/ajaxSearchCounter.php?ajxifrm=A&site=NM';
    if(frmObj.name == 'adv')
    {
        checkFa();
        return ajaxCounterChng(ajaxFName+'&frm=ADV&'+ cleanFrmUrl(frmObj),frmObj.name);
    }
    else if(frmObj.name == 'srch')
    {
        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 ajaxPars='';
    var loadingImg='';
    var ajaxFname=searchUrl.replace('/#/ig','@');

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

    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 callAjaxPart(frmElement)
{
    idiv('loadingImg_part').style.display='inline';

    var xmlHttpReq=createXHR();

    xmlHttpReq.open('GET',_su + '/ajaxSearchCounter.php?ajxifrm=A&site=NP&'+cleanFrmUrl(frmElement),true);
    xmlHttpReq.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");
    xmlHttpReq.onreadystatechange=function() {
        if(xmlHttpReq.readyState == 4) {
            showResponse(xmlHttpReq.responseXML);
            idiv('loadingImg_part').style.display='none';
        }
    }
    xmlHttpReq.send(null);

    return false;
}
/** This function is return whole url with append of selected search criteria*/
function cleanFrmUrl(qs)
{
    var l =qs.elements.length;
    var u='';

    u=u.replace(/\s/g,'-').toLowerCase();

    for(var i = 0; i < l; i++)
    {
        var e=qs.elements[i];

        if(e.name == 'search' || e.name == 'qsm')
           continue;

        if(e.type == 'select-multiple')
        {
            var si=new Array();
            var count=0;
            var k;
            while (e.selectedIndex != -1)
            {
                if (e.selectedIndex != 0)
                {
                    u=u+e.name+'='+e.options[e.selectedIndex].value+'&';
                    si[count++]=e.selectedIndex;
                }
                e.options[e.selectedIndex].selected=false;
            }

            for(k=0; k<si.length; k++)
                e.options[si[k]].selected=true;
        }
        else if(((e.type == 'checkbox' || e.type == 'radio') && e.checked && e.value))
        {
            u=u+e.name+'='+e.value+'&';
        }
        else if(e.value && !isblank(e.value) && e.type != 'checkbox' && e.type != 'radio')
        {
            if(e.value.indexOf('#') != -1)
                u=u+e.name+'='+escape(e.value)+'&';
            else
                u=u+e.name+'='+e.value+'&';
        }
    }

    return u.substr(0,u.length-1);
}

/** Function to check whether given string is really empty or not */
function isblank(s)
{
    for(var i=0; i < s.length; i++)
    {
        var c=s.charAt(i);

        if((c != ' ') && (c != "\n") && (c != "\t"))
            return false;
    }
    return true;
}

function cleanRewriteUrl(str)
{
    var rExps=[{re:/[\xC0-\xC6]/gi, ch:'a'},{re:/[\xE0-\xE6]/gi, ch:'a'},{re:/[\xC8-\xCB]/gi, ch:'e'},{re:/[\xE8-\xEB]/gi, ch:'e'},{re:/[\xCC-\xCF]/gi, ch:'i'},{re:/[\xEC-\xEF]/gi, ch:'i'},{re:/[\xD2-\xD6]/gi, ch:'o'},{re:/[\xF2-\xF6]/gi, ch:'o'},{re:/[\xD9-\xDC]/gi, ch:'u'},{re:/[\xF9-\xFC]/gi, ch:'u'},{re:/[\xD1]/gi, ch:'n'},{re:/[\xF1]/gi, ch:'n'},{re:/[^a-zA-Z0-9\/_|+ -]/gi, ch:''},{re:/[\/_| -]+/gi, ch:'-'}];

    for(var i=0, len=rExps.length; i<len; i++)
        str=str.replace(rExps[i].re, rExps[i].ch);

    return str.toLowerCase();
}

function cleanUrl(qs)
{
    var st=qs.elements.ad_type.options[qs.elements.ad_type.selectedIndex];
    var mk=qs.elements.id_make.options[qs.elements.id_make.selectedIndex];
    var md=qs.elements.id_model.options[qs.elements.id_model.selectedIndex];
    var bt=qs.elements.id_bike_type.options[qs.elements.id_bike_type.selectedIndex];
    var u=_su;
    var l =qs.elements.length;

    if(mk.value && md.value)
        u=u+'/'+cleanRewriteUrl(mk.text)+'/'+cleanRewriteUrl(md.text);
    else if(mk.value && !md.value)
        u=u+'/'+cleanRewriteUrl(mk.text);
    else
        u=u+'/haku';

    if(bt.value)
        u=u+'/'+cleanRewriteUrl(bikeType_fi[bt.value]);

    if(st.value != 'F')
    {
        var arrStatus=new Array();
        arrStatus['P']='ostetaan';
        arrStatus['R']='vuokrattavana';
        u=u+'/'+arrStatus[st.value];
    }
    else if(mk.value && !md.value && !bt.value)
    {
        u=u+'/myydaan';
    }
    st.value='';

    u=u+'?';
    u=u.replace(/\s/g,'-').toLowerCase();

    mk.value=md.value=bt.value='';
    var flgF=false;

    for(var i = 0; i < l; i++)
    {
        var e=qs.elements[i];

        if(e.name!='search')
        {
            if(e.value && e.type == 'hidden') {
                u=u+e.name+'='+e.value+'&';
                flgF=true;
            }
            if((e.value && e.type == 'select-one') || (e.type == 'checkbox' && e.checked)) {
                u=u+e.name+'='+e.value+'&';
                flgF=true;
            }
            if(e.type == 'select-multiple')
            {
                while (e.selectedIndex != -1)
                {
                    if (e.selectedIndex != 0) {
                        u=u+e.name+'='+e.options[e.selectedIndex].value+'&';
                        flgF=true;
                    }
                    e.options[e.selectedIndex].selected = false;
                }
            }
        }
    }

    if(flgF) u=u.replace('/myydaan','');

    window.location.replace(u.substr(0,u.length-1));
    return false;
}

function cleanYamahaUrl(qs,fname)
{
    var mk=qs.elements.id_make.options[qs.elements.id_make.selectedIndex];
    var town=qs.elements.town.options[qs.elements.town.selectedIndex];
    var md=qs.elements.id_model.options[qs.elements.id_model.selectedIndex];
    var u=_su;
    if(fname=='bikeworld')
        u=u+'/hakukone/bikeworld';
    else
        u=u+'/hakukone/yamahacenter';

    var l =qs.elements.length;
    if(mk.value && md.value)
        u=u+'/'+cleanRewriteUrl(mk.text)+'/'+cleanRewriteUrl(md.text);
    else if(mk.value && !md.value)
        u=u+'/'+cleanRewriteUrl(mk.text);
    if(town.value)
        u=u+'/'+cleanRewriteUrl(town.text);

    u=u+'?go=hae&';
    u=u.replace(/\s/g,'-').toLowerCase();
    mk.value=md.value=town.value='';

    for(var i = 0; i < l; i++)
    {

        var e=qs.elements[i];
        if(e.name!='hae')
        {
            if(e.value && (e.type == 'hidden' ||e.type == 'text'))
                u=u+e.name+'='+e.value+'&';
            if((e.value && e.type == 'select-one') || (e.type == 'checkbox' && e.checked))
                u=u+e.name+'='+e.value+'&';
        }
    }
    window.location.replace(u.substr(0,u.length-1));
    return false;
}

function yamahaCallAjax(bikeType,sub_type,id_make,dealer_id,id_model,yamahaType)
{
    var ad_condition = '';
    if (sub_type != '')
        ad_condition='&sub_type='+sub_type.value;
    if (id_make != '')
        ad_condition=ad_condition+'&idMake='+id_make.value;
    if (id_model != '')
        ad_condition=ad_condition+'&idModel='+id_model;

    var ajaxFName=_su + '/ajaxClass.php?yamahaType='+yamahaType+'&bikeType='+bikeType.value+ad_condition;
    return ajaxClassChng(ajaxFName,'srch');
}

function ajaxClassChng (searchUrl,frmName)
{
    var ajaxPars='';
    var ajaxFname=searchUrl.replace('/#/ig','@');
    new Ajax.Request(ajaxFname,{ parameters:ajaxPars,
                                method: 'get',
                                contentType: 'text/html',
                                onSuccess: function(transport)
                                    {
                                        showTextResponse(transport.responseText);
                                    }
                                }
                    );
    return false;
}

function getDomTown(domVal,curval,page,arena_area,sCode)
{
	var townStr='';
	var townUrl='http://'+location.hostname+'/ajaxGetDomicileTown.php?ajxifrm=A&frm='+page+'&site=NM&';

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

	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);
}
