function createObject(objId) 
{
	try
	{
		if (document.getElementById) 
			return document.getElementById(objId);
		else if (document.layers) 
			return eval("document." + objId);
		else if (document.all) 
			return eval("document.all." + objId);
		else 
			return eval("document." + objId);
	}
	catch (err)
	{
		return null;
	}
}


function setCookie(name, value, days) 
{
	try
	{
		var ExpireDate = new Date ();
		ExpireDate.setTime(ExpireDate.getTime() + (days * 24 * 3600 * 1000));

		document.cookie = name + "=" + escape(value) + 
		((days == null) ? "" : "; expires=" + ExpireDate.toGMTString());
	}
	catch (err)
	{
	}
}


function delCookie(name) 
{
	setCookie(name, "", -1);
}


function readCookie(name)
{
	try
	{	
		if (document.cookie.length > 0) 
		{ 
			begin = document.cookie.indexOf(name + "="); 
			if (begin != -1)
			{ 
				begin += name.length + 1; 
				end = document.cookie.indexOf(";", begin);
				if (end == -1) 
					end = document.cookie.length;
				
				return unescape(document.cookie.substring(begin, end)); 
			} 
		}
		return null; 
	}
	catch (err)
	{
		return null;
	}
}


function addListing(rsFlag) 
{	
	try
	{
		//alert("1");

		listingID = document.getElementById('ListingID').value;
		address = document.getElementById('Address').value;
		urlString = document.getElementById('URLString').value;

		var oneEntryValue = "";
		if (rsFlag == 1)
		{
			rentFee = document.getElementById('RentFee').value;
			availDate = document.getElementById('AvailDate').value;
			oneEntryValue = listingID + "|" + escape(address) + "|" + escape(rentFee) + "|" + escape(availDate) + "|" + escape(urlString) + "|" + rsFlag;
		}
		else if (rsFlag == 2)
		{
			askingPrice = document.getElementById('AskingPrice').value;
			openHouseDate = document.getElementById('OpenHouse').value;
			var oneEntryValue = listingID + "|" + escape(address) + "|" + escape(askingPrice) + "|" + escape(openHouseDate) + "|" + escape(urlString) + "|" + rsFlag;
		}
		
		//alert("2");
	
		var favListingsValue = readCookie("mount_favListings");

		if (favListingsValue == null)
		{
			// new value
			favListingsValue = oneEntryValue;
			setCookie("mount_favListings", favListingsValue, 365);
			alert("This listing has been added to the favorite list.");
		}
		else 
		{
			var pos = favListingsValue.indexOf(oneEntryValue); 
			if (pos == -1)
			{ 
				// new value
				favListingsValue = favListingsValue + " " + oneEntryValue;
				setCookie("mount_favListings", favListingsValue, 365);
				alert("This listing has been added to the favorite list.");
			}
			else
			{
				alert("This listing has already been added to the favorite list, no need to add it again!");	
			}
		}
	}
	catch (err)
	{
	}
}


function delListing(listingID, rsFlag) 
{
	try
	{
		var favListingsValue = readCookie("mount_favListings");
	
		var allEntries = favListingsValue.split(" ");
		var count = allEntries.length;
		
		var newFavListingValue = "";
	
		var i;
		for (i = 1; i <= count; i++)
		{
			var currEntry = allEntries[i - 1];
			if (currEntry != undefined)
			{
				var valueArray = currEntry.split("|");
				if (valueArray.length == 6)
				{	
					var currListingID = valueArray[0];
					var flag = valueArray[5];
					if ((parseInt(currListingID) != listingID) || (parseInt(flag) != rsFlag))
					{
						if (newFavListingValue.length == 0)
							newFavListingValue = currEntry;
						else
							newFavListingValue = newFavListingValue + " " + currEntry;
					}	
				}
			}
		}
		setCookie("mount_favListings", newFavListingValue, 365);

		showFavListings();
	}
	catch (err)
	{
	}
}

function formatCurrency(strValue)
{
	try
	{
		strValue = strValue.toString().replace(/\$|\,/g,'');
		dblValue = parseFloat(strValue);

		blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
		dblValue = Math.floor(dblValue*100+0.50000000001);
		intCents = dblValue%100;
		strCents = intCents.toString();
		dblValue = Math.floor(dblValue/100).toString();
		if(intCents<10)
			strCents = "0" + strCents;
		for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
			dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
			dblValue.substring(dblValue.length-(4*i+3));
		return (((blnSign)?'':'-') + dblValue);
	}
	catch (err)
	{
		return "000";
	}
}


