var map, template, selectedmarker, rpp, pgno, gmarkerrollover, fxrollover, gmappopup, heropin, zoominc,id, country ;
var markers = [];
var selectedfilters = [];
var all_filters = [];
var markers = [];
var initialsearch = true;
var mapreset = false;
var gmappopuptabs1 = '<table id=\"tabcontainer_table\"><ul class="tabnav"><li><a id="popuptab1" class="active" href="javascript:tm_popuptabswitch(1);">Infomation</a></li></ul></div>';
var gmappopuptabs2 = "<table style=\"width:100%; font-size:11px; border-bottom:1px solid #333333\"><tr>" +
					"<td class=\"gmap_close_button\"><a href=\"javascript:tm_popupclose();\">close [x]</a></td></tr></table>";
function tm_st(){}
tm_st.prototype = new GControl();
tm_st.prototype.initialize = function(map){
	var stcontainer = document.createElement("div");
	var streset = document.createElement("span");
	var stmap = document.createElement("span");
	var stsat = document.createElement("span");
	var sthybrid = document.createElement("span");
	streset.setAttribute("class", "mapbuttons");
	streset.setAttribute("id", "streset");
	streset.appendChild(document.createTextNode("Reset"));  
	stcontainer.appendChild(streset);
	GEvent.addDomListener(streset, "click", function() {mapreset = true;map.returnToSavedPosition();} );
	stmap.setAttribute("class", "mapbuttons active");
	stmap.setAttribute("id", "stmap");
	stmap.appendChild(document.createTextNode("Map"));  
	stcontainer.appendChild(stmap);
	GEvent.addDomListener(stmap, "click", function() {map.setMapType(G_NORMAL_MAP); stmap.setAttribute("class", "mapbuttons active");stsat.setAttribute("class", "mapbuttons");sthybrid.setAttribute("class", "mapbuttons");});
	stsat.setAttribute("class", "mapbuttons");
	stsat.setAttribute("id", "stsat");
	stsat.appendChild(document.createTextNode("Satellite"));  
	stcontainer.appendChild(stsat);
	GEvent.addDomListener(stsat, "click", function() {map.setMapType(G_SATELLITE_MAP);stmap.setAttribute("class", "mapbuttons");stsat.setAttribute("class", "mapbuttons active");sthybrid.setAttribute("class", "mapbuttons");});
	sthybrid.setAttribute("class", "mapbuttons");
	sthybrid.setAttribute("id", "sthybrid");
	sthybrid.appendChild(document.createTextNode("Hybrid"));  
	stcontainer.appendChild(sthybrid);
	GEvent.addDomListener(sthybrid, "click", function() {map.setMapType(G_HYBRID_MAP);stmap.setAttribute("class", "mapbuttons");stsat.setAttribute("class", "mapbuttons");sthybrid.setAttribute("class", "mapbuttons active");});
	map.getContainer().appendChild(stcontainer);
	return stcontainer;
};
tm_st.prototype.getDefaultPosition = function() {  return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(5, 1));};

