
var ie=document.all;
var nn6=document.getElementById&&!document.all;

document.onclick=EventHandler;

$(function(){
	if (typeof(newBO)=="undefined") newBO = true;
	if (newBO){
		try{
			$(function(){

			  $("img[bomenu][bomenu!='']").each(function(){
				$(this).bind("click", Menu)
			  })
			});
		}
		catch(e){}
	}
});


function HideMenuBO(){$('body #menuBO').remove()}

function Menu(e){
	var _el = nn6 ? e.target : event.srcElement;
	var topelement = nn6 ? "HTML" : "BODY";
	
	e = nn6 ? e : event;
	
	if (_el == null || _el.getAttribute('hasMenu') == 'true') return;
	
	_el.setAttribute('hasMenu', 'true');
	var cod_oggetto = _el.getAttribute("bomenu");
	var clientX = e.clientX
	var clientY = e.clientY
	var tx = parseInt(_el.style.left+0);
	var ty = parseInt(_el.style.top+0);
	if (newBO){
		MBOStartLoading();
		$.ajax({
		   type: "POST",
		   async: true,
		   url: "menu.aspx",
		   data: { cod_oggetto: cod_oggetto, "newBO": newBO},
		   success: function(result){
				var  html = result;
				//HideMenuBO()
				$(_el).menu({
					content: html,		
					maxHeight: 500,
					offsetX: 10,
					offsetY: 20,
					flyOut: true,
					showSpeed: 0,
					crossSpeed: 0
				});

				MBOStopLoading();

				$(_el).trigger('mousedown');
				$(_el).trigger('click');
				
			/*	var sLeft = document.body.scrollLeft + document.documentElement.scrollLeft;
				var sTop = document.body.scrollTop + document.documentElement.scrollTop;
				
				$('#menuBO').parent().css("left", clientX +  + sLeft + "px");
				$('#menuBO').parent().css("top", clientY +  + sTop + "px");
				$('#menuBO').parent().show();
	
				$("body").append(html);
				var sLeft = document.body.scrollLeft + document.documentElement.scrollLeft;
				var sTop = document.body.scrollTop + document.documentElement.scrollTop;

				$("#menuBO").css("position", "absolute"); 
				$("#menuBO").css("left", clientX +  + sLeft + "px");
				$("#menuBO").css("top", clientY +  + sTop + "px"); */
			}

		});
	}
}
function EventHandler(e){
	var _el = nn6 ? e.target : event.srcElement;
	var topelement = nn6 ? "HTML" : "BODY";

	e = nn6 ? e : event;

	//x = nn6 ? e.clientX : event.clientX;
	//y = nn6 ? e.clientY : event.clientY;

	//menu contestuale FO
	if (newBO!=null && !newBO) if (_el.getAttribute("bomenu")!=null) CreateBOMenu(_el, e);
}

