var xmlHttpPoi;
var xmlHttpSponsor;
var xmlHttpPoiComment;
var xmlHttpPoiInternal;
var xmlHttpExposition;
var xmlHttpExpositionComment;

var stringSearch;
var timer;

function search(str, id, typesearch, typepoi){
   clearTimeout(timer);
   timer=setTimeout(function validate(){searchTesto(str, id, typesearch, typepoi)},1000);
}

function findPoi(id,limit,letter) {
	document.getElementById("ajaxpoi").innerHTML='<div id="ajaxloading"><img src="/icon/ajax-loader.gif" ></div>';
	xmlHttpPoi=GetXmlHttpObject();
	
	if (xmlHttpPoi===null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 } 
	var searchLetter;
	var url="/?";
	var filter;
	var servizi;
	(document.getElementById("selectfilter")) ? filter = document.getElementById("selectfilter").selectedIndex : filter = 0;
	(document.getElementById("selectservizi")) ? servizi = document.getElementById("selectservizi").options[document.getElementById("selectservizi").selectedIndex].value : servizi = 0;
	url=url+"c=general&m=poicomune_ajax&comuneid="+id+"&filtropoi="+filter+'&servizi='+servizi+'&limit='+limit+'&letter='+letter;
	url=url+"&sid="+Math.random();
	xmlHttpPoi.onreadystatechange=stateChangedPoi ;
	xmlHttpPoi.open("GET",url,true);
	xmlHttpPoi.send(null);
} 

function findExposition() {
	document.getElementById("lista_espositori").innerHTML='<div id="ajaxloading"><img src="/icon/ajax-loader.gif" ></div>';
	xmlHttpExposition=GetXmlHttpObject();
	
	if (xmlHttpPoi===null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 } 
	var eventname = document.getElementById("eventname").value;
	//var url="/?c=general&m=exposition&comuneid="+id_comune+"&filtropoi="+filter+'&servizi='+servizi+'&limit='+limit+'&letter='+letter+"&sid="+Math.random();
	var url="/?c=general&m=exposition&comuneid="+id_comune+"&eventname="+eventname+"&sid="+Math.random();
	xmlHttpExposition.onreadystatechange=stateChangedExposition ;
	xmlHttpExposition.open("GET",url,true);
	xmlHttpExposition.send(null);
	
} 

function stateChangedExposition() { 
	if (xmlHttpExposition.readyState==4 || xmlHttpExposition.readyState=="complete"){ 
		document.getElementById("lista_espositori").innerHTML=xmlHttpExposition.responseText;
	} 
}

function findExpositionInternal(id) {
	document.getElementById("lista_espositori").innerHTML='<div id="ajaxloading"><img src="/icon/ajax-loader.gif" ></div>';
	xmlHttpExposition=GetXmlHttpObject();
	
	if (xmlHttpPoi===null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 } 
	var searchLetter;

	var url="/?c=general&m=expositioninternal&poi_internal="+id+"&sid="+Math.random();
	xmlHttpExposition.onreadystatechange=stateChangedExposition ;
	xmlHttpExposition.open("GET",url,true);
	xmlHttpExposition.send(null);
	
} 

function stateChangedPoi() { 
	if (xmlHttpPoi.readyState==4 || xmlHttpPoi.readyState=="complete"){ 
		document.getElementById("ajaxpoi").innerHTML=xmlHttpPoi.responseText;
	} 
}

function findSponsor(id,limit,letter) {
	document.getElementById("ajaxsponsor").innerHTML='<div id="ajaxloading"><img src="../../icon/ajax-loader.gif" ></div>';
	xmlHttpSponsor=GetXmlHttpObject();
	
	if (xmlHttpSponsor===null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 } 
	
	var url="/?";
	var sponsorfilter = document.getElementById("selectsponsor").selectedIndex;
	var filter = document.getElementById("sponsorfilter").selectedIndex;
	url=url+"c=general&m=sponsor_ajax&comuneid="+id+"&filtro="+filter+'&sponsorfilter='+sponsorfilter+'&limit='+limit+'&letter='+letter;
	url=url+"&sid="+Math.random();
	xmlHttpSponsor.onreadystatechange=stateChangedSponsor ;
	xmlHttpSponsor.open("GET",url,true);
	xmlHttpSponsor.send(null);
} 

