var multiselect=new Array();


function toggleTab(name_tab){
	var BODY=eval('document.getElementById(\'body_'+name_tab+'\')');
	var ICON=eval('document.getElementById(\'icon_'+name_tab+'\')');
	if(BODY.style.display=='none'){
		ICON.src='images/1downarrow.png';
		BODY.style.display='';
	}else{
		ICON.src='images/1rightarrow.png';
		BODY.style.display='none';
	}
}

function selectItem(CHECK){
	if(CHECK.checked){
		setVisibilitySelection('visible');
	}else{
		checkSelection();
	}
}

function checkSelection(){
	var FF=document.forms[0];
	var ELS=FF.elements;
	var oneChecked=false;
	if(ELS.length>0){
		for(var i=0; i<ELS.length; i++){
			if(ELS[i].type=="checkbox" && ELS[i].checked && ELS[i].name!='all_check'){
				oneChecked=true;
			}
		}
	}
	if(oneChecked){
		setVisibilitySelection('visible');
	}
	else{
		setVisibilitySelection('hidden');
	}
}


function setVisibilitySelection(VALUE){
	gEBI('memorizeSelection').style.visibility=VALUE;
	gEBI('candidatureSelection').style.visibility=VALUE;
	gEBI('alertSelection').style.visibility=VALUE;
	gEBI('mailingSelection').style.visibility=VALUE;
}


function toggleSelectAll(ALL_CHECK){
	var FF=document.forms[0];
	var ELS=FF.elements;
	var VAL=ALL_CHECK.checked;
	var oneChecked=false;
	var count=0;
	for(var i=0; i<ELS.length; i++){
		if(ELS[i].type=="checkbox"){
			count++;
			oneChecked=true;
			ELS[i].checked=VAL;
		}
	}
	//alert(count);
	checkSelection();
}

function toggleSearchTarget(CHECK){
	if(CHECK.checked){
		gEBI('old_search_name').style.display='none';
		gEBI('old_search_name').disabled=true;
		gEBI('new_search_name').style.display='';
		gEBI('new_search_name').disabled=false;
	}else{
		gEBI('old_search_name').style.display='';
		gEBI('old_search_name').disabled=false;
		gEBI('new_search_name').style.display='none';
		gEBI('new_search_name').value='nome ricerca...';
		gEBI('new_search_name').disabled=true;
	}
}

function setInfoSearch(){
	var FORM=document.forms[0];
	if(gEBI('new_search_name').style.display=='none'){
		FORM.type_search.value='OLD';
		FORM.name_search.value=gEBI('old_search_name').value;
	}else{
		FORM.type_search.value='NEW';
		FORM.name_search.value=gEBI('new_search_name').value;
	}
}

function saveSearch(id_search){
	var FORM=document.forms[0];
	FORM.action=FORM.action+'&action=add_to_search';
	//alert(FORM.action);
	//return;
	setInfoSearch();
	FORM.submit();
}



function validateSearch(){
	var FF=document.forms['ricerca'];
	var ELS=FF.elements;
	var stringa="";
	var isok=false;
	if(FF.cerca_docs.value!=''){
		for(var i=0; i<ELS.length; i++){
			if(ELS[i].name!='' && (ELS[i].type=='text' || ELS[i].type=='select-one' || ELS[i].type=='select-multiple') && ELS[i].name!='cerca_docs' && ELS[i].name!='nazione' && ELS[i].name!='search_docs_type'){
				stringa=stringa+ELS[i].name+": "+ELS[i].value+"\n";
				if(ELS[i].value!='' && ELS[i].value!='ALL' && ELS[i].value!='0'){
					isok=true;
				}
			}else if(ELS[i].type=='radio'){
				if(ELS[i].value!='' && ELS[i].checked){
					isok=true;
				}
			}
		}

		//alert(stringa);
	}else{
		isok=true;
	}
	if(!isok){
		return confirm('Stai per cercare in TUTTI i documenti nel sistema.\n\n La ricerca potrebbe durare qualche minuto, desideri ugualmente continuare?');
	}
}


/*
 *AJAX script
 */
