/***************************************************
*	func registrazione
*************************************************/
function registrazioneStep2(containerId,patinaBtn,continuaBtn,selectName) {

	var url = "" ;
	var find = false ;
	
	for (i=0; i < document.form.length; i++) {
		
		
		url += "&" + document.form[i].name + "=" + document.form[i].value ;
	}	
	
	
	var valoreStatus = "" ;
	
	for (i=0; i < document.form.length; i++) {
		
		if (document.form[i].name == "ruolo") {
		
			if (document.form[i].checked) {
			
				valoreStatus = document.form[i].value ;
			}
		}
	}
	
	
	var ajaxObj = new ClassAJAX();
	//ajaxObj.setMethod("POST") ;
	ajaxObj.setExecute(false) ;
	ajaxObj.setReturn(true) ;
	ajaxObj.setLoading(false) ;
	ajaxObj.runAJAX('../ajax/ajax.php?&action=registrazioneStep2&nome_colonna='+valoreStatus+url) ;

	var html = "" ;
	var htmlOld = "" ;
	
	myInterval = window.setInterval(
	function() { 
		
		htmlOld = html ;
		html = ajaxObj.getHtml() ;
		
		if (html != false) {
			
			if (htmlOld == html) {
				
				window.clearInterval(myInterval);
				
				disableBtn(patinaBtn,continuaBtn,selectName) ;
				
				var elem = document.getElementById(containerId) ;
				elem.style.display = '' ;
				elem.innerHTML = '' ;
				elem.innerHTML = html ;
				
			}
		} 
	} 
	,100) ;	
	
}

function registrazioneStep2New(containerId,nome_colonna) {
	
	var url = "" ;
	var find = false ;
	
	for (i=0; i < document.form.length; i++) {
		
		
		url += "&" + document.form[i].name + "=" + document.form[i].value ;
	}	
	
	var ajaxObj = new ClassAJAX();
	//ajaxObj.setMethod("POST") ;
	ajaxObj.setExecute(false) ;
	ajaxObj.setReturn(true) ;
	ajaxObj.setLoading(false) ;
	ajaxObj.runAJAX('../ajax/ajax.php?&action=registrazioneStep2&nome_colonna='+nome_colonna+url) ;

	var html = "" ;
	var htmlOld = "" ;
	
	myInterval = window.setInterval(
	function() { 
		
		htmlOld = html ;
		html = ajaxObj.getHtml() ;
		
		if (html != false) {
			
			if (htmlOld == html) {
				
				window.clearInterval(myInterval);
				
				var elem = document.getElementById(containerId) ;
				elem.style.display = '' ;
				elem.innerHTML = '' ;
				elem.innerHTML = html ;
				
			}
		} 
	} 
	,100) ;	
}

function enableBtn(containerId,patinaBtn,continuaBtn,selectName) {
	
	var elemPatinaBtn = document.getElementById(patinaBtn) ;
	elemPatinaBtn.style.zIndex='10' ;
	
	var elemContinuaBtn = document.getElementById(continuaBtn) ;
	elemContinuaBtn.style.zIndex='20' ;

	if (elemContinuaBtn.style.MozOpacity) {
		elemContinuaBtn.style.MozOpacity = 1 ;
	}
	else if (elemContinuaBtn.filters) {
		elemContinuaBtn.filters.alpha.opacity = 100 ;
	}
	
	var elem = document.getElementById(containerId) ;
	elem.style.display = '' ;
	elem.innerHTML = '' ;
	
}

function disableBtn(patinaBtn,continuaBtn,selectName) {
	
		
	var elemPatinaBtn = document.getElementById(patinaBtn) ;
	elemPatinaBtn.style.zIndex='20' ;
	
	var elemContinuaBtn = document.getElementById(continuaBtn) ;
	elemContinuaBtn.style.zIndex='10' ;

	if (elemContinuaBtn.style.MozOpacity) {
		elemContinuaBtn.style.MozOpacity = 0.4 ;
	}
	else if (elemContinuaBtn.filters) {
		elemContinuaBtn.filters.alpha.opacity = 40 ;
	}
	
}