function findSponsorInternal(id,limit,letter) {
	document.getElementById("ajaxsponsor").innerHTML='<div id="ajaxloading"><img src="../../icon/ajax-loader.gif" ></div>';
	xmlHttpSponsor=GetXmlHttpObject();
	
	if (xmlHttpSponsor===null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 } 
	
	var url="/?";
	var sponsorfilter = document.getElementById("selectsponsor").selectedIndex;
	var filter = document.getElementById("sponsorfilter").selectedIndex;
	url=url+"c=general&m=sponsor_ajaxinternal&comuneid="+id+"&filtro="+filter+'&sponsorfilter='+sponsorfilter+'&limit='+limit+'&letter='+letter;
	url=url+"&sid="+Math.random();
	xmlHttpSponsor.onreadystatechange=stateChangedSponsor ;
	xmlHttpSponsor.open("GET",url,true);
	xmlHttpSponsor.send(null);
} 

function stateChangedSponsor() { 
	if (xmlHttpSponsor.readyState==4 || xmlHttpSponsor.readyState=="complete"){ 
		document.getElementById("ajaxsponsor").innerHTML=xmlHttpSponsor.responseText;
	} 
}

function findDetailsInternal(id) {
	xmlHttpExpositionComment=GetXmlHttpObject();
	
	if (xmlHttpExpositionComment===null)
	 {
	 alert ("Browser does not support HTTP Request");
	 return;
	 } 
	
	var url="/?c=general&m=expositionInternalDetails&internalId="+id;
	xmlHttpExpositionComment.onreadystatechange=stateChangedDetailsInternal;
	xmlHttpExpositionComment.open("GET",url,true);
	xmlHttpExpositionComment.send(null);
} 

function stateChangedDetailsInternal() { 
	if (xmlHttpExpositionComment.readyState==4 || xmlHttpExpositionComment.readyState=="complete"){ 
		document.getElementById("commento").innerHTML=xmlHttpExpositionComment.responseText;
	} 
}

function searchTesto(str, id, typesearch, typepoi){
    if (str.length > 3) {
	    document.getElementById("livesearch").innerHTML = '<img src="../../icon/ajax-loader.gif" />';
		document.getElementById("livesearch").style.visibility = "visible";
	    xmlHttp = GetXmlHttpObject();
    } else {
		document.getElementById("livesearch").innerHTML = "";
        document.getElementById("livesearch").style.border = "0px";
		document.getElementById("livesearch").style.visibility = "hidden"; // 16/03/2010 con 3 caratteri o meno > box livesearch hidden
        return;
	}
	
    document.getElementById("livesearch").innerHTML = '<img src="../../icon/ajax-loader.gif" />';
    xmlHttp = GetXmlHttpObject()
    
    if (xmlHttp === null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
	var url="/?";
    url = url + "q=" + str + "&c=general&m=ajax_search&dove=" + id+"&typesearch="+typesearch+"&typepoi="+typepoi;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = stateChanged;
    xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
	stringSearch = str;
}

function stateChanged(){
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
        document.getElementById("livesearch").innerHTML = xmlHttp.responseText;
        document.getElementById("livesearch").style.border = "1px solid #A5ACB2";
		var myregexp = new RegExp("\\d{1,3}");
		if (xmlHttp.responseText.match(myregexp) != null) zoomOutSearchPoi(stringSearch);
		if (g_playerIsOpen) playerClose();
    }
}

function closeSearch(){
    document.getElementById("livesearch").innerHTML = "";
    document.getElementById("livesearch").style.border = "0px";
	document.getElementById("livesearch").style.visibility = "hidden";
	drawCustomBreak = false;
	clearPOICustom();
	drawCustomPoi();
    return;
}

function searchTestoBusiness(str, id, typesearch, typepoi){
    if (str.length > 3) {
	    document.getElementById("livesearchbusiness").innerHTML = '<img src="../../icon/loading.gif" >';
	    xmlHttp = GetXmlHttpObject()
    } else{
		document.getElementById("livesearchbusiness").innerHTML = "";
        document.getElementById("livesearchbusiness").style.border = "0px";
        return;
	}
	
    document.getElementById("livesearchbusiness").innerHTML = '<img src="../../icon/loading.gif" >';
    xmlHttp = GetXmlHttpObject()
    
    if (xmlHttp === null) {
        alert("Browser does not support HTTP Request");
        return;
    }
    
	var url="/?";
    url = url + "q=" + str + "&c=general&m=ajax_search&dove=" + id+"&typesearch="+typesearch+"&typepoi="+typepoi;
    url = url + "&sid=" + Math.random();
    xmlHttp.onreadystatechange = stateChangedBusiness;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function stateChangedBusiness(){
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
        document.getElementById("livesearchbusiness").innerHTML = '<div class="close" align="right"><img src="../../icon/button/close.png" onclick="closeSearchBusiness();" ></div>' + xmlHttp.responseText;
        document.getElementById("livesearchbusiness").style.border = "1px solid #A5ACB2";
        
    }
}