function showFavListings() 
{
	try
	{
		var objFavArea = document.getElementById('favArea');

		var html_str = "<table width=\"580\" align=\"center\">\n";

		var html_str_rent = "<tr><td colspan=\"5\" align=\"center\"><font class=\"FontDef\"><b>&nbsp;<br>The properties for rent in the favorite list<br>&nbsp;</b></font></td></tr>\n";
		html_str_rent = html_str_rent + "<td width=\"50\" align=\"center\" bgcolor=\"#CCCCCC\"><font class=\"FontDef\"><b>ID</b></font></td>\n";
		html_str_rent = html_str_rent + "<td width=\"250\" align=\"center\" bgcolor=\"#CCCCCC\"><font class=\"FontDef\"><b>Address</b></font></td>\n";
		html_str_rent = html_str_rent + "<td width=\"100\" align=\"center\" bgcolor=\"#CCCCCC\"><font class=\"FontDef\"><b>Monthly Rent ($)</b></font></td>\n";
		html_str_rent = html_str_rent + "<td width=\"120\" align=\"center\" bgcolor=\"#CCCCCC\"><font class=\"FontDef\"><b>Date Available</b></font></td>\n";
		html_str_rent = html_str_rent + "<td width=\"60\" align=\"center\" bgcolor=\"#CCCCCC\"></td>\n</tr>\n\n";

		var html_str_sale = "<tr><td colspan=\"5\" align=\"center\"><font class=\"FontDef\"><b>&nbsp;<br>The properties for sale in the favorite list<br>&nbsp;</b></font></td></tr>\n";
		html_str_sale = html_str_sale + "<td width=\"50\" align=\"center\" bgcolor=\"#CCCCCC\"><font class=\"FontDef\"><b>ID</b></font></td>\n";
		html_str_sale = html_str_sale + "<td width=\"250\" align=\"center\" bgcolor=\"#CCCCCC\"><font class=\"FontDef\"><b>Address</b></font></td>\n";
		html_str_sale = html_str_sale + "<td width=\"100\" align=\"center\" bgcolor=\"#CCCCCC\"><font class=\"FontDef\"><b>Asking Price ($)</b></font></td>\n";
		html_str_sale = html_str_sale + "<td width=\"120\" align=\"center\" bgcolor=\"#CCCCCC\"><font class=\"FontDef\"><b>Open House Date</b></font></td>\n";
		html_str_sale = html_str_sale + "<td width=\"60\" align=\"center\" bgcolor=\"#CCCCCC\"></td>\n</tr>\n\n";

		var favListingsValue = readCookie("mount_favListings");

		var rent_count = 0;
		var sale_count = 0;

		if (favListingsValue != undefined)
		{
			var allEntries = favListingsValue.split(" ");
			var count = allEntries.length;
		}
		else
		{
			count = 0;
		}

		var total = 0;
		var i;
		for (i = 0; i < count; i++)
		{
			var currEntry = allEntries[i];
			
			if (currEntry != undefined)
			{
				var valueArray = currEntry.split("|");
				if (valueArray.length == 6)
				{
					total = total + 1;

					var valueArray = currEntry.split("|");
					var listingID = valueArray[0];
					var address = unescape(valueArray[1]);
					var urlString = valueArray[4];
					var flag = valueArray[5];

					if (flag == "1")
					{
						var rentFee = unescape(valueArray[2]);
						var availDate = unescape(valueArray[3]);

						if (availDate == null)
						{
							availDate = "N/A";
						}
						else 
						{
							if (availDate.length == 0)
								availDate = "N/A";
						}

						html_str_rent = html_str_rent + "<tr>\n";
						html_str_rent = html_str_rent + "<td width=\"50\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\"><a href=\"ViewRentListing.php?ListingID=" + listingID + "&URL=" + urlString + "\">" + listingID + "</a></td>\n";

						html_str_rent = html_str_rent + "<td width=\"250\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\">" + unescape(address) + "</td>\n";

						html_str_rent = html_str_rent + "<td width=\"100\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\">" + unescape(formatCurrency(rentFee)) + "</td>\n";

						html_str_rent = html_str_rent + "<td width=\"120\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\">" + unescape(availDate) + "</td>\n";

						html_str_rent = html_str_rent + "<td width=\"60\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\"><a href=\"javascript:delListing(" + listingID + ", 1)\">Delete</a></td>\n";
						html_str_rent = html_str_rent + "</tr>\n\n";

						rent_count = rent_count + 1
					}
					else if (flag == "2")
					{
						var askingPrice = unescape(valueArray[2]);
						var openHouse = unescape(valueArray[3]);

						if (openHouse == null)
						{
							openHouse = "N/A";
						}
						else 
						{
							if (openHouse.length == 0)
								openHouse = "N/A";
						}

						html_str_sale = html_str_sale + "<tr>\n";
						html_str_sale = html_str_sale + "<td width=\"50\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\"><a href=\"ViewSaleListing.php?ListingID=" + listingID + "&URL=" + urlString + "\">" + listingID + "</a></td>\n";

						html_str_sale = html_str_sale + "<td width=\"250\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\">" + unescape(address) + "</td>\n";

						html_str_sale = html_str_sale + "<td width=\"100\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\">" + unescape(formatCurrency(askingPrice)) + "</td>\n";

						html_str_sale = html_str_sale + "<td width=\"120\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\">" + unescape(openHouse) + "</td>\n";

						html_str_sale = html_str_sale + "<td width=\"60\" align=\"center\" bgcolor=\"#CCCCCC\" class=\"FontDef\"><a href=\"javascript:delListing(" + listingID + ", 2)\">Delete</a></td>\n";
						html_str_sale = html_str_sale + "</tr>\n\n";

						sale_count = sale_count + 1;
					}
				}
			}
		}

		if (total == 0)
		{
			html_str = html_str + "<tr><td align=\"center\"><font class=\"FontDef\" color=\"red\">No property in the favorite list</font></td></tr>\n";
			html_str = html_str + "</table>";
		}
		else	
		{
			if (rent_count == 0)
			{
				html_str = html_str + html_str_sale + "</table>";	
			}
			else if (sale_count == 0)
			{
				html_str = html_str + html_str_rent + "</table>";	
			}
			else
			{
				if (rent_count > sale_count)
					html_str = html_str + html_str_rent + "<tr><td colspan=\"5\"><br><br><br></td></tr>" + html_str_sale + "</table>";
				else
					html_str = html_str + html_str_sale + "<tr><td colspan=\"5\"><br><br><br></td></tr>" + html_str_rent + "</table>";	
			}				
		}

		objFavArea.innerHTML = html_str;
	}
	catch (err)
	{
	}
}


