var map = null;
var geocoder = null;
	
function URLEncoder(str)
{
    var outSt = "";
    for(var c = 0;c < str.length;c++){
        var cCode = str.charCodeAt(c);
        if(((cCode > 47)&&(cCode < 58))||
            ((cCode > 64)&&(cCode < 91))||
            ((cCode > 96)&&(cCode < 123))){
            outSt += str.charAt(c);
        }else if(cCode == 32){
            outSt += "+";
        }else{
            var hex = cCode.toString(16);
            var len = hex.length;
            switch(len){
                case 0:
                    hex = "00";
                    break;
                case 1:
                    hex = "0"+hex;
                case 2:
                    break;
                defalt:
                    hex = hex.substring((len-2), len);
                    break;
            }
            outSt += "%"+hex;
        }
    }
    return outSt;
}

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_OpenDialogWindow(url, width, height)
{
	var x, y, hh, ww, vWin;
	x=(screen.availWidth - width)/2;
	y=(screen.availHeight - height)/2;		
	vWin = window.open(url,"","height="+height+",width="+width+",status=no,toolbar=no,menubar=no,location=no,resize=no,left=" + x + ", top=" + y);
	if (vWin!=null)
	{
		vWin.opener = self;
		vWin.focus();
	}	
}
function MM_OpenResWindow(url, width, height)
{
	var x, y, hh, ww, vWin;
	x=(screen.availWidth - width)/2;
	y=(screen.availHeight - height)/2;		
	vWin = window.open(url,"","height="+height+",width="+width+",status=no,scrollbars=yes,toolbar=no,menubar=yes,location=no,resizable=yes,left=" + x + ", top=" + y);
	if (vWin!=null)
	{
		vWin.opener = self;
		vWin.focus();
	}	
}
function EmailAgent()
{	
	var name = MM_findObj("txtName");
	var email = MM_findObj("txtEmail");
	var phone = MM_findObj("txtPhone");
	var msg = MM_findObj("txtMsg");
	if (name.value.length==0)
	{
		alert("Please Enter Your Name");
		return false;
	}	
	if (email.value.length==0 && phone.value.length==0)
	{
		alert("Please Enter Your email or Phone number");
		return false;
	}	
	if (msg.value.length==0)
	{
		alert("Please Enter Your Message");
		return false;
	}	
	return true;
}
function ShowImage(lId,imgId)
{
	var url = "Tools/SlideShow.aspx?ID=" + lId;
	if (imgId.length>0) url = url + "&IMG=" + URLEncoder(imgId);
	MM_OpenDialogWindow(url,780,650);
}
function PrintListing(lId)
{
	var url = "Property.aspx?ID=" + lId + "&PF=1";	
	MM_OpenResWindow(url,700,500);
}
function OpenMap(lat1,lon1,lat2,lon2,ico,zm,padd)
{
	var url = "Tools/MapNav.aspx?L1=" + lat1 + "&N1=" + lon1 + "&L2=" + lat2 + "&N2=" + lon2 + "&I=" + ico + "&Z=" + zm + "&P=" + URLEncoder(padd);
	MM_OpenDialogWindow(url,500,500);
}
function OpenFloorplan(id)
{
	var url = "Tools/Floorplan.aspx?ID=" + id;
	MM_OpenDialogWindow(url,750,540);
}
function AddShortList(lId)
{
	var ifs = MM_findObj("ifShortlist");
	var url;
	if (ifs)
	{
		if (window.shortlistCount)
		{
			if (window.shortlistCount>=20)
			{
				alert("Your Shortlist is full. You can have maximum 20 Property in your list.\r\nPlease goto Shortlist Management to remove items from your Shortlist");
				return;
			}
		}
		url = "Tools/Minilist.aspx?OP=1&ID=" + lId;
		ifs.src = url;
	}
	else
	{
		url = "Tools/AddToShortlist.aspx?OP=1&ID=" + lId;
		MM_OpenDialogWindow(url,200,40);
	}
}
function EmailListing(lId)
{
	var url;
	url = "Tools/EmailToFriend.aspx?ID=" + lId;
	MM_OpenDialogWindow(url,500,270);
}
//google maps
function initlisting() 
{
    if (GBrowserIsCompatible()) 
	{
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		geocoder = new GClientGeocoder();
		showAddress();
    }
}
function showAddress() 
{
    if (geocoder) 
	{
		if (address)
		{
			if (address!="")
			{
				geocoder.getLatLng(address,
											function(point) 
											{
												if (!point) 
												{
													showCityCenter();
												}
												else
												{
													map.setCenter(point, 13);
													map.setZoom(16);			  
													var marker = new GMarker(point);
													map.addOverlay(marker); 			
												}
											}
				);
			}
			else showCityCenter();			
		}
		else showCityCenter();
    }
}

function showCityCenter() 
{
    if (geocoder) 
	{
    geocoder.getLatLng(
        cityCenter,
        function(point) 
		{
        if (!point) 
		{
            document.getElementById("map").style.visibility = "hidden";
        }
		else
		{
			var lbl = document.getElementById("suburbMap");
			if (lbl) lbl.innerText = "Map of Suburb";
            map.setCenter(point, 13);                           
        }
        }
    );
    }
}
