﻿Sys.Application.add_load(SearchLoad);
var timeoutMake;
var timeoutModel;
var timeoutRegion;
var timer = 200;

function SearchLoad() {

    DetectCookies();

  // window.alert("Load Start");
    var portal = parseInt( $get('hdPortalID').value);
    SearchService.set_defaultSucceededCallback(SearchCallback);
    
    if(portal < 2) {
        timeoutModel = setTimeout("LoadModels()", timer);
        SearchService.GetMakesByPortal(portal);
    }

    if (portal == 2 || portal == 3) {
        timeoutMake = setTimeout("LoadMakes()", timer);
        SearchService.GetCategories(portal);
    }
    
    timeoutRegion = setTimeout("LoadRegions()", timer);
    SearchService.GetCountries();

 //   window.alert("Load End");
}

function DetectCookies() {
    if (navigator.cookieEnabled) {
        
    }
    else {
        alert('Your browser has cookies disabled. Please Enable cookies for the site to work as expected');
    }
}

function AddFav(id) 
{
    var cookies = document.cookie;
    var user = $get('hdUser').value ;

    if (user != -1) 
    {
        AdvertService.AddFavs(user, id);
        alert("You have added this Advert to your favourites \n You can access your favourites from the Favourites Tab in the menu.");
    }
    else
    {
        if (cookies.indexOf("fav") != -1) {

            var startpos = document.cookie.indexOf("fav") + 3 + 1;
            var endpos = document.cookie.indexOf(";", startpos);

            if (endpos < 0)
                endpos = document.cookie.length;

            cookies = document.cookie.substring(startpos, endpos);

            if (cookies.indexOf("," + id) == -1 && cookies.indexOf(id) == -1) 
            {

                var now = new Date();
                now.setMonth(now.getMonth() + 3);
                document.cookie = "fav=" + cookies+ "," + id + "; expires= " + now.toGMTString() + "; path=/";
                var cmpre = unescape(cookies.substring(startpos, endpos) + "," + id);
                alert("You have added this Advert to your favourites \n You can access your favourites from the Favourites Tab in the menu.");

            }
            else 
            {
                alert("You have already added this Advert \n You can access your favourites from the Favourites Tab in the menu.");
            }
        }
        else 
        {
            // the cookie couldn't be found! it was never set before, or it expired.
            var now = new Date();
            now.setMonth(now.getMonth() + 3);

            document.cookie = "fav=" + escape(id) + "; expires= " + now.toGMTString() + "; path=/";
            
        }
    }


}

function TestCookies() {

//    Set_Cookie('test', 'none', '', '/', '', '');
//    // if Get_Cookie succeeds, cookies are enabled, since
//    //the cookie was successfully created.
//    if (Get_Cookie('test')) {
//        document.write('cookies are currently enabled.');
//        /*
//        this is an example of a set cookie variable, if
//        you want to use this on the page or on another script
//        instead of writing to the page you would just check that value
//        for true or false and then do what you need to do.
//        */
//        cookie_set = true;
//        // and these are the parameters for Delete_Cookie:
//        // name, path, domain
//        // make sure you use the same parameters in Set and Delete Cookie.
//        Delete_Cookie('test', '/', '');
//    }
//    // if the Get_Cookie test fails, cookies
//    //are not enabled for this session.
//    else {
//        document.write('cookies are not currently enabled.');
//        cookie_set = false;
//    }


}

function GetSServerVar(clientID)
{
    return $get($get("hdSearchModuleID").value + "_" + clientID);
}


function GetSSubServerVar(clientID) 
{
    return $get($get("hdSearchSubModuleID").value + "_" + clientID);
}

function GetMPAServerVar(clientID) 
{
    return $get($get("hdMPAModuleID").value + "_" + clientID);
}

function GetAServerVar(clientID) 
{
    return $get($get("hdModuleID").value + "_" + clientID);
}

function CheckMinDdl(sender, args)
{
    var min = GetSServerVar('ddlMin').selectedIndex;
    var max = GetSServerVar('ddlMax').selectedIndex;
    
    if(min > max-1)
    {
        GetSServerVar('ddlMax').selectedIndex = GetSServerVar('ddlMin').selectedIndex-0;   
        GetSServerVar('hdddlMax').value = GetSServerVar('ddlMax').value;
    }
}

