// JavaScript Document
var param_useSidebar = true;
var defaultState = 1;
var intervalID=0;
var defaultRegion = 1;

var defaultSubRegion1 = 0;
var gmarkers = [];
var glmarkers = [];
var totalmarker = [];
var iconBlue = new GIcon(); 
var showBalloon = true;
iconBlue.transparent="images/pin.png";
iconBlue.iconSize = new GSize(18, 37);
iconBlue.iconAnchor = new GPoint(10, 37);
iconBlue.infoWindowAnchor = new GPoint(10,-6);

var iconFeatured = new GIcon(); 
iconFeatured.transparent="images/pin_featured.png";
iconFeatured.iconSize = new GSize(14, 25);
iconFeatured.iconAnchor = new GPoint(10, 32);
iconFeatured.infoWindowAnchor = new GPoint(-93,-224);

var iconGreen = new GIcon(); 
iconGreen.transparent="images/pin_green.png";
iconGreen.iconSize = new GSize(14, 25);
iconGreen.iconAnchor = new GPoint(10, 32);
iconGreen.infoWindowAnchor = new GPoint(8,-6);

var iconNBHGreen = new GIcon(); 
iconNBHGreen.transparent="images/nei_cluster_green.png";
iconNBHGreen.iconSize = new GSize(32,32);
iconNBHGreen.iconAnchor = new GPoint(10, 32);
iconNBHGreen.infoWindowAnchor = new GPoint(16,-6);

var iconNBHGreenTrans = new GIcon(); 
iconNBHGreenTrans.transparent="images/nei_cluster_green_guest.png";
iconNBHGreenTrans.iconSize = new GSize(32,32);
iconNBHGreenTrans.iconAnchor = new GPoint(10, 32);
iconNBHGreenTrans.infoWindowAnchor = new GPoint(16,-6);

var iconRed = new GIcon(); 
iconRed.transparent="images/pin_red.png";
iconRed.iconSize = new GSize(14, 25);
iconRed.iconAnchor = new GPoint(10, 32);
iconRed.infoWindowAnchor = new GPoint(8,-6);

var iconNBHRed = new GIcon(); 
iconNBHRed.transparent="images/nei_cluster_red.png";
iconNBHRed.iconSize = new GSize(32,32);
iconNBHRed.iconAnchor = new GPoint(10, 32);
iconNBHRed.infoWindowAnchor = new GPoint(16,-6);

var iconNBHRedTrans = new GIcon(); 
iconNBHRedTrans.transparent="images/nei_cluster_red_guest.png";
iconNBHRedTrans.iconSize = new GSize(32,32);
iconNBHRedTrans.iconAnchor = new GPoint(10, 32);
iconNBHRedTrans.infoWindowAnchor = new GPoint(16,-6);

var iconOrange = new GIcon(); 
iconOrange.transparent="images/pin_orange.png";
iconOrange.iconSize = new GSize(14, 25);
iconOrange.iconAnchor = new GPoint(10, 32);
iconOrange.infoWindowAnchor = new GPoint(8,-6);

var iconNBHOrange = new GIcon(); 
iconNBHOrange.transparent="images/nei_cluster_orange.png";
iconNBHOrange.iconSize = new GSize(32,32);
iconNBHOrange.iconAnchor = new GPoint(10, 32);
iconNBHOrange.infoWindowAnchor = new GPoint(16,-4.5);
var labels=[];
var customIcons = [];
 
 function lorderOfCreation(marker,b) {
        return -900000000;
      }
 function horderOfCreation(marker,b) {
        return GOverlay.getZIndex(marker.getPoint().lat());
      }


function GmapMarker(gsmap){
	
 if (GBrowserIsCompatible()) {
			GEvent.addListener(gsmap, "dblclick", function() {
				gsmap.removeControl(mapTypeControl);
				gsmap.addControl(new GMapTypeControl(), bottomRight);
            });

      
			GEvent.addListener(gsmap, "zoomend", function() {
				gsmap.clearOverlays();
				zoomLevel = gsmap.getZoom();
				if(lastTab=="developer")
				rewriteMapNewDev();
				else
				rewriteMap();
			});

      }
      
      

}