var xmlHttp=getHTTPObject();
function getHTTPObject() {
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
	-4-'form_calc'
	try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e) {
	try {
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
	xmlhttp = false;
	}
	}
	@else
	xmlhttp = false;
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}
/*
 *End AJAX script
 */


function formatoDataMysql(D) {
	return D.substr(6,4)+'-'+D.substr(3,2)+'-'+D.substr(0,2);
}

//recupera il VALORE di una input dato il tag e l'attributo 'name' (UNIVOCO nella pagina)
//es. gETBN('select','aziende_partner') trova <select name="aziende_partner">...</select>
//    gETBN('input','indirizzo') trova <input type="hidden" name="indirizzo"> o <input type="text"...>
//                               mentre non trova <textarea name="indirizzo"> o <input id="indirizzo">
function gEBTN(tag,name){
	var X=document.getElementsByTagName(tag);
	for(var i=0; i<X.length; i++){
		if(X[i].name==name){
			return X[i].value;
		}
	}
}


//come la precedente, ma restituisce l'OGGETTO e non il valore
function ggETBN(tag,name){
	var X=document.getElementsByTagName(tag);
	for(var i=0; i<X.length; i++){
		if(X[i].name==name){
			return X[i];
		}
	}
}

//restituisce l'OGGETTO con id (UNIVOCO nella pagina)
function gEBI(id){
 return document.getElementById(id);
}

function createEmpty(name){
	var result='<select name="'+name+'" disabled><option value="0">...</option></select>\n';
	return result;
}



//carica via Ajax il ramo figlio di node
function loadCombo(node){

	var OBJ=ggETBN('select',node); //catturo la select di nome 'node'
	OBJ.style.backgroundColor='#FFF'; //sfondo bianco alla select

	if (xmlHttp==null)
	  {
		  alert ("Your browser does not support AJAX!");
		  return;
	  }

	var loadURL=url+"?action="+node;

	for(var i=0; i<multiCombo.length; i++){
		if(multiCombo[i]==node){
			var level=i;
			var parent=i-1;
			var child=i+1;
		}
	}

	var THIS=gEBTN("select", node); //catturo il valore della select che l'utente ha selezionato
	loadURL=loadURL+'&item='+THIS; //così lo passo a multicombo.php

	//alert(loadURL);
	xmlHttp.open("GET",loadURL);
	xmlHttp.onreadystatechange=function() {handle_loadCombo(node);}; //definisce la callback
	xmlHttp.send(null);
}


function handle_loadCombo(node) { //callback della chiamata Ajax
	if (xmlHttp.readyState==4){ //è arrivata la risposta?
		var RESPONSE;
		if(xmlHttp.status == 200) { // Ok, metti in RESPONSE l'output della chiamata
			RESPONSE = xmlHttp.responseText;
		} else {
			RESPONSE = xmlHttp.status;
		}

		var maxNested=multiCombo.length-1;
		var level;
		var child;
		for(var i=0; i<=maxNested; i++){ //cerco il livello di node, e quello dei figli di node
			if(multiCombo[i]==node){
				level=i;
				child=i+1;
			}
		}
	    V=gEBTN('select',node); // V contiene il value di quello che l'utente ha appena selezionato
		//alert(V);
		if(level!=(maxNested)){ // se node non è l'ultimo figlio

			if(V==0){ // se si è resettata la select
				for(var rst=level+1; rst<=maxNested; rst++){ //disabilito i discendenti
					gEBI(multiCombo[rst]).innerHTML=createEmpty(multiCombo[rst]);
				}

			}else{ // altrimenti se si è scelto un valore
				//disabilito a partire dai nipoti
				for(var clean=child+1; clean<multiCombo.length; clean++){
					gEBI(multiCombo[clean]).innerHTML=createEmpty(multiCombo[clean]);
				}

				//riempio il figlio con il response della chiamata
				gEBI(multiCombo[child]).innerHTML=RESPONSE;
			}

		} else { //se node è ultimo figlio
			//alert('ultimo figlio!'); /* è possibile attivare una funzione alla selezione dell'ultimo figlio*/
		}
	}
	else{
		//var R=setTimeout("handle_loadCombo('"+node+"')",100); /*probelmi di risposta Ajax? attiva questo comando */
	}
}

