function getGreeting(){
	var curDateTime = new Date()
	var curHour = curDateTime.getHours()
	var greeting = "Good Evening"
	if (curHour < 12  && curHour >= 0)
	 greeting = "Good Morning"
	if (curHour >=12 && curHour < 18)
	 greeting = "Good Afternoon"
	return greeting
}

function addToBasket(profileID,department)
{
	
	self.frames['addToBasketFrame'].location.href='add_to_basket.php?profileID='+profileID+'&p_department='+department;

}

function updateBasketCount(basketCount)
{
	document.getElementById('basketCountSpan').innerHTML=basketCount;
}

function initializeSimpleMap() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_simple"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(document.getElementById('latitude').innerHTML,document.getElementById('longitude').innerHTML), 15);
 
        var bounds = map.getBounds();
        var southWest = bounds.getSouthWest();
        var northEast = bounds.getNorthEast();
        var lngSpan = northEast.lng() - southWest.lng();
		map.disableDragging();
        var latSpan = northEast.lat() - southWest.lat();
          var point = new GLatLng(document.getElementById('latitude').innerHTML,document.getElementById('longitude').innerHTML);
          map.addOverlay(new GMarker(point));
	}
}

function selectAll(element) {
	var T = document.form1.elements[element];   
	for (var i=0;i<T.length;i++) {
 		T[i].checked = true;
	}
}

function switchVendorLoginDiv(divID) {
	
	if (document.getElementById('div_'+divID)) { document.getElementById('div_vendor_summary').style.display = 'none'; document.getElementById('span_vendor_summary').style.fontWeight = 'normal'; }
	if (document.getElementById('div_'+divID)) { document.getElementById('div_vendor_marketing').style.display = 'none'; document.getElementById('span_vendor_marketing').style.fontWeight = 'normal'; }
	if (document.getElementById('div_'+divID)) { document.getElementById('div_vendor_viewings').style.display = 'none'; document.getElementById('span_vendor_viewings').style.fontWeight = 'normal'; }
	if (document.getElementById('div_'+divID)) { document.getElementById('div_vendor_offers').style.display = 'none'; document.getElementById('span_vendor_offers').style.fontWeight = 'normal'; }
	
	document.getElementById('div_'+divID).style.display = 'block';
	document.getElementById('span_'+divID).style.fontWeight = 'bold';
	
}

function selectAllAdvanced(element) {
	var A=element;
	if (A) {
		if (A.length!=undefined) {
			for(var i=0; i<A.length;i++) {
				if (!A[i].disabled) {
					A[i].checked=true;	
				}else{
					A[i].checked=false;
				}			
			}			
		}else{ 
			if (!A.disabled) {
				A.checked=true;
			}else{
				A.checked=false;
			}
		}
	}
}

function deSelectAll(element) {
	var T = document.form1.elements[element];   
	for (var i=0;i<T.length;i++) {
 		T[i].checked = false;
	}
}

function deSelectAllAdvanced(element) {
	var A=element;
	if (A) {
		if (A.length!=undefined) {
			for(var i=0; i<A.length;i++) {
				A[i].checked=false;				
			}			
		}else{ 
			A.checked=false;
		}
	}	
}

function toggleShowObject(value,display) {
	if (document.getElementById(value)) {
		if (display) { 
			document.getElementById(value).style.display='block';
		}else{
			document.getElementById(value).style.display='none';
		}
	}
}

function toggleShowTableRow(elementName) {
	
	if (document.getElementById(elementName)) {
	
		var row = document.getElementById(elementName);
	
		if(navigator.appName.indexOf("Microsoft")>-1) {
			row.style.display = (row.style.display == 'block')? 'none' : 'block';
		}else{
			row.style.display = (row.style.display == 'table-row')? 'none' : 'table-row';
		}
	
	}
	
}

function getSelectedRadioValue(elementName) {
	// returns the value of the selected radio button or "" if no button is selected
	var A=document.form1.elements[elementName];
	if (A) {
   		var i = getSelectedRadio(A);
   		if (i == -1) {
			return "";
		}else{
			if (A[i]) { // Make sure the button group is an array (not just one button)
				return A[i].value;
			}else{ // The button group is just the one button, and it is checked
				return A.value;
			}
		}
	}else{
		return '';
	}
}

function validateCheckboxesTicked(elementName) {
	
	var A = document.form1.elements[elementName+'[]'];
	
	var numTicked = 0;
	
	if (A.length!=undefined) {
		
		for (var i=0; i<A.length; i++) {
			if (A[i].checked==true) {
				numTicked++;	
			}
		}
		
	}else{
		if (A.checked==true) {
			numTicked++;	
		}
	}
	
	if (numTicked>0) {
		return true;
	}else{
		return false;
	}
	
}

