
function findPos(obj) {
	var curleft = curtop = 0;
  var x = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
      //alert(obj.id);
     // if(obj.id=="mainmenu") x="mainmenu";
     // if(x!=0) {
      //  alert(curleft);
  			curleft += obj.offsetLeft
  			curtop += obj.offsetTop
     // }
		}
	}
	return [curleft,curtop];
}
function doDrop(which,posEl) {
  var pos=findPos(posEl);
  frEl = document.getElementById(which);
  frEl.style.left = (pos[0]+20)+"px";
  frEl.style.top = (pos[1]+10)+"px";
  frEl.style.display = "block";
}

function noDrop(which){
  frEl = document.getElementById(which);
  frEl.style.display = "none";
}

function doDisplay(which){
  noDis = new Array("detPhone","detFax","detReply","detEmail");
  for(i=0;i<noDis.length;i++){
    if(document.getElementById(noDis[i]))
      document.getElementById(noDis[i]).style.display='none';
  }
  document.getElementById(which).style.display='block';
}

function createMarker(point, winText, maxContent, maxTitle, status) {

	
	var icon = new GIcon();
	
	if (status == 'sale'){
    	icon.image = "forsale.png";
    	
    }else if(status == 'rent'){
    	icon.image = "forrent.png";
    }else{
    	icon.image = "vacation.png";
	}
    	icon.shadow = "shadow-forsale.png";
    	icon.iconSize = new GSize(41.0, 47.0);
    	icon.shadowSize = new GSize(65.0, 47.0);
    	icon.iconAnchor = new GPoint(34.0, 47.0);
    	icon.infoWindowAnchor = new GPoint(20.0, 23.0);
    	
	var marker = new GMarker(point,icon);        

        GEvent.addListener(marker, 'mouseover', function() {
          marker.openInfoWindowHtml(winText,
            {maxContent: maxContent,
             maxTitle: maxTitle});
        });

        var contentNode = document.createElement('div');
        contentNode.innerHTML = maxContent;
        var titleNode = document.createElement('div');
        titleNode.innerHTML = maxTitle;
       
        GEvent.addListener(map, 'click', function(overlay, latlng) {
          if (latlng) {
            map.openInfoWindowHtml(latlng, winText, {
              maxContent: contentNode,
              maxTitle: titleNode
            });
          }
        });
        
        return marker;
      }

  


// Read a page's GET URL variables and return them as an associative array.

