function detectBrowser() {
	var browser=navigator.appName
	//var b_version=navigator.appVersion
	//var version=parseFloat(b_version)
	//if ((browser=="Netscape"||browser=="Microsoft Internet Explorer") && (version>=4))
  	//{
		//alert("Your browser is good enough!");
	//}
	//else
  	//{
  	//	alert("It's time to upgrade your browser!");
	//}
	return browser;
}

function MM_preloadImages() { //v3.0
	var d=document;
	if(d.images) {
		if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0) {
			d.MM_p[j]=new Image;
			d.MM_p[j++].src=a[i];
		}
	}
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;
	if(!d) d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
    		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
  	if(!(x=d[n])&&d.all) x=d.all[n];
  	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  	if(!x && d.getElementById) x=d.getElementById(n);
  	
  	return x;
}

function MM_nbGroup(event, grpName) { //v6.0
	var i,img,nbArr,args=MM_nbGroup.arguments;
	if (event == "init" && args.length > 2) {
		if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
			img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
			if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
				nbArr[nbArr.length] = img;
				for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
					if (!img.MM_up) img.MM_up = img.src;
						img.src = img.MM_dn = args[i+1];
						nbArr[nbArr.length] = img;
				}
			}
		} else if (event == "over") {
			document.MM_nbOver = nbArr = new Array();
			for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
				if (!img.MM_up) img.MM_up = img.src;
				img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
				nbArr[nbArr.length] = img;
			}
		} else if (event == "out" ) {
			for (i=0; i < document.MM_nbOver.length; i++) {
				img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
		} else if (event == "down") {
			nbArr = document[grpName];
			if (nbArr)
			for (i=0; i < nbArr.length; i++) { 
				img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0;
			}
			document[grpName] = nbArr = new Array();
			for (i=2; i < args.length-1; i+=2)
			
			if ((img = MM_findObj(args[i])) != null) {
				if (!img.MM_up) img.MM_up = img.src;
			img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
			nbArr[nbArr.length] = img;
		}
	}
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr;
	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) {
		x.src=x.oSrc;
	}
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments;
	document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function changeBgImg(id, img_src) {
	if (detectBrowser() == "Microsoft Internet Explorer") {
		if (img_src == "noimage_enlarge.gif") {
			var changeToIE = "../propImg/noimage_enlarge.gif";
			Img1.background = changeToIE;
		} else {
			var changeToIE = "../propImg/" + id + "/" + img_src;
			Img1.background = changeToIE;
		}
	} else {
		if (img_src == "noimage_enlarge.gif") {
			var changeToFireFox = "url('../propImg/noimage_enlarge.gif');";
			document.getElementById('Img1').style.background = changeToFireFox;			
		} else {
			var changeToFireFox = "url('../propImg/" + id + "/" + img_src + "');";
			document.getElementById('Img1').style.background = changeToFireFox;
		}
	}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
 
	for (i = 0; i < sText.length && IsNumber == true; i++) { 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}

function IsValidDate(dateStr) {
	// Checks for the following valid date formats:
	// DD/MM/YY   DD/MM/YYYY   DD-MM-YY   DD-MM-YYYY
	// Also separates date into month, day, and year variables

	//var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;

	// To require a 4 digit year entry, use this line instead:
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;

	var matchArray = dateStr.match(datePat); // is the format ok?
	
	if (dateStr != "DD/MM/YYYY") { // check valid date if there is input
		if (matchArray == null) {
			alert("Date is not in a valid format.")
			return false;
		}
		day = matchArray[1]; // parse date into variables
		month = matchArray[3];
		year = matchArray[4];
	
		if (month < 1 || month > 12) { // check month range
			alert("Month must be between 1 and 12.");
			return false;
		}
		if (day < 1 || day > 31) {
			alert("Day must be between 1 and 31.");
			return false;
		}
		if ((month==4 || month==6 || month==9 || month==11) && day==31) {
			alert("Month "+month+" doesn't have 31 days!")
			return false
		}
		if (month == 2) { // check for february 29th
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day>29 || (day==29 && !isleap)) {
				alert("February " + year + " doesn't have " + day + " days!");
				return false;
   			}
		}
		return true; // date is valid
	 } else { 
	 	return true; // no input for date
	 } 
}

function changeLang() {
	var currenturl = document.location.href;
	var indexOfEng = currenturl.indexOf("/eng");
	var indexOfChi = currenturl.indexOf("/chi");

	if (indexOfEng != -1) {
		currenturl = currenturl.substring(0, indexOfEng) + '/chi' + currenturl.substring(indexOfEng + 4);
	} else if (indexOfChi != -1) {
		currenturl = currenturl.substring(0, indexOfChi) + '/eng' + currenturl.substring(indexOfChi + 4);
	}
	document.location.href = currenturl;
}

function editMember() {
	document.joinFrm.submit();
}

