var brw="ie";

if (document.all)    { brw="ie";}
if (document.layers) { brw="ns"; }
if (document.getElementById) { brw="dom"; }

// datetime parsing and formatting routimes. modify them if you wish other datetime format

function str2dt (str_datetime) {
	var re_date = /^(\d+)\-(\d+)\-(\d+)\s+(\d+)\:(\d+)\:(\d+)$/;
	if (!re_date.exec(str_datetime))
		return alert("Invalid Datetime format: "+ str_datetime);
	return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));
}

function str2time (str_time) {

	var re_date = /^(\d+)\:(\d+)\:(\d+)$/;
	
	if (!re_date.exec(str_time)) return false;
	
	ora = parseInt(str_time.substring(0,2));
	minuti = parseInt(str_time.substring(3,5));
	secondi = parseInt(str_time.substring(6,8));
		
	if (ora < 0 || ora > 24) return false;
	if (minuti < 0 || minuti > 59) return false;
	if (secondi < 0 || secondi > 59) return false;
		
	return true;

}

function dt2dtstr (dt_datetime) {
	return (new String (
			dt_datetime.getDate()+"-"+(dt_datetime.getMonth()+1)+"-"+dt_datetime.getFullYear()+" "));
}

function checkData(elf, elt, descf, desct) {
		
	elementfrom = eval("document.all."+elf);
	elementto = eval("document.all."+elt);
	sela = elementfrom.selectedIndex;
	selb = elementto.selectedIndex;
	texta = elementfrom.options[sela].text;
	textb = elementto.options[selb].text;
	
	if (texta != textb) {

		alert('Attenzione '+ descf +' e '+ desct +' devono corrispondere !');
		return false;	
	}
	
	return true;
		
}

function checkText(elTxt, descTxt) {
		
	elementTxt = eval("document.all."+elTxt);
	
	if (elementTxt.value == '') {

		alert('Attenzione '+ descTxt +' deve essere valorizzato !');
		return false;	
	}
	
	return true;
		
}

function checkTime(timeStr) {
	
	timeelement = eval("document.all."+timeStr);
	
	result = str2time(timeelement.value);
	if (!result) {

		alert('Attenzione formato o valore ora errato: \n- Formato: hh:mm:ss\n- Esempio: 15:30:00');
		timeelement.value = "hh:mm:ss";
		timeelement.focus();
		return false;	
	}
	
	return true;
		
}

function checkString(elTxt, descTxt, lenTxt) {
	
	var elementTxt = window.event.srcElement;
	
	// alert(elementTxt);
	// alert(elementTxt.name);
	// alert(elementTxt.value);
	
	dim =  elementTxt.length;
	if ((elementTxt.value == '') || (dim > lenTxt) || (dim <0)) {

		alert('Attenzione '+ descTxt +' deve essere valorizzato inserendo un valore stringa!');
		return false;	
	}
	
	return true;
		
}

function checkInteger(elTxt, descTxt, lenTxt) {
		
	var elementTxt = window.event.srcElement;
	// alert(elementTxt);
	
	dim =  elementTxt.length;
	if (elementTxt.value == '' || dim > lenTxt || dim < 0) {

		alert('Attenzione '+ descTxt +' deve essere valorizzato inserendo un valore intero!');
		return false;	
	}
	
	return true;
		
}

function checkEuro(elTxt, descTxt, lenTxt) {
		
	var elementTxt = window.event.srcElement;
	dim =  elementTxt.length;
	
	
	if (elementTxt.value == '' || dim > lenTxt || dim < 0) {

		alert('Attenzione '+ descTxt +' deve essere valorizzato inserendo un valore intero!');
		return false;	
	}
	
	return true;
		
}

/* WINDOW MANAGER */

function setExternal(from, pagina, parameter) {
	
	   winExternal = window.open(pagina, "", parameter);

         if (winExternal != null) {
         
         	setTimeout("checkWindow('"+from+"')", 100);
         	winExternal.focus();
                  	
         }
         
         else alert ('Attenzione operazione non generabile');
         
}

function checkWindow (txt) {
		
	if (winExternal.closed) {

		window.location.href=txt;
		return;
	
	}
	
	else {
	
		setTimeout("checkWindow('"+txt+"')", 100);
	}
	
}

function setData(el) {

         // alert (document.all.dataavviso);showModalDialog
         var bResult = showModalDialog("calendar.php", "Seleziona una data", "dialogWidth:800px;dialogHeight:230px");
         // alert(bResult);
         element = eval("document.all."+el);
         if (bResult != '') element.value = bResult;
}