function getUrlVars(url){

	var vars = [], hash;
	var hashes = url.slice(url.indexOf('?') + 1).split('&');

	for(var i = 0; i < hashes.length; i++)
	{
		hash = hashes[i].split('=');
		vars.push(hash[0]);
		vars[hash[0]] = hash[1];
	}

	return vars;

}

    
    function getMarks(url) { /* pass url during the call. */
      
	map.closeInfoWindow(); /*close any InfoWindows that happen to be open  */
	map.clearOverlays();
	
	var urlVars = new Array();
	urlVars = url.split('=');
	var status = urlVars[1];
	
	if (status == 'sale'){
		var tabelnummer = "";	    	
	    }else if(status == 'rent'){
		var tabelnummer = "41";	    	
	    }else{
		var tabelnummer = "42";	    	
	}

  	var request = GXmlHttp.create(); /* use the XML methods  */
    	request.open("GET", url, true);
    	request.onreadystatechange = function() {
     		if (request.readyState == 4) {	
			var xmlDoc = request.responseXML; /* php returns 'XML' */
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			var features = xmlDoc.documentElement.getElementsByTagName("feature");
    
				for (var loop1=0;loop1<markers.length;loop1++){
					var lat = parseFloat(markers[loop1].getAttribute("lat"));  /* data is string. */
					var lng = parseFloat(markers[loop1].getAttribute("lng")); 
					var point = new GLatLng(lat,lng);
					var html = markers[loop1].getAttribute("html");
					var label = markers[loop1].getAttribute("label");
					var stateCode = markers[loop1].getAttribute("short");
					var winText ='';
					var browseList ='';
					var zoomInOnSate ='';
					
					browseList += 'http://www.houserentals.us/browse.php?reqFrom=map&SortCol=City&SortBy=desc&fatherID=';
					browseList += tabelnummer;
					browseList += '&State/Province=';
					browseList += stateCode;
					
					//zoomInOnSate = 'javascript:getZoomMarks(\'' + status + '\',\'' + stateCode + '\');';
          zoomInOnSate = 'index.php?type='+status+'&state='+stateCode;
					
					winText += '<a id="blabla" href="';
					winText += browseList; //browse.php
					winText += '">Browse</a> all the <strong>';
					winText += html;
					winText += '</strong> properties we<br> have available in the state of<strong><br>';
					winText += label;
					winText += ' </strong>or locate them by <a id="blabla" href="';
					winText += zoomInOnSate; //zoomInOnSate
					winText += '">map</a>.<br/> Expand [<img src="http://houserentals.us/images/maximise.gif" border="0" align="absmiddle">] to see our <strong><br>Featured Properties<br>in ';
					winText += label;
					winText += '</strong>';
						
					var featureTables = "";
					var featureCount = 0;
					var maxContent = "";
					var maxTitle = "";
					
					var imgUrl= 'admin/photos/uploads/mini/mini_';
					
					for (var loop2=0;loop2<features.length;loop2++){
						var propID = features[loop2].getAttribute("ID");
						var state = features[loop2].getAttribute("State"); 
						var city = features[loop2].getAttribute("City");
						var rent = features[loop2].getAttribute("Rent");
						var zip = features[loop2].getAttribute("Zip"); 
						var beds = features[loop2].getAttribute("Beds");
						var image = features[loop2].getAttribute("Image");
						
						if(state == label){
							
featureTables +='<table border="0" cellpadding="0" cellspacing="1" class="searchImageCopy"><tr><td><strong>';
featureTables += city;
featureTables += '</strong></td></tr><tr><td><a href="http://www.houserentals.us/detail.php?ListingID=';
featureTables += propID;
featureTables += '&TypeID=';
featureTables += tabelnummer;
featureTables += '"><img src="';
featureTables += imgUrl;
featureTables += image;
featureTables += '" width="115" class="searchImageCopy"></a></td></tr>';
featureTables += '<tr><td align="left"><strong>';
featureTables += beds;
featureTables += '</strong> Bedroom(s)<br>USD <strong>';
featureTables += rent;
featureTables += ',-</strong> pm</td></tr></table>';
    							
    							featureCount++;
    						}
    						
					}
					
					if (featureCount == 0){
					
					        maxContent = "Be the first to get featured in " + label + "!";
					        maxTitle = "No special featured properties available in " + label;
					
					}else{
					
						maxContent = featureTables;
						maxTitle = "Special featured properties in " + label;					
					
     					}
     					
					var marker = createMarker(point, winText, maxContent, maxTitle, status);

					map.addControl(new GSmallMapControl());
					map.addControl(new GMapTypeControl());
					//map.addControl(new GOverviewMapControl());
					map.addOverlay(marker);
					
				}
			}
		};
	request.send(null);
}
	 

function changeTabTitle(){

	var inactiveTabTitle = document.getElementById('non_active_form');
	var activeTabTitle = document.getElementById('active_form');
	var longTermForm = document.getElementById('qfind_longterm');
	var shortTermForm = document.getElementById('qfind_shortterm');
	
	if (inactiveTabTitle.firstChild.data == 'vacation'){
	inactiveTabTitle.firstChild.data = 'long-term';
	activeTabTitle.firstChild.data = 'vacation';
	shortTermForm.style.display = 'block';
	longTermForm.style.display = 'none';

	}else{
	inactiveTabTitle.firstChild.data = 'vacation';
	activeTabTitle.firstChild.data = 'long-term';
	shortTermForm.style.display = 'none';
	longTermForm.style.display = 'block';
	}
	
}


// algemene Ajax functie

var req = createXMLHttpRequest();

function createXMLHttpRequest() {
 var ua;
 if(window.XMLHttpRequest) {
 try {
  ua = new XMLHttpRequest();
 } catch(e) {
  ua = false;
 }
 } else if(window.ActiveXObject) {
  try {
	ua = new ActiveXObject('Microsoft.XMLHTTP');
  } catch(e) {
	ua = false;
  }
 }
return ua;
}