function checkForm ()
{
	error = "";
	if (checkMail(document.getElementById("email").value) == false)
		error += "+ Please, enter a valid email address.\n";
	if (error == "")
		return true;
	alert(error);
	return false;
	
}


function checkMail(x)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x))
		return true;
	return false;
}

function whitespaces(string)
{
	var temp = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	temp += splitstring[i];
	return temp;
}


function createMarkerClickHandler(marker, html){
		return function(){
			//if(showBalloon == true)
			gsmap.panTo(marker.getLatLng());
			marker.openExtInfoWindow(gsmap, "simple_example_window",html, {beakOffset:3}); 
if(intervalID!=0)
		clearInterval(intervalID);
			
        	//window.setTimeout(function(){marker.openInfoWindowHtml(html)},1000); 
			return false;
		};
}
function createMarkerMOverHandler(marker, html){
		return function(){
			if(showBalloon == true)
			//gsmap.panTo(marker.getLatLng());
			marker.openExtInfoWindow(gsmap, "simple_example_window",html, {beakOffset:3}); 
			return false;
		};
}

function markerCallFuncDirect(nid,type,lat,lng) {
	//alert(type);
	if(document.getElementById('login_checker').value=='0' && type != "developer"){
		if(parseInt($("search_setting_hid").value) > 0){
			if (type == "rental") {
				//customIcons = { icon:iconNBHGreen };
				tabfrm = "rentalSearch";
				tabSel = "rsubRegion2";
			}
			else if (type == "commercial") {
				//customIcons = { icon:iconNBHRed };
				tabfrm = "commercialSearch";
				tabSel = "csubRegion2";
			}
			setSelVal(tabfrm,tabSel,nid);	
			if (type == "rental") {
				//customIcons = { icon:iconNBHGreen };
				searchRental();
			}
			else if (type == "commercial") {
				//customIcons = { icon:iconNBHRed };
				searchCommercial();
				setHoundnewsearch();
			}
		}else{
			showLoginwarning(type);
			if (type == "commercial") {
				if(document.getElementById("hound_detailinfo").style.display == "block"){
					if(document.getElementById("houndNei")){
						for(var hn=0; hn<document.getElementById("houndNei").options.length; hn++){
							if(document.getElementById("houndNei").options[hn].value == nid){
								document.getElementById("houndNei").options[hn].selected = true;
							}else{
								document.getElementById("houndNei").options[hn].selected = false;
							}
						}
						flagHnd = 1;
						searchValuehound();
					}else if(document.getElementById("houndNeiHid")){
						document.getElementById("houndNeiHid").value = nid;
						document.getElementById("houndBoroHid").value = parseInt(document.getElementById("csubRegion1").value);
						flagHnd = 1;
						searchValuehound();
					}
				}  
			}
		}
	}else{
		if (type == "developer"){
			//customIcons = { icon:iconNBHOrange };
			tabfrm = "ajaxSearch";
			tabSel = "dsubRegion2";
		}
		else if (type == "rental") {
			//customIcons = { icon:iconNBHGreen };
			tabfrm = "rentalSearch";
			tabSel = "rsubRegion2";
		}
		else if (type == "commercial") {
			//customIcons = { icon:iconNBHRed };
			tabfrm = "commercialSearch";
			tabSel = "csubRegion2";
		}
		setSelVal(tabfrm,tabSel,nid);	
		if (type == "rental") {
			//customIcons = { icon:iconNBHGreen };
			searchRental();
		}
		else if (type == "commercial") {
			//customIcons = { icon:iconNBHRed };
			searchCommercial();
			setHoundnewsearch();
		}
		searchNBH(nid,type,lat,lng);
		showBalloon = false;	
	}
	return false;
}