function validateEmail(emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		//alert("Email address seems incorrect (check @ and .'s)")
		return false;
	}
	var user=matchArray[1]
	var domain=matchArray[2]
		
	if (user.match(userPat)==null) {
		//alert("The username doesn't seem to be valid.")
		return false;
	}
		
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) {
			//alert("Destination IP address is invalid!")
			return false;
		}
		}
		return true;
	}
		
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//alert("The domain name doesn't seem to be valid.")
		return false;
	}
		
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>4) {
	  // alert("The address must end in a three-letter domain, or two letter country.")
	   return false;
	}
		
	if (len<2) {
	   var errStr="This address is missing a hostname!"
	   //alert(errStr)
	   return false;
	}
		
	return true;
}

function validatePostcode(postcode){ //check postcode format is valid
	test = postcode;
	size = test.length
	while (test.slice(0,1) == " ") {
		test = test.substr(1,size-1);size = test.length
	}
	while(test.slice(size-1,size)== " ") {
		test = test.substr(0,size-1);size = test.length
	}
	if (size < 6 || size > 8) { return false; }
	if (!(isNaN(test.charAt(0)))) { return false; }
	if (isNaN(test.charAt(size-3))) { return false; }
	if (!(isNaN(test.charAt(size-2)))) { return false; }
	if (!(isNaN(test.charAt(size-1)))) { return false; }
	if (!(test.charAt(size-4) == " ")) { return false;  }
	count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
	if (count1 != count2){ return false; }
	return true;
}

