﻿// JScript File

/********************************************************************************/
/*File Name:    jp_LocalDirectoryFrontpage.js                                   */
/*Author:       Tony Smith-Brewster                                             */
/*Date:         15 august 2007                                                  */
/*Description:  Script used for the Local Directory Front Page in property site */
/********************************************************************************/
GetCategories();
LoadLocalDirectoryFrontPageCookie(objSearchBox);
document.onkeypress = checkKey;


function checkKey(Event){
    var ret = Event ? Event.which : window.event.keyCode;
    if(ret == 13){
        if(List.Base.style.visibility != "visible"){
            Search();
        }
    }
    return ret != 13;
}

function LoadLocalDirectoryFrontPageCookie(objSearchBox){

var Cookie = new clsCookie(cookieName);
var objCategorySelect = document.getElementById("wSCCategory");
    if(Cookie.cookieData){
        if(Cookie.cookieData[0].toString() != "NA"){
            objSearchBox.value = Cookie.cookieData[0].toString().replace("_",",");
        }
	}else{
	    objSearchBox.value ="";
	}
}

function Search(){
var isValidSearch = false; //Always presume search is invalid until validated.
var strDataCheck = "";

    if(!isNaN(objSearchBox.value.charAt(2))){
    	var postcode = new clsPostcode(objSearchBox.value);
	    isValidSearch = postcode.isValid;
    }else{
        if(objSearchBox.value.length > 2){
            if(List.Base.childNodes[0]){
                //Check the cache and the cookie here
                if(List.Base.childNodes[0].innerHTML){
                    for(var v = 0; v < List.Base.childNodes.length; v++){
                       isValidSearch = (objSearchBox.value == List.Base.childNodes[v].innerHTML) ? true : false;
                       if(isValidSearch) break;
                    }
                }
            }
            if(!isValidSearch){
                //Has no value so check the text against the cookie data
                var tmpCookie = new clsCookie(cookieName);
                
                if(tmpCookie.cookieData[0]){
                    if(objSearchBox.value == tmpCookie.cookieData[0].toString().replace("_",",")){
                        isValidSearch = true;
                    }
                }
            }
        }
    }
    
    var intSelectedIndex = document.getElementById("wSCCategory").selectedIndex;
    var strCategory = document.getElementById("wSCCategory").options[intSelectedIndex].value;
    
	if(isValidSearch){ 
	    var strCookieData = new Array();
	    
	    strCookieData[0] = objSearchBox.value.toString().replace(",","_");
	    strCookieData[1] = strCategory;


	    var days = 14; //Cookie valid for 14 days
        var Cookie = new clsCookie(cookieName);
        
	    Cookie.createCookie(cookieName,strCookieData,days);
	    window.location="LocalDirectoryResults.aspx?Town=" + objSearchBox.value + "&CategoryID=" + strCategory;

	}else{
	    alert(objSearchBox.value + " - does not appear to be a valid town or postcode.");
	}
}

function GetCategories(){

	LocalDirectory.GetExpertCategories(GetCategories_callback);
}

function GetCategories_callback(response){

	if (response != null && response.value != null){		
		c_objCategories = response.value;		
		var objCategorySelect = document.getElementById("wSCCategory")
		for(x = 0; x < c_objCategories.length; x++){					
			objCategorySelect.options[x] = new Option(c_objCategories[x].Name, c_objCategories[x].ID);		
		}	
	}			
}
