var helpWindow = '';
function validUsername(str) {
	return str.length>1 && isAlphaNumeric(str) && isNaN(str.substring(0,1));
}
function isAlphaNumeric(str) {
	return str == str.replace(/[^a-zA-Z0-9_-]+/g,'');
}
function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.innerHeight) == 'number') {
		windowHeight = window.innerHeight;
	}
	else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		}
		else {
			if (document.body && document.body.clientHeight) {
				windowHeight = document.body.clientHeight;
			}
		}
	}
	return windowHeight;
}
function setFooter() {
	/* 
	NOT REQUIRED FOR NEW STYLE
	if (document.getElementById) {
		var windowHeight = getWindowHeight();
		if (windowHeight > 0) {
			var headerHeight = document.getElementById('header').offsetHeight;
			var contentHeight = document.getElementById('content').offsetHeight;
			var footerElement = document.getElementById('footer');
			var footerHeight  = footerElement.offsetHeight;
			if (windowHeight - (contentHeight + footerHeight + headerHeight + 6) >= 0) {
				footerElement.style.top = (windowHeight - (contentHeight + footerHeight + headerHeight + 6)) + 'px';
			} else {
				footerElement.style.top = '0px';
			}
		}
	} */
	return true;
}
function showHelp(url)
{
	if (!helpWindow.closed && helpWindow.location) {
		helpWindow.location.href = url;
	}
	else {
		helpWindow=window.open(url,'name','height=290,width=320,scrollbars=yes');
		if (!helpWindow.opener) helpWindow.opener = self;
	}
	if (window.focus) {helpWindow.focus()}
	return false;
}
function checkSelect(el,msg){
	if (el[el.selectedIndex].value=='') {
		alert(msg);
		if (el!=null) {
			el.focus();
		}
		return false;
	} else {
		return true;
	}
}
function checkInput(el,msg){
	if (el.value=='') {
		alert(msg);
		if (el!=null) {
			el.focus();
		}
		return false;
	} else {
		return true
	}
}

/* Commented and added on 2/12/08*/
//function checkPostCode(el,msg){
//	var postcode = validatePostCode(el.value);
//	if (!postcode) {
//		alert(msg);
//		if (el!=null) {el.focus();};
//		return false;
//	} else {
//		el.value = postcode;
//		return true;
//	}
//}

function checkPostCode(el,msg){
	var postcode = valcheckPostCode(el.value);
	if (!postcode) {
		alert(msg);
		if (el!=null) {el.focus();};
		return false;
	} else {
		el.value = postcode;
		return true;
	}
}

/*Till here */