function closeSearchBusiness(){
    document.getElementById("livesearchbusiness").innerHTML = "";
    document.getElementById("livesearchbusiness").style.border = "0px";
    return;
}

function getInternalView(id, limit, client, floor){
	//var player = thisMovie("gmaps");
	//player.setNavDepth(5);

	if (floor == undefined) floor = 0; 
	$.get("/?c=general&m=internalView", { poi: id, limit: limit, floor: floor },
	   function(data){
	   	 if (client == 'false') {
		 	// clienti paganti con moduli prodotti
				$("#poi_indoor_text_row").html('<div class="poi_indoor_cards_client" id="poi_indoor_cards" ></div><div class="poi_indoor_text_client" id="poi_indoor_text">' + label_indoor_istruzioni + '</div><div class="wrapper_poi_indoor_prodotti_clienti" id="wrapper_poi_indoor_prodotti_clienti"></div>');
				$("#wrapper_poi_indoor_prodotti_clienti").load("/general/returnMultimedia/"+id,function(){
							$(document).ready(function(){
								$("a[rel^='prettyPhoto']").prettyPhoto({theme:'facebook'});
							});
				});	
				$("#poi_indoor_list_col").remove('#poi_indoor_list_col_musei');	
				if (sponsroMode) sponsorManager('hide');
		 } else {
				// musei - casino
				// nascondo la fascia con i tool invia segnalazione - scattafoto - aggiungi P.O.I.
				//$("#seetyPlayerTable_tool").hide(); 
				//$('#toolbar').hide();
				$("#poi_indoor_text_row").html('<table cellspacing="0" cellpadding="0" width="100%"><tr><td width="240"><div class="poi_indoor_cards" id="poi_indoor_cards" ></div></td><td><div class="poi_indoor_text" id="poi_indoor_text">' + label_indoor_istruzioni + '</div></td><td width="130"><div class="poi_indoor_text listfloor" id="choosefloor"></div></td></tr></table>');
				$("<div id='box_pianta' style='position:absolute;z-index:99;top:19px;left:2px'><a rel='prettyPhoto' href='?c=general&m=help&comune=museihelp&id="+id+"&iframe=true&width=730&height=450' ><img src='/images/aiuto_help_red.jpg' border='0' /></a></div>").prependTo('#seetyPlayerContainer');
				//$("#box_pianta").css('bottom',121,'left', ($('#playerCell').width()-$('#playerCell').width(box_pianta)-2));
				sponsorManager('show', id);
				panViewInternalMap(id);
		}
		var details = data.split("othertb") 
		$('#detailsinternal').html(details[0]);
		$("#poi_indoor_list_col").html(details[1]);
		
		if(client == 'false'){
			// se sono nei clienti lancio returnCard
		 	$("#poi_indoor_cards").load("/general/returnCard/"+id);
		 } else {
			 // altrimenti sono negli indoor casino e musei e lancio la funzione per la small jpg
	/*		 $.get("/general/returnLogoSmall/"+id,function(data){
			 	if (data != 'false') {
					$(data).appendTo('#poi_indoor_list_col');
					$("a[rel^='prettyPhoto']").prettyPhoto({theme:'facebook'});
				}
			 }); */
			 // imposto l'altezza della colonna sponsor
			 $("#poi_indoor_list_col_sponsor").height(mapHeightGlobal);
			 $("#open_close").click($("#poi_indoor_list_col_sponsor").animate({ right: "-147px"}, "fast" ));
			  // lancio la funzione per popolamento e visualizzazione colonna sponsor (tutto da rendere dinamico)
			 $.get("/general/returnSponsor/"+id,function(data){if (data != 'false') {$(data).appendTo('#poi_indoor_list_col');$("a[rel^='prettyPhoto']").prettyPhoto({theme: 'facebook'});}}); 
		 }
		 // imposto l'altezza del wrapper lasciando spazio per il DIV con logo che viene caricato in append con la funzione returnLogoSmall
		 $("#wrapper_poi_indoor_list").height(mapHeightGlobal-195); 

	});	
	
} 


function showGrandSons(id, client) {
	if (client == true) {
		$.get("/general/poiGrandsons/"+id, function (data) {
			 	$("#poi_indoor_list_col").show('fast').append('<div id="poi_indoor_list_col_musei_registrati" style="height: 597px; display: block;">'+data+'</div>');
		});				
	}
} 

function getInternalViewComment(id) {
	$("#poi_indoor_text").load("/?c=general&m=internalViewComment&poi="+id);		
} 