function CheckMaxDdl(sender, args)
{
    var min = GetSServerVar('ddlMin').selectedIndex;
    var max = GetSServerVar('ddlMax').selectedIndex;
   
    if(min > max )
    {
        GetSServerVar('ddlMin').selectedIndex = GetSServerVar('ddlMax').selectedIndex+0;          
        GetSServerVar('hdddlMin').value = GetSServerVar('ddlMin').value;
    }
    
}

function ToggleAdvanced(sender)
{
    if(GetSServerVar('divAdv').style.display == "")
    {
        GetSServerVar('divAdv').style.display = "none";
		GetSServerVar('cmdAdv').innerHTML = "More Search Criteria";
    }
    else   
    {
        GetSServerVar('divAdv').style.display = "";
		GetSServerVar('cmdAdv').innerHTML = "Hide Extra Criteria";
    }
}

function CheckFromDdl(sender, args)
{
    var min = GetSServerVar('ddlYearFrom').value;
    var max = GetSServerVar('ddlYearTo').value;
    
    if(min > max)
    {
        GetSServerVar('ddlYearTo').value = GetSServerVar('ddlYearFrom').value;   
        GetSServerVar('hdddlYearTo').value = GetSServerVar('ddlYearFrom').value;   
    }
}

function CheckToDdl(sender, args)
{
    var min = GetSServerVar('ddlYearFrom').value;
    var max = GetSServerVar('ddlYearTo').value;
    
    if(min > max)
    {
        GetSServerVar('ddlYearFrom').value = GetSServerVar('ddlYearTo').value; 
        GetSServerVar('hdddlYearFrom').value = GetSServerVar('ddlYearTo').value;        
    }
}

function SaveDllVal(ddl, mpa, sub) {

  //  window.alert("ddl Saved to hidden tag");
    
    var name = ddl.id.substring(ddl.id.lastIndexOf("_") + 1, ddl.id.length);
    var GetSVar = GetSServerVar;

    if (mpa)
        GetSVar = GetMPAServerVar;

    if (sub)
        GetSVar = GetSSubServerVar;

    GetSVar('hd' + name).value = ddl.value;
    
    if (name == "ddlCountry" )
    {
        GetSVar('hdddlRegion').value = '-1';

        GetSVar('hdddlCountry').value = ddl.value;
    }
    
    if (name == "ddlMake") 
    {
        if (GetSVar('hdddlModel'))
            GetSVar('hdddlModel').value = '-1';

        GetSVar('hdddlMake').value = ddl.value;
    }

    if (name == "ddlCategory") {
        if (GetSVar('hdddlSubCategory')) 
        {
            GetSVar('hdddlSubCategory').value = '-1';

        }

        if (GetSVar('hdddlMake')) 
        {
            GetSVar('hdddlMake').value = '-1';
            GetSVar('hdddlCategory').value = ddl.value;
        }
        
    }
}

 function doClick(buttonName,e)
 {
        var key;
        //window.alert("do click");
        if(window.event)
              key = window.event.keyCode;     //IE

         else
              key = e.which;     //firefox

        if (key == 13)
        {
            var btn = (buttonName);
            
            if (btn != null)
            { 
                WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(btn.replace(/_/g,"$"), "", true, "", "", false, true));
                
            }
        }
 }

function ShowContactSeller(adID, usrID)
{
    $get('divContactSeller').style.display = '';
    $get('hdAdvertID').value = adID;
    $get('hdAdvertUserID').value = usrID;
    GetAServerVar('txtMessage').value = '';

   
}


function ContactSeller()
{
    if (Page_ClientValidate('ContactSeller'))
    {
        var captcha = document.getElementsByName(($get("hdModuleID").value + "_captchaSeller").replace(/_/g, "$"))[0];
        AdvertService.set_defaultSucceededCallback(OtherAdvertCallback);
        AdvertService.ContactSeller(GetServerVar('txtName2').value, GetServerVar('txtEmail2').value, GetServerVar('txtNumber').value, $get('hdTabID').value, $get('hdAdvertID').value, $get('hdAdvertUserID').value, GetServerVar('txtMessage').value, "", window.location.host,true);
        $get('aContact').style.display = '';
    }
}