function tm_initialise(ctemplate, cid, clng, clat, czoom, ppgno, prpp, pfilters, presults,ccountry, pzoomlimit, pzoominc){
	id = cid;
	template = ctemplate;
	pgno = ppgno;
	rpp = prpp;
	country = ccountry;
	map = new GMap2(document.getElementById("googlemaplarge"));
	var mt = map.getMapTypes();
	for(var i = 0; i < mt.length ;i++){
		if(pzoomlimit != undefined){
			mt[i].getMinimumResolution = function(){return parseInt(pzoomlimit);}
		}else{
			mt[i].getMinimumResolution = function(){return 4;}
		}
	}
	if(pzoominc == undefined){
		zoominc = 12;
	}else{
		zoominc = parseInt(pzoominc);
	}
	map.addControl(new GLargeMapControl());
	map.addControl(new tm_st());
	map.addControl(new GScaleControl());
	map.enableContinuousZoom();
	var point = new GLatLng(parseFloat(clat), parseFloat(clng));
	var zoom = parseInt(czoom);
	map.setCenter(point, zoom);
	map.checkResize();
	map.savePosition();
	gmarkerrollover = document.createElement("div");
	document.getElementById("googlemaplarge").appendChild(gmarkerrollover);
	gmarkerrollover.id = "gmaprollover";
	gmarkerrollover.style.visibility = "hidden";
	gmappopup = document.createElement("div");
	document.getElementById("googlemaplarge").appendChild(gmappopup);
	gmappopup.id = "gmappopup";
	gmappopup.style.visibility = "hidden";
	var filters = tm_getfilters();
	if(pfilters != ""){
		selectedfilters = pfilters.split(",");
	}
	GEvent.addListener(map, "moveend", function() {
		tm_dulldivs(true);
		pgno = 1;
		if(mapreset){
			initialsearch = true;
			tm_show_results("map_move");
			mapreset = false;
		}else{
			initialsearch = false;
			tm_show_results("map_move");
		}
	});
	GEvent.addListener(map, "movestart", function() {
		tm_faderollover();
		tm_popupclose();
	});
	GEvent.addListener(map, "zoomend", function() {
		tm_popupclose();
		//dulldivs(true);
		//pgno = 1;
		//initialsearch = false;
		//show_results("map_move");
	});
	GEvent.addListener(map, "mouseout", function() {
		tm_faderollover();
	});
	process = function(doc){
		var jsonData = eval('(' + doc + ')');
		if(jsonData.gmapdata.markers != undefined){
			for(var i= 0; i < jsonData.gmapdata.markers.length; i++){
				var point = new GLatLng(parseFloat(jsonData.gmapdata.markers[i].lat), parseFloat(jsonData.gmapdata.markers[i].lng));
				var icon = jsonData.gmapdata.markers[i].icon;
				var iconsize = jsonData.gmapdata.markers[i].iconsize;
				var rollover = jsonData.gmapdata.markers[i].rollover;
				var tab1 = jsonData.gmapdata.markers[i].tab1;
				var tab2 = jsonData.gmapdata.markers[i].tab2;
				var marker = tm_create_marker(point, icon, iconsize, rollover, tab1, tab2);
				marker.tab1 = tab1;
				marker.tab2 = tab2;
				markers[i] = marker;
				map.addOverlay(marker);
			}
		}else{tm_removemarkers();}
		
		try{
			var point = new GLatLng(parseFloat(jsonData.heropin.lat), parseFloat(jsonData.heropin.lng));
			var icon = jsonData.heropin.icon;
			var iconsize = jsonData.heropin.iconsize;
			var rollover = jsonData.heropin.rollover;
			var tab1 = jsonData.heropin.tab1;
			var tab2 = jsonData.heropin.tab2;
			var marker = tm_create_marker(point, icon, iconsize, rollover, tab1, tab2);
			marker.tab1 = tab1;
			marker.tab2 = tab2;
			heropin = marker;
			map.addOverlay(marker);
			tm_popupopen(heropin);
		}catch(e){}
	}
	GDownloadUrl("/templates/global/gateway.php?json=map&template="+template+"&searchtype=initial"+ presults+"&country="+country+"&filters="+selectedfilters+tm_gettopfilters(), process);
}

function tm_changemapsize(){
	var height = $('googlemaplarge').getHeight();
	var center = map.getCenter();
	if(height == 322){
		// make map big again
		$('googlemaplarge').style.height = "640px";
	}else{
		//make map small
		$('googlemaplarge').style.height = "320px";
	}
	map.checkResize();
	mapreset = true;
	map.panTo(center);
	
}

function tm_toggle_map(){
	var element = $("#googlemapcoverdiv");
	if(element.height() == 1){ 
		element.animate({
			height:element[0].scrollHeight+'px'
		},500);
		$('#toggle_map_button')[0].innerHTML='[Hide Map]';
	}
	else{
		element.animate({
			height:'1px'
		},500);
		$('#toggle_map_button')[0].innerHTML='[Show Map]';
	}
}