function checkRadioBox(el,msg){
	var allow=false;
	for (i=0;i<el.length;i++) {
		if (el[i].checked) {
			allow=true;
			break;
		}
	}
	if(!allow){
		alert(msg);
		if (el!=null) {
			el[0].focus();
		}
		return false;
	} else {
		return true;
	}
}
function selectRegion(region, id) {
	var rl=regionSelect.length;
	for(i=1; i<rl; i++) {
		if (regionSelect[i].value == region) {	
			regionSelect[i].selected = true;
			f.tid.value=id;
		}
	}
	townid = id;
	loadTowns(regionSelect);
}
function cacheTownSave(towns, townsID) {
	var cachefull = true;
	for (i=0;i<a_towns.length;i++) {
		if (a_towns[i] == undefined) {
			cachefull = false;
			break;
		}
	}
	if (cachefull) {
		a_towns.shift();
		a_towns.length++;
		a_townids.shift();
		a_townids.length++;
	}
	for (i=0;i<a_towns.length;i++) {
		if (a_towns[i] == undefined) {
			cachefull = false;
			a_towns[i] = new Array(towns.length+1);
			a_towns[i][0] = regionselected;
			a_townids[i] = new Array(townsID.length+1);
			a_townids[i][0] = regionselected;
			for (j=0;j<towns.length;j++) {
				a_towns[i][j+1] = towns[j];
				a_townids[i][j+1] = townsID[j];
			}
		break;
		}
	}
}
function cacheTownLoad() {
	for (i=0;i<a_towns.length;i++) {
		if (a_towns[i] != undefined) {
			if (a_towns[i][0] == regionselected) {
				townSelect[0].text = 'Select a town...';
				townSelect[0].value = '';
//				townSelect[1].text = 'Any';
//				townSelect[1].value = '-1';
//				townSelect[2].text = '';
//				townSelect[2].value = '';
				townSelect[0].selected = true;
				updateDistance('');
				for (j=1;j<a_towns[i].length;j++) {
					townSelect.length = a_towns[i].length;
					townSelect[j].text = a_towns[i][j];
					townSelect[j].value = a_townids[i][j];
					if (a_townids[i][j]==townid) {
						townSelect[j].selected = true;
						townid=-1;
						updateDistance(townSelect[townSelect.selectedIndex].value);
					}
				}
				return true;
			}
		}
	}
	return false;
}
function cacheRegionLoad() {
	for (i=0;i<a_regions.length;i++) {
		if (a_regions[i] != undefined) {
			if (a_regions[i][0] == countryselected) {
				for (j=1;j<a_regions[i].length;j++) {
					regionSelect.length = a_regions[i].length;
					regionSelect[j].text = a_regions[i][j];
					regionSelect[j].value = a_regions[i][j];
				}
				regionSelect[0].text = 'Select a region...';
				regionSelect[0].value = '';
				regionSelect[0].selected = true;
				
				if(townSelect!=undefined){
					townSelect.length = 1;
					townSelect[0].text = 'You need to select a region...';
					townSelect[0].value = '';
				}
				updateDistance('');
				return true;
			}
		}
	}
	return false;
}
function cacheRegionSave(regions) {
	for (i=0;i<a_regions.length;i++) {
		if (a_regions[i] == undefined) {
			a_regions[i] = new Array(regions.length+1);
			a_regions[i][0] = countryselected;
			for (j=0;j<regions.length;j++) {
				a_regions[i][j+1] = regions[j];
			}
		break;
		}
	}
}
function loadRegions(cb) {
	//prevent reload of regions when same country is selected
	if (cb.value==countryselected) {
		for (i=1;i<cb.length;i++) {
			if (cb[i].value == countryselected) {
				cb[i].checked = true;
				break;
			}
		}
		return false;
	}
	//display town search tool text and link
	if (document.getElementById) {
		if (document.getElementById('searchtool')!=undefined) {
			document.getElementById('searchtool').style.display = '';
		}
	}	else {
		searchtool.style.display = '';
	}
	//display town search tool text and link
	if (document.getElementById) {
		if (document.getElementById('btnQuickSearch')!=undefined) {
			document.getElementById('btnQuickSearch').disabled = false;
		}
	}	else {
		searchtool.disabled = false;
	}
	//record country value
	countryselected = cb.value;
	var sURL = "/uk/location_load.asp?t=r&c=" + cb.value;
	//if cache available, load it for the selected country and stop loading regions
	if (cacheRegionLoad()) {
		return false;
	}
	regionSelect.length = 1;
	regionSelect[0].text = 'Loading, please wait...';
	regionSelect[0].value = '';
	regionSelect.style.color = '#FF0000';
	if(townSelect!=undefined){
		townSelect.length = 1;
		townSelect[0].text = 'You need to select a region.';
		townSelect[0].value = '';
	}
	updateDistance('');

	if (window.XMLHttpRequest) {
		//Mozilla
		oXMLHTTP = new XMLHttpRequest();
		oXMLHTTP.onreadystatechange = loadRegions_statechange;
		oXMLHTTP.open("GET", sURL, true);
		try {
			oXMLHTTP.send(null);
		}
		catch (e) {
			cb.form.submit();
		}
	}
	else if (window.ActiveXObject) {
		//IE
		oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		oXMLHTTP.onreadystatechange = loadRegions_statechange;
		oXMLHTTP.open("GET", sURL, true);
		try {
			oXMLHTTP.send();
		}
		catch (e) {
			cb.form.submit();
		}
	}
	else {
		cb.form.submit();
	}
	return true;
}
function loadRegions_statechange() {
	if (oXMLHTTP.readyState == 4) {
		if (oXMLHTTP.status == 200) {
			var response = oXMLHTTP.responseText
			var regions = response.split(';')
			regionSelect.length = regions.length+1;
			regionSelect[0].text = 'Select a region...';
			regionSelect[0].value = '';
			regionSelect.style.color = '#000000';
			for (i=0;i<regions.length;i++) {
				regionSelect[i+1].text = regions[i];
				regionSelect[i+1].value = regions[i];
			}
			cacheRegionSave(regions)
		}
		else {
			f.submit();
		}
	}
}
function loadTowns(slt,b) {
	//first value selected, invalid, so reset to previous region value
	if (slt.value=='') {
		for (i=1;i<slt.length;i++) {
			if (slt[i].value == regionselected) {
				slt[i].selected = true;
				break;
			}
		}
		return false;
	}
	//record region value
	regionselected = slt.value;
	var sURL = "/uk/location_load.asp?t=t&r=" + regionselected + "&a=" + b;
	//if cache available, load it for the selected region and stop loading towns
	if (cacheTownLoad()) {
		if (window.mywindow && !mywindow.closed) {
			mywindow.close();
		}
		return false;
	}
	if(townSelect!=undefined){
		townSelect.length = 1;
		townSelect[0].text = 'Loading, please wait...';
		townSelect[0].value = '';
		townSelect.style.color = '#FF0000';
	}
	if (window.XMLHttpRequest) {
		//Mozilla
		oXMLHTTP = new XMLHttpRequest();
		oXMLHTTP.onreadystatechange = loadTowns_statechange;
		oXMLHTTP.open("GET", sURL, true);
		try {
			oXMLHTTP.send(null);
		}
		catch (e) {
			slt.form.submit();
		}
	}
	else if (window.ActiveXObject) {
		//IE
		oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		oXMLHTTP.onreadystatechange = loadTowns_statechange;
		oXMLHTTP.open("GET", sURL, true);
		try {
			oXMLHTTP.send();
		}
		catch (e) {
			slt.form.submit();
		}
	}
	else {
		slt.form.submit();
	}
	return true;
}
function loadTowns_statechange() {
	if (oXMLHTTP.readyState == 4) {
		if (oXMLHTTP.status == 200) {
			townSelect[0].text = 'Sorting, please wait...';
			var response = oXMLHTTP.responseText.split(':');
			var towns = response[1].split(';')
			var townsID = response[0].split(';')
			townSelect.length = towns.length;
			townSelect[0].value = '';
			for (i=0;i<towns.length-1;i++) {
				townSelect[i+1].text = towns[i];
				townSelect[i+1].value = townsID[i];
				if (townsID[i]==townid) {
					townSelect[i+1].selected = true;
					townid=-1;
					updateDistance(townSelect[townSelect.selectedIndex].value);
				}
			}
			cacheTownSave(towns, townsID);
			closetools = true;
			townSelect[0].text = 'Select a town...';
			townSelect[0].value = '';
			townSelect.style.color = '#000000';
		}
		else {
			f.submit();
		}
	}
}
function menuAccountChange(menu, url) {
	var qs = menu.options[menu.selectedIndex].value;
	document.location.href = url + '?' + qs
}
function menuService(menu) {
	var qs = document.servicelistmenu.cservice.options[document.servicelistmenu.cservice.selectedIndex].value;
	if (menu == 1) {
		document.location.href='service_edit.asp?' + qs;
	}
	if (menu == 2) {
		document.location.href='add_region.asp?' + qs;
	}
	if (menu == 3) {
		document.location.href='activity.asp?' + qs;
	}
	if (menu == 4) {
		document.location.href='service_message.asp?' + qs;
	}
	if (menu == 5) {
		document.location.href='delete_let.asp?' + qs;
	}
}
function menuProperty(menu) {
	var qs = document.propertylistmenu.cproperty.options[document.propertylistmenu.cproperty.selectedIndex].value;
	if (menu == 1) {
		document.location.href='matching_buyers.asp?' + qs;
	}
	if (menu == 2) {
		document.location.href='activity.asp?' + qs;
	}
	if (menu == 3) {
		document.location.href='upload_photo.asp?' + qs;
	}
	if (menu == 4) {
		document.location.href='property_search_profile.asp?' + qs;
	}
	if (menu == 5) {
		document.location.href='delete.asp?' + qs;
	}
}
function menuBuyer(menu) {
	var qs = document.tenantlistmenu.ctenant.options[document.tenantlistmenu.ctenant.selectedIndex].value;
	if (menu == 1) {
		document.location.href='matching_properties.asp?' + qs;
	}
	if (menu == 2) {
		document.location.href='activity.asp?' + qs;
	}
	if (menu == 3) {
		document.location.href='upload_photo.asp?' + qs;
	}
	if (menu == 4) {
		document.location.href='search_profile.asp?' + qs;
	}
	if (menu == 5) {
		document.location.href='delete.asp?' + qs;
	}
}
function menuTenant(menu) {
	var qs = document.tenantlistmenu.ctenant.options[document.tenantlistmenu.ctenant.selectedIndex].value;
	if (menu == 1) {
		document.location.href='matching_properties_let.asp?' + qs;
	}
	if (menu == 2) {
		document.location.href='activity_let.asp?' + qs;
	}
	if (menu == 3) {
		document.location.href='upload_photo_let.asp?' + qs;
	}
	if (menu == 4) {
		document.location.href='search_profile_let.asp?' + qs;
	}
	if (menu == 5) {
		document.location.href='delete_let.asp?' + qs;
	}
}
function menuLetProperty(menu) {
	var qs = document.propertylistmenu.cproperty.options[document.propertylistmenu.cproperty.selectedIndex].value;
	if (menu == 1) {
		document.location.href='matching_tenants.asp?' + qs;
	}
	if (menu == 2) {
		document.location.href='activity_let.asp?' + qs;
	}
	if (menu == 3) {
		document.location.href='upload_photo_let.asp?' + qs;
	}
	if (menu == 4) {
		document.location.href='search_profile_let.asp?' + qs;
	}
	if (menu == 5) {
		document.location.href='delete_let.asp?' + qs;
	}
}
function toggleSearch(iSearch) {
	switch (iSearch) {
		case '2': {
			if (bSearch2) {
				document.getElementById('textsearch2').style.display='';
				document.getElementById('search2').style.display='none';
				document.getElementById('textsearch3').style.display='';
				document.getElementById('search3').style.display='none';
				document.getElementById('lblIncSearch2').value='false';
				document.getElementById('lblIncSearch3').value='false';
				bSearch3 = false;
			} else {
				document.getElementById('textsearch' + iSearch).style.display='none';
				document.getElementById('search' + iSearch).style.display='';
				document.getElementById('lblIncSearch' + iSearch).value='true';
			}
			bSearch2 = !bSearch2;
			break;
		}
		case '3': {
			if (bSearch3) {
				document.getElementById('textsearch3').style.display='';
				document.getElementById('search3').style.display='none';
				document.getElementById('lblIncSearch3').value='false';
			} else {
				document.getElementById('textsearch' + iSearch).style.display='none';
				document.getElementById('search' + iSearch).style.display='';
				document.getElementById('lblIncSearch' + iSearch).value='true';
			}
			bSearch3 = !bSearch3;
		}
	}
}
function sortNumbers(first, second) {
	return first-second;
}
function resize(iValue) {
	if (document.getElementById('lblRegion') != null ) {
		if (iValue==3) {
			var aWidth = new Array(2)
			aWidth[0] = document.getElementById('lblRegion').offsetWidth;
			aWidth[1] = document.getElementById('lblTown').offsetWidth;
			aWidth[2] = document.getElementById('lblDistance').offsetWidth;
			aWidth.sort(sortNumbers);
			document.getElementById('lblRegion').style.width = aWidth[2];
			document.getElementById('lblTown').style.width = aWidth[2];
			document.getElementById('lblDistance').style.width = aWidth[2];
		} else {
			var aWidth = new Array(1)
			aWidth[0] = document.getElementById('lblRegion').offsetWidth;
			aWidth[1] = document.getElementById('lblTown').offsetWidth;
			aWidth.sort(sortNumbers);
			document.getElementById('lblRegion').style.width = aWidth[1];
			document.getElementById('lblTown').style.width = aWidth[1];
		}
	}
}
function updateDistance(iValue) {
	var distance = document.formSearch.lblDistance;
	if (distance!=undefined) {
		if (iValue == null || iValue == '') {
			distance.length = 1;
			distance.options[0].text = 'You need to select a town.';
			distance.options[0].value = '';
		} else if (iValue == 0) {
			distance.length = 1;
			distance.options[0].text = 'Not applicable.';
			distance.options[0].value = '';
		} else {
			distance.length = 5;
			distance.options[0].text = 'This town only';
			distance.options[0].value = '0';
			distance.options[1].text = '5 miles / 8 km';
			distance.options[1].value = '5';
			distance.options[2].text = '10 miles / 16 km';
			distance.options[2].value = '10';
			distance.options[3].text = '20 miles / 32 km';
			distance.options[3].value = '20';
			distance.options[4].text = '30 miles / 48 km';
			distance.options[4].value = '30';
		}
	}
}
function validateuserid(suserid) {
	if (suserid != '' && suserid != prevuserid) {
		prevuserid = suserid;
		if (window.XMLHttpRequest) {
			//Mozilla
			oXMLHTTP = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			//IE
			oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		}
		var userid;	
		// Prepare the XMLHTTP object for a HTTP POST to our validation ASP page
		userid = suserid;
		var sURL = "/username.asp?value=" + userid;
		oXMLHTTP.open("GET", sURL, true);
		// Define an event handler for processing
		oXMLHTTP.onreadystatechange = userid_statechange;
		// Execute the request
		try {
			oXMLHTTP.send(null);
		}
		catch (e) {
			document.all.item("lblUsername").focus;
		}
	}
}
function userid_statechange() {
	if (oXMLHTTP.readyState == 4) {
		if (oXMLHTTP.responseText == "true") {
//			document.all.item("divProgress").style.display = "";
			document.getElementById("divProgress").style.display = "";
		} else if (oXMLHTTP.responseText == "false") {
//			document.all.item("divProgress").style.display = "none";
			document.getElementById("divProgress").style.display = "none";
		}
	}
}

