/**
*	Oggetto Javascript di utilita' nella gestione e validazione di form HTML
*
*	@author Alessandro Pantano apsd@libero.it - Carlo Pellizzari lowman@jumpy.it
*   @version 1.0 - Luglio 2002
*/

/**
* Funzioni per invocare le pagine richieste con gli opportuni parametri
*/

function loadPage(whatPage, mode, CCodModelloValue, k1Value, k2Value, k3Value, k4Value, k5Value, k6Value, optionalValue, DBlinkValue){
  //alert(whatPage+" - "+mode+" - "+CCodModelloValue+" - "+k1Value+" - "+DBlinkValue);
  
  document.forms['pageLoader'].nextPage.value=whatPage;
  document.forms['pageLoader'].mode.value = mode;
  if(CCodModelloValue)
    document.forms['pageLoader'].CCodModello.value=CCodModelloValue;
  if(k1Value)
    document.forms['pageLoader'].k1.value=k1Value;
  else
  	document.forms['pageLoader'].k1.value="";
	
  if(k2Value)
    document.forms['pageLoader'].k2.value=k2Value;
  if(k3Value)
    document.forms['pageLoader'].k3.value=k3Value;
  if(k4Value)
    document.forms['pageLoader'].k4.value=k4Value;
  if(k5Value)
    document.forms['pageLoader'].k5.value=k5Value;
  if(k6Value)
    document.forms['pageLoader'].k6.value=k6Value;
  if(optionalValue)
    document.forms['pageLoader'].optionalValue.value=optionalValue;
  if(DBlinkValue)
	document.forms['pageLoader'].DBLink.value=DBlinkValue;
	
  document.forms['pageLoader'].submit();
}

/**
* Funzioni per invocare una pagina (indicata nel parametro "nextPage") con gli stessi parametri passati alla loadPage 
* e indirizzarla in un target scelto (indicato nel parametro "targetValue")
* Questa funzione evita di costruire la pagine utilizzando la first.asp; infatti, la pagina visualizzata sarà quella indicata nel parametro "nextPage"
*/

function loadGeneralPage(whatPage, mode, CCodModelloValue, k1Value, k2Value, k3Value, k4Value, k5Value, k6Value, optionalValue, DBlinkValue, targetValue){

  document.forms['pageLoader'].nextPage.value=whatPage;
  document.forms['pageLoader'].mode.value = mode;
  if(CCodModelloValue)
    document.forms['pageLoader'].CCodModello.value=CCodModelloValue;
  if(k1Value)
    document.forms['pageLoader'].k1.value=k1Value;
  if(k2Value)
    document.forms['pageLoader'].k2.value=k2Value;
  if(k3Value)
    document.forms['pageLoader'].k3.value=k3Value;
  if(k4Value)
    document.forms['pageLoader'].k4.value=k4Value;
  if(k5Value)
    document.forms['pageLoader'].k5.value=k5Value;
  if(k6Value)
    document.forms['pageLoader'].k6.value=k6Value;
  if(optionalValue)
    document.forms['pageLoader'].optionalValue.value=optionalValue;
  if(DBlinkValue)
	document.forms['pageLoader'].DBLink.value=DBlinkValue;
  if(targetValue)
	document.forms['pageLoader'].target=targetValue;
  else
    document.forms['pageLoader'].target="main";

  
  document.forms['pageLoader'].action=whatPage;
  document.forms['pageLoader'].submit();
}


/**
* Funzione per generare i vari tipi di pop-up: filtro, navigazione e messaggio d'errore
*/


var newWin;
function openWin(type,mainParam, WModID, refFormNameValue, f1, f2, f3, f4, f5, f6, k1Value, k2Value, nomeModello ){
	if (type=="filter")	{
// alert(type+" - "+mainParam+" - "+WModID+" - "+refFormNameValue+" - "+f1+" - "+f2+" - "+f3+" - "+f4+" - "+f5+" - "+f6+" - "+k1Value+" - "+k2Value);
		newWin = window.open('filterWin.asp', 'filterWin', 'width=630,height=450,scrollbars=yes');
		fform = document.forms['openWinForm'];
		fform.action = "filterWin.asp"; 
		fform.target = "filterWin";
		if (mainParam)  fform.CCodModello.value=mainParam;
		if (WModID)			   fform.WModID.value=WModID;

	       
		if (refFormNameValue)  fform.refFormName.value=refFormNameValue;
		if (f1) { fform.F1.value=f1; fform.V1.value=document.forms[refFormNameValue].elements[f1].value; }
		else   { fform.F1.value=""; }
		if (f2) { fform.F2.value=f2; fform.V2.value=document.forms[refFormNameValue].elements[f2].value; }
		else   { fform.F2.value=""; }
		if (f3) { fform.F3.value=f3; fform.V3.value=document.forms[refFormNameValue].elements[f3].value; }
		else   { fform.F3.value=""; }
		if (f4) { fform.F4.value=f4; fform.V4.value=document.forms[refFormNameValue].elements[f4].value; }
		else   { fform.F4.value=""; }
		if (f5) { fform.F5.value=f5; fform.V5.value=document.forms[refFormNameValue].elements[f5].value; }
		else   { fform.F5.value=""; }
		if (f6) { fform.F6.value=f6; fform.V6.value=document.forms[refFormNameValue].elements[f6].value; }
		else   { fform.F6.value=""; }
		// Può essere utile portare dietro il valore di k1 e k2 (vedi mod 6_1_Reg)
		if (k1Value) { fform.k1.value=document.forms[refFormNameValue].elements[k1Value].value; }
		if (k2Value) { fform.k2.value=document.forms[refFormNameValue].elements[k2Value].value; }
		
		// Poichè la chiamata a questa filtere viene fatta dal 6_1_REG dal 18_REG_F e dal 19_REG_F
		// per riconoscere il modello che ha richiesto questa pagina si può utilizzare il parametro "nomeModello".
		if (nomeModello) { fform.nomeModello.value=document.forms[refFormNameValue].elements[nomeModello].value; }
		
		
		fform.FirstCall.value="yes";
		fform.submit();
		newWin.focus();
	}
	if (type=="list") {
		newWin = window.open('first.asp', 'lista_'+mainParam, 'width=620,height=450,resizable=yes,toolbar=yes');
		fform = document.forms['winPageLoader'];
		fform.target = "lista_"+mainParam;
		fform.CCodFiscale.value = mainParam;
		fform.submitForm.value = "yes";
		fform.nextPage.value = "lista.asp";
		fform.InWin.value = "yes";
		fform.submit();
		newWin.focus();
	}
	if (type=="errormessage") {
		newWin = window.open('first.asp', 'errorMessage', 'width=440,height=200,resizable=yes');
		fform = document.forms['winPageLoader'];
		fform.target = "errorMessage";
		fform.nextPage.value = "errorMessage.asp";
		fform.mode.value=WModID;
		fform.CCodModello.value=mainParam;
		fform.k1.value=f1;
		fform.k2.value=f2;
		fform.k3.value=f3;
		fform.submit();
		newWin.focus();
	}
}

