﻿// JScript File
//
// Javascript used to drive the verticle search control
//
var text="Place, Postcode Or Ref";
var areaRows=0;
var checkedRow = -1;
var areasOpen = false;
var alertOpen = false;

function UpdateSearching(name, email, phone, city, area, lp, up, type, student, furnished, beds, typeoflet, alertEmailOnly)
{
    SearchControlBase.UpdateSearchingCriteria(name, email, phone, city, area, lp, up, type, student, furnished, beds, typeoflet, alertEmailOnly, UpdateSearching_CallBack);
}


function RestoreSMSButton()
{
    var button = document.getElementById('alertClick');
    if (button != null) {
        button.value = "Update";
        document.body.style.cursor = 'default';
        button.enabled = true;
    }
}

function showHideMobile()
{
    if (document.getElementById(alertEmailOnlyID).checked)
        document.getElementById(mobileID).style.display = "none";
    else
        document.getElementById(mobileID).style.display = "inline";
}


function UpdateSearching_CallBack(response)
{
	//if the server side code threw an exception
	RestoreSMSButton();
	if (response.error != null)
	{    
		alert("Error updating search criteria!");
		return;
	}
	if (response.value != null) { 
	    alert(response.value);
	    if (horizontal) {
    	    ToggleAlertBox();
    	    document.getElementById(smsID).checked = false;
    	}
    }
	        
}

function GetLocations(val)
{
	if (val && val != "" && val !="0" && val !=" ")
	{
		//document.getElementById("AreasDiv").style.display = "";
		LoadingAreasDiv();
		SearchControlBase.GetLocations(val, GetLocations_CallBack);
	}
	else
	{
		EmptyAreasDiv();
		//document.getElementById("AreasDiv").style.display = "none";
	}
}
function GetLocations_CallBack(response)
{
	//if the server side code threw an exception
	if (response.error != null)
	{    
		//alert("Error loading areas for selected city!!!"); //we should probably do better than this
		return;
	}  	
	FillAreasDiv(response)
	CheckLocations();
}
function LoadingAreasDiv()
{
	EmptyAreasDiv();
	var checksTable = document.getElementById("CityAreas");
	var row = checksTable.insertRow(checksTable.rows.length);
	var cellLeft = row.insertCell(0);
	//cellLeft.className = "formboxheadertext";
	cellLeft.innerHTML = "<b>Loading...</b>"
}

