/*
'******************************************************************************
'
' Nome:			common.js
' Autore:		Gentile Valerio
' Versione:		29-02-2004
' Contenuto:	Script vari
'******************************************************************************

/*---------------------------------------------------------------------
function WinOpen(myUrl,myWid,myHei,myMenu,myStatus,myScrolls,myTool)
-----------------------------------------------------------------------
	Apre un file in una nuova finestra personalizzata
-----------------------------------------------------------------------*/
function WinOpen(myUrl,myName,myWid,myHei,myMenu,myStatus,myScrolls,myTool){
	var win;
	var winOpts;
	if (myWid == '') myWid=600;
	if (myHei == '') myHei=400;
	if (myMenu == '') myMenu='yes';
	if (myStatus == '') myStatus='yes';
	if (myScrolls == '') myScrolls='yes';
	if (myTool == '') myTool='yes';
	winOpts = "top=0,left=0,width=" + myWid + ",height=" + myHei
		+ ",menubar=" + myMenu + ",status=" + myStatus + ",scrollbars="
		+ myScrolls + ",toolbar=" + myTool;
	win = window.open(myUrl,myName,winOpts);
//  se si vuole aprire come finestra MODALE:
//	winOpts = "dialogTop:0px; dialogLeft:0px; dialogWidth:" + myWid + "px;dialogHeight:" + myHei
//		+ "px; help:No; resizable:No; status:No";
//	win = window.showModalDialog(myUrl,'',winOpts);
}

// Per richiamare questa funzione:
// Esempio
// controllaForm(new Array('Cognome o Rag.Soc.','','Indirizzo','Telefono o Cellulare','E-mail','Richiesta'))"
// Se un campo non è obbligatorio basta lasciarlo vuoto. Esempio sopra: il secondo campo è ''
//altro esempio: onSubmit="return(controllaForm(new Array('E-mail','Password')))"
function controllaForm(arrayCampi){
	  var messaggio="";
	  var errore=false;
	  for (i=0; i<arrayCampi.length; i++){
		  if (window.document.forms[0].elements[i].value=="" && arrayCampi[i]!=""){
			if (errore) messaggio=messaggio+", ";
			messaggio=messaggio+arrayCampi[i];
			errore=true;
		  };
	  }
	  if (errore==true){
		alert("Attenzione i seguenti campi sono obbligatori: " + messaggio + ".")
		return false;
	  }else {
		return true;
	  }
}

function testNumerico(arrayCampi){
	var messaggio="";
	var errore=false;
	for (i=0; i<arrayCampi.length; i++){
	  if (isNaN(window.document.forms[0].elements[i].value) && arrayCampi[i]!=""){
			if (errore) messaggio=messaggio+", ";
			messaggio=messaggio+arrayCampi[i];
			errore=true;
	  }
	}
	if (errore){
		alert("Attenzione i seguenti campi devono contenere un valore numerico: " + messaggio + ".");
	}
	return !errore;
}


// Per richiamare questa funzione:
// Esempio
//onclick="actionRadioButton('id_prodotto','Modificare',false,'modifica_prodotto.asp',640,480)"
//oppure
//onclick="actionRadioButton('id_prodotto','Rimuovere',true,'rimuovi_prodotto.asp',100,100)"
function actionRadioButton(RadioButtonName,StrAction,conferma,action,width,height){
	var id;
	var collection = window.document.all[RadioButtonName];
	if (checkRadioButton(RadioButtonName)){
		if (String(collection.length)=="undefined"){
			if (conferma){
				if (confirm(StrAction + " l'elemento selezionato?")){
					WinOpen(action + "?" + RadioButtonName + "=" + collection.value,StrAction,width,height,"no","no","no","no")					
				}
			}else{
				WinOpen(action + "?" + RadioButtonName + "=" + collection.value,StrAction,width,height,"no","no","no","no")								
			}
		}
		for (i=0;i<collection.length;i++) {
			if (collection[i].checked){
				id = collection[i].value;
				if (conferma){				
					if (confirm(StrAction + " l'elemento selezionato?")){
						WinOpen(action + "?" + RadioButtonName + "=" + id,StrAction,width,height,"no","no","no","no")										
					}
				}else{
					WinOpen(action + "?" + RadioButtonName + "=" + id,StrAction,width,height,"no","no","no","no")															
				}
			}
		}	
	}
}
function checkRadioButton(RadioButtonName){	
	var collection = window.document.all[RadioButtonName];
	if (String(collection)!="undefined"){
		if (String(collection.length)=="undefined"){
			if (collection.checked){
				return true;
			}
		}
		for (i=0;i<collection.length;i++) {
			if (collection[i].checked){
				return true;
			}
		}
		alert("Attenzione: Selezionare un elemento dalla lista");
	}else{
		alert("Attenzione: Non vi sono elementi");
	}
}

function testEuroMoney(arrayCampi){
	var messaggio="";
	var errore=false;
	for (i=0; i<arrayCampi.length; i++){
	  if (arrayCampi[i]!=""){
	    //window.document.forms[0].elements[i].value=(window.document.forms[0].elements[i].value).replace(",",".")
	  	if (!isEuroMoney(window.document.forms[0].elements[i].value)){
			if (errore) messaggio=messaggio+", ";
			messaggio=messaggio+arrayCampi[i];
			errore=true;
		}
	  }
	}
	if (errore){
		alert("Attenzione i seguenti campi devono contenere una cifra espressa in Euro (es. 120,58): " + messaggio + ".");
	}
	return !errore;
}

function isEuroMoney(string){
	n=string.indexOf(",")
	m=string.lastIndexOf(",");
	if (n==m) {
		for (x=0; x<string.length; x++){
			if (isNaN(string.charAt(x)) && string.charAt(x)!=","){
				return false;
			}
		}
		return true;
	}
	return false;
}