function tm_show_results(stval){
	var top = map.fromContainerPixelToLatLng({"x": 0, "y": 20});
	var bottom = map.fromContainerPixelToLatLng({"x": 680, "y": $('#googlemaplarge').height()});
	if(bottom.x < top.x){
		bottom.x = bottom.x+360;
	}
	var filters = tm_getfilters();
	if(initialsearch){var initialsearchvar = "yes";}else{var initialsearchvar = "no";}
	process = function(doc){
		tm_removemarkers();
		var jsonData = eval('(' + doc + ')');
		if(stval == "map_move"){
			if(jsonData.filterdata != undefined){
				var count = jsonData.filterdata.length;
				for(var i = 0; i < count; i++){
					var exp = jsonData.filterdata[i].exp;
					var li_element = document.getElementById('f_'+ exp);
					li_element.innerHTML = "";
					var cb = document.createElement("input");
					cb.setAttribute('type',"checkbox");
					cb.setAttribute('value',exp);
					cb.setAttribute('onChange','tm_filterchange(\''+exp+'\')');
					li_element.appendChild(cb);
					for(var u = 0; u < selectedfilters.length ;u++){
						if(selectedfilters[u] == exp){
							cb.checked = true;
						}
					}
					if(jsonData.filterdata[i].active == "yes"){
						var atag = document.createElement('a');
						li_element.appendChild(atag);
						atag.setAttribute('href', 'javascript:tm_filterlink(\''+exp+'\')');
						atag.innerHTML = jsonData.filterdata[i].text
						li_element.appendChild(document.createTextNode(jsonData.filterdata[i].value));
					}
					else{
						cb.disabled=true;
						li_element.appendChild(document.createTextNode(jsonData.filterdata[i].text));
					}
				}
			}
		}
		try{
			for(var i= 0; i < jsonData.gmapdata.length; i++){
				var point = new GLatLng(parseFloat(jsonData.gmapdata[i].lat), parseFloat(jsonData.gmapdata[i].lng));
				var icon = jsonData.gmapdata[i].icon;
				var iconsize = jsonData.gmapdata[i].iconsize;
				var rollover = jsonData.gmapdata[i].rollover;
				var tab1 = jsonData.gmapdata[i].tab1;
				var tab2 = jsonData.gmapdata[i].tab2;
				var marker = tm_create_marker(point, icon, iconsize, rollover, tab1, tab2);
				marker.tab1 = tab1;
				marker.tab2 = tab2;
				markers[i] = marker;
				map.addOverlay(marker);
			}
		}
		catch(e){
			tm_removemarkers();
		}
		tm_dulldivs(false);
		if(jsonData.resultsdata){
			$('#results')[0].innerHTML = jsonData.resultsdata;
		}else{
			$('#results')[0].innerHTML = "No Filters Selected";
		}
	}
	GDownloadUrl("/templates/global/gateway.php?json=map&initialsearch="+initialsearchvar+"&template="+template+"&country="+country+"&id="+id+"&searchtype="+stval+"&topx="+top.x+"&topy="+top.y+"&bottomx="+bottom.x+"&bottomy="+bottom.y+"&zoominc="+zoominc+"&zoom="+map.getZoom()+filters+"&rpp="+rpp+"&pgno="+pgno+tm_gettopfilters(), process);
}

function tm_toggle_options(){
	var element = $("#filteroptions");
	if(element.height() == 0){
		element.animate({
			height:element[0].scrollHeight+'px',
			'padding-top':'11px',
			'padding-bottom':'11px'
		},200);
		element[0].style.borderStyle = 'none solid solid' ;
		
		//$('toggle_options_button').style.background='url(/images/results/arrow-down.gif) no-repeat left';
		$('#toggle_options_button')[0].innerHTML='&raquo; Less Options';
	}
	else{
		element.animate({
			height:'0px',
			'padding-top':'0px',
			'padding-bottom':'0px'
		},200);
		$('#toggle_options_button')[0].innerHTML='&raquo; More Options';
		element[0].style.borderStyle = 'none solid' ;
	}
}

function tm_filterlink(f_val){
	var li_elements = $("#filteroptions li");
	for(var i = 0; i < li_elements.length; i++){
		if(li_elements[i].id == "f_"+f_val){
			var cb = li_elements[i].getElementsByTagName('input')[0];
			if(cb.checked){
				cb.checked = false;
			}
			else{
				cb.checked = true;
			}
		}
	}
	tm_filterchange(f_val);
}