function sendRequest(file, action, id) {

 var ac = action;
 var rnd982g = Math.random();
 var str = '';
 
 str += 'month=' + document.getElementById('month').options[document.getElementById('month').selectedIndex].value + '&';
 str += 'day=' + document.getElementById('day').options[document.getElementById('day').selectedIndex].value + '&';
 str += 'year=' + document.getElementById('year').options[document.getElementById('year').selectedIndex].value + '&';
 str += 'month_to=' + document.getElementById('month_to').options[document.getElementById('month_to').selectedIndex].value + '&';
 str += 'day_to=' + document.getElementById('day_to').options[document.getElementById('day_to').selectedIndex].value + '&';
 str += 'year_to=' + document.getElementById('year_to').options[ document.getElementById('year_to').selectedIndex].value;
 
 var url = file + '?' + str + '&ac=' + ac + '&id=' + id + '&rnd982g=' + rnd982g;
 //alert(url);
  req.open('GET', url);
  req.onreadystatechange = handleResponse;
  req.send(null);
}

function handleResponse() {
 if(req.readyState == 4){
  var response = req.responseText;
  document.getElementById("results").innerHTML = response;
 }else{
  var response = req.responseText;
  document.getElementById("results").innerHTML = '<img src="images/ajax-loader.gif">';
 }
}	

var url = "getCityState.php?param=";  

function handleZipResponse() { 
	if (req.readyState == 4) {   
		results = req.responseText.split(","); 
		document.getElementById('City').value = results[0]; 
		//document.getElementById('State/Province').value = results[1]; 
    for(i=0;i<=document.theForm.elements.length;i++){
      //alert(document.theForm.elements[i].name);
      if(document.theForm.elements[i].name && document.theForm.elements[i].name.substr(0,5)=="State"){
        //alert(document.theForm.elements[i].name);
        document.theForm.elements[i].value = results[1]; 
      }
    }
	} 
}

function updateCityState() {
	
	var zipValue = document.getElementById('Zip/Postal').value; 
  var url = "getCityState.php?param="; 
	req.open("GET", url + escape(zipValue), true); 
	req.onreadystatechange = handleZipResponse;
	req.send(null);

 }
 
function zoomState(type,state) {

	if (GBrowserIsCompatible()) {
	
		var map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(39,-100),4);
		var url = 'cgi-bin/zoomstate.pl?type=' + type + '&state=' + state;
				
		//getZoomMarks(url);  //call function that retrieves the default marks
    getZoomMarks(type,state);  //call function that retrieves the default marks
		
	}else{
		
		alert("Sorry, the Google Maps API is not compatible with this browser");
	}
	
}