function markerCallFunc(nid,type,lat,lng) {
	return function() {
		if(document.getElementById('login_checker').value=='0' && type != "developer" && nid > 0){
			if(parseInt($("search_setting_hid").value) > 0){
				if (type == "rental") {
					//customIcons = { icon:iconNBHGreen };
					tabfrm = "rentalSearch";
					tabSel = "rsubRegion2";
				}
				else if (type == "commercial") {
					//customIcons = { icon:iconNBHRed };
					tabfrm = "commercialSearch";
					tabSel = "csubRegion2";
				}
				setSelVal(tabfrm,tabSel,nid);	
				if (type == "rental") {
					//customIcons = { icon:iconNBHGreen };
					searchRental();
				}
				else if (type == "commercial") {
					//customIcons = { icon:iconNBHRed };
					searchCommercial();
					setHoundnewsearch();
				}				
			}else{
				showLoginwarning(type);
				if (type == "commercial") {
					if(document.getElementById("hound_detailinfo").style.display == "block"){
						if(document.getElementById("houndNei")){
							for(var hn=0; hn<document.getElementById("houndNei").options.length; hn++){
								if(document.getElementById("houndNei").options[hn].value == nid){
									document.getElementById("houndNei").options[hn].selected = true;
								}else{
									document.getElementById("houndNei").options[hn].selected = false;
								}
							}
							flagHnd = 1;
							searchValuehound();
						}else if(document.getElementById("houndNeiHid")){
							document.getElementById("houndNeiHid").value = nid;
							document.getElementById("houndBoroHid").value = parseInt(document.getElementById("csubRegion1").value);
							flagHnd = 1;
							searchValuehound();
						}
					}  
				}
			}
		}else{
			gsmap.closeExtInfoWindow();
			//alert(type);
			if (type == "developer"){
				//customIcons = { icon:iconNBHOrange };
				tabfrm = "ajaxSearch";
				tabSel = "dsubRegion2";
			}
			else if (type == "rental") {
				//customIcons = { icon:iconNBHGreen };
				tabfrm = "rentalSearch";
				tabSel = "rsubRegion2";
			}
			else if (type == "commercial") {
				//customIcons = { icon:iconNBHRed };
				tabfrm = "commercialSearch";
				tabSel = "csubRegion2";
			}
			setSelVal(tabfrm,tabSel,nid);	
			if (type == "rental") {
				//customIcons = { icon:iconNBHGreen };
				searchRental();
			}
			else if (type == "commercial") {
				//customIcons = { icon:iconNBHRed };
				searchCommercial();
				setHoundnewsearch();
			}
			searchNBH(nid,type,lat,lng);
			showBalloon = false;
		}
		return false;
	}
}
function markerZoomIn(frm,sel,val,lat,lng) {
	return function() {
	gsmap.closeExtInfoWindow();
	setSelVal(sel,frm,val);
	showBalloon = false;
	gsmap.setCenter(new GLatLng(lat,lng),11);
	//nbhval="false";
	return false;
	}
}
function markerCloseFunc() {
	return function() {
gsmap.closeExtInfoWindow();
showBalloon = true;
return false;
	}
}	
    
function openInfoWindow(id,name,address,lat, lng){
		
		totalmarker[id][0].show();
		
		gsmap.setCenter(new GLatLng(lat, lng), 13);		
		return GEvent.trigger(totalmarker[id][0],"click");
	
}
		

	function createLabelMarker(Neipoint, neighborname) {


        var icon = new GIcon();

        icon.image = '';

        icon.iconSize = new GSize(50,30);

        icon.iconAnchor = new GPoint(6,20);
		
		//icon.transparent = "images/imagemap.png";
       

        opts = { 

          "icon": icon,


        title: "Neighborhood Names",

         "labelText": neighborname,
         labelOffset: new GSize(0,0),
		 "zIndexProcess":lorderOfCreation

        };

       var labelmarker = new LabeledMarker(Neipoint, opts);
		
		labelmarker.point = Neipoint;

		labelmarker.name = neighborname;

		labelGroups[neighborname]= [];
			labelGroups[neighborname].push(labelmarker);
			glmarkers.push(labelmarker);
        return labelmarker;
}


function changeLeveltitle(obj,level){

	

						if(level == "higher"){

						$("higher_level_title").innerHTML = obj;

						

						}

						else if(level == "lower"){

							

							$('lower_level_title').innerHTML = obj;

						}

}