function tm_filterchange(f_val){
	tm_popupclose();
	tm_dulldivs(true);
	var li_elements = $("#filteroptions li");
	for(var i = 0; i < li_elements.length; i++){
		if(li_elements[i].id == "f_"+f_val){
			var cb = li_elements[i].getElementsByTagName('input')[0];
			if(cb.checked){
				selectedfilters.push(f_val);
			}else{
				for(var u = 0; u < selectedfilters.length ;u++){
					if(selectedfilters[u] == f_val){
						selectedfilters.splice(u,1);
					}
				}
			}
		}
	}
	var all_cb = tm_filterAllCheck();
	if(template == "location"||template == "listing"){
		var is_accom = false
		var ac_filters = $("#accommodation_column input");
		for(var i = 0; i < ac_filters.length; i++){
			if(ac_filters[i].value == f_val){
				is_accom = true;
			}
		}
		if(!is_accom && !all_cb.accom){
			
		}
		else if(all_cb.accom == true){
			document.getElementById('f_allaccom').checked = false;
		}
		else{
			document.getElementById('f_allaccom').checked = true;
		}
		if(is_accom & !all_cb.ttd){
			
		}
		else if(all_cb.ttd == true){
			document.getElementById('f_allttd').checked = false;
		}
		else{
			document.getElementById('f_allttd').checked = true;
		}
	}
	else{
		if(all_cb.exp == true){
			document.getElementById('f_allexp').checked = false;
		}
		else{
			document.getElementById('f_allexp').checked = true;
		}
	}
	
	pgno = 1;
	tm_show_results("filter_change");
}

function tm_filterallexp(link_clicked){
	pgno = 1;
	tm_dulldivs(true);
	tm_popupclose();
	if(link_clicked){
		document.getElementById("f_allexp").checked = true;
	}
	if(document.getElementById("f_allexp").checked == false){
		document.getElementById("f_allexp").checked = true;
	}
	var selected = tm_filterAllCheck();
	if(selected.exp){
		var cb_inputs = $('#filteroptions input');
		for(var cb = 0; cb < cb_inputs.length ; cb++){
			for(var u = 0; u < selectedfilters.length ;u++){
				if(selectedfilters[u] == cb_inputs[cb].value){
					selectedfilters.splice(u,1);
					cb_inputs[cb].checked = false;
				}
			}
		}
	}
	tm_show_results("filter_change");
}

function tm_filterallaccom(link_clicked){
	
	tm_popupclose();
	tm_dulldivs(true);
	pgno = 1;
	
	if(link_clicked && document.getElementById("f_allaccom").checked){
		document.getElementById("f_allaccom").checked = false;
	}
	else if(link_clicked && document.getElementById("f_allaccom").checked == false){
		document.getElementById("f_allaccom").checked = true;
	}
	var selected = tm_filterAllCheck();
	if(selected.accom){
		var cb_inputs = $('#filteroptions input');
		for(var cb = 0; cb < cb_inputs.length ; cb++){
			var ac_filters = $("#accommodation_column input");
			for(var u = 0; u < selectedfilters.length ;u++){
				if(selectedfilters[u] == cb_inputs[cb].value){
					selectedfilters.splice(u,1);
					cb_inputs[cb].checked = false;
				}
			}
		}
	}
	else if((selected.ttd||$("#f_allttd")[0].checked) && ("#f_allaccom")[0].checked){
		document.getElementById("f_allaccom").checked = false;
	}
	else if(!selected.accom && $("#f_allaccom")[0].checked){
		
	}
	/*
	if(!selected.accom && !selected.ttd && $("#f_allttd")[0].checked == false){
		document.getElementById("f_allaccom").checked = true;
	}
	*/
	tm_show_results("filter_change");
}