function searchProp() {
	if (document.searchPropFrm.fmUnitType.value == "") {
		alert("Please Select Unit Type");
	}
	else if (document.searchPropFrm.fmDistrict.value == "HK" || document.searchPropFrm.fmDistrict.value == "KLN" || document.searchPropFrm.fmDistrict.value == "NT") {
		alert("Please Select Specific District");
	}
	else if (document.searchPropFrm.fmUnitType.value == "Office" || document.searchPropFrm.fmUnitType.value == "Retails" || document.searchPropFrm.fmUnitType.value == "Furnished Office") {
		document.searchPropFrm.action = "searchCom.asp?Page=1";
		document.searchPropFrm.submit();
	}
	else if (document.searchPropFrm.fmUnitType.value == "Industrial") {
		document.searchPropFrm.action = "searchInd.asp?Page=1";
		document.searchPropFrm.submit();
	}
	else if (document.searchPropFrm.fmUnitType.value == "Service Apartment" || document.searchPropFrm.fmUnitType.value == "Furnished Studio" || document.searchPropFrm.fmUnitType.value == "Deluxe") {
		document.searchPropFrm.action = "searchRes.asp?Page=1";
		document.searchPropFrm.submit();
	}
	else if (document.searchPropFrm.fmUnitType.value == "Carpark") {
		document.searchPropFrm.action = "searchCar.asp?Page=1";
		document.searchPropFrm.submit();
	}
}

function advSearch() {
	var validInput = true;
	var dateStr;
	
	dateStr = document.advSearchFrm.fmAvaDateDD.value + "/" + document.advSearchFrm.fmAvaDateMM.value + "/" + document.advSearchFrm.fmAvaDateYYYY.value;
	
	if (document.advSearchFrm.fmUnitType.value == "") {
		validInput = false;
		alert("Please Select Unit Type");
	}
	else if (!IsNumeric(document.advSearchFrm.fmSize1.value) || !IsNumeric(document.advSearchFrm.fmSize2.value)) {
		validInput = false;
		alert("Please input valid unit size");
	}
	//else if (document.advSearchFrm.fmSize1.value >= document.advSearchFrm.fmSize2.value) {
	//	validInput = false;
	//	alert("Please input valid range of unit size, 1st value should be smaller than the 2nd one.");
	//}
	else if (!IsNumeric(document.advSearchFrm.fmUnitRate1.value) || !IsNumeric(document.advSearchFrm.fmUnitRate2.value)) {
		validInput = false;
		alert("Please input valid unit rate");
	}
	//else if (document.advSearchFrm.fmUnitRate1.value >= document.advSearchFrm.fmUnitRate2.value) {
	//	validInput = false;
	//	alert("Please input valid range of unit rate, 1st value should be smaller than the 2nd one.");
	//}
	else if (!IsNumeric(document.advSearchFrm.fmMonthlyRent1.value) || !IsNumeric(document.advSearchFrm.fmMonthlyRent2.value)) {
		validInput = false;
		alert("Please input valid monthly rent");
	}
	//else if (document.advSearchFrm.fmMonthlyRent1.value >= document.advSearchFrm.fmMonthlyRent2.value) {
	//	validInput = false;
	//	alert("Please input valid range of monthly rent, 1st value should be smaller than the 2nd one.");
	//}
	else if (!IsNumeric(document.advSearchFrm.fmMgtFee1.value) || !IsNumeric(document.advSearchFrm.fmMgtFee2.value)) 
	{
		validInput = false;
		alert("Please input valid mgt fee");
	}
	//else if (document.advSearchFrm.fmMgtFee1.value >= document.advSearchFrm.fmMgtFee2.value) {
	//	validInput = false;
	//	alert("Please input valid range of mgt fee, 1st value should be smaller than the 2nd one.");
	//}
	else if (!IsValidDate(dateStr)) {
		validInput = false;
	}
	
	if (validInput) {
		if (document.advSearchFrm.fmUnitType.value == "Office" || document.advSearchFrm.fmUnitType.value == "Retails") {
			document.advSearchFrm.action = "searchCom.asp?Page=1";
			document.advSearchFrm.submit();
		}
		else if (document.advSearchFrm.fmUnitType.value == "Industrial") {
			document.advSearchFrm.action = "searchInd.asp?Page=1";
			document.advSearchFrm.submit();	
		}
		else if (document.advSearchFrm.fmUnitType.value == "Service Apartment" || document.advSearchFrm.fmUnitType.value == "Furnished Studio" || document.advSearchFrm.fmUnitType.value == "Deluxe") {
			document.advSearchFrm.action = "searchRes.asp?Page=1";
			document.advSearchFrm.submit();	
		}
		else if (document.advSearchFrm.fmUnitType.value == "Carpark") {
			document.advSearchFrm.action = "searchCar.asp?Page=1";
			document.advSearchFrm.submit();	
		}
	}	
}

function sortCom(sortBy) {
	document.comSortFrm.submit();
}

function sortInd(sortBy) {
	document.indSortFrm.submit();
}

function sortRes(sortBy) {
	document.resSortFrm.submit();
}

function sortCar(sortBy) {
	document.carSortFrm.submit();
}

function editBuilding(frm,task,id)
{	
	if (task == "add") {
		document.buildingListFrm.action = "building_list.asp?task=add";
		document.buildingListFrm.submit();
	}
	else if (task == "modify") {
		document.buildingListFrm.action = "building_list.asp?task=modify";
		document.buildingListFrm.submit();	
	}
}