function FillAreasDiv(response)
{
	EmptyAreasDiv();
	var checksTable = document.getElementById("CityAreas");
	var row = checksTable.insertRow(checksTable.rows.length);
	var cellLeft = row.insertCell(0);
	var cellPad = row.insertCell(1);
	cellLeft.onclick = AllClick;
	
	var cellClose = row.insertCell(2);
	cellClose.align='right';
	
	RemoveAllSubAreaToList();
	//cellLeft.className = "formboxheadertext";
	if ((response.value != null) && (response.value.length > 0 ))
	{
	    areaRows=0;
        checkedRow = -1;
		cellLeft.innerHTML = "<input type='checkbox' id='checkAll' name = 'checkAll' onclick='AllClick'/><b>All</b>"
		row = checksTable.insertRow(checksTable.rows.length);
		for (var i = 0 ; i < response.value.length; i++)
		{
			row = AppendCheckCell( response.value[i].areaName , response.value[i].areaId , response.value[i].check, row , checksTable);	
		}	
	}
	else
	{
		cellLeft.innerHTML = "<b>No areas found</b>"
	}
	if (slide_horiz != null) {
    	cellClose.innerHTML = "<a href=\"#\" onclick=\"slide_horiz.start();IE6ProblemDropDowns();return false;\"><img src=\""+bp+"/Images/close.gif\" border=0/></a>"; 
    }
	if (checkedRow != -1) {
	    /* Move the scrollbar down to the bottom */
	    var obj=document.getElementById('CityAreasDiv');
        obj.scrollTop=(obj.scrollHeight/areaRows*checkedRow);
    } else {
    	var obj=document.getElementById('CityAreasDiv');
        obj.scrollTop=0;
    }
    document.getElementById('CityAreasDiv').style.overflow = 'auto';
}
function AppendCheckCell( name , id, check, row , tbl)
{
	if (check || document.getElementById(areaID).value == id) {
	    checkedRow = areaRows;
    }
	if (row.cells.length == (horizontal ? 4 : 3))
	{
		row = tbl.insertRow(tbl.rows.length);
		areaRows++;
	}
	var cellLeft = row.insertCell(row.cells.length);
	//cellLeft.className = "formboxheadertext";
	var el = document.createElement('input');
	el.type = 'checkbox';
	el.name = 'checkArea';
	el.defaultChecked=check;
	el.id = 'check_'+id;
	cellLeft.appendChild(el);
	el.onclick = AreaCheckClick;
	
	var textNode = document.createTextNode(name);
	var boldNode = document.createElement("b");
	if (check) {
    	boldNode.appendChild(textNode);
    	cellLeft.appendChild(boldNode);
	} else {
    	cellLeft.appendChild(textNode);
	}
	return row;
}
function EmptyAreasDiv()
{
	var checksTable = document.getElementById("CityAreas");
	while(checksTable.rows.length > 0)
	{
		checksTable.deleteRow(0);
	}
	document.getElementById('CityAreasDiv').style.overflow = 'auto';
}
function AllClick(e, obj)
{
	AllClick_Internal();
	RemoveAllSubAreaToList();
}
function AllClick_Internal()
{
	var boolCheck = document.getElementById("checkAll").checked;
	var checksTable = document.getElementById("CityAreas");
	for (var i = 0 ; i < checksTable.rows.length;i++)
	{
		for (var j = 0 ; j < checksTable.rows[i].cells.length;j++)
		{
			if(checksTable.rows[i].cells[j].childNodes[0] != null)
			{
				if (checksTable.rows[i].cells[j].childNodes[0].name=="checkArea")
					checksTable.rows[i].cells[j].childNodes[0].checked = boolCheck;
			}
		}
	}
}
function AreaCheckClick(e, obj)
{
	document.getElementById("checkAll").checked = false;
	//document.getElementById("forceerror").checked = false;
	var ev = e || window.event; // IE doesn't pass event as argument.
    var target = ev.target || ev.srcElement; // IE doesn't use .target

    var name;
    if (!target.nextSibling.data) {
		name = target.nextSibling.firstChild.data;
    } else {
        name = target.nextSibling.data;
    }
	if (target.checked) {
		AddSubAreaToList(name);	
   	} else {
       	RemoveSubAreaToList(name);
   	}
	
}

function IE6ProblemDropDowns()
{
    if (ie6 && DropDownSortId != "") {
        if (document.getElementById(DropDownSortId).style.visibility == 'visible' || document.getElementById(DropDownSortId).style.visibility == '') {
            document.getElementById(DropDownSortId).style.visibility = 'hidden';
        } else if (document.getElementById(DropDownSortId).style.visibility == 'hidden') {
            document.getElementById(DropDownSortId).style.visibility = 'visible';
        }
        if (document.getElementById(DropDownSizeId).style.visibility == 'visible' || document.getElementById(DropDownSizeId).style.visibility == '') {
            document.getElementById(DropDownSizeId).style.visibility = 'hidden';
        } else if (document.getElementById(DropDownSizeId).style.visibility == 'hidden') {
            document.getElementById(DropDownSizeId).style.visibility = 'visible';
        }
    }
}

function AddSubAreaToList(area)
{
    if (document.getElementById('CurrentAreaList') != null) 
    {
        var selectObject = document.getElementById('CurrentAreaList');
        var optionObject = new Option(area,area);
        var optionRank = selectObject.options.length;
        selectObject.options[optionRank]=optionObject;
        document.getElementById('CurrentlySelected').style.visibility = "visible";
    }

}