function getZoomMarks(status,state) { /* pass url during the call. */
      
	document.getElementById("backbut").style.display = "block";
  
	var map = new GMap2(document.getElementById("map"));
	map.closeInfoWindow(); /*close any InfoWindows that happen to be open  */
	map.clearOverlays();
	map.setCenter(new GLatLng(39,-100),4);
	var url = 'cgi-bin/zoomstate.pl?type=' + status + '&state=' + state;
	var bounds = new GLatLngBounds();
					
	
	// var urlVars = new Array();
	// urlVars = url.split('=');
	// var status = urlVars[1];
	
	if (status == 'sale'){
		var tabelnummer = "";	    	
	    }else if(status == 'rent'){
		var tabelnummer = "41";	    	
	    }else{
		var tabelnummer = "42";	    	
	}

  	var request = GXmlHttp.create(); /* use the XML methods  */
    	request.open("GET", url, true);
    	request.onreadystatechange = function() {
     		if (request.readyState == 4) {	
			var xmlDoc = request.responseXML; /* php returns 'XML' */
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			var features = xmlDoc.documentElement.getElementsByTagName("feature");
    
				for (var loop1=0;loop1<markers.length;loop1++){
					var lat = parseFloat(markers[loop1].getAttribute("lat"));  /* data is string. */
					var lng = parseFloat(markers[loop1].getAttribute("lng")); 
					var point = new GLatLng(lat,lng);
					var html = markers[loop1].getAttribute("html");
					var city = markers[loop1].getAttribute("city");
					var winText ='';
					var browseList ='';
					var zoomInOnSate ='';
					
					browseList += 'http://www.houserentals.us/browse.php?SortCol=City&reqFrom=map&SortBy=desc&fatherID=';
					browseList += tabelnummer;
					browseList += '&State/Province=';
					browseList += state;
					browseList += '&city=';
					browseList += city;
					
					zoomInOnCity = 'javascript:zoomState2(\'' + status + '\',\'' + state + '\',\'' + city + '\');';
					
					winText += '<a id="blabla" href="';
					winText += browseList; //browse.php
					winText += '">Browse</a> all the <strong>';
					winText += html;
					winText += '</strong> properties we<br> have available in the city of<strong><br>';
					winText += city;
					winText += ' </strong> or locate them by <a id="blabla" href="';
					winText += zoomInOnCity; //zoomInOnSate
					winText += '">map</a>.';
          winText += '<br/> Expand [<img src="http://houserentals.us/images/maximise.gif" border="0" align="absmiddle">] to see our <strong><br>Featured Properties<br>in ';
					winText += city;
					winText += '</strong>';
						
					var featureTables = "";
					var featureCount = 0;
					var maxContent = "";
					var maxTitle = "";
					
					var imgUrl= 'admin/photos/uploads/mini/mini_';
					
					for (var loop2=0;loop2<features.length;loop2++){
						var propID = features[loop2].getAttribute("ID");
						var featuredState = features[loop2].getAttribute("State"); 
						var city = features[loop2].getAttribute("City");
						var rent = features[loop2].getAttribute("Rent");
						var zip = features[loop2].getAttribute("Zip"); 
						var beds = features[loop2].getAttribute("Beds");
						var image = features[loop2].getAttribute("Image");
						
						if(state == featuredState){
							
						featureTables +='<table border="0" cellpadding="0" cellspacing="1" class="searchImageCopy"><tr><td><strong>';
						featureTables += city;
						featureTables += '</strong></td></tr><tr><td><a href="http://www.houserentals.us/detail.php?ListingID=';
						featureTables += propID;
						featureTables += '&TypeID=';
						featureTables += tabelnummer;
						featureTables += '"><img src="';
						featureTables += imgUrl;
						featureTables += image;
						featureTables += '" width="115" class="searchImageCopy"></a></td></tr>';
						featureTables += '<tr><td align="left"><strong>';
						featureTables += beds;
						featureTables += '</strong> Bedroom(s)<br>USD <strong>';
						featureTables += rent;
						featureTables += ',-</strong> pm</td></tr></table>';
    							
    							featureCount++;
    						}
    						
					}
					
					if (featureCount == 0){
					
					        maxContent = "Be the first to get featured in " + city + "!";
					        maxTitle = "No special featured properties available in " + city;
					
					}else{
					
						maxContent = featureTables;
						maxTitle = "Special featured properties in " + city;					
					
     					}
     					
					var marker = createMarker(point, winText, maxContent, maxTitle, status);

					map.addControl(new GSmallMapControl());
					map.addControl(new GMapTypeControl());
					//map.addControl(new GOverviewMapControl());
					map.addOverlay(marker);
					
					bounds.extend(point);
					
				}
			        map.setZoom(map.getBoundsZoomLevel(bounds));
			        map.setCenter(bounds.getCenter());
			}
		};
	request.send(null);
}

function zoomState2(type,state,city) {

	if (GBrowserIsCompatible()) {
	
		var map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(39,-100),4);
		var url = 'cgi-bin/zoomstate2.pl?type=' + type + '&state=' + state + '&city=' + city;
				
		//getZoomMarks(url);  //call function that retrieves the default marks
    getZoomMarks2(type,state,city);  //call function that retrieves the default marks
		
	}else{
		
		alert("Sorry, the Google Maps API is not compatible with this browser");
	}
	
}