function editUnit(frm,task,id)
{	
	if (task == "add") {
		document.unitListFrm.action = "unit_list.asp?task=add";
		document.unitListFrm.submit();
	}
	else if (task == "del") {
		var agree = confirm("Confirm Delete?");
		
		if (agree) {
			document.unitListFrm.action = "unit_list.asp?task=del&uid="+id;
			document.unitListFrm.submit();
		}
		else { return false; }
	}
	else if (task == "modify") {
		document.unitListFrm.action = "unit_list.asp?task=modify";
		document.unitListFrm.submit();
	}
	else if (task == "send") {
		document.unitListFrm.action = "unit_emailList.asp";
		document.unitListFrm.submit();	
	}
	else if (task == "search") {
		document.unitListFrm.action = "unit_list.asp?task=search";
		document.unitListFrm.submit();	
	}
}

function editCarpark(frm,task,id)
{	
	if (task == "add") {
		document.carparkListFrm.action = "carpark_list.asp?task=add";
		document.carparkListFrm.submit();
	}
	else if (task == "del") {
		var agree = confirm("Confirm Delete?");
		
		if (agree) {
			document.carparkListFrm.action = "carpark_list.asp?task=del&cid="+id;
			document.carparkListFrm.submit();
		}
		else { return false; }
	}
	else if (task == "modify") {
		document.carparkListFrm.action = "carpark_list.asp?task=modify";
		document.carparkListFrm.submit();	
	}
}

function checkAddUnit(frm)
{
	if (document.addUnitFrm.BuildingID.value == "null") {
		alert("Please select Building");
		return false;
	} else if (document.addUnitFrm.UnitType.value == "null") {
		alert("Please select Unit Type");
		return false;
	} else if (document.addUnitFrm.AskingRent_month.value == "") {
		alert("Please input Monthly Rent");
		return false;
	} else if (!IsNumeric(document.addUnitFrm.AskingRent_month.value)) {
		alert("Please input valid Monthly Rent");
		return false;
	} else if (!IsNumeric(document.addUnitFrm.AskingRent_sqft.value)) {
		alert("Please input valid Unit Rate");
		return false;
	} else if (document.addUnitFrm.Area.value == "") {
		alert("Please input Area");
		return false;
	} else if (!IsNumeric(document.addUnitFrm.Area.value)) {
		alert("Please input valid Area");
		return false;
	} else if (!IsNumeric(document.addUnitFrm.MgtFee.value)) {
		alert("Please input valid Mgt Fee");
		return false;
	} else if (!IsNumeric(document.addUnitFrm.GovtRate.value)) {
		alert("Please input valid Gov't Rate");
		return false;
	} else if (!IsNumeric(document.addUnitFrm.GovtRent.value)) {
		alert("Please input valid Gov't Rent");
		return false;
	} else if (document.addUnitFrm.weekday1.value=="" && document.addUnitFrm.weekday2.value!="") {
		alert("Please enter both weekday air-con time before submitting");
		return false;
	} else if (document.addUnitFrm.weekday1.value!="" && document.addUnitFrm.weekday2.value=="") {
		alert("Please enter both weekday air-con time before submitting");
		return false;
	} else if (document.addUnitFrm.saturday1.value=="" && document.addUnitFrm.saturday2.value!="") {
		alert("Please enter both saturday air-con time before submitting");
		return false;
	} else if (document.addUnitFrm.saturday1.value!="" && document.addUnitFrm.saturday2.value=="") {
		alert("Please enter both saturday air-con time before submitting");
		return false;
	} else if (document.addUnitFrm.sunday1.value=="" && document.addUnitFrm.sunday2.value!="") {
		alert("Please enter both sunday air-con time before submitting");
		return false;
	} else if (document.addUnitFrm.sunday1.value!="" && document.addUnitFrm.sunday2.value=="") {
		alert("Please enter both sunday air-con time before submitting");
		return false;
	} else if (document.addUnitFrm.currHlNum.value >= 4 && document.addUnitFrm.Highlight.value == 1) {
		alert("No. of Highlight Property could not greater than 4");
		return false;
    	} else {
		return true;
		//document.addUnitFrm.submit();
    	}     
}

function checkEnquiry(frm)
{
	if (document.frmEnquiry.name.value == "") {
		alert("Please input your name");
		return false;	
	}
	else if (document.frmEnquiry.telephone.value == "" || !IsNumeric(document.frmEnquiry.telephone.value)) {
		alert("Please input valid contact no");
		return false;
	}
	else if (document.frmEnquiry.email.value == "") {
		alert("Please input your email");
		return false;
	}
	else if (!IsNumeric(document.frmEnquiry.fax.value)) {
		alert("Please input valid fax no");
		return false;
	}
	else if (!IsNumeric(document.frmEnquiry.size.value)) {
		alert("Please input valid size requirement");
		return false;
	}
	else if (!IsNumeric(document.frmEnquiry.budget.value)) {
		alert("Please input valid budget amount");
		return false;
	}
	else { return true; }
}