function getLatLng(type,placeid,area){

	GDownloadUrl("xml/latlng.php?type="+type, function(data) {

          var xml = GXml.parse(data);

          var locations = xml.documentElement.getElementsByTagName("location");

		    for (var i = 0; i < locations.length; i++) {

	            var id =  locations[i].getAttribute("id");

				if(id == $(placeid).value ){

				var point = new GLatLng(parseFloat(locations[i].getAttribute("lat")),

										 parseFloat(locations[i].getAttribute("lng")));

					

					return gsmap.setCenter(point,area);

					}

				}

		});

}

function mouseOut()
{
	document.b2.src ="images/btn_more_info_off.gif";
	document.b3.src ="images/btn_add_to_hunting_list_off.gif";
	document.b4.src ="images/btn_description_off.gif";
	document.b5.src ="images/btn_email_this_listing_off.gif";
	document.b6.src ="images/btn_neighborhood_info_off.gif";
	if(document.b7)
	document.b7.src ="images/btn_reviews_off.gif";
	document.b8.src ="images/btn_legal_off.gif";
}

function mapInit(center,zoomLevel) {	
	if (GBrowserIsCompatible()) {
		var mapid= document.getElementById("map");
		gsmap = new GMap2(mapid);	
		progressBar = new ProgressbarControl(gsmap, {width:385});
		GEvent.addListener(gsmap, "load", function(){			
			
			var formu = document.getElementById("brokerSearch");
			for(i=0;i<formu.state.options.length;i++)
			{
				if(formu.state.options[i].value == defaultState)
				{				
					$('brokerSearch').state.selectedIndex = i;
					$('brokerSearch').state.onchange("wait");
				}
			}
			
			var formu = document.getElementById("ajaxSearch");
			for(i=0;i<formu.dstate.options.length;i++)
			{
				if(formu.dstate.options[i].value == defaultState)
				{				
					$('ajaxSearch').dstate.selectedIndex = i;
					$('ajaxSearch').dstate.onchange("wait");							
				}
			}		
			
			var formu = document.getElementById("rentalSearch");
			for(i=0;i<formu.rstate.options.length;i++)
			{
				if(formu.rstate.options[i].value == defaultState)
				{				
					$('rentalSearch').rstate.selectedIndex = i;
					$('rentalSearch').rstate.onchange("wait");							
				}
			}
			
			var formu = document.getElementById("commercialSearch");
			for(i=0;i<formu.cstate.options.length;i++)
			{
				if(formu.cstate.options[i].value == defaultState)
				{				
					//alert(formu.cstate.options[i].value);
					$('commercialSearch').cstate.selectedIndex = i;
					$('commercialSearch').cstate.onchange("wait");							
				}
			}
		});
		
		gsmap.setCenter(center, zoomLevel);
	
		//gsmap.enableScrollWheelZoom();
	
		gsmap.addMapType(G_PHYSICAL_MAP);
		gsmap.setMapType(G_PHYSICAL_MAP);
		gsmap.addMapType(G_PHYSICAL_MAP);
		gsmap.addMapType(G_HYBRID_MAP);			
	
	
		var mapTypeControl = new GMapTypeControl();
		var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
		var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));
	
		gsmap.addControl(mapTypeControl, topRight);
		gsmap.addControl(new GLargeMapControl3D(),bottomRight);
		gsmap.addControl(new GScaleControl());
		
		/*var customUI = gsmap.getDefaultUI();
		customUI.controls.scalecontrol = false;
		gsmap.setUI(customUI);*/
		GmapMarker(gsmap);
	}
}

function zoomMap() {
	var curMaptype = gsmap.getCurrentMapType();
	var curMapTypeName = curMaptype.getName();
	var curZoom = gsmap.getZoom();
	if(curZoom >= 15 && curMapTypeName == "Terrain"){
		gsmap.setMapType(G_NORMAL_MAP);
		gsmap.zoomIn();
	}else{
		gsmap.zoomIn();	
	}
}
