/* Necessita l'inclusione di jQuery Sono le funzioni da eseguire all'avvio */
var
activeElement = null;


function returnFalse () {
	return false;
}


function startPage() {
	/* istanziava la chiamata della greybox
		$("a.notify").click(function(){
		  var posMouse = findPos(this);

		  var t = this.title || $(this).text() || this.href;
		  GB_show("notify", t,this.href,posMouse);
		  return false;
		});

		$("a.confirm").click(function(){
		  var t = this.title || $(this).text() || this.href;
		  GB_show("confirm", t,this.href);
		  return false;
		});
	*/
	$("a").each(function(){
		var a = this.href;
		if (a.indexOf('#38;')!= -1 ) {	
			var uriExplorer = a.replace(/#38;/g, "");
			uriExplorer = uriExplorer.replace(/38;/g, "");
			this.href = uriExplorer;
		}
	 });

      };
      
function resetTargetMenu() {
	$('#targetMenu').hide();
	return true;
	}      

function resetConceptSearch() {
	$('#conceptSearch').hide();
	return true;
	}      
	
	
/* FUNZIONE CHE VIENE CHIAMATA AL TASTO DESTRO DEL MOUSE SULLA RIGA  */
function findPos(obj) {
	var curleft = 0; 
	var curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
	}
	return [curleft,curtop];
}

function showTargetMenu(e) {

	        var content = document.getElementById('content');
	        var tm = $('#targetMenu');
	        var pos = findPos(this);	        
		var posContent = findPos(content);						
		var uno = pos[0] - posContent [0] + (this.offsetWidth/2);
		var due = pos[1] - posContent [1] + this.offsetHeight;
		
		tm.css({ left: uno, top: due });
		tm.slideDown(250);
		/* Salva elemento  attivo*/
		activeTargetElement = this;
		return false;		
}

function callTargetItem(selezione) {
    if (activeTargetElement) {
		var selectedRow = activeTargetElement.parentNode;	
		var filtersFromFields = getFiltersFromFields(selectedRow);
		var filters = getFiltersUrl();
		if (filters!='') {filters = '?' + filters;}
		if (filtersFromFields!='') { 
			if (filters == '') {filters = '?' + filtersFromFields}
			else {filters = filters + '&' + filtersFromFields}
		}		
	     window.location =  '/geoxml/' + getUriSerialize() + '/' + getConceptName() + '/'  + selezione + '.html' +  filters;
	}     
resetTargetMenu();

}		

	function serializeSearchForm(theform) {
		var els = theform.elements;
		var len = els.length;
		var queryString = "";
		for (var i=0; i<len; i++) {
			var el = els[i];
			if (!el.disabled) {
				switch(el.type) {
					case 'text': case 'password': case 'hidden': case 'textarea': 
						if(el.value.length>0) 
							queryString = addSearchField(queryString, el.name,el.value);
						break;
					case 'select-one':
						if (el.selectedIndex>=0) {
							queryString = addSearchField(queryString, el.name,el.options[el.selectedIndex].value);
						}
						break;
					case 'select-multiple':
						for (var j=0; j<el.options.length; j++) {
							if (el.options[j].selected) {
								queryString = addSearchField(queryString, el.name,el.options[j].value);
							}
						}
						break;
					case 'checkbox': case 'radio':
						if (el.checked) {
							queryString = addSearchField(queryString, el.name,el.value);
						}
						break;
				}
			}
		}
		return queryString;
	}


function addSearchField(queryString, name,value) { 
	if ((queryString.length>0) && queryString[queryString.length-1] != '&') { 
		queryString += "&";
	}
	queryString += encodeURIComponent(name) + "=" + encodeURIComponent(value);
	return queryString;
}

function doConceptSearch (frm) {
		var queryString = serializeSearchForm(frm);
		window.location.href = '/geoxml/' + getUriSerialize() + '/' + getConceptName() + '/'+ getDimensions() +'.html?' + queryString;
		return false;

}


function doViewAsCommonSeparated() {
		var filters = getFiltersUrl();
		if (filters!='') {filters = '?' + filters;}
		window.location.href = '/geoxml/viewAsCommaSeparated/'  + getConceptName() + '/'+ getDimensions() +'.csv' + filters;
		return false;
}

function doViewAsBar() {
		var filters = getFiltersUrl();
		if (filters!='') {filters = '?' + filters;}
		window.location.href = '/geoxml/viewAsBar/'  + getConceptName() + '/'+ getDimensions() +'.html' + filters;
		return false;
}