function RemoveAllSubAreaToList()
{
    if (document.getElementById('CurrentAreaList') != null) 
    {
        var selectObject = document.getElementById('CurrentAreaList')
        var i;
        for(i=selectObject.options.length-1;i>=0;i--)
        {
            selectObject.remove(i);
        }
        document.getElementById('CurrentlySelected').style.visibility = "hidden";
    }
}

function RemoveSubAreaToList(area)
{
    if (document.getElementById('CurrentAreaList') != null) 
    {
        var selectObject = document.getElementById('CurrentAreaList');
        var i;
        for(i=selectObject.options.length-1;i>=0;i--)
        {
            if(selectObject.options[i].value == area)
                selectObject.remove(i);
        }
        if (selectObject.options.length == 0) {
            document.getElementById('CurrentlySelected').style.visibility = "hidden";
        }
    }
}

var sbShown = false;
function slide_finish()
{
    if (!sbShown) {
        document.getElementById('CityAreasDiv').style.overflow = 'auto';
        sbShown = true;
        document.getElementById('areaclick').innerHTML = 'Hide Areas';
        document.getElementById('areaclick2').innerHTML = 'Click to hide Areas';
    } else {
        document.getElementById('CityAreasDiv').style.overflow = 'hidden';
        document.getElementById('areaclick').innerHTML = 'Show Areas';
        document.getElementById('areaclick2').innerHTML = 'Click to show Areas';
        sbShown = false;
    }
}

function slide_horiz_start()
{
    if (slide_horiz != null) {
       slide_horiz.start();       
       IE6ProblemDropDowns();
    }
    return false;
}

function validateForm(button)
{
    if (((document.getElementById(cityID).selectedIndex == 0 || document.getElementById(cityID).value == "" || document.getElementById(cityID).value == " "))&& (document.getElementById('freetext').value == text )&&(document.getElementById(cityID).value=="" || document.getElementById(cityID).value == " "))
    {
		alert ("Please select a Location or Enter Ref, Postcode, City, Area!");
		document.getElementById(cityID).focus();
		return false;
    }
    if (!checkArea()) {
        return false;
    }
    var test;
    if (document.getElementById(lpID).value != "") {
        test=parseInt(document.getElementById(lpID).value)
        if (isNaN(test)) {
            alert("Lower price range must be a number");
            document.getElementById(lpID).focus();
            return false;
        }
    }
    if (document.getElementById(upID).value != "") {
        test=parseInt(document.getElementById(upID).value)
        if (isNaN(test)) {
            alert("Upper price must be a number");
            document.getElementById(upID).focus();
            return false;
        }
    }
    if (document.getElementById(upID).value == "" && document.getElementById(lpID).value == "") {
        document.getElementById(lpID).value = "0";
        document.getElementById(upID).value = "9999";
    }
    if (document.getElementById(upID).value != "" && document.getElementById(lpID).value == "") {
        document.getElementById(lpID).value = "0";
    }
    if (document.getElementById(lpID).value != "" && document.getElementById(upID).value == "") {
        document.getElementById(upID).value = "9999";
    }
    if (parseInt(document.getElementById(upID).value) < parseInt(document.getElementById(lpID).value)) {
        alert("Upper price must not be lower than lower price");
        document.getElementById(lpID).focus();
        return false;
    }


    //button.disabled=true;

 
     var t=setTimeout("setButtonImage()",10);
         
     return true;

}

function setButtonImage()
{
    if (Submit1ID == null) return;
    var imgS = new Image();
    if (horizontal)
        imgS.src = bp + '/images/search/property-searching.png'; 
    else 
        imgS.src = bp + '/images/search/property-searchingv.png';
    document.getElementById(Submit1ID).src = imgS.src;
}


function checkEnter(e){ 
    var characterCode 
    if (e==null) return true;
    if(e && e.which){ 
       characterCode = e.which;
    }
    else
    {
        characterCode = e.keyCode; 
    }

    if(characterCode == 13)
    { 
        return false;
    }
    else
    {
        return true;
    }
}