function showLivSucc(livelloCorrente, codLivSel, campo) {
	
	var livello = "" ;
	
	livello = parseInt(livelloCorrente) + 1 ;
	
	var liv ;
	for (i=livello; i<=4; i++) {
		liv = document.getElementById('livello_' + i) ;
		liv.innerHTML = "" ;
		liv.style.display = 'none' ;
	}
	
	var ajaxObj = new ClassAJAX();				
	ajaxObj.setExecute(false) ;
	ajaxObj.setReturn(true) ;
	ajaxObj.setLoading(false) ;
	ajaxObj.runAJAX('../ajax/ajax.php?action=showLivello&livello='+livello+'&codLivSel='+codLivSel+'&campo='+campo) ;
						
	var html = "" ;
	var htmlOld = "" ;

	myInterval = window.setInterval(
	function() { 
		htmlOld = html ;
		html = ajaxObj.getHtml() ;
		if (html != false) {
			
			if (htmlOld == html) { 
			
				window.clearInterval(myInterval);
				
				var elem = document.getElementById('livello_' + livello) ;
				elem.style.display = '' ;
				elem.innerHTML = html ;
			}
			

		} else {
			//alert ("niente ancora") ;	
		}
	} 
	,1) ;	
}

function riportaCodRuolo(valore, campo) {
	
	eval("document.form."+campo+".value='"+valore+"';") ;	
}

/***************************************************
*	fine func registrazione
*************************************************/


/***************************************************
*	func calendario
*************************************************/

function apri_dim(webpath,dim_cod,id_nonno,nome_colonna,center_dett,campo_opener,campoRep) {
  
  w = 590;
  h = 600;
  l = (screen.width - w) / 2;
  t = 15;
  wnd = window.open(webpath + "/popup_dim.php?dim_cod="+dim_cod+"&id_nonno="+id_nonno+"&campo_opener="+campo_opener+"&nome_colonna="+nome_colonna+"&center_dett="+center_dett+"&campoRep="+campoRep,"","fullscreen=0,channelmode=no,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes, resizable=no, width="+w+", height="+h+", left="+l+", top="+t);
  wnd.focus();

}

function changeMonth(action, spanId, year, month, day) {
	
	var ajaxObj = new ClassAJAX();
	ajaxObj.setExecute(true) ;
	ajaxObj.setElement(spanId) ;
	ajaxObj.setReturn(false) ;
	ajaxObj.setLoading(false) ;
	ajaxObj.runAJAX('../ajax/ajax.php?&action='+action+'&year='+year+'&month='+month+'&day='+day) ;
}

function changeMonthPopup(action, spanId, year, month, day,campo,periodo_week,data_end) {
	
	var ajaxObj = new ClassAJAX();
	ajaxObj.setExecute(true) ;
	ajaxObj.setElement(spanId) ;
	ajaxObj.setReturn(false) ;
	ajaxObj.setLoading(false) ;
	ajaxObj.runAJAX('../ajax/ajax.php?&action='+action+'&year='+year+'&month='+month+'&day='+day+'&campo='+campo+'&periodo_week='+periodo_week+'&data_end='+data_end) ;
}

function riporta_dim(id,text,x,campo_opener) {
	
	id_array = id.split("|") ;
	campo_opener_array = campo_opener.split("|") ;
	text_array = text.split("|") ;
	
	// lungezza di tutti i campi del opener
	len = window.opener.document.form.length;

	for(r=0;r<len;r++){
		// nome di tutti i campi di opener
		s=window.opener.document.form.elements[r].name;
		
		// in opener solo il campo fasullo del testo e [nome_campo]_text
		// quindi con split sgamo il campo fasullo
		// e riporto i valori al campo fasullo 
		// e il succesivo che e l'ID che mi serve.
		if (!s) {
			continue ;	
		}
				
		t=s.split("_");
		jj=t[1];
		dd=t[0];
			
		
		if(jj == "text" && dd == campo_opener_array[0]){		
			
			window.opener.document.form.elements[r].value=text_array[0];
			nn=r+1;
			window.opener.document.form.elements[nn].value=id_array[0];	
		
			if (id_array[1] || id_array[2] || id_array[3] || campo_opener_array[1] || campo_opener_array[2] || campo_opener_array[3]) {	
					
				text_a = campo_opener_array[1] ;
				text_a = text_a + "_text" ;
									
				text_b = campo_opener_array[2] ;
				text_b = text_b + "_text" ;
			
				text_c = campo_opener_array[3] ;
				text_c = text_c + "_text" ;
				
				/********************************************
				*	apparo testi che hanno apici all'interno
				*	tipo L'aquila --> L\'aquila
				*********************************************/
				var text_array_ok = "" ;
				for (i=0; i < text_array[1].length ; i++) {
					if (text_array[1].charAt(i) == "'") { 
						text_array_ok = text_array_ok + "\\'" ;
					}else {
						text_array_ok = text_array_ok + text_array[1].charAt(i) ;
					}
				}
				text_array[1] = text_array_ok ;

				text_array_ok = "" ;
				for (i=0; i < text_array[2].length ; i++) {
					if (text_array[2].charAt(i) == "'") { 
						text_array_ok = text_array_ok + "\\'" ;
					}else {
						text_array_ok = text_array_ok + text_array[2].charAt(i) ;
					}
				}
				text_array[2] = text_array_ok ;
				/**************************************
				*	fine aparamento
				*************************************/
				
				eval("window.opener.document.form."+campo_opener_array[1]+".value="+id_array[1]+";") ;
				eval("window.opener.document.form."+campo_opener_array[2]+".value="+id_array[2]+";") ;
				eval("window.opener.document.form."+text_a+".value='"+text_array[1]+"';") ;
				eval("window.opener.document.form."+text_b+".value='"+text_array[2]+"';") ;
				
				if (campo_opener_array[3] && id_array[3]) {
					eval("window.opener.document.form."+campo_opener_array[3]+".value="+id_array[3]+";") ;
					eval("window.opener.document.form."+text_c+".value='"+text_array[3]+"';") ;
				
				}

			}
		
		}
		else if (jj == "num" && dd == campo_opener_array[0]) {
			old_val = eval("window.opener.document.form."+campo_opener_array[0]+"_num.value;") ;
			if (old_val) {
				old_val1= parseInt(old_val) ;
				old = old_val1 + 0 ;
			}else {
				old = 0 ;
			}
			eval("window.opener.document.form."+campo_opener_array[0]+"_num.value="+text_array[1]+";") ;
			par = window.opener.document.form.totale.value ;
			if (par) {
				par1 = parseInt(par) ;
				parziale = par1 + 0 ;
			}else {
				parziale = 0 ;
			}
			totale = (parseInt(parziale) - parseInt(old)) + parseInt(text_array[1]) ;
			eval("window.opener.document.form.totale.value="+totale+";") ;
		}	
	}

self.close();

}