function setPunto(el) {
	
	 // conselect = eval("document.all.[].name");
         /*
         for (i=0; i<document.all.documento.length; i++) { 
         	
         	alert (i+' - '+document.all.documento.elements[i].name);
         	
         }
         */
         con = document.all.documento.idconncodice.value;
         
         //alert('conv: '+con);
         
         page = "punto.php?op=num&con="+con;
         var bResult = showModalDialog(page, "Calcola punto successivo", "dialogWidth:500px;dialogHeight:350px");
         // alert(bResult);
         elementid = eval("document.all."+el);
         elementdesc = eval("document.all."+el+"desc");
         if (bResult != '') {
         	
         	bResultArray = bResult.split("|");
         	
         	elementid.value = bResultArray[0];
         	elementdesc.value = bResultArray[1];
         	
         }
         
         return true;
         
}

function setNextPunto(el) {
	
	 // conselect = eval("document.all.[].name");
         
         con = document.all.documento.idconncodice.value;
         page = "punto.php?op=max&con="+con;
         var bResult = showModalDialog(page, "Calcola punto successivo", "dialogWidth:350px;dialogHeight:350px");
         // alert(bResult);
         element = eval("document.all."+el);
         if (bResult != '') element.value = bResult;
         
}

fieldname="";

function getFieldName() {
	return fieldname;	
}

function setFieldName(el) {
	fieldname=el;
	return true;	
}

function setCampo(el, page, parameter) {
	   
	   // element = eval("document.all.form."+el);
	   	var element;
	   	if (brw=="ie") element=document.all(el);
		if (brw=="ns") element=document.layers[el];
		if (brw=="dom") {
			element=eval(document.getElementById(el));
		}
	   //alert("Nome del campo: "+element);
	   
         // con = element.value;
         // page = "uploadfile.php";
	   // var bResult = showModalDialog(page, el, "dialogWidth:500px;dialogHeight:300px");
	   //if (parameter=='') parameter='top=0,left=0,width=550,height=100,scrollbars=0,resizable=0,menubar=no,toolbar=no,location=no,directories=no';
	  
	   //alert(parameter);
	   
	    if ((parameter=='')||(parameter==undefined)) parameter = "width=500, height=190, top=100, left=100, menubar=no, toolbar=no, location=no, directories=no";
	   
	   var bResult = window.open(page, el, parameter);
	   setFieldName(el);	   
         // alert(bResult);
         // element = eval("document.all."+el);
         // if (bResult != '') element.value = bResult;
         
}

//function setCampo(el, page) {
	   // element = eval("document.all.form."+el);
//	   if (el !="") element = document.all[el];
	   // alert("Nome del campo: "+element);
	   
         // con = element.value;
         // page = "uploadfile.php";
	   // var bResult = showModalDialog(page, el, "dialogWidth:550px;dialogHeight:400px");
//	   var bResult = window.open(page, el, "top=0,left=150,width=500, height=550, menubar=no, toolbar=no, location=no, directories=no"); 
//	   if (el !="") setFieldName(el);   
         // alert(bResult);
         // element = eval("document.all."+el);
         // if (bResult != '') element.value = bResult;       
//}

function aggiornaCampo(valore) {

	el=getFieldName();
	if (el !="") {
		//element = document.all[el];
		if (brw=="ie") element=document.all(el);
		if (brw=="ns") element=document.layers[el];
		if (brw=="dom") {	element=eval(document.getElementById(el));	}
 		element.value = valore;
 		setFieldName("");
 	}
 	
	// document.all.image.value = valore;

}


function checkForm(formname) {

	element = eval ("document.all."+formname);	
	  
	for (i=0; i<element.length; i++) { 
         	
		str = "Pos: "+i+"\n";
		str += "Nome: "+element[i].name+"\n";
		str += "Type: "+element[i].type+"\n";
		str += "Id: "+element[i].id+"\n";
		str += "Value: "+element[i].value+"\n";
		alert(str);
		
		if (!window.confirm('ATTENZIONE, desideri controllare gli elementi successivi ?')) {
			i=element.length;
		}
		
	}
}

function getFieldValue(el) {

	element = document.all[el];
	return element.value;
}


function addRow(vRow, sRow)
{
    sRow = unescape(sRow);

    var oSel = document.all.sel;
    
    var oOption = document.createElement("OPTION");
    oSel.options.add(oOption);
    
    oOption.innerText = sRow;
    oOption.value = vRow;
            
}