function getZoomMarks2(status,state,city) { /* pass url during the call. */
      
	
	var map = new GMap2(document.getElementById("map"));
	map.closeInfoWindow(); /*close any InfoWindows that happen to be open  */
	map.clearOverlays();
	map.setCenter(new GLatLng(39,-100),4);
	var url = 'cgi-bin/zoomstate2.pl?type=' + status + '&state=' + state + '&city=' + city;
	var bounds = new GLatLngBounds();
					
	
	// var urlVars = new Array();
	// urlVars = url.split('=');
	// var status = urlVars[1];
	
	if (status == 'sale'){
		var tabelnummer = "";	    	
	    }else if(status == 'rent'){
		var tabelnummer = "41";	    	
	    }else{
		var tabelnummer = "42";	    	
	}

  	var request = GXmlHttp.create(); /* use the XML methods  */
    	request.open("GET", url, true);
    	request.onreadystatechange = function() {
     		if (request.readyState == 4) {	
			var xmlDoc = request.responseXML; /* php returns 'XML' */
			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			var features = xmlDoc.documentElement.getElementsByTagName("feature");
    
				for (var loop1=0;loop1<markers.length;loop1++){
					var lat = parseFloat(markers[loop1].getAttribute("lat"));  /* data is string. */
					var lng = parseFloat(markers[loop1].getAttribute("lng")); 
					var point = new GLatLng(lat,lng);
					var html = markers[loop1].getAttribute("html");
					var city = markers[loop1].getAttribute("city");
					var winText ='';
					var browseList ='';
					var zoomInOnSate ='';
					
					browseList += 'http://www.houserentals.us/browse.php?SortCol=City&reqFrom=map&SortBy=desc&fatherID=';
					browseList += tabelnummer;
					browseList += '&State/Province=';
					browseList += state;
					browseList += '&city=';
					browseList += city;
					
					zoomInOnCity = 'javascript:zoomState2(\'' + status + '\',\'' + state + '\',\'' + city + '\');';
					
					winText += '<a id="blabla" href="';
					winText += browseList; //browse.php
					winText += '">Browse</a> all the <strong>';
					winText += html;
					winText += '</strong> properties we<br> have available in the city of<strong><br>';
					winText += city;
					winText += ' </strong> or locate them by <a id="blabla" href="';
					winText += zoomInOnCity; //zoomInOnSate
					winText += '">map</a>.';
          winText += '<br/> Expand [<img src="http://houserentals.us/images/maximise.gif" border="0" align="absmiddle">] to see our <strong><br>Featured Properties<br>in ';
					winText += city;
					winText += '</strong>';
						
					var featureTables = "";
					var featureCount = 0;
					var maxContent = "";
					var maxTitle = "";
					
					var imgUrl= 'admin/photos/uploads/mini/mini_';
					
					for (var loop2=0;loop2<features.length;loop2++){
						var propID = features[loop2].getAttribute("ID");
						var featuredState = features[loop2].getAttribute("State"); 
						var city = features[loop2].getAttribute("City");
						var rent = features[loop2].getAttribute("Rent");
						var zip = features[loop2].getAttribute("Zip"); 
						var beds = features[loop2].getAttribute("Beds");
						var image = features[loop2].getAttribute("Image");
						
						if(state == featuredState){
							
						featureTables +='<table border="0" cellpadding="0" cellspacing="1" class="searchImageCopy"><tr><td><strong>';
						featureTables += city;
						featureTables += '</strong></td></tr><tr><td><a href="http://www.houserentals.us/detail.php?ListingID=';
						featureTables += propID;
						featureTables += '&TypeID=';
						featureTables += tabelnummer;
						featureTables += '"><img src="';
						featureTables += imgUrl;
						featureTables += image;
						featureTables += '" width="115" class="searchImageCopy"></a></td></tr>';
						featureTables += '<tr><td align="left"><strong>';
						featureTables += beds;
						featureTables += '</strong> Bedroom(s)<br>USD <strong>';
						featureTables += rent;
						featureTables += ',-</strong> pm</td></tr></table>';
    							
    							featureCount++;
    						}
    						
					}
					
					if (featureCount == 0){
					
					        maxContent = "Be the first to get featured in " + city + "!";
					        maxTitle = "No special featured properties available in " + city;
					
					}else{
					
						maxContent = featureTables;
						maxTitle = "Special featured properties in " + city;					
					
     					}
     					
					var marker = createMarker(point, winText, maxContent, maxTitle, status);

					map.addControl(new GSmallMapControl());
					map.addControl(new GMapTypeControl());
					//map.addControl(new GOverviewMapControl());
					map.addOverlay(marker);
					
					bounds.extend(point);
					
				}
			        map.setZoom(map.getBoundsZoomLevel(bounds));
			        map.setCenter(bounds.getCenter());
			}
		};
	request.send(null);
}