function getStringVar( name ) {   
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");   
	var regexS = "[\\?&]"+name+"=([^&#]*)";   
	var regex = new RegExp( regexS , "gi");   
	var results = regex.exec( window.location.href );   
	if( results == null ) return "";   
	else return decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

function getStringVar_old(st){
  var temp = unescape(self.document.location.search);
  if(temp.indexOf(st) >= 0){
    temp = temp.substring((temp.indexOf(st)+(st.length+1)), temp.length);
    temp = temp.substring(0, (((temp.indexOf('&')>=0)?temp.indexOf('&'):temp.length)));
  }else{ temp = '';
  } return unescape(temp);
}

function ExistVar(st){
	var temp = unescape(self.document.location.search);
	if(temp.indexOf(st) >= 0)
		return true
	else
		return false;

}

// imposta il cookie sNome = sValore
// per la durata di iGiorni
function setCookie(sNome, sValore, iGiorni) {
  var dtOggi = new Date()
  var dtExpires = new Date()
  dtExpires.setTime
    (dtOggi.getTime() + 24 * iGiorni * 3600000)
  document.cookie = sNome + "=" + escape(sValore) +
    "; expires=" + dtExpires.toGMTString();
}

// restituisce il valore del cookie sNome
function getCookie(sNome) {
  // genera un array di coppie "Nome = Valore"
  // NOTA: i cookies sono separati da ';'
  var asCookies = document.cookie.split("; ");
  // ciclo su tutti i cookies
  for (var iCnt = 0; iCnt < asCookies.length; iCnt++)
  {
    // leggo singolo cookie "Nome = Valore"
    var asCookie = asCookies[iCnt].split("=");
    if (sNome == asCookie[0]) { 
      return (unescape(asCookie[1]));
    }
  }

  // SE non esiste il cookie richiesto
  return("");
}

// rimuove un cookie
function delCookie(sNome) {
  setCookie(sNome, "");
}


/*Menu FO*/
function CreateBOMenu(el, _event)
{
	var cod_oggetto = el.getAttribute("bomenu");

	var tx = parseInt(el.style.left+0);
	var ty = parseInt(el.style.top+0);
	
	//window.open("menu.aspx?cod_oggetto=" + cod_oggetto, "editingframe");
	document.getElementById("editingframe").src="menu.aspx?cod_oggetto=" + cod_oggetto + "";
	document.getElementById("editingframe").style.display="";
 	var sLeft = document.body.scrollLeft + document.documentElement.scrollLeft;
	var sTop = document.body.scrollTop + document.documentElement.scrollTop;

	//document.getElementById("editingframe").style.posLeft = _event.clientX +  + sLeft;
	//document.getElementById("editingframe").style.posTop = _event.clientY +  + sTop;

	document.getElementById("editingframe").style.left = _event.clientX +  + sLeft + "px";
	document.getElementById("editingframe").style.top = _event.clientY +  + sTop + "px";

	document.getElementById("editingframe").style.width="100%";
	document.getElementById("editingframe").style.height="100%";

}

function inviaRicerca(formric)
{
	var act=formric.action;
	act=act + unescape("%26") + "field=" + escape(formric.field.value);
	formric.action=act;
}

/*DOMINIO*/
function impostaDominio()
{
	var curdom=document.domain;
	var pos=curdom.lastIndexOf(".");
	if(pos>0)
	{
		var pos2=curdom.lastIndexOf(".",pos - 1 );
		if(pos2>0)
		{
			var newdom=curdom.substring(pos2 + 1,curdom.length);
			//alert(document.domain  + "-" + newdom);
			document.domain = newdom;
		}
	}

}

//impostaDominio();

function InitPortal() //richiamata sull'evento onLoad della pagina
{

	if (this.toggler) {
		toggler();
	}
	//Simple Search
	if (document.getElementById("FOControlsParams__ctl0:SEARCHTEXT:Testo")!=null){
		var text = getStringVar("FOControlsParams__ctl0:SEARCHTEXT:Testo");
		
		if (text != "") document.getElementById("FOControlsParams__ctl0:SEARCHTEXT:Testo").value = text;
		
		text = getStringVar("FOControlsParams__Sectors");
		var o = document.getElementsByName("FOControlsParams__Sectors");
		if(o.length>0){
		for (i=0; i<2; i++)
			if (o[i].value==text) o[i].checked=true;
		}
		//frase esatta
		var _exact = document.getElementById("FOControlsParams__EXACTPHRASE");
		if (_exact && text){
			text = getStringVar("FOControlsParams__EXACTPHRASE");
			if (text != "") 
				_exact.checked = true;
			else
				_exact.checked = false;
		}
		

	}	
	//FINE:Simple Search

}



var loc = document.URL;
//voglio eseguire InitPortal solo sulla pagina di root: non pagine in iframe come ricerca, registrazione utenti (in /common/)
if (loc && loc.search(/common\/fo/gi)==-1)
	window.onload = InitPortal;




function startSearch(page){
	$(".SimpleSearch input[type=submit]").attr("disabled", "disabled");
	var _testo = $(".SimpleSearch input[type='text']").val();
	var _portale = $(".SimpleSearch input[name='FOControlsParams__Sectors']:checked").val();
	if (_portale=="_PORTAL_") _portale = "";
	RunSearch(_testo, page, {portals: _portale}, null, "endSearch()")
}
function endSearch(){
	$(".SimpleSearch input[type=submit]").removeAttr("disabled");
}
function RunSearch(testo, page, params, AjaxCallback, myCallback){
	var sp = null;
	if (typeof(Splash)!="undefined") {
		sp = new Splash("Motore di Ricerca");
		sp.log("Elaborazione in corso...");
	}
	
	var service = "common/Services/Service.aspx";
	var defaults= {
		mode: "search",
		
		target: ".Main",				//target html
		lingua: "",
		pagesize: 10, 
		portals: "", 					//"" prova a determinare il portale corrente; "_ALL_": cerca su tutti i portali attivi, "CURRENT"
		sectors: "",  					//sectors se = "_PORTAL_" imposta il settore del portale corrente (se la chiamata avviene da un portale Cod_Portal in web.config)
		typelist: "",
		aggregate: false,
		exaxtphrase: false,
		xslturl: "",
		contenttype: "text/html"
	
	}
	params = $.extend({}, defaults, params||{});
	
	var _callback = AjaxCallback||function(result){
		$(params.target).html(result);
			eval(myCallback);
			if (sp!=null) sp.close();
		}
	
	if(!page) page=1;
	
	params.searchtext = testo;
	params.page = page;

	
	if (testo.length<3) 
		alert("testo di ricerca troppo corto'")
	else
	var _url = service + "?"+$.param(params);
	
	$.ajax({
		 type: "GET",
		 async: true,
		 cache: false,
		 url: _url,
		 success: _callback
	});
}