function downloadCV(PATHCV, Prefix){
	//alert(Prefix);
	var url_download="modules/download_cv.php?file_cv="+PATHCV+"&prefix="+Prefix;
	//alert(url_download);
	//return;
	var WIN=window.open(url_download,'','');
}


/*function mailExport(){
	var FF=document.forms[0];
	var ELS=FF.elements;
	var CHECKS=new Array();
	var RE=/C_/;
	for (var i=0; i<ELS.length; i++) {
		if(ELS[i].name.match(RE) && ELS[i].checked){
			CHECKS.push(ELS[i]);
		};
	}
	var newForm=document.createElement('form');
	document.body.appendChild(newForm);
	newForm.target='new';
	newForm.action="modules/exportMailing.php";
	newForm.method='POST';

	for(var j=0; j < CHECKS.length; j++) {
		var actobj=document.createElement('input');
		actobj.name='casella[]';
		actobj.value=CHECKS[j].name;
		newForm.appendChild(actobj);
	}

	newForm.submit();
	newForm.style.display='none';
	newForm='';

}*/

tooltips=new Array();

tooltips[1]="<strong>Potrebbe impiegare molto tempo!</strong><br> Si consiglia di usarla con altri filtri di ricerca o all'interno di una Ricerca Salvata";
tooltips[2]="Il campo <strong>Username</strong> deve contenere almeno 8 caratteri fra lettere (A-Z a-z), numeri (0-9) e separatori (._-@)";
tooltips[3]="Selezionare l\'ultimo percorso di studi completato";
tooltips[4]="Attenzione: La ricerca per <strong>CAP</strong> azzera i valori del menu <strong>Regioni</strong> - <strong>Provincie</strong> - <strong>Comuni</strong>";
tooltips[5]="Attenzione: La ricerca per <strong>Regioni</strong> - <strong>Provincie</strong> - <strong>Comuni</strong> azzera la ricerca per <strong>CAP</strong>";


function getPosizione (el) {

	var C = {x: 0, y: 0};
	while (el) {
		C.x += el.offsetLeft;
		C.y += el.offsetTop;
		el = el.offsetParent;
	}
	return C;
}

var incFade=null;
var step=1;

function toolTipON(ID){
	var BOX=document.getElementById('toolTipBox');
	eval("var IMG=document.getElementById('img_"+ID+"');");
	IMG.onmousover=function(){toolTipON(ID)};
	//alert(BOX.style.height);
	BOX.innerHTML='<img src="images/widgets/fumetto2.png" style="margin:0px; padding:0px" /><div style="position:absolute; top:10px; left:10px; width:172px; color:#000">'+tooltips[ID]+'</div>';
	BOX.style.padding='0px';
	var BODY=document.getElementById('toolTipBody');
	BOX.style.display='block';
	fadeIn('toolTipBox',2);
	BOX.style.position='absolute'
	COORDS=getPosizione(IMG);
	BOX.style.left=COORDS.x-66+'px';
	BOX.style.top=COORDS.y-112+'px';
}

function toolTipOFF(ID){
	var BOX=document.getElementById('toolTipBox');
	BOX.style.display='none';
	BOX.innerHTML=null;
	clearInterval(incFade);
}

function fadeIn(id,speed){
		if(document.all){
			setOpac(id,100);
			return;
		}
		setOpac('toolTipBox',0);
		clearInterval(incFade);
		if(speed<1){
			speed=1;
		}
		if(speed>4){
			speed=4;
		}
		switch(speed){
			case 1:
				step=1;
			break;
			case 2:
				step=4;
			break;
			case 3:
				step=10;
			break;
			case 4:
				step=20;
			break;
		}
		reChrome=/Chrome/i;
		if(navigator.appVersion.match(reChrome)){
			step=step/5;
		}
		incFade=setInterval("incrementOpac('"+id+"')",1);

}

function getOpac(id){
	var OBJ=document.getElementById(id);
	if(document.all){
		stringOpac=OBJ.style.filter;
		if(stringOpac==''){
			return 100;
		}else{
			re=/\d{1,2}/i;
			found = stringOpac.match(re);
			return found;
		}
	}else{
		stringOpac=OBJ.style.opacity;
		if(stringOpac==''){
			return 100;
		}else{
			return (stringOpac*100);
		}
	}
}