function online(sURL) {
	if (window.XMLHttpRequest) {
		//Mozilla
		oXMLHTTP = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		//IE
		oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		ie=true;
	}
	if (oXMLHTTP != undefined) {
		// Prepare the XMLHTTP object for a HTTP get
		oXMLHTTP.open("GET", sURL, true);
		// Define an event handler for processing
		oXMLHTTP.onreadystatechange = online_statechange;
		// Execute the request
		try {
			oXMLHTTP.send(null);
		}
		catch (e) {
			//document.all.item("lblUsername").focus;
		}
	}
}
function online_statechange() {
	if (oXMLHTTP != undefined) {
		if (oXMLHTTP.readyState == 4) {
			if (oXMLHTTP.responseText != '') {
				document.getElementById('favourites').innerHTML = oXMLHTTP.responseText;
			}
		}
	}
}
function showLostPassword() {
	ReverseContentDisplay("lostpassword");
}
function ReverseContentDisplay(d) {
	if(document.getElementById(d).style.display == "none") { 
		document.getElementById(d).style.display = "block"; 
	} else { 
		document.getElementById(d).style.display = "none"; 
	}
}

//Added on 4/4/09 by santosh
// Calling function
function chk_email(ctl,msg)
 {
 	if(msg=="")
	 {
	  msg="Please enter a valid email address";
	 }

	if (!isEmailAddr(ctl.value))
	 {
		alert(msg);
		ctl.value="";
		ctl.focus();
		return (false);
	 }
	else
	 return (true);
 }

//Valid Email Checking
function isEmailAddr(email)
  {
   var result = false
   var theStr = new String(email)
   var index = theStr.indexOf("@");
   if (index > 0)
    {
     var pindex = theStr.indexOf(".",index);
     if ((pindex > index+1) && (theStr.length > pindex+1))
     result = true;
    }
   return result;
  }

//Till here