function riportaData(campo, tipo) {
			
	var campoH = campo + "_" + tipo ;
	var campoT = campo + "_" + tipo + "_text" ;			
	
	var valore = eval ("document.form."+campoT+".value;") ;
	eval ("document.form."+campoH+".value='"+valore+"';") ;

}

function apriPopupCalendario(webpath,campo) {
	
	w = 220;
	h = 220;
	l = (screen.width - w) / 2;
	t = (screen.height - h) / 2;
	
	wnd = window.open(webpath + "popupCalendario.php?campo=" + campo,"wnd","fullscreen=0,channelmode=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no, resizable=no, width="+w+", height="+h+", left="+l+", top="+t);
	wnd.focus();
}
function apriPopupStampaArticolo(webpath,campo,idCampo,url) {
	
	w = 820;
	h = 620;
	l = (screen.width - w) / 2;
	t = (screen.height - h) / 2;
	
	wnd = window.open(webpath + "/popup_stampa_articolo.php?" + campo + "=" + idCampo + url,"wnd","fullscreen=0,channelmode=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes, resizable=no, width="+w+", height="+h+", left="+l+", top="+t);
	wnd.focus();
}

function apriPopupStampaNews(webpath,campo,idCampo,url) {
	
	w = 820;
	h = 620;
	l = (screen.width - w) / 2;
	t = (screen.height - h) / 2;
	
	wnd = window.open(webpath + "/popup_stampa_news.php?" + campo + "=" + idCampo + url,"wnd","fullscreen=0,channelmode=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes, resizable=no, width="+w+", height="+h+", left="+l+", top="+t);
	wnd.focus();
}


function riporta_data(data,campo,periodo_week,data_end){
	
	xx = data.split("-");
	aaaa	= xx[2] ;
	mm	= xx[1] ;
	gg	= xx[0] ;
	if(mm.length<2){mm = "0" + mm;}
	if(gg.length<2){gg = "0" + gg;}
	data_ok = gg + "-" + mm + "-" + aaaa ;
	data_post = aaaa + mm + gg ; 
	
	
	var campoDT = campo + "_d_text" ;
	var campoD = campo + "_d" ;
	
	var campoMT = campo + "_m_text" ;
	var campoM = campo + "_m" ;
	
	var campoYT = campo + "_y_text" ;
	var campoY = campo + "_y" ;
	
	eval ("opener.document.form."+campoDT+".value='"+gg+"'") ;
	eval ("opener.document.form."+campoD+".value='"+gg+"'") ;
	
	eval ("opener.document.form."+campoMT+".value='"+mm+"'") ;
	eval ("opener.document.form."+campoM+".value='"+mm+"'") ;
	
	eval ("opener.document.form."+campoYT+".value='"+aaaa+"'") ;
	eval ("opener.document.form."+campoY+".value='"+aaaa+"'") ;
	
	eval ("opener.document.form."+campo+".value='"+data_post+"'") ;
		
	self.close() ;

}

/***************************************************
*	fine func calendario
*************************************************/