/**
* Funzione per generare il pop-up di salvataggio per i modelli
*/

function validate(fform) {
		newWin = window.open('validate.asp', 'validate', 'width=400,height=250,scrollbars=yes');
		fform.action = "validate.asp";
		fform.target = "validate";
		fform.submit();
		newWin.focus();
}


/**
* Funzione per controllare la correttezza delle coppie dei campi input CheckNox-Text
* presenti nel file "detailOf_1_REG.xsl"
*/
function controlloCheck(campoCheck, campoText){
		
	if(campoCheck){
			//alert(campoCheck.name);
			nomeForm = campoCheck.form.name;
			nomeCheck = campoCheck.name;
			nomeText = campoCheck.name+"_N";
			
			if(document.forms[nomeForm].elements[nomeCheck].checked==false && document.forms[nomeForm].elements[nomeText].value!="" )
				document.forms[nomeForm].elements[nomeText].value="";
	}else{
			//alert(campoText.name);
			nomeForm = campoText.form.name;
			nomeText = campoText.name;
			
			pos_int = nomeText.indexOf("_N");
			nomeCheck = nomeText.substring(0,pos_int);
			
			if(document.forms[nomeForm].elements[nomeText].value=="" || document.forms[nomeForm].elements[nomeText].value=="0" ){
				document.forms[nomeForm].elements[nomeCheck].checked=false;
				document.forms[nomeForm].elements[nomeText].value="";
			}
			else
				document.forms[nomeForm].elements[nomeCheck].checked=true;
	}
	
	if(isNaN(document.forms[nomeForm].elements[nomeText].value)){
		alert("Inserire solo numeri");
		document.forms[nomeForm].elements[nomeText].value="";
		document.forms[nomeForm].elements[nomeCheck].checked=false;
	}else{	
		// alert(nomeForm +" - " +nomeCheck +" - "+ nomeText);
		// alert(document.forms[nomeForm].elements[nomeCheck].checked);
	 
		if(document.forms[nomeForm].elements[nomeCheck].checked) 
			if(document.forms[nomeForm].elements[nomeText].value=="" || document.forms[nomeForm].elements[nomeText].value=="0") document.forms[nomeForm].elements[nomeText].value=1;
	}
}


/**
 *	Questa funzione carica il codice della natura giuridica corrispondente alla voce selezionata
 */
 function caricaCodice(CCodNatGiu, CDESCRIZIONE) {
 		alert();
        CCodNatGiu    // codice della natura giuridica
        CDESCRIZIONE  // voce selezionata della natura giuridica (Tipo: OBJECT)
	CCodNatGiu.value = CDESCRIZIONE[CDESCRIZIONE.selectedIndex].value;
        //return true;
}

/**
 *	Questa funzione permette di visualizzare una pagina in una PopUP
 */
 function openPopUP(nextPage, mode, CCodModello, k1, k2, k3, k4, k5, k6){
 //		alert(nextPage+" - "+mode+" - "+CCodModello+" - "+k1+" - "+k2+" - "+k3+" - "+k4+" - "+k5+" - "+k6);
 		newWin = window.open("first.asp", 'PopUP', 'width=400,height=280,resizable=yes,toolbar=yes,scrollbars=yes');
		fform = document.forms["pageLoader"];
		fform.target = "PopUP"
		fform.nextPage.value = nextPage;
		fform.mode.value = mode;
		fform.CCodModello.value = CCodModello;
		if(k1) fform.k1.value = k1;
		if(k2) fform.k2.value = k2;
		if(k3) fform.k3.value = k3;
		if(k4) fform.k4.value = k4;
		if(k5) fform.k5.value = k5;
		if(k6) fform.k6.value = k6;
		fform.submit();
		newWin.focus();
 }
 
 
/**
 * 	Funzione per stamapre la pagina HTML senza i pulsanti racchiusi tra tag "span" con ID=pulsanteStampa
 */ 
 function stampa(){
   bb=document.layers?document.layers['pulsanteStampa']:document.getElementById?document.getElementById('pulsanteStampa').style:document.all['pulsanteStampa'].style;
   bb.visibility="hidden"
   self.print();
   bb.visibility="visible"
}