function handleSearchRentOver()
{
	try
	{
		var objSearchImg = createObject("SearchRentImg");
		objSearchImg.src = '/images/SearchRentHigh.png';
	}
	catch (err)
	{
	}
}


function handleSearchRentOut()
{
	try
	{
		var objSearchImg = createObject("SearchRentImg");
		objSearchImg.src = '/images/SearchRent.png';
	}
	catch (err)
	{
	}
}


function handleSearchSaleOver()
{
	try
	{
		var objSearchImg = createObject("SearchSaleImg");
		objSearchImg.src = '/images/SearchSaleHigh.png';
	}
	catch (err)
	{
	}
}


function handleSearchSaleOut()
{
	try
	{
		var objSearchImg = createObject("SearchSaleImg");
		objSearchImg.src = '/images/SearchSale.png';
	}
	catch (err)
	{
	}
}

function handleListOver()
{
	try
	{
		var objListImg = createObject("ListImg");
		objListImg.src = '/images/ListAPropertyHigh.png';
	}
	catch (err)
	{
	}
}


function handleListOut()
{
	try
	{
		var objListImg = createObject("ListImg");
		objListImg.src = '/images/ListAProperty.png';
	}
	catch (err)
	{
	}
}


function handleFAQOver()
{
	try
	{
		var objFAQImg = createObject("FAQImg");
		objFAQImg.src = '/images/FAQHigh.png';
	}
	catch (err)
	{
	}
}


function handleFAQOut()
{
	try
	{
		var objFAQImg = createObject("FAQImg");
		objFAQImg.src = '/images/FAQ.png';
	}
	catch (err)
	{
	}
}


function openGoogleMap(mapURL)
{
	try
	{
		openWindow(mapURL);
	}
	catch (err)
	{
	}
}


