var multiselect=new Array();



/*
 *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

		if(level!=(maxNested)){ // se node non � 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(ref_doc){
	var url_download="modules/download_cv.php?ref_doc="+ref_doc;
	
	//alert(url_download);
	//return;
	//var WIN=window.open(url_download,'','');
	//xmlHttp.open("GET", url_download);
	//xmlHttp.onreadystatechange = null;
	//xmlHttp.send(null);
	location.href=url_download;
}


function openVideoPresentation() {
	window.open('modules/video_player.php','','width=550,height=400,status=no,toolbar=no,resizable=no');
}


function toggleDocUpload(id_upload) {
	var uploads=['upload1', 'upload2', 'upload3', 'upload4', 'upload5'];
	BTN = gEBI('btn_upload'+id_upload);
	SPN = gEBI('upload'+id_upload);
	ROW = gEBI('row_upload'+id_upload);
	INP = document.forms['cv_livello1_conferma']['file_cv'+id_upload];
	//alert('row_'+id_upload);
	if(SPN.style.display=='none') {
		SPN.style.display='';
		BTN.innerHTML="Annulla ...";
		ROW.className='sel';
		//INP.click();
	}else{
		SPN.style.display='none';
		BTN.innerHTML="Carica Documento";
		ROW.className='';
		INP.value='';
	}
}

function checkSelectCV(id_cv) {
	ROW = gEBI('row_upload'+id_cv);
	//alert(ROW);
	ROW.className='changed';
}

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