function tm_filterallttd(link_clicked){
	tm_popupclose();
	tm_dulldivs(true);
	pgno = 1;
	
	if(link_clicked && $("#f_allttd")[0].checked){
		$("#f_allttd")[0].checked = false;
	}
	else if(link_clicked && $("#f_allttd")[0].checked == false){
		$("#f_allttd")[0].checked = true;
	}
	var selected = tm_filterAllCheck();
	if(selected.ttd){
		var cb_inputs = $('#filteroptions input');
		for(var cb = 0; cb < cb_inputs.length ; cb++){
			var is_accom = false
			var ac_filters = $("#accommodation_column input");
			for(var i = 0; i < ac_filters.length; i++){
				if(ac_filters[i].value == cb_inputs[cb].value){
					is_accom = true;
				}
			}
			if(!is_accom){
				for(var u = 0; u < selectedfilters.length ;u++){
					if(selectedfilters[u] == cb_inputs[cb].value){
						selectedfilters.splice(u,1);
						cb_inputs[cb].checked = false;
					}
				}
			}
		}
	}
	else if(!selected.ttd && $("#f_allttd")[0].checked){
		
	}
	else if((selected.accom||$("#f_allaccom")[0].checked) && $("#f_allttd")[0].checked){
		document.getElementById("f_allttd").checked = false;
	}
	/*
	if(!selected.accom && !selected.ttd && $("#f_allaccom")[0].checked == false){
		document.getElementById("f_allttd").checked = true;
	}
	*/
	tm_show_results("filter_change");
}

function tm_filterAllCheck(){
	if(template == "location"||template == "listing"){
		var cb_inputs = $('#filteroptions input');
		var ac_selected = false;
		var ttd_selected = false;
		for(var cb = 0; cb < cb_inputs.length ; cb++){
			var is_accom = false
			var ac_filters = $("#accommodation_column input");
			for(var i = 0; i < ac_filters.length; i++){
				if(ac_filters[i].value == cb_inputs[cb].value){
					is_accom = true;
				}
			}
			if(is_accom){
				if(cb_inputs[cb].checked){
					ac_selected = true;
				}
			}
			else{
				if(cb_inputs[cb].checked){
					ttd_selected = true;
				}
			}
		}
		return {"accom" : ac_selected, "ttd" : ttd_selected};
	}
	else{
		var cb_inputs = $('#filteroptions input');
		var exp_selected = false;
		for(var cb = 0; cb < cb_inputs.length ; cb++){
			if(cb_inputs[cb].checked){
				exp_selected = true;
			}
		}
		return {"exp" : exp_selected};
	}
}


function tm_remove_filters(){
	tm_dulldivs(true);
	var cb_inputs = $('#filtercontainer input');
	for(var cb = 0; cb < cb_inputs.length ; cb++){
		var element = cb_inputs[cb];
		if(element.checked == true){
			element.checked = false;
			for(var i = 0; i < selectedfilters.length ;i++){
				if(selectedfilters[i] == element.value){
					selectedfilters.splice(i,1);
				}
			}
		}
	}
	tm_show_results("filter_change");
}

function tm_remfilter(filter){
	tm_dulldivs(true);
	for(var i = 0; i < selectedfilters.length ;i++){
		if(selectedfilters[i] == filter){
			selectedfilters.splice(i,1);
		}
	}
	var cb_inputs = $('#filtercontainer input');
	for(var cb = 0; cb < cb_inputs.length ; cb++){
		var element = cb_inputs[cb];
		if(element.value == filter){
			element.checked = false;
		}
	}
	tm_show_results("filter_change");
}

function select_filters(){
	tm_dulldivs(true);
	var cb_inputs = $('#filtercontainer input');
	for(var cb = 0; cb < cb_inputs.length ; cb++){
		var element = cb_inputs[cb];
		if(element.checked == false){
			element.checked = true;
			selectedfilters.push(element.value);
		}
	}
	tm_show_results("filter_change");
}

function tm_clear_selected(){
	tm_dulldivs(true);
	var cb_inputs = $('#filtercontainer input');
	for(var cb = 0; cb < cb_inputs.length ; cb++){
		var element = cb_inputs[cb];
		var exp = element.value;
		if(element.checked){
			for(var i = 0; i < selectedfilters.length ;i++){
				if(selectedfilters[i] == exp){
					selectedfilters.splice(i,1);
					element.checked = false;
				}
			}
		}
	}
	selectedfilters = [];
	pgno = 1;
	tm_show_results("filter_change");
}

function tm_replacechecks(){
	var cb_inputs = $('#filtercontainer input');
	for(var cb = 0; cb < cb_inputs.length ; cb++){
		var element = cb_inputs[cb];
		var exp = element.value;
		for(var i = 0; i < selectedfilters.length ;i++){
			if(selectedfilters[i] == exp){
				element.checked = true;
			}
		}
	}
	tm_show_results("map_move");
}