function redisplayComm()
{
	try
	{
		//return;

		var objTown = createObject("TownID");
		var objComm = createObject("CommID");
		var objTownCommMap = createObject("TownCommMap");
		var sel = objTown.selectedIndex;

		var townValue = objTown.options[sel].value;
		var townCommMap = objTownCommMap.value;
		var townCommArray = townCommMap.split("|");
		var arrayLen = townCommArray.length;

		if (arrayLen >= 1)
		{
			var commValue = - 1;
			var i;
			for (i = 0; i < arrayLen; i++)
			{
				var onePair = townCommArray[i];
				var oneList = onePair.split("_");
				var currTownValue = oneList[0];
				var currCommValue = oneList[1];
				if (currTownValue == townValue)
				{
					commValue = currCommValue;
					break;
				}
			}

			if (commValue > -1)
			{
				var origCount = objComm.options.length;	

				var objCommList = createObject("Comm" + commValue);
				if (objCommList != null)
				{
					var commList = objCommList.value;
					var commArray = commList.split("|");
					var newCount = commArray.length;

					
					if (origCount == 0)
					{
						pickTown(sel);
					}
				}
			}
			else
			{
				if (objComm != null)
				{
					objComm.options.length = 0;
					
					// remove all options
					while (objComm.options.length)
						objComm.options[0] = null;
						
					objComm.disable = true;
				}
			}
		}
		
	}
	catch (err)
	{
	}
}


function pickTown(sel) 
{
	try
	{
		var objTown = createObject("TownID");
		var objRegion = createObject("RegionID");
		var objComm = createObject("CommID");
		var objTownCommMap = createObject("TownCommMap");

		var townValue = objTown.options[sel].value;
		var townCommMap = objTownCommMap.value;
		var townCommArray = townCommMap.split("|");
		var arrayLen = townCommArray.length;

		if (arrayLen >= 1)
		{
			var commValue = - 1;
			var i;
			for (i = 0; i < arrayLen; i++)
			{
				var onePair = townCommArray[i];
				var oneList = onePair.split("_");
				var currTownValue = oneList[0];
				var currCommValue = oneList[1];
				if (currTownValue == townValue)
				{
					commValue = currCommValue;
					break;
				}
			}

			if (commValue == -1)
			{
				if (objComm != null)
				{
					objComm.options.length = 0;
					
					// remove all options
					while (objComm.options.length)
						objComm.options[0] = null;
						
					objComm.disable = true;
				}
			}
			else
			{
				objComm.disable = false;

				var objCommList = createObject("Comm" + commValue);
				if (objCommList != null)
				{
					// remove all options
					while (objComm.options.length)
						objComm.options[0] = null;

					var commList = objCommList.value;
					var commArray = commList.split("|");
					arrayLen = commArray.length / 2;
					for (i = 0; i < arrayLen; i++)
					{
						var option = document.createElement("option");   
						option.value = unescape(commArray[2 * i + 1]);   
						option.text = unescape(commArray[2 * i + 0]); 
						objComm.options[objComm.options.length] = option;  
					}
				}
			}
		}

		if (objRegion != null)
		{
			if (townValue == "10") 
			{	
				objRegion.disabled = false;
			}
			else { 
				objRegion.selectedIndex = 0;
				objRegion.disabled = true;
			}
		}
	}
	catch (err)
	{
	}
} 


function changeSortBy(sel) {
	try
	{
		var SearchURLString = document.getElementById('SearchURLString').value;
		var SortBy = sel + 1;
		window.location.href = SearchURLString + "&SortBy=" + SortBy;
	}
	catch (err)
	{
	}
} 


function UpdateImgTitle() {
	try
	{
		var objImgTitle = createObject("ImgTitle");
		var objImgCaption = createObject("ImgCaption");

		if (objImgCaption != null)
		{
			objImgTitle.value = objImgCaption.value;
		}
	}
	catch (err)
	{
	}
}


function handleIconImg(pos) {
	try
	{
		var objImgCount = createObject("II_Count");
		var img_count = objImgCount.value;

		if ((pos <= parseInt(img_count)) && (pos >= 1))
		{
			var objImg = createObject("II_Img_" + pos);
			var img_file = objImg.value;

			var objTitle = createObject("II_Title_" + pos);
			var img_title = objTitle.value;
			var new_title = "";
			
			if (img_title == null)
			{
				new_title = "&nbsp;"
			}
			else
			{
				if (img_title.length == 0)
					new_title = "&nbsp;";
				else
					new_title = img_title;	
			}
			
			//alert(img_file);

			var objMainImg = createObject('MainImage');
			objMainImg.src = img_file;

			var objImgCaption = createObject("ImgCaption");
			objImgCaption.innerHTML = "<font class=\"FontDef\">" + new_title + "</font>";
		}
	}
	catch (err)
	{
	}
}