function resetInternalView()	{
	//var player = thisMovie("gmaps");
	//player.setNavDepth(navDepth);	
	document.getElementById("poi_indoor_text_row").innerHTML= 	'';
	document.getElementById("poi_indoor_list_col").innerHTML=	'';
	$("#poi_indoor_text_row").hide('fast');
	$('#poi_indoor_list_col').hide();
	if ($('#box_pianta').length > 0) $('#box_pianta').remove();
	if ($('#tablepanview').length > 0) {
		plainingOpen = false;
		//$('#tablepanview').remove();
	}
	mapInternalView = false;
	var elem = document.getElementById("poi_indoor_list_col");
	elem.style.height = (tableHeight+119)+'px';

}

function GetXmlHttpObject(){
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

function searchInternal(testo){
		testo = testo.replace(' ','_')
		if (testo.length > 3)
			$("#livesearch").load("/general/searchInternal/"+testo+"/"+id_comune).css('visibility','visible');		
}

function panViewInternalMap(id) {
	
	 $.get("/general/planingPoi/"+id,function(data){
	 	if (data != 'false') {
			zoomPlaning = 1;
			var planing = data.split("othertb");
			$(planing[0]).appendTo('#poi_indoor_list_col');
			$('#choosefloor').html(planing[1]);
			//var floorWidth = ($('#playerCell').width() / 2) - 80;
			//var floorHeight = ($('#playerCell').height() / 3);
			
			//$("#markerpan").css('top', (mapHeightGlobal - 100));
			//$("#markerpan").css('left', 99);
			//$("#zoomselector").css('top', (mapHeightGlobal - 190));
			/*
			$("#tablepanview").css('top', (mapHeightGlobal - 235));
			$("#markerpan").css('top', (130));
			$("#markerpan").css('left', 99);
			$("#zoomselector").css('top', (30));
			*/			
			$("#zoomplanplus").hover(function () {$(this).attr('src', '/images/mappa_piu_click.jpg');}, function () {$(this).attr('src', '/images/mappa_piu_standard.jpg');}).click(function() {getZoomMap('plus')});
			$("#zoomplanmin").hover(function () {$(this).attr('src', '/images/mappa_meno_click.jpg');},function () {$(this).attr('src', '/images/mappa_meno_standard.jpg');}).click(function() {getZoomMap('min')});
			
			//$("#markerpan").css('top', 80);
			$("#imagePan").panView(206, 193);
			$("#imagePanPanMask").bind("dblclick", function(e){
				var mouseDropX = parseInt($(this).get(0).style.left);
				var mouseDropY = parseInt($(this).get(0).style.top);
				var pixelX = e.pageX - $('#imagePanPan').offset().left + Math.abs(mouseDropX);
				var pixelY = e.pageY - $('#imagePanPan').offset().top + Math.abs(mouseDropY);
				daPixelsALonLat(pixelX, pixelY);
				
			});
			plainingOpen = true;
			
		}	
	 });
	     
}

function getFloorMap(floor, selected, poi) {
	
	$.getJSON('/general/getFloorMap/'+poi+'/'+floor, function(data) {
			var zoomDimension = getZoomMapping(zoomPlaning);	
			$('#imagePan').attr('src', '/uc/planing/'+zoomDimension.zoom[0].zoomPrefix+data[0].PLANING);
			$('.planing .selectFloor').removeClass('selectFloor');
			$("#internalFloor").val(floor);
			$("#internalLonA").val(data[0].LONGITUDEA);
			$("#internalLatA").val(data[0].LATITUDEA);
			$("#internalLonB").val(data[0].LONGITUDEB);
			$("#internalLatB").val(data[0].LATITUDEB);	
			$("#internalHeight").val(eval("data[0]."+zoomDimension.zoom[0].heightZoom));
			$("#internalWidth").val(eval("data[0]."+zoomDimension.zoom[0].widthZoom));					
			selected.addClass('selectFloor');
			asGoLatLong(data[0].LATITUDE, data[0].LONGITUDE, data[0].U, data[0].V, 270);
			daLonLatAPixels(data[0].LONGITUDE, data[0].LATITUDE);			
	});
	$.get("/?c=general&m=internalView", { poi: poi, limit: 0, floor: floor },function(data){
		$('#wrapper_poi_indoor_list').remove();
		var details = data.split("othertb") 
		$('#detailsinternal').html(details[0]);
		$("#poi_indoor_list_col").prepend(details[1]);
		$("#wrapper_poi_indoor_list").css('height',(mapHeightGlobal-195));
	});

}