function formatNumber(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function updatePrices(department) {
	
	var A = document.formQuickSearch;
	var B = 0;
	
	var selectedIndexNumber = 0
	
	if (department=="RS") {
		
		B = 0;
		selectedIndexNumber = 0;
		
		A.minimumPrice.length=0;
		
		if (minBlankOption!="") { A.minimumPrice.options[0] = new Option(minBlankOption, ''); B++; }
		
		for (var i=B; i<minPriceArray.length; i++) {
			A.minimumPrice.options[i] = new Option('£'+formatNumber(minPriceArray[i]),minPriceArray[i]);
			if (minPriceArray[i]==minDefault) { selectedIndexNumber = i; }
		}
		A.minimumPrice.selectedIndex=selectedIndexNumber;
		
		B = 0;
		selectedIndexNumber = 0;
		
		A.maximumPrice.length=0;
		
		if (maxBlankOption!="") { A.maximumPrice.options[0] = new Option(maxBlankOption, ''); B++; }
		
		for (var i=B; i<maxPriceArray.length; i++) {
			A.maximumPrice.options[i] = new Option('£'+formatNumber(maxPriceArray[i]),maxPriceArray[i]);
			if (maxPriceArray[i]==maxDefault) { selectedIndexNumber = i; }
		}
			
		A.maximumPrice.selectedIndex=selectedIndexNumber;

		B = 0;
		selectedIndexNumber = 0;
		
		A.regionID.length=0;
		
		if (regionBlankOption!="") { A.regionID.options[0] = new Option(regionBlankOption, ''); B++; }
		
		for (var i=0; i<RSRegionArray.length; i++) {
			regionSplit=RSRegionArray[i].split("|"); 
			A.regionID.options[B] = new Option(regionSplit[1],regionSplit[0]);
			if (regionSplit[0]==regionDefault) { selectedIndexNumber = B; }
			B++;
		}
			
		A.regionID.selectedIndex=selectedIndexNumber;

	}
	
	if (department=="RL") {
		
		B = 0;
		selectedIndexNumber = 0;
		
		A.minimumPrice.length=0;
		
		if (minBlankOption!="") { A.minimumPrice.options[0] = new Option(minBlankOption, ''); B++; }
		
		rentFrequency = A.minimumRentFrequency.value;
		
		if (rentFrequency=="") { // if no frequency set yet
			rentFrequency = minRentArray.pop();
			A.minimumRentFrequency.value = rentFrequency;
		}
		
		for (var i=B; i<minRentArray.length; i++) {
			A.minimumPrice.options[i] = new Option('£'+formatNumber(minRentArray[i])+' '+rentFrequency,minRentArray[i]);
			if (minPriceArray[i]==minDefault) { selectedIndexNumber = i; }
		}
			
		A.minimumPrice.selectedIndex=selectedIndexNumber;
		
		B = 0;
		selectedIndexNumber = 0;
		
		A.maximumPrice.length=0;
		
		if (maxBlankOption!="") { A.maximumPrice.options[0] = new Option(maxBlankOption, ''); B++; }
		
		rentFrequency = A.maximumRentFrequency.value;
		
		if (rentFrequency=="") { // if no frequency set yet
			rentFrequency = maxRentArray.pop();
			A.maximumRentFrequency.value = rentFrequency;
		}
		
		for (var i=B; i<maxRentArray.length; i++) {
			A.maximumPrice.options[i] = new Option('£'+formatNumber(maxRentArray[i])+' '+rentFrequency,maxRentArray[i]);
			if (maxPriceArray[i]==maxDefault) { selectedIndexNumber = i; }
		}
			
		A.maximumPrice.selectedIndex=selectedIndexNumber;

		B = 0;
		selectedIndexNumber = 0;
		
		A.regionID.length=0;
		
		if (regionBlankOption!="") { A.regionID.options[0] = new Option(regionBlankOption, ''); B++; }
		
		for (var i=0; i<RLRegionArray.length; i++) {
			regionSplit=RLRegionArray[i].split("|"); 
			A.regionID.options[B] = new Option(regionSplit[1],regionSplit[0]);
			if (regionSplit[0]==regionDefault) { selectedIndexNumber = B; }
			B++;
		}
			
		A.regionID.selectedIndex=selectedIndexNumber;

	} 
	
	if (department=="C") {
		
		B = 0;
		selectedIndexNumber = 0;
		
		A.regionID.length=0;
		
		if (regionBlankOption!="") { A.regionID.options[0] = new Option(regionBlankOption, ''); B++; }
		
		for (var i=0; i<CRegionArray.length; i++) {
			regionSplit=CRegionArray[i].split("|"); 
			A.regionID.options[B] = new Option(regionSplit[1],regionSplit[0]);
			if (regionSplit[0]==regionDefault) { selectedIndexNumber = B; }
			B++;
		}
			
		A.regionID.selectedIndex=selectedIndexNumber;
	}
	
	if (department=="LA") {
		
		B = 0;
		selectedIndexNumber = 0;
		
		A.regionID.length=0;
		
		if (regionBlankOption!="") { A.regionID.options[0] = new Option(regionBlankOption, ''); B++; }
		
		for (var i=0; i<LARegionArray.length; i++) {
			regionSplit=LARegionArray[i].split("|"); 
			A.regionID.options[B] = new Option(regionSplit[1],regionSplit[0]);
			if (regionSplit[0]==regionDefault) { selectedIndexNumber = B; }
			B++;
		}
			
		A.regionID.selectedIndex=selectedIndexNumber;
	}
	
}

function in_array(checkField, checkArray) {
	var inArray = false;
	for (var i=0; i<checkArray.length; i++) {
		if (checkArray[i]==checkField) { inArray=true; }
	}
	return inArray;
}

function updateRegistrationRows(department) {
	
	toggleRegistrationFields(department);
	
}

// turn off fields that aren't used by the passed department and turn on the ones that are
function toggleRegistrationFields(department) {	
	
	var arrayNumber = 0;
	var numbersToCheck = new Array();
	switch (department) {
		case "RS": { arrayNumber = 0; break; }
		case "RL": { arrayNumber = 1; break; }
		case "C": { arrayNumber = 2; break; }
		case "LA": { arrayNumber = 3; break; }
		default: { alert("Invalid department"); }
	}
	
	for (var a=0; a<4; a++) {
		for (var i=0; i<fieldsArray[a].length; i++) {
			toggleShowObject('row_registration_'+fieldsArray[a][i],false);
			toggleShowObject('row_registration_'+fieldsArray[a][i]+'a',false);
			toggleShowObject('row_registration_'+fieldsArray[a][i]+'b',false);
		}
	}
	
	// turn on fields for passed department
	for (var i=0; i<fieldsArray[arrayNumber].length; i++) {
		toggleShowTableRow('row_registration_'+fieldsArray[arrayNumber][i]);
		toggleShowTableRow('row_registration_'+fieldsArray[arrayNumber][i]+'a');
		toggleShowTableRow('row_registration_'+fieldsArray[arrayNumber][i]+'b');
	}
	
}

//parse a form and return a querystring
function parseForm(formname) { 
var theform = document.forms[formname]; 
var PostText = ""; 
var amp = ""; 
for(i=0; i<theform.elements.length; i++){ 
if(theform.elements[i].type == "text" || theform.elements[i].type == "textarea" || theform.elements[i].type == "hidden"){ 
PostText += amp+theform.elements[i].name+"="+encodeURIComponent(theform.elements[i].value); 
} else if (theform.elements[i].type == "checkbox") { 
if (theform.elements[i].checked)
PostText += amp+theform.elements[i].name+"="+encodeURIComponent(theform.elements[i].value); 
} else if (theform.elements[i].type == "select-one") { 
PostText += amp+theform.elements[i].name+"="+theform.elements[i].options[theform.elements[i].selectedIndex].value; 
} 
amp = "&"; 
} 

return PostText;

}

function removeMyAccountFunction() {
	document.form1.removeMyAccount.value=1;
	document.form1.submit();
}