function tm_getfilters(){
	if(selectedfilters.length > 0){
		return "&filters=" +selectedfilters ;
	}
	else{
		return "";
	}
}

function tm_gettopfilters(){
	if(template == "location"|| template == "listing"){
		var return_var = "";
		if($("#f_allaccom")[0] == undefined){
			return return_var;
		}
		if($("#f_allaccom")[0].checked){
			return_var+="&accom_selected=true";
		}
		if($("#f_allttd")[0].checked){
			return_var+="&ttd_selected=true";
		}
		return return_var;
	}
	return "";
}


function tm_setrpp(rppt){
	tm_popupclose();
	tm_dulldivs(true);
	rpp = rppt;
	pgno = 1;
	tm_show_results("filter_change");
}
function tm_setpgno(pgnot){
	tm_popupclose();
	tm_dulldivs(true);
	pgno = pgnot;
	tm_show_results("filter_change");
}

function tm_showmap(mid){
	var marker = markers[mid];
	tm_popupopen(marker);
}

function tm_create_marker(point, icon, iconsize, rollover, tab1, tab2){
	var icont = new GIcon();  
	if(iconsize == "big"){
		icont.iconSize = new GSize(56, 41);
	  icont.iconAnchor = new GPoint(28, 41);
	  icont.infoWindowAnchor = new GPoint(28, 0);
		icont.shadowSize = new GSize(84, 41);
	}else if(iconsize == "hero"){
		icont.iconSize = new GSize(47, 50);
	  icont.iconAnchor = new GPoint(28, 41);
	  icont.infoWindowAnchor = new GPoint(23, 0);
		icont.shadowSize = new GSize(70, 50);
	}else if(iconsize == "long"){ //214x33
		icont.iconSize = new GSize(214, 33);
	  icont.iconAnchor = new GPoint(24, 33);
	  icont.infoWindowAnchor = new GPoint(24, 0);
		icont.shadowSize = new GSize(315, 33);
	}else{
		//icont.iconSize = new GSize(20, 34);
		icont.iconSize = new GSize(26, 32);
		icont.iconAnchor = new GPoint(12, 35);
		icont.infoWindowAnchor = new GPoint(12, 0);
		icont.shadowSize = new GSize(42, 32);
	}
	icont.shadow = 'http://s3media.pleasetakemeto.com/images/icon/shadow50.png';
	icont.image = 'http://s3media.pleasetakemeto.com/images/icon/icon-'+icon+'.png?12345';
	try{var marker = new GMarker(point, icont);}catch(e){var marker = new GMarker(point);}
	GEvent.addListener(marker, "mouseover", function() {
		gmarkerrollover.innerHTML = rollover;
		var element = $('#gmaprollover');
		var divcoords = map.fromLatLngToContainerPixel(point);
		var rolloverx=divcoords.x;
		var rollovery=divcoords.y;
		element.css({
			"visibility":"visible",
			"opacity":"1",
			"MozOpacity":"1",
			"filter": "alpha(opacity=100)",
			"position": "absolute",
			"display":"block"
		});
		$(element).animate({
			left:(rolloverx+10)+'px',
			top: rollovery+'px'
		},200);
	});
	GEvent.addListener(marker, "click", function() {
		if(selectedmarker != undefined && selectedmarker != "" && selectedmarker.getPoint() == marker.getPoint()){
			tm_popupclose(marker);
			return;
		}else{
			tm_popupopen(marker);
			return;
		}
	});
	return marker;
}

function tm_popuptabswitch(tab){
	$('#gmappopup a').forEach(function(element){
		if($(element).getProperty('id') == 'popuptab'+tab){
			$(element).setProperty('class','active');
		}else{
			$(element).setProperty('class','');
		}
	});
	
	if(tab == 1){
		$('popuptabcontent').innerHTML= selectedmarker.tab1;
	}
	else if(tab == 2){
		$('popuptabcontent').innerHTML= selectedmarker.tab2;
	}

}