function OtherAdvertCallback(result, userContext, methodName)
{
    switch(methodName)
    {
        case ("ContactSeller"):
        {
            $get('spnSellerMessage').innerHTML = result;
            break;
        }

    
      
    }
}


function fireEvent(element, eventName) 
{

    evt = document.getElementById(element)[eventName];
    
    if (typeof (evt) == "function") 
    {

        document.getElementById(element)[eventName]();

    } else {}

}

function SearchCallback(result, userContext, methodName) {
    switch (methodName) 
    {
       // window.alert("Search Callback");
        case ("GetCategories"):
            {
                var listbox = GetSSubServerVar('ddlCategory');

                for (var item in result) 
                {
                    addOption(listbox, result[item].Name, result[item].ID);
                }

                var hdCategory = GetSSubServerVar('hdddlCategory');

                listbox.value = hdCategory.value;
                $find('bMake')._onParentChange();
                

                break;
            }
        case ("GetCountries"):
            {
                var listbox = GetSServerVar('ddlCountry');

                for (var item in result) 
                {
                    addOption(listbox, result[item].Name, result[item].ID);
                }

                var hdCountry = GetSServerVar('hdddlCountry');

                listbox.value = hdCountry.value;
                $find('bRegion')._onParentChange();
                

                break;
            }
        case ("GetMakesByPortal"):
            {
                var listbox = GetSSubServerVar('ddlMake');

                for (var item in result) {
                    addOption(listbox, result[item].Name, result[item].ID);
                }

                var hdMake = GetSSubServerVar('hdddlMake');

                if (hdMake.value > 0) 
                {
                    listbox.value = hdMake.value;
                    $find('bModel')._onParentChange();
                }

                
                break;
            }

    }
}

function LoadMakes() {
    var hdMake = GetSSubServerVar('hdddlMake');
    var listbox = GetSSubServerVar('ddlMake');

    if(!listbox.focused)
        listbox.value = hdMake.value;

    timeoutMake = setTimeout("LoadMakes()", 200);

}

function LoadModels() 
{
    var hdModel = GetSSubServerVar('hdddlModel');
    var listbox = GetSSubServerVar('ddlModel');

    if (listbox.value != hdModel.value)
    listbox.value = hdModel.value;

    timeoutModel = setTimeout("LoadModels()", 200);
    
}

function LoadRegions() 
{
    var hdRegion = GetSServerVar('hdddlRegion');
    var listbox = GetSServerVar('ddlRegion');

    if (listbox.value != hdRegion.value)
    listbox.value = hdRegion.value;

    timeoutRegion = setTimeout("LoadRegions()", 200);

}

function StopTimer() 
{
//window.alert("Stop Timer");
    clearTimeout(timeoutMake);
    clearTimeout(timeoutModel);
    clearTimeout(timeoutRegion);
}


function StartTimer() 
{
//window.alert("Start Timer");
    var portal = parseInt($get('hdPortalID').value);

    if (portal < 2) 
    {
        timeoutModel = setTimeout("LoadModels()", timer);
    }

    if (portal == 2 || portal == 3) 
    {
        timeoutModel = setTimeout("LoadModels()", timer);
    }

    timeoutRegion = setTimeout("LoadRegions()", timer);

}


function addOption(selectbox, text, value) 
{
    var optn = document.createElement("OPTION");
    optn.text = text;
    optn.value = value;
    selectbox.options.add(optn);
}

function CloseContact() 
{

    $get('divContactSeller').style.display = 'none';
}

function ToggleAdminSelect()
{
    var rpt = $get('hdRpt').value+"_ctl";
    
    for(var c = 1;c<11;c++)
    {
        var d = '0';
        
        if(c==10)
        {
            d='';
        }
        
        var id = rpt+d+c+'_ctl00_chkDelete';
        $get(id).checked = !$get(id).checked;
    }
}