function checkEnterFromFreeText(e, b) {
    if (checkEnter(e)) {
        return true;
    }
    if (validateForm(b)) document.getElementById(Submit1ID).click();
    return false;
}


function noValidSuffix(formField) {
    if (formField.indexOf('@', 0) > 1 && formField.charAt(formField.length - 1) == ']') {
        return ( false );
    }
    var len = formField.length;
    var pos = formField.lastIndexOf ( '.', len - 1 ) + 1;
    if ( ( len - pos ) < 2 || ( len - pos ) > 4 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function checkEmail(str)
{ 
    if (str.indexOf ('@', 0) == -1) return false;
    if (str.length < 2) return false;
    if (str.indexOf ( '.', 0 ) == -1) return false;
    if (noValidSuffix(str)) return false;
   
    return true;
}

function checkSMS(button) {
    if (!(document.getElementById(smsID).checked)) {
        return true;
    }
    if (document.getElementById(cityID).value == "") 
    {
        alert('You must select a city to receive sms alerts');
        document.getElementById(cityID).focus();
        return false;
    }
    if (document.getElementById("emailAlerts") != null && horizontal == true)
    	document.getElementById("emailAlerts").style.display = "inline";
    if (document.getElementById(nameID).value == '' || document.getElementById(nameID).value=='enter name' ) {
    	alert('You must supply your name if you are registering for text messaging');
    	document.getElementById(nameID).focus();
    	return false;
    }
    
    if (!checkEmail(document.getElementById(emailID).value)) {
       	alert('You must supply a valid email address');
    	document.getElementById(emailID).focus();
    	return false;
    }

    var ph = document.getElementById(mobileID).value;
    
    if (!document.getElementById(alertEmailOnlyID).checked) {
        if (ph.length != 11 || ph.charAt(1) != '7' || ph.charAt(0) != '0') {
            alert("Mobile number Invalid. It must be start with 07 and contain only numbers (no spaces), and be 11 digits long.");
            document.getElementById(mobileID).value = '';
            document.getElementById(mobileID).focus();
            return false;
        }
        for (i=0;i<ph.length;i++)
        {
	        var test=parseInt(ph.charAt(i))
            if (isNaN(test))
            {
               alert("Mobile number invalid. It must be start with 07 and contain only numbers (no spaces), and be 11 digits long.");
               document.getElementById(mobileID).value = '';
               document.getElementById(mobileID).focus();
               return false;
            }
        }
    }
    checkArea();
    
    button.value = "Updating";
    document.body.style.cursor = 'wait';
    button.enabled = false;
    alert('Click OK to contact Citylets to update your alert criteria based on the search criteria entered. This may take a few seconds. Please wait!');
    
    
    if (!horizontal) {
        slide_down2.start();
        document.getElementById(smsID).checked = false;
    }
    var stud =  (document.getElementById(studentID).checked ? "yes" : "");
        
    UpdateSearching(document.getElementById(nameID).value, document.getElementById(emailID).value, ph, document.getElementById(cityID).value, 
                    document.getElementById(areaID).value, document.getElementById(lpID).value, document.getElementById(upID).value,
                    document.getElementById(typeID).value, stud, document.getElementById(furnishedID).value,
                    document.getElementById(bedsID).value, document.getElementById(typeOfLetID).value,
                    (document.getElementById(alertEmailOnlyID).checked ? "Y" : "N")
                    );   
    return false;
}


function checkArea()
{
    var found = false;
	var hArea = document.getElementById(areaID);
	hArea.value = "0";
	if ( (document.getElementById("checkAll") != null) && (document.getElementById("checkAll").checked) )
		hArea.value = "0";
	else
	{
		var selectionList = "";
		var checksTable = document.getElementById("CityAreas");
		for (var i = 0 ; i < checksTable.rows.length;i++)
		{
			for (var j = 0 ; j < checksTable.rows[i].cells.length;j++)
			{
				var firstKid = checksTable.rows[i].cells[j].childNodes[0];
				if( firstKid != null)
				{
					if (firstKid.name=="checkArea")
						if (firstKid.checked == true)
						{
							selectionList += firstKid.id.substring(6,firstKid.id.length) + ",";
						}
				}
			}
		}
		if (selectionList.length > 0)
		{
			hArea.value = selectionList.substring(0, selectionList.length-1);
		}
		else
		{
			hArea.value = "-1";
		}
	}
    return true;
}

function CheckLocations()
{
	var hArea = document.getElementById(areaID).value;
	var ids =  hArea.split(",");
	var boolPreselectAll = false;
	
	if (hArea != null && hArea != "" && horizontal) {
	    // We have areas so we must open the areas box
	    if (document.getElementById('AreasDiv') != null && document.getElementById('CityAreasDiv') != null) {
	        OpenAreas();
        }
	}

	for (var i = 0 ; i < ids.length ; i++)
	{
		var posibbleCheck = document.getElementById("check_" + ids[i]);
		if (posibbleCheck != null)
		{
			if (ids[i] != "checkAll")
				boolPreselectAll = true;
			posibbleCheck.checked = true;
			var name;
			if (!posibbleCheck.nextSibling.data) {
			    name = posibbleCheck.nextSibling.firstChild.data;
            } else {
                name = posibbleCheck.nextSibling.data;
            }
			AddSubAreaToList(name);	
		}	
	}
	//document.getElementById(areaID).value = "";
	// Removed by TDK 
	if (!boolPreselectAll)
	{
		if (document.getElementById("checkAll")!= null)
		{
			if (ids.length == 0 || ids[0] == "0")
			{
				document.getElementById("checkAll").checked = true;
				AllClick_Internal();
			}
		}
	}
}

function PreSelect(ctrl,text)
{
	switch(text)
	{
		case 'name':
			if (ctrl.value.toLowerCase() =="enter name")   
				ctrl.select()
			break;
		case 'email':
			if (ctrl.value.toLowerCase() =="enter email address")
					ctrl.select()
			break;
		case 'mobile':
			if (ctrl.value.toLowerCase() =="enter mobile number")
				ctrl.select()
			break;
		
	}
}

function ShowSearchControl(parent)
{
    var thisContent = document.getElementById('SearchControlContent');
    parent.appendChild(thisContent);
    thisContent.style.display = "";
}

function CloseSlider()
{
    if (document.getElementById('areaspan') != null) 
        document.getElementById('areaspan').style.visibility = 'hidden';
    // Slide closed the control if it is open
    if (document.getElementById('CityAreasDiv').style.width != "" && document.getElementById('CityAreasDiv').style.width != "0px" ) {
        slide_horiz.start();
    }
}

function AddToInfoPos(i)
{
    var mt = document.getElementById('main').style.marginTop;
    if (mt != null) {
        var j = parseInt(mt);
        document.getElementById('main').style.marginTop = (j+i)+"px";
    }
}

function OpenAreas()
{
    document.getElementById('AreasDiv').style.height="180px";
    document.getElementById('CityAreasDiv').style.height="150px";
    document.getElementById('CityAreasDiv').style.border="solid 1px #333";
    if (document.getElementById('areaspanectrl') != null) 
        document.getElementById('areaspanectrl').src = bp+"/images/up.gif";
    if (!areasOpen) {
        AddToInfoPos(180);
        areasOpen = true;
    }
    if (horizontal) {
        document.getElementById('areaselect').style.visibility = "visible";
    }
}
function CloseAreas()
{
    document.getElementById('AreasDiv').style.height="16px";
    document.getElementById('CityAreasDiv').style.height="0px";
    document.getElementById('CityAreasDiv').style.border="0";
    if (document.getElementById('areaspanectrl') != null) 
        document.getElementById('areaspanectrl').src = bp+"/images/down.gif";
    if (areasOpen) {
        AddToInfoPos(-180);
        areasOpen = false;
    }    
    if (horizontal) {
        //document.getElementById('areaselect').style.visibility = "hidden";
    }
}


function ShowHideAreas()
{
    if (document.getElementById(cityID).selectedIndex == 0) {
        CloseAreas();
        document.getElementById('areaselect').style.visibility = 'hidden';
        if (document.getElementById('areaspanectrl').style.visibility == 'visible') {
            document.getElementById('areaspanectrl').style.visibility = 'hidden';
        }
    }
    else 
    {
        OpenAreas(); 
        document.getElementById('areaselect').style.visibility = 'visible';
        GetLocations(document.getElementById(cityID).value);
    }
}

function ToggleAreaBox()
{
    if ((document.getElementById('AreasDiv').style.height== "16px" || document.getElementById('AreasDiv').style.height== "") && document.getElementById(cityID).selectedIndex != 0) {
        OpenAreas();
    } else {
        CloseAreas();
    }
}

function ToggleAlertBox()
{
    if (document.getElementById('alerts') == null) return;
    if (document.getElementById('alerts').style.height == "0px" || document.getElementById('alerts').style.height == "") {
        document.getElementById('alerts').style.height = "28px";
        document.getElementById(Submit1ID).style.visibility = "hidden";
        document.getElementById(nameID).focus();
        if (!alertOpen) {
            AddToInfoPos(23);
            alertOpen = true;
        }
    } else {
        document.getElementById('alerts').style.height = "0px";
        document.getElementById(Submit1ID).style.visibility = "visible";
        if (alertOpen) {
            AddToInfoPos(-23);
            alertOpen=false;
        }
    }
}

// Called from vertical search control when the city is selected or the free text box is updated
function VCityOrFreetextChanged(parent)
{
    if(parent.id=="freetext")
    {  
        if(document.getElementById('freetext').value==text)
        {
            document.getElementById('freetext').value="";
            document.getElementById(cityID).selectedIndex =0;
            CloseSlider();
            EmptyAreasDiv();
		}
        
    }
    else
    if(parent.id==cityID)
    {
        document.getElementById('freetext').value=text;
        
        if (document.getElementById(cityID).selectedIndex == 0) {  
            CloseSlider();
        }
        else 
        {
            GetLocations(document.getElementById(cityID).value);
            if (document.getElementById('areaspan') != null) 
                document.getElementById('areaspan').style.visibility = 'visible';
        }
    }   
}

// Called from horizontal search control when the city is selected or the free text box is updated
function HCityOrFreetextChanged(parent)
{
    if(parent.id=="freetext")
    {  
        if(document.getElementById('freetext').value==text)
        {
            document.getElementById('freetext').value="";
            document.getElementById(cityID).selectedIndex =0;
            EmptyAreasDiv();
            ShowHideAreas();
		}
        
    }
    else
    if(parent.id==cityID)
    {
        if (parent.value != cityValue) {
            cityValue = parent.value;
        } else {
            return;
        }
        ShowHideAreas();
        document.getElementById('freetext').value=text;
    }   
}

function AddTextOnFreeText()
{
    if(document.getElementById('freetext').value=="") {
        document.getElementById('freetext').value=text;
        }
}

function AddToOptionList(OptionList, OptionValue, SelectedValue, OptionText) {
   var opt = document.createElement("option");
   opt.innerHTML = OptionText;
   opt.value = OptionValue;

   if (OptionValue == SelectedValue) {
       opt.setAttribute("selected","selected");
   }
   OptionList.appendChild(opt);
}

function AddToOptionToCity(OptionText, OptionValue) {
   var cityList = document.getElementById(cityID);
   var opt = document.createElement("option");
   opt.innerHTML = OptionText;
   opt.value = OptionValue;
   if (OptionValue == cityValue) opt.setAttribute("selected","selected");
   cityList.appendChild(opt);
}

function PopulateTypeOfLet() {

  var typeOfLetList = document.getElementById(typeOfLetID);
  
  if (horizontal && typeOfLetValue == "") {
    typeOfLetValue = "L";
  }
   
  AddToOptionList(typeOfLetList, "L", typeOfLetValue, "Long term (>6 mths)");
  AddToOptionList(typeOfLetList, "S", typeOfLetValue, "Short term");
  AddToOptionList(typeOfLetList, "F", typeOfLetValue, "Edinburgh Festival");
  AddToOptionList(typeOfLetList, "", typeOfLetValue, "All");
}


function PopulateBackInTime() {

  var backInTimeList = document.getElementById(backInTimeID);
   
  AddToOptionList(backInTimeList, "1",backintimeValue, "in last Day");
  AddToOptionList(backInTimeList, "2",backintimeValue, "in last Week");
  AddToOptionList(backInTimeList, "3",backintimeValue, "in last Month");
  AddToOptionList(backInTimeList, "4",backintimeValue, "in last 3 Mths");
  AddToOptionList(backInTimeList,"0", backintimeValue, "Any Time");
}              

function PopulateType() {
    var typeList = document.getElementById(typeID);
    AddToOptionList(typeList,"A",typeValue, "Any");
    AddToOptionList(typeList,"FF",typeValue, "Flats");
    AddToOptionList(typeList,"F",typeValue,"- Flat/Apartment");
    AddToOptionList(typeList,"S",typeValue,"- Studio");
    AddToOptionList(typeList,"P",typeValue,"- Penthouse");
    AddToOptionList(typeList,"SA",typeValue,"- Serviced Apartment");     
    AddToOptionList(typeList,"D",typeValue,"- Double upper");                                                                                                                                                 
    AddToOptionList(typeList,"HH",typeValue,"House");
    AddToOptionList(typeList,"H",typeValue,"- Detached House");
    AddToOptionList(typeList,"SH",typeValue,"- Semi Detached House");
    AddToOptionList(typeList,"TH",typeValue,"- Terraced House");
    AddToOptionList(typeList,"T",typeValue,"- Town House");
    AddToOptionList(typeList,"M",typeValue,"- Mews");
    AddToOptionList(typeList,"B",typeValue,"- Bungalow");
    AddToOptionList(typeList,"V",typeValue,"- Villa");
    AddToOptionList(typeList,"C",typeValue,"- Cottage");
    AddToOptionList(typeList,"FS",typeValue,"Flatshare");                                               
    AddToOptionList(typeList,"I",typeValue,"- Single room");
    AddToOptionList(typeList,"J",typeValue,"- Double room");
    AddToOptionList(typeList,"PP",typeValue,"Parking");
    AddToOptionList(typeList,"G",typeValue,"- Garage");
    AddToOptionList(typeList,"Q",typeValue,"- Parking Space");
}

function PopulateBeds() 
{
    var bedsList = document.getElementById(bedsID);
    AddToOptionList(bedsList, "1", bedsValue, "1");
    var i=2;
    for (i=2; i<=10; i++) {
        AddToOptionList(bedsList, i+"", bedsValue, i+"");
    }
}

function PopulateFurnished()
{
    var furnishedList = document.getElementById(furnishedID);
    AddToOptionList(furnishedList, "", furnishedValue, "Any");
    AddToOptionList(furnishedList, "Y", furnishedValue, "Full");
    AddToOptionList(furnishedList, "P", furnishedValue, "Part");  
    AddToOptionList(furnishedList, "N", furnishedValue, "None");
}

/* 
 * THIS IS TO KEEP THE CITY NAMES OFF THE PAGE. PLEASE NOTE WHEN CITIES ARE ADDED 
 * THIS JAVASCRIPT MUST BE UPDATED
 *
 */
function PopulateCity()
{
    AddToOptionToCity("Please Select...","");
    AddToOptionToCity("Edinburgh","1");
    AddToOptionToCity("Edinburgh - City Centre","1,c");
    AddToOptionToCity("Edinburgh - South","1,s");
    AddToOptionToCity("Edinburgh - North","1,n");
    AddToOptionToCity("Edinburgh - East","1,e");
    AddToOptionToCity("Edinburgh - West","1,w");
    AddToOptionToCity(""," ");
    AddToOptionToCity("Glasgow","2");
    AddToOptionToCity("Glasgow - City Centre","2,c");
    AddToOptionToCity("Glasgow - South","2,s");
    AddToOptionToCity("Glasgow - North","2,n");
    AddToOptionToCity("Glasgow - East","2,e");
    AddToOptionToCity("Glasgow - West","2,w");
    AddToOptionToCity(""," ");
    AddToOptionToCity("Belfast","80");
    AddToOptionToCity("Belfast - City Centre","80,c");
    AddToOptionToCity("Belfast - South","80,s");
    AddToOptionToCity("Belfast - North","80,n");
    AddToOptionToCity("Belfast - East","80,e");
    AddToOptionToCity("Belfast - West","80,w");
    AddToOptionToCity(""," ");
    AddToOptionToCity("Aberdeen","3");
    AddToOptionToCity("Aberdeenshire","9");
    AddToOptionToCity("Argyll and Bute","40");
    AddToOptionToCity("East Ayrshire","42");
    AddToOptionToCity(" - Kilmarnock","42,Kilmarnock");
    AddToOptionToCity("North Ayrshire","44");
    AddToOptionToCity("South Ayrshire","46");
    AddToOptionToCity(" - Ayr","46,Ayr");
    AddToOptionToCity("Borders","35");
    AddToOptionToCity("Clackmannanshire","70");
    AddToOptionToCity("Co Antrim","81");
    AddToOptionToCity("Co Down","82");
    AddToOptionToCity("Dumfries and Galloway","58");
    AddToOptionToCity("East Dunbartonshire","60");    
    AddToOptionToCity("West Dunbartonshire","62");
    AddToOptionToCity("Dundee","4");
    AddToOptionToCity("East Lothian","64");
    AddToOptionToCity("Falkirk","37");
    AddToOptionToCity(" - Falkirk Town","37,Falkirk Town");
    AddToOptionToCity("Fife","7");
    AddToOptionToCity(" - Dunfermline","7,Dunfermline");
    AddToOptionToCity(" - Kirkcaldy","7,Kirkcaldy");
    AddToOptionToCity(" - Glenrothes","7,Glenrothes");
    AddToOptionToCity("Inverclyde","56");
    AddToOptionToCity(" - Gourock","56,Gourock");
    AddToOptionToCity(" - Greenock","56,Greenock");
    AddToOptionToCity("North Lanarkshire","48");
    AddToOptionToCity(" - Airdrie","48,Airdrie");
    AddToOptionToCity(" - Coatbridge","48,Coatbridge");
    AddToOptionToCity(" - Cumbernauld","48,Cumbernauld");
    AddToOptionToCity(" - Motherwell","48,Motherwell");
    AddToOptionToCity("South Lanarkshire","50");
    AddToOptionToCity(" - East Kilbride","50,East Kilbride");
    AddToOptionToCity(" - Hamilton","50,Hamilton");
    AddToOptionToCity("MidLothian","66");
    AddToOptionToCity("Perthshire","8");
    AddToOptionToCity(" - Perth","8,Perth");
    AddToOptionToCity("Renfrewshire","52");
    AddToOptionToCity(" - Johnstone","52,Johnstone");
    AddToOptionToCity(" - Paisley","52,Paisley");
    AddToOptionToCity("East Renfrewshire","54");
    AddToOptionToCity("Stirling","38");
    AddToOptionToCity(" - Loch Lomond","38,Loch Lomond");
    AddToOptionToCity(" - Stirling Town","38,Stirling Town");
    AddToOptionToCity("West Lothian","68");
    AddToOptionToCity(" - Livingston","68,Livingston");
    if (cityValue != "") 
    {
        GetLocations(cityValue); // Popualte the areas 
    }
    if (postcodeValue != "") {
        document.getElementById('freetext').value = postcodeValue;
    }
}


function PopulateOptionLists()
{
    PopulateCity();
    PopulateTypeOfLet();
    PopulateBackInTime();
    PopulateType();
    PopulateBeds();
    PopulateFurnished(); 
}