function setOpac(id,opac){
	var OBJ=document.getElementById(id);
	if(document.all){
		if(opac<100){
			OBJ.style.filter='alpha(opacity='+opac+')';
		}
	}else{
		OBJ.style.opacity=(opac/100);
	}
	return opac;
}

function incrementOpac(id){
	var opac=getOpac(id);
	opac=opac+step;
	if(opac > 100){
		clearInterval(incFade);
		setOpac(id,100);
		return;
	}else{
		setOpac(id,opac);
	}
}

function getPageSize(){
	var size={ W:document.body.offsetWidth, H:document.body.offsetHeight };
	//alert(window.innerHeight+' '+ size.H);
	if(size.W < window.innerWidth){
		size.W=window.innerWidth;
	}
	if(size.H > window.innerHeigth){
		alert('piu piccolo');
		size.H=window.innerHeigth;
	}
	if(document.all){
		//alert(window.clientY);
		//size.H=document.documentElement.clientHeight + document.body.clientHeight;
	}
	return size;
}


function show_info_upload_image()
{
	var txt="E' possibile cariacre immagini nei soli formati 'JPG' e 'PNG'.\n\nIl Il file non deve pesare più di 2M";
	alert(txt);
}


function modalPopUp(url_dest, title_win, width_win, height_win){

	var sizes=getPageSize();
	document.documentElement.style.overflow='hidden';
	gEBI("cover_interface").style.height=sizes.H+'px';
	gEBI("cover_interface").style.display='block';
	//gEBI("cover_interface").ondblclick = function(){ this.style.display='none'; document.documentElement.style.overflow='auto'; };
	if(document.all){
		gEBI("cover_interface").style.filter='alpha(opacity=75)'
	}
	var w = screen.width;
	var h = screen.height;
	var x = Math.round(w / 2) - Math.round(width_win / 2);
	var y = Math.round(h / 2) - Math.round(height_win / 2);

	var XX = window.open(url_dest,title_win,"width="+width_win+", height="+height_win+", top="+y+", left="+x+", screenY="+y+", screenX="+x+", menubar=no, status=no, toolbar=no");
	XX.onbeforeunload=function(){
		this.opener.location.reload();
	}

	if(document.all){
		XX.window.document.onunload=function(){alert('ciao');};
	}

	XX.onblur=function(){
		this.setTimeout("window.focus()",50);
	}
}


function validateRegisterForm(){
	var errmsg='';
	var errors=false;
	for(var i in OF){
		if(FF[i].value==''){
			errors=true;
			errmsg+=' * "'+OF[i]+'" e\'obbligatorio\n';
			FF[i].style.background='#FF9999';
			FF[i].style.border='1px solid #CC0000';
			FF[i].onchange=function() {
				this.style.background='none';
				this.style.border='';
			};
		}
	}
	
	if((FF.fldpass.value!='' && FF.fldpass2.value!='') && FF.fldpass.value != FF.fldpass2.value){
		errors=true;
		errmsg+='\n * Le password devono coincidere!\n';
	}
	if(FF['email'].value!='' && !FF['email'].value.match(/[a-zA-Z0-9_\.\-]{3,}\@[a-zA-Z0-9_\.\-]{3,}\.[a-zA-Z]{2,}/)){
		errors=true;
		errmsg+='\n * L\'indirizzo mail fornito non e\' valido\n';
		FF['email'].style.backgroundColor='#FF9999';
		FF['email'].style.border='1px solid #CC0000';
		FF['email'].onchange=function(){
			this.style.backgroundColor='#FFFFFF';
			this.style.border='';
		}
	}
	if(errors){
		str_alert = '-------------------------------------------\n';
		str_alert+= '       Ci sono errori di compilazione!\n';
		str_alert+= '-------------------------------------------\n';
		str_alert+= errmsg;
		str_alert+= '-------------------------------------------';
		alert(str_alert);
		return false;
	}else{
		return true;
	}
}
