// ==================================================================================================
function openPopWindow(theURL,winName,features) {
// ==================================================================================================
   featuresArr = features.split(",");
   for(x=0; x<featuresArr.length; x++){
	 if(featuresArr[x].indexOf("width=") >= 0 ) { winHalf_wsize = featuresArr[x].replace("width=","")/2; }
	 else if(featuresArr[x].indexOf("height=") >= 0){ winHalf_hsize = featuresArr[x].replace("height=","")/2; }
   }
   vcent = screen.availHeight/2;
   ocent = screen.availWidth/2;
   vpos  = vcent-winHalf_hsize;
   opos  = ocent-winHalf_wsize;
   var popup = window.open(theURL,winName,features);
   popup.moveTo(opos,vpos);
   popup.focus();
   return popup;
}
// ==================================================================================================
function controllaEmail(StrMail){
// ==================================================================================================
	msg = "L'indirizzo email inserito non sembra essere valido, controlla i dati e riprova";
	if (StrMail.length>6) {
		var pos;
		var dotpos;
		pos = StrMail.indexOf("@");
		if ( (pos >= (StrMail.length-3) ) || (pos < 2) ) {
			alert(msg);
			return (false);
        }
      	pos=pos+1;
      	dotpos = StrMail.indexOf(".", pos);
      	if (dotpos > (StrMail.length-3) ) {
			alert(msg);
        	return (false);
        }
      	Strmail=StrMail.substr(pos);
		if ( (StrMail.length < 5) || (dotpos <= 0) ){
			alert(msg);
        	return (false);
        }
	} else {
		alert(msg);
		return false;
	}
    return true;
}
// =========================================================================================================================
function printFlashChartActiveX(swfFileUrl,width,height,flashvars,objName) {
// =========================================================================================================================
	acX = "";
	acX = acX+"<embed src='"+rootURL+"/"+swfFileUrl+"' ";
	acX = acX+"FlashVars='"+flashvars+"' ";
	acX = acX+"quality='high' ";
	acX = acX+"bgcolor='' ";
	acX = acX+"WIDTH='"+width+"' "
	acX = acX+"HEIGHT='"+height+"' ";
	acX = acX+"SCALE='exactfit' ";
	acX = acX+"NAME='"+objName+"' ";
	acX = acX+"TYPE='application/x-shockwave-flash' PLUGINSPAGE='ttp://www.macromedia.com/go/getflashplayer'>\n";
	document.write(acX)
}
function contaCaratteri(obj,objdsp,maxlen) {
	/* ===============================================================================================
	Funzione per il conteggio dei caratteri inseriti in un campo di input (textarea e text) 
	la funzionč vą applicata sugli evento 'onKeyPress' e/o 'onKeyUp' restituendo un messagio di alert
	quando si raggiunge il numero massimo di caratteri disponibili.

	es di utilizzo: onKeyPress="return contaCaratteri(this,'chrcount',200)"
	obj    = (this) textarea o text dove č associata la funzione
	objdsp = ('chrcount') nome del campo di input dove visualizzare i caratteri disponibili 
			 Se impostato a 0 (zero) identifica che nel documento non esiste il campo di visualizzazione
	maxlen = (200) Numero massimo di caratteri che č possibile inserire.
	=============================================================================================== */
	if(!obj||!maxlen||isNaN(maxlen)) { 
		alert("'obj' or 'maxlen' not valid!");
		return false;
	}  
	var curlen = obj.value.length;
	if(curlen>=maxlen){	
		alert("Hai raggiunto il numero massimo di caratteri disponibili per questo campo."); 
		obj.focus(); 
		return false; 
	}
	if(objdsp==0){ 
		return true;
	} else {
		chrleft = (maxlen-curlen)-1;
		document.getElementById(objdsp).value=chrleft;
		return true;
	}
}

// ==================================================================================================
function popolaSelect(selObj,arrObjVal){
// ==================================================================================================
	/* Popolazione automatica di una select in un form.
	I parametri da fornire per l'esecuzione della funzione sono:
	
	- selObj => Oggetto JS identificativo della select in cui si vogliono inserire le nuove voci.
			    esempio: document.formName.selectName
				
	- arrObjVal => Array contentente le voci da inseire nella select.
				   Il formato delle voci contenute nell'array deve essere composto nell'esempio:
				   arrayName[0] = "15|Testo"
				   arrayName[1] = "optionValue|optionText"
	*/
	selObj.options[0] = new Option("Seleziona una voce...","");
	x = 1
	for(i=0;i<arrObjVal.length;i++){
		keyVal = arrObjVal[i].split("|");
		selObj.options[x] = new Option(keyVal[1],keyVal[0]);
		x++;
	}
	return true;
}

// ==================================================================================================
function svuotaSelect(selObj){
// ==================================================================================================
	for(i=0;i<selObj.length;i++){ selObj.options[0] = null; }
	return true;
}