function tm_popupopen(marker){
	var point = marker.getPoint();
	tm_faderollover();
	var divcoords = map.fromLatLngToContainerPixel(point);
	var popupx=divcoords.x;
	var popupy=divcoords.y;
	var popupboxwidth = 250;
	var popupboxheight = 145;
	var element = $("#gmappopup")[0];
	var mapdivsize = {"size":{"x": $('#googlemaplarge').width(), "y":$('#googlemaplarge').height()}};
	element.setAttribute('style','');
	element.removeAttribute('style');
	element.style.visibility="visible";
	element.style.position="absolute";
	element.style.overflow="hidden";
	element.style.width="0px";
	element.style.height="0px";
	if(marker.tab2 == ""){
		var gmappopuptabs = gmappopuptabs1;
	}else{
		var gmappopuptabs = gmappopuptabs2;
	}
	element.innerHTML = "<table style=\"height:100%; width:100%\"><tr><td>" + gmappopuptabs2 + "</td></tr><tr><td style=\"vertical-align:top\">" +
						"<div id='popuptabcontent' style=\"height:100%\">" + marker.tab1 + "</div>" + "</td></tr></table>";
	
	if(popupx > parseInt(mapdivsize.size.x /2)){
		element.style.right=(mapdivsize.size.x - popupx)+"px";
	}else{
		element.style.left=popupx+"px";
	}
	if(popupy > parseInt(mapdivsize.size.y /2)){
		element.style.bottom=(mapdivsize.size.y - popupy)+"px";
	}else{
		element.style.top=popupy+"px";
	}
	$(element).animate({
		height:popupboxheight+"px",
		width:popupboxwidth+"px"
	}, 200);
	selectedmarker = marker;
}

function tm_popupclose(){
	tm_faderollover();
	var element = $('#gmappopup')[0];
	$(element).animate({
			height:"0px",
			width:"0px"
		},200,"linear",function(){var element = $('#gmappopup')[0];$(element).fadeOut(1);});
	selectedmarker = "";
}

function tm_removemarkers(){
	for( var i = 0; i < markers.length;i++ ){
		map.removeOverlay(markers[i]);
	}
	markers = [];
}

function tm_faderollover(){
	$(gmarkerrollover).fadeOut(500);
}

function tm_dulldivs(visible){
	//return 0; 
	var divsheight = 0;
	var elements = $("div[class=yui-g]");
	var el = elements[0], left = 0, top = 0;
	left = elements.position().left;
	top = elements.position().top;
	var dullheight = elements.height() + $("div[class=yui-g]:last").height();
	var dullwidth = elements.width();
	var dulltop = top;
	var dullleft = left;
	var dull = document.getElementById('loadingcoverdiv');
	if(!dull){
		var loadingcoverdiv = document.createElement('div');
		loadingcoverdiv.id = 'loadingcoverdiv';
		loadingcoverdiv.innerHTML = "<img src='http://s3media.pleasetakemeto.com/images/ajax-loader.gif?123'>";
		$("#yui-main")[0].appendChild(loadingcoverdiv);
		var dull = document.getElementById('loadingcoverdiv');
		loadingcoverdiv.style.verticalAlign = "middle";
		loadingcoverdiv.style.textAlign = "center";
		loadingcoverdiv.style.position = 'absolute';
		loadingcoverdiv.style.filter = 'alpha(opacity=50)';
		loadingcoverdiv.style.MozOpacity = ".5";
		loadingcoverdiv.style.opacity = ".5";
		loadingcoverdiv.style.backgroundColor = "#FFFFFF";
		loadingcoverdiv.style.top = dulltop+'px';
		loadingcoverdiv.style.left = dullleft+'px';
		loadingcoverdiv.style.zIndex = "0.5";
		loadingcoverdiv.style.width = dullwidth+"px";
		loadingcoverdiv.style.height = dullheight+"px";
		loadingcoverdiv.style.display = "block";
	}
	if(visible){
		dull.style.top = dulltop+'px';
		dull.style.left = dullleft+'px';
		dull.style.width = dullwidth+'px';
		dull.style.height = dullheight+'px';
		dull.style.display = "block";
	}else{
		dull.style.display = "none";
	}

}

$(window).unload(
	function () { 
		selectedfilters = [];
		var checkboxes = $('input',$("#filtercontainer"));
		for(var cb = 0; cb < checkboxes.length; cb++){
			checkboxes[cb].checked = false;
		}
	}
);