function onDivCentered(divname) {
	var elem = document.getElementById(divname) ;
	elem.style.display = "" ;

	//setVariablesObj(divname) ;
	//checkLocationObj(divname) ;
	if (navigator.appName == "Netscape") {
		if (parseInt(navigator.appVersion) >= 5){
			v=".top=";
			h=".left=";
			dS="document.getElementById(\"";sD="\").style";
			y="window.pageYOffset";
			x="window.pageXOffset";
		}
		else {
			v=".top=";
			h=".left=";
			dS="document.";
			sD="";
			y="window.pageYOffset";
			x="window.pageXOffset";
		}
	}
	else {
	//ENTRO QUI
		h=".pixelLeft=";
		v=".pixelTop=";
		dS="";
		sD=".style";
		y="document.body.scrollTop";
		x="document.body.scrollLeft";
	}	
	
	var ystart=eval(y);
	var xstart=eval(x);
	
	yy=eval(y);
	xx=eval(x);
	
	var wScreen = screen.width ;
	var hScreen = screen.height ;
	
	var wDiv = elem.style.height.substring(0,(elem.style.width.length)-2) ;
	var hDiv = elem.style.height.substring(0,(elem.style.height.length)-2) ;
	
	var newH = ((hScreen-hDiv)/2) + yy - 100;
	var newW = ((wScreen-wDiv)/2) + xx ;
	
	elem.style.top=newH + "px;";
	elem.style.left=newW + "px;";
}


function onDiv(divname) {
	
	var elem = document.getElementById(divname) ;
	elem.style.display = "" ;
}	

function offDiv(divname) {
	
	var elem = document.getElementById(divname) ;
	elem.style.display = "none" ;	
}	

function toggle(divname) {
	
	var elem = document.getElementById(divname) ;
	
	if (elem.style.display == '') {
		offDiv(divname) ;
	}
	else {
		onDiv(divname) ;
	}
}



function htmlSubstr(htmlString,maxLength) {
    // htmlSubstr is XHTML compliant.
    // It is case sensitive and empty HTML elements like <br> should be written <element/>.
    
    if (htmlString != null && htmlString != "" && maxLength != null && maxLength != "") {        

        isText = true
        var r = ""
        var i = 0
        
        var currentChar = ""
        var lastSpacePosition = -1
        var lastChar = ""
        
        var tagsArray = new Array()
        var currentTag = ""
        var tagLevel = 0

        var noTagLength = 0
        
        // Calculate string length without tags
        for (j=0;j<htmlString.length;j++) {
            currentChar = htmlString.charAt(j)
            if (currentChar == "<") { isText = false }
            if (isText) { noTagLength++ }
            if (currentChar == ">") { isText = true }    
        }
        
        // Parser loop
        for (j=0;j<htmlString.length;j++) {

            currentChar = htmlString.charAt(j)
            r += currentChar 
            
            // Lesser than event
            if (currentChar == "<") { isText = false }

            // Character handler
            if (isText) {

                // Memorize last space position
                if (currentChar == " ") { lastSpacePosition = j } else { lastChar = currentChar }
                i++
            } else {
                currentTag += currentChar
            }

            // Greater than event
            if (currentChar == ">")
            {
                isText = true
                
                // Opening tag handler
                if (currentTag.indexOf("<") != -1 && currentTag.indexOf("/>") == -1 && currentTag.indexOf("</") == -1) {

                    // Tag has attribute(s)
                    if (currentTag.indexOf(" ") != -1) {
                        currentTag = currentTag.substr(1,currentTag.indexOf(" ")-1)
                    } else {
                        // Tag doesn't have attribute(s)
                        currentTag = currentTag.substr(1,currentTag.length-2)
                    }
                    
                    tagsArray[tagLevel] = currentTag
                    tagLevel++
                    
                } else if (currentTag.indexOf("</") != -1) {
                    
                    // Closing tag handler
                    tagsArray[tagLevel-1] = null
                    tagLevel--
                }
                
                currentTag = ""
            }    

            if (i == maxLength) { break }
        }
                
        // Cut HTML string at last space position
        if (maxLength < noTagLength) {        
            if (lastSpacePosition != -1) {
                r = htmlString.substr(0,lastSpacePosition)
            } else {
                r = htmlString.substr(0,j)
            }
         }

        // Close broken XHTML elements
        for (a=tagsArray.length-1;a>=0;a--) {
            if (tagsArray[a] != null) { r += "</" + tagsArray[a] + ">" }
        }

        if (maxLength < noTagLength) {        
            if (lastChar != ".") { r += "..." } else { r += ".." }
        }
        
        return r // Return new HTML string
    
    } else {
        //alert("hmtlSubstr() function needs parameters : hmtlSubstr(htmlString,maxLength)")
    }
}