// JavaScript Document

function goPic(goval) {
	pl = picJSArray.length;
	if (goval + picJScurrent < 0) picJScurrent = picJSArray.length;
	picJScurrent = ((goval + picJScurrent) % pl);
	MM_findObj('picindicator').innerHTML = picJScurrent + 1;
	//var picJSnext = (picJScurrent + 1 % pl);
	//var picJSprev = (picJScurrent - 1 % pl);
	return picJSArray[picJScurrent]; 
}
function setPic(thenewcurrent){ 
	picJScurrent = thenewcurrent; 
	MM_findObj('picindicator').innerHTML = picJScurrent + 1;
}
 function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

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_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 MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}

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;
}
    //<![CDATA[	
	/* resources 
		GEOCODING!! http://code.google.com/apis/maps/documentation/services.html
		GGeoXml: http://code.google.com/apis/maps/documentation/services.html
		GGeoXml javascript problem: http://groups.google.co.bw/group/Google-Maps-API/browse_thread/thread/01d30d401cb2a273
		http://econym.googlepages.com/gevent.htm
		http://code.google.com/apis/maps/documentation/reference.html
		http://www.columbia.edu/~nlevitt/googlemaps-gwt/doc/index.html?com/mapitz/gwt/googleMaps/client/GMap2.html
	*/   
	
	request = false;
	function loadXMLDoc(url) {
		$.ajax({
			type: "GET",
			url: url,
			dataType: "xml",
			success: parseXml
		}); 
	}
	function createMarker(point, thehtml, thecount) {
//		var brownIcon = new GIcon();
//		brownIcon.image = 'http://labs.google.com/ridefinder/images/mm_20_brown.png';  
//		brownIcon.iconSize = new GSize(20, 34);
//		brownIcon.iconAnchor = point;
//		var marker = new GMarker(point, {icon:brownIcon});
		var marker = new GMarker(point);
		marker.thehtml = thehtml;
		gmarkers[thecount] = marker;
		GEvent.addListener(marker, "click", function() { 
			refreshit = false;
			marker.openInfoWindowHtml(thehtml); 
		});
		return marker;
	}
	
	function parseXml(xml) {
	  //find every Tutorial and print the author
	  var thecount = 0;
	  var countlist = '';
	  gmarkers = new Array();
	  var totallistings = $(xml).find("listcount").text();
	  var startnum = $(xml).find("startnum").text(); 
	  $(xml).find("item").each(function() { 
		thecount++;
		thetitle = $(this).find("title").text();
		thelink = $(this).find("link").text();
		theprice = $(this).find("price").text();
		thepic = $(this).find("pic").text();
		theltid = $(this).find("ltid").text(); 
		beds = $(this).find("bed").text();
		baths = $(this).find("bath").text();
		if (beds != '' && baths != '' && beds != '0' && baths != '0') showbb = true; else showbb = false;
		//thesearch = $(this).find("search").text(); 
		//thedesc = $(this).find("description").text(); 
		thedesc = '<table width="150" border="0" cellspacing="0" cellpadding="0" align="center">' + 
		'  <tr>' + 
		'	<td><img src="spacer.gif" width="1" height="150" /></td>' + 
		'	<td align="center"  style="font-family:Arial, sans-serif; font-size:12px; font-weight:bold;">' + theprice + '' + 
		'		' + ((showbb)?'(' + beds + '/' + baths + ')':'') + 
		'		#' + theltid + 
		'		<br />' + 
		'		<a href="#" onclick="$.fn.colorbox({href:\'listgmap.php?LTID=' + theltid + '\', scrolling:false, opacity:.75}); return false;"><img SRC="pictures/' + thepic + '" border="0"></a><br />' + 
		'		<a href="#" onclick="$.fn.colorbox({href:\'listgmap.php?LTID=' + theltid + '\', scrolling:false, opacity:.75}); return false;">MORE INFO ' + theltid + '</a>' +  
		'		<br />' + 
		'	</td>' + 
		'  </tr>' + 
		'</table>';
		thelat = $(this).find("lat").text(); 
		thelong = $(this).find("long").text();  
		countlist += '<div style="cursor:pointer; padding:1px;" onmouseover="this.style.background=\'#CCCCCC\';" onmouseout="this.style.background=\'\';" onClick="refreshit = false; gmarkers[' + thecount + '].openInfoWindowHtml(gmarkers[' + thecount + '].thehtml);">' + thetitle + ' ' + theprice + '</div>'; 
		//alert(thelat + ' ' + thelong);
		point = new GLatLng(thelat,thelong);
		cm = createMarker(point, thedesc, thecount);
		map.addOverlay(cm); 
	  }); 
	  if (thecount > 0) {
		  	MM_findObj('countdiv').innerHTML = '<div style="background-color:#C0C6D3; text-align:center; width=100%;"> ';
			if (Number(startnum) != 0) MM_findObj('countdiv').innerHTML += '<a href="javascript:;" onClick="refreshmap(map, 0);"><<</a> ';
			else MM_findObj('countdiv').innerHTML += '<< ';
			MM_findObj('countdiv').innerHTML += ' ' + (Number(startnum)+1) + ' to ' + (Number(startnum)+Number(thecount)) + ' of ' + totallistings + ' ';
			if (Number(startnum)+30 < totallistings) MM_findObj('countdiv').innerHTML += '<a href="javascript:;" onClick="refreshmap(map, ' + (Number(startnum)+30) + ');">>></a> ';
			else MM_findObj('countdiv').innerHTML += '>> ';
			MM_findObj('countdiv').innerHTML += '</div><hr>';
		  	MM_findObj('countdiv').innerHTML += '';
	  		MM_findObj('countdiv').innerHTML += countlist;
	  } else { 
		  	MM_findObj('countdiv').innerHTML = '<div style="background-color:#C0C6D3;">Empty search.</div>';
	  }
	  //MM_findObj('countdiv').innerHTML += "<br>" + thesearch;
	} 
	
	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 refreshmap (map, startnum) {
		MM_findObj('countdiv').innerHTML = 'loading...';
	    map.clearOverlays();
		MM_findObj('refreshbutton').value = 'loading...';
		bounds = map.getBounds();
		southWest = bounds.getSouthWest(); // var lngSpan = northEast.lng() - southWest.lng();
		northEast = bounds.getNorthEast(); // var latSpan = northEast.lat() - southWest.lat(); 
		bam = 	"http://www.nwwaterfrontrealestate.com/googleRgMp.php?lat1=" + southWest.lat() + "&lat2=" + northEast.lat() + "&long1=" + northEast.lng() + 
				"&long2=" +  southWest.lng() + "&fp=" + MM_findObj('fromprice').value + "&tp=" + MM_findObj('toprice').value + "&sn=" + startnum + "&ty=" + listtype; 
		//prompt('',bam);
		loadXMLDoc(bam); 
		MM_findObj('refreshbutton').value = 'refresh'; 
	}
	
	function checkEnter(e){ //e is event object passed from function invocation
		var characterCode;  //literal character code will be stored in this variable 
		if(e && e.which){ //if which property of event object is supported (NN4)
			e = e;
			characterCode = e.which; //character code is contained in NN4's which property
		} else {
			e = event;
			characterCode = e.keyCode; //character code is contained in IE's keyCode property
		} 
		if(characterCode == 13){ //if character code is equal to ascii 13 (if enter key)
			refreshmap(map, 0); //return false to the event handler
		} else {
			return true; //return true to the event handler
		} 
	}
	function include(lyr,url) {
// http://www.experts-exchange.com/Web/Web_Languages/HTML/Q_21001291.html
   if (document.all) {
	  // IE version
	  try {
		  var xml = new ActiveXObject("Microsoft.XMLHTTP");
		  // some versions of IE4 and some IE5.0) might be using MSXML2.XMLHTTP.4.0
		  xml.Open( "GET", url, false );
		  xml.Send();
		  document.getElementById(lyr).innerHTML=xml.responseText;
		  //MM_findObj('debugShow').value = xml.responseText;
	   } catch (e) {
		  var xml = new ActiveXObject("MSXML2.XMLHTTP.4.0");
		  xml.Open( "GET", url, false );
		  xml.Send();
		  document.getElementById(lyr).innerHTML=xml.responseText;
	  }
   } else {
		// Mozilla/Netscrap 6+ version
		var xml=new XMLHttpRequest();
		xml.open("GET",url,false);
		xml.send(null);
		document.getElementById(lyr).innerHTML=xml.responseText;
   }
	//window.setTimeout("addImg()",1);
}
