self.onerror = function () {return true;}

var NS = false;
if (document.layers){NS = true}
/************************************************************
				Mauri: Funzione conferma Evento come in Categoria Siag; 
INPUT: evenid=nodo di riconoscimento oggetti, msg=messaggio msgbox
OUTPUT: Modifica valori della Form
*************************************************************/
function confirmSiagCategory(evenid,msg){

	if (! eval("document.form"+evenid+".EVEN_IMPORT_SIAG_"+evenid+".checked")){
		eval("document.form"+evenid+".EVEN_IMPORT_SIAG_"+evenid+".checked=true");
		eval("document.form"+evenid+".LOC_EVEN_IMPORT.value="+evenid+"");
		//alert(eval("document.form"+evenid+".LOC_EVEN_IMPORT.value="+evenid+""));
	}
	if (confirm(msg)){
		eval("document.form"+evenid+".submit()");
	}
	else{
		for (i=0; i<(eval("document.form"+evenid+".CATE_ID_SIAG_"+evenid+".length")+1);i++){
			//alert(eval("document.form"+evenid+".CATE_ID_SIAG_"+evenid+".options["+i+"].defaultSelected"));
			if (eval("document.form"+evenid+".CATE_ID_SIAG_"+evenid+".options["+i+"].defaultSelected")){
				eval("document.form"+evenid+".CATE_ID_SIAG_"+evenid+".options["+i+"].selected=true");
				if (eval("document.form"+evenid+".EVEN_IMPORT_SIAG_"+evenid+".checked")){
					eval("document.form"+evenid+".EVEN_IMPORT_SIAG_"+evenid+".checked=false");
				}
				break;
			}
		}
		//alert(eval("document.form"+evenid+".CATE_ID_SIAG_"+evenid+".options[document.form"+evenid+".CATE_ID_SIAG_"+evenid+".selectedIndex].selected=true"));
	}
	
}


/************************************************************
				Mauri: Funzione conferma Evento come già visto o meno; 
INPUT: obj=oggetto checkbox, evenid=nodo di riconoscimento oggetti, msg=messaggio msgbox
OUTPUT: Modifica valori della Form
*************************************************************/
function ConfirmViewEven(obj,evenid,msg){

	if (confirm(msg)){
		if (! obj.checked){
			eval("document.form"+evenid+".CATE_ID_SIAG_"+evenid+".value=''")	
		}
		eval("document.form"+evenid+".submit()");
	}else{
		if (eval("document.form"+evenid+".EVEN_IMPORT_SIAG_"+evenid+".checked")){
			eval("document.form"+evenid+".EVEN_IMPORT_SIAG_"+evenid+".checked=false");
		}
		else{
			eval("document.form"+evenid+".EVEN_IMPORT_SIAG_"+evenid+".checked=true");
		}
	}
	
	
}


/************************************************************
				Mauri: Funzione controllo data; 
Format può essere anche nn uguale al vero formato della data
Se msg errore diverso da stringa vuota e il formato nn combacia
visualizzo il msg di errore.
INPUT: sDate=Data, format=Carattere con il quale formatto la data
OUTPUT: True-> Data regolare; False Data irregolare;
*************************************************************/
function isDate(sDate,format,msg) {
  var aiDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var iDay;
  var iMonth;
  var iYear;
  var data=false;
  
  var DeuFormatDate=/^(\d{1,2})\.(\d{1,2})\.(\d{4})$/;
  
  if (!sDate.match(DeuFormatDate)){alert(msg); return false;} 
  
  if (sDate.substring(1, 2) == format) {
    iDay = parseInt(sDate.substring(0, 1), 10);
    if (sDate.substring(3, 4) == format) {
      iMonth = parseInt(sDate.substring(2, 3), 10);
      iYear = parseInt(sDate.substring(4, 8), 10);
	  data = true;
    }
    else if (sDate.substring(4, 5) == format){
      iMonth = parseInt(sDate.substring(2, 4), 10);
      iYear = parseInt(sDate.substring(5, 9), 10);
	  data = true;
    }
  }
  else if (sDate.substring(2, 3) == format){
    iDay = parseInt(sDate.substring(0, 2), 10);
    if (sDate.substring(4, 5) == format) {
      iMonth = parseInt(sDate.substring(3, 4), 10);
      iYear = parseInt(sDate.substring(5, 9), 10);
	  data = true;
    }
    else if (sDate.substring(5, 6) == format){
      iMonth = parseInt(sDate.substring(3, 5), 10);
      iYear = parseInt(sDate.substring(6, 10), 10);
	  data = true;
    }
  }
  if (!data){
    if (msg!=""){
		alert(msg);
		return false;
	}  
  }
  
  if (iDay < 1 || iMonth < 1 || iYear < 0){
    if (msg!=""){
		alert(msg);
		return 0;
	}  
    return 0;
	}
    
  if (iMonth > 12){
     if (msg!=""){
		alert(msg);
		return 0;
	}  
    return 0;
  }


  iYear += iYear < 100 ? iYear > 10 ? 1900 : 2000 : 0;
  /***************************************************
			Mauri: Controllo anno bisestile
  ****************************************************/
  aiDays[1] += (iYear % 4 ? 0 : iYear % 100 ? 1 : iYear % 400 ? iYear == 200 ? 1 : 0 : 1);

  ctrlbs = (iDay <= aiDays[iMonth - 1]);
  if (ctrlbs == 0 && msg!=""){
		alert(msg);
		return ctrlbs;
  }
  return ctrlbs;
}

/************************************************************
				Mauri: Funzione di confronto tra du date, la seconda
						se è anteriore alla prima è una data valida
INPUT: sepformat-> Formato separatore della data Es "." data1->Prima data.
	   data2-> Seconda data.
OUTPUT: Boolean->True Se la seconda data è maggiore della prima.
*************************************************************/

function IsValidPostDate( data1, data2, sepformat ){
	//alert(data1);
	ldate1 = data1.split( sepformat );
	datefrom1 = new Date(ldate1[2],ldate1[1],ldate1[0],null,null,null,null);
	nummerdate1 = datefrom1.valueOf();
	
	ldate2 = data2.split( sepformat );
	datefrom2 = new Date(ldate2[2],ldate2[1],ldate2[0],null,null,null,null);
	nummerdate2=datefrom2.valueOf();

	return (nummerdate2 > nummerdate1);
	
}

/******************************************************************
				Mauri: Funzione di confronto tra due stringhe.Le due
						stringhe devono avere uguali  altrimenti 
						ritorna valore booleano false
INPUT:  2 Stringhe
OUTPUT: Boolean-> True or False
*******************************************************************/

function isEqualStr( str1,str2 ){
	lstr1 = str1.toUpperCase();
	lstr2 = str2.toUpperCase(); 
	return (lstr1==lstr2);
}

/******************************************************************
				Mauri: Funzione di controllo file in UPLOAD
				
INPUT: Path del file, Estensione Es: c:\\miopath.doc, doc
Output: Boolean True or False
*******************************************************************/

function isValidEstension( path,estensione ){ 
	pos = path.lastIndexOf('.')
	if ( pos > 0 ){
		 file = path.substring(pos+1);
		return (isEqualStr( file,estensione ));	
	}
	else{
		return false;	
	}
}

function windowopen(name, x, y) {
var param = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,";
        param += "width=" + x + ",height=" + y ;
	    window.open(name, "", param );
}


/************************************************************
			Mauri: Controllo formattazione data 
INPUT: obj=Oggetto Text, language=Stringa controllo data('I';'D')
OUTPUT: Gestione Data obj.value ;
*************************************************************/
function checkDate(obj, language, msg) {
	var stringa;
	
	GeneralFormatDate=/\d{8}/;
	ItaFormatDate=/^\d{2}\/\d{2}\/\d{4}$/;
	DeuFormatDate=/^\d{2}\.\d{2}\.\d{4}$/;


	switch (language){
	case 'I':
		if ((obj.value.match(ItaFormatDate))||(obj.value.match(GeneralFormatDate))){
			if (obj.value.match(GeneralFormatDate)){
				dd=obj.value.substr(0,2);
				mm=obj.value.substr(2,2);
				yy=obj.value.substr(4,4);
				obj.value=dd + "/" + mm + "/" + yy;					
			}
			if(isDate(obj.value,"/")){
				return true;
			}
			else{
				if (msg!=null) alert(msg);
				return false;
			}
		}
		else{
			if (msg!=null) alert(msg);
			return false;
		}
		break;
	case 'D':
		if ((obj.value.match(DeuFormatDate))||(obj.value.match(GeneralFormatDate))){
			if (obj.value.match(GeneralFormatDate)){
				dd=obj.value.substr(0,2);
				mm=obj.value.substr(2,2);
				yy=obj.value.substr(4,4);
				obj.value=dd + "." + mm + "." + yy;
			}
			if(isDate(obj.value,".")){
				return true;
			}
			else{
				if (msg!=null) alert(msg);
				return false;
			}
		}
		else{
			if (msg!=null) alert(msg);
			return false;
		}
		break;
	}
	if (msg!=null) alert(msg);
	return false;  
}

//'*********************************************************'
//'						MAURI
//'CSS Per Netscape! Fogli di stile apposito per Kalendario
//'*********************************************************'
function GetCssClass(){
	if (NS){
		document.classes.fieldRequired.EVEN_TITLE.background="yellow";
		document.classes.fieldRequired.EVEN_LCONTENT.background="yellow";
		document.classes.fieldRequired.EVEN_BEGIN.background="yellow";
	}
}
//'*********************************************************'
//'						MAURI
//'CSS Per Netscape! Fogli di stile apposito per Utenti Kalendario
//'*********************************************************'
function GetCssClassUser(){
	if (NS){
		document.classes.fieldRequired.USER_NAME.background="yellow";
		document.classes.fieldRequired.USER_PWD.background="yellow";
		document.classes.fieldRequired.USER_PWD2.background="yellow";
		document.classes.fieldRequired.USRD_DESCRIPTION_I.background="yellow";
		document.classes.fieldRequired.USRD_DESCRIPTION_D.background="yellow";
		document.classes.fieldRequired.USRD_EMAIL_I.background="yellow";
		document.classes.fieldRequired.USRD_EMAIL_D.background="yellow";
		document.classes.fieldRequired.USER_VALIDFROM.background="yellow";
		document.classes.fieldRequired.USER_VALIDTO.background="yellow";
	}
}
//'*********************************************************'
//'						MAURI
//'Solo per Netscape.Trasferisco il campo di un form in un altro Form
//'*********************************************************'
function TransferElementToMyForm(){
	
	if (NS){
		//alert('change even id value->'+document.frm_New.EVEN_EVEN_ID.value);
		if (document.frm_New.EVEN_TYPE.value!=1){
			document.frm_New.EVEN_EVEN_ID.value=document.MasterDivIlayer.document.NSFormRif.EVEN_EVEN_ID.options[document.MasterDivIlayer.document.NSFormRif.EVEN_EVEN_ID.selectedIndex].value;
			//alert(document.frm_New.EVEN_EVEN_ID.value);
		}
	}
}

//'*********************************************************'
//'						MAURI
//'Salvo informazioni del Form.
//'*********************************************************'
function SaveAllInfo( doc,lstr_senderPage ){
	doc = eval(doc);
	doc.REDA_ID.value = -1;
	doc.action = doc.action + lstr_senderPage;
	doc.submit();
}

//'*********************************************************'
//'						MAURI
//'Passo oggetto Form e lo convalido solo se i campi obbligatori
//'sono compilati. Se nn sono compilati visualizzo msg errore!
//'*********************************************************'
function isValidFormWithClass(obj,msg){
	//alert(eval(obj).name);
	obj = eval(obj);
	for (var i=0; i<obj.elements.length;i++) {
		var sel = obj.elements[i];
		if ((!NS && sel.className != "")||(NS && eval('document.classes.fieldRequired.'+sel.name+'.background')!=null)){
			switch (sel.type){
				case ('select-one'):
					if (sel.options[sel.selectedIndex].defaultSelected){
						alert(msg);
						return false;
					}
				break;
				default:
					if (sel.value==""){
						alert(msg);
						return false;
					}
				break;
			}
		}
	}
	return true;
}


/*********************************************
		Mauri: Check Element is modified or not
			Input-> Object(Element);
			OutPut-> False:Not Changed;
								True: Chenged;
**********************************************/
function isElementChanged(sel){
	switch (sel.type){
		case ('radio'):
			modified = (sel.checked != sel.defaultChecked);
		  break;
		case ('select-one'): 
			//alert(sel.name+'--');
			modified = !(sel.options[sel.selectedIndex].defaultSelected);
			break;
		case ('checkbox'):
			modified = (sel.checked != sel.defaultChecked)
		  break;
		default:
			modified = (sel.value != sel.defaultValue);
		  break;
	}
	return modified;
}

/**********************************************
		Mauri: Check Form (da caricare con evento unonload????)
			Input-> Object(Form);
			Output-> False:Non Valida;
				 True:Valida;
***********************************************/

function isFormChanged( FORM1 ) {
	//alert(eval(FORM1).name)
	FORM1 = eval(FORM1);
	var modified = false;
		
	for (var i=0; i<FORM1.elements.length;i++) { 
	var sel = FORM1.elements[i]; 
	modified = isElementChanged(sel);
	//alert(FORM1.elements[i].name+'--'+modified);
	if (modified) return true;
  } 
  return false;
}
/**********************************************
		Mauri: Utilizzato solo in Kale per visualizzazione Layer DHTML
***********************************************/
function OpenResoForm( lnum_even_id, lstr_cmd, lstr_Sender ){
	
	if (!NS){
		lstr_vis='visible';lstr_novis='hidden';
		AClose.style.visibility = lstr_novis;
		//EvenBottonContainer.style.visibility = lstr_novis;
		//EvenBottonContainer.style.height=1;
		frm_ResNew.Action.value=lstr_cmd;
		frm_ResNew.EVEN_ID.value=lnum_even_id;
		frm_ResNew.SENDERPAGE.value=lstr_Sender;
		frm_ResNew.REDA_ID.value=-1;
		frm_ResNew.reda_TITLE.value=''; 
		frm_ResNew.reda_SUBTITLE.value='';
		frm_ResNew.reda_FILENAME.value=''; 
		ActiveObjDiv( myResForm );
	}
	else if (NS){
		alert('ok');
		lstr_vis='show';lstr_novis='hide';
		
		document.ACloseIlayer.visibility = lstr_novis;
		//document.EvenBottonContainerIlayer.visibility = lstr_novis;
		//document.EvenBottonContainerIlayer.height=1;
		
		MyResoContainer = document.ResoIlayer
		MyResoForm = document.ResoIlayer.document.frm_ResNew;
		
		MyResoForm.Action.value=lstr_cmd;
		MyResoForm.EVEN_ID.value=lnum_even_id;
		MyResoForm.SENDERPAGE.value=lstr_Sender;
		MyResoForm.REDA_ID.value=-1;
		MyResoForm.reda_TITLE.value=''; 
		MyResoForm.reda_SUBTITLE.value='';
		MyResoForm.reda_FILENAME.value=''; 
		ActiveObjDiv( MyResoContainer );
	}

}
/**********************************************
		Mauri: Utilizzato solo in Kale per visualizzazione Layer DHTML
***********************************************/
function CloseResoForm(){
	
	if (!NS){
		myResForm.style.visibility='hidden';
		myResForm.style.height=1; 
		AClose.style.visibility='visible'; 
		EvenBottonContainer.style.visibility='visible'; 
		EvenBottonContainer.style.height='100%';
	}
	else if(NS){
		MyResoContainer = document.ResoIlayer
		MyResoContainer.visibility='hidden';
		MyResoContainer.height=1;
		document.ACloseIlayer.visibility='visible'; 
		document.EvenBottonContainerIlayer.visibility='visible'; 
		document.EvenBottonContainerIlayer.height='100%';
	}
}
/**********************************************
		Mauri: Visualizzazione e Ridimensionamento Layer
***********************************************/
function ActiveObjDiv( MyDiv ){
	
	if ( ! NS ){
		MyDiv.style.visibility='visible'; 
	}
	else{
		MyDiv.visibility='show'; 
	}
	MyDiv.style.height='100%';
		
}

/**********************************************
		Mauri: Ritorno il valore di default di un tag select
***********************************************/
function DefSelectValue( MySel ){
	for(i=0; i<MySel.length;i++){
		if (MySel.options[i].defaultSelected){
			return MySel.options[i].value;
		}
	}
}


/**********************************************
		Mauri: KALE-> Controllo Selezione Riferimento per Categoria e lingua
***********************************************/
function Ctrl_Referer( Sel, SelLang, SelCate, EvenLang, EvenCate, msg ){
	if (Sel.value!=0){
		if (SelLang.toUpperCase()!=EvenLang.toUpperCase() || SelCate!=EvenCate){
			Sel.value=DefSelectValue( Sel );
			alert(msg);
		}
	}
}
/**********************************************
		Mauri: KALE-> Salvataggio Stato ed eventuale allegato
***********************************************/
function SaveAndReso (){

	if (isFormChanged('document.frm_New')){
	//alert('IsFormChange');
		if (isValidFormWithClass('document.frm_New','<%=MSGERR_FIELDS_REQUIRED%>')){
		//alert('IsValidForm');
			//<%=lstr_TransferElement%>
			//alert(document.frm_New.lbln_Prev.value);
			//alert(myResForm.document.frm_ResNew.Action.value);
			//document.frm_New.ActionRes.value = myResForm.document.frm_ResNew.Action.value;
			//document.frm_New.SENDERPAGE.value='<%= Request.ServerVariables("SCRIPT_NAME") %>?EVEN_ID=<%=Request("even_id")%>&action=<%=Request("action")%>';
			
			reda_submit();
		}
	}else{
		//alert('Not is Form Change')
		reda_submit();
	}

}
/**********************************************
		Mauri: Disabilitazione elementi del Form
***********************************************/
function DisableElementsForm( MyForm ){
	for (i=0;i<MyForm.length;i++){
		//alert(MyForm.elements[i].name);
		MyForm.elements[i].readOnly = "true";
		if (MyForm.elements[i].type=="radio" || MyForm.elements[i].type=="select-one"){
			MyForm.elements[i].disabled = "true";
		}
		if (MyForm.elements[i].className!=""){
			//alert(MyForm.elements[i].name);
			MyForm.elements[i].require = "true";
		}
		//alert(MyForm.elements[i].name);
		MyForm.elements[i].className = "MyReadOnly";
	}
}
/**********************************************
		Mauri: Abilitazione elementi del Form
***********************************************/
function EnableElementsForm( MyForm ){
	for (i=0;i<MyForm.length;i++){
		//alert(MyForm.elements[i].name);
		MyForm.elements[i].removeAttribute("readOnly");
		if (MyForm.elements[i].getAttribute("disabled")){
			MyForm.elements[i].removeAttribute("disabled");
		}
		if (MyForm.elements[i].getAttribute("require")){
			//alert(MyForm.elements[i].name);
			MyForm.elements[i].className="fieldRequired";
		}
		else{
			MyForm.elements[i].className = "";
		}
	}
}
/**********************************************
		Mauri: Msg Disabilitazione
***********************************************/
function IsElementDisable( Elem, msg ){
	if (Elem.getAttribute("readOnly")){
		alert(msg);
		document.location.hash = "myResAnchor";
		return false;
	}
	else{
	//alert("Not Disable");
		return true;
	}
}

/**********************************************
		Mauri: Mail Controller
***********************************************/
function checkEmailAddress(field) {

// Note: The next expression must be all on one line...
//       allow no spaces, linefeeds, or carriage returns!
// 17.04.2003 Mauri: Add .info domain....
var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.info)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);

if (goodEmail){
   good = true
} else {
   alert('Please enter a valid e-mail address.')
   field.focus()
   field.select()
   good = false
   }
}

/**********************************************
		Mauri: Msg Check Error in QueryString....
***********************************************/
function MsgOnError()
{
	s = window.location.href
	if(s.search("errorMsg") != -1){
		pos  = s.search("errorMsg=");
		pos2 = s.search("&");
		if (pos2 == -1) pos2 = s.length;
		if( pos != -1 )
		{
			s1 = s.substring(pos + 9, pos2);
			re = /\+/gi;
			br = /\%3Cbr\%3E/gi;
			s2 = s1.replace(re, " ");
			s2 = s2.replace(br, "\n");
			alert(unescape(s2));
		}
	}
}

/**********************************************
	Mauri: Ctrl and set Param In QString.....
	3 Parameter Input: LocationObj, ParamName, ParamValue to setting...
***********************************************/
function SetQueryStringByParam( MyLocationObj, ParamName, ParamValue ){
var	RestParam = "";
	if (MyLocationObj.search==''){
	  	return "?" + ParamName + "=" + ParamValue + "&" ;
	}
	else{
		if (MyLocationObj.search.indexOf(ParamName)!=-1){
			ltot = MyLocationObj.search.length;
			lindex = MyLocationObj.search.indexOf(ParamName);
			if (MyLocationObj.search.substr(lindex+10,ltot).indexOf("&")!=-1){
				lindexRestParam = MyLocationObj.search.substr(lindex+10,ltot).indexOf("&")+1;
				ltotRestParam = MyLocationObj.search.substr(lindex+10,ltot).length;
				RestParam = MyLocationObj.search.substr(lindex+10,ltot).substr(lindexRestParam,ltotRestParam);
			}
			else{
				return MyLocationObj.search + "&" + ParamName + "=" + ParamValue + "&" ;
			}
			return MyLocationObj.search.substr(0,lindex) + ParamName + "=" + ParamValue + "&"+ RestParam;
		}
		else{
			if(MyLocationObj.search.charAt( MyLocationObj.search.length - 1  ) == "&")
				return MyLocationObj.search + "" + ParamName + "=" + ParamValue + "&" ;
			else
				return MyLocationObj.search + "&" + ParamName + "=" + ParamValue + "&" ;
		}
	}
}

function GetValueByParamName( ParName ){
	var QString, PIndex, PVal;
		PVal = "";
		QString = top.window.location.search;
		if ((PIndex=QString.indexOf(ParName)) !=-1 ){
			var EIndex = QString.indexOf("&",PIndex);
			if (EIndex==-1) EIndex = QString.length;
			PVal = QString.substring(PIndex+(ParName.length + 1),EIndex);
		}
	return PVal
}

function GetCollectionObj(FontElements, ElementId){
var CollObj = new Array();
var d = 0;
	//alert(FontElements.length);
	for(i=0; i < FontElements.length; i++){
		if (FontElements[i].id == ElementId){
			CollObj[d] = FontElements[i];
			d++;
		}
	}
	return CollObj;
}



//'*********************************************************'
//'						MAURI
//'Passo oggetto Form e lo convalido solo se i campi obbligatori
//'sono compilati. Se nn sono compilati visualizzo msg errore!
//'*********************************************************'
function isValidFormWithStyle(obj,msg){
	//alert(eval(obj).name);
	//obj = eval(obj);
	for (var i=0; i<obj.elements.length;i++) {
		var sel = obj.elements[i];
		//alert(sel.style.backgroundColor!='');
		//if ((!NS && sel.className != "")||(NS && eval('document.classes.fieldRequired.'+sel.name+'.background')!=null)){
		if (sel.style.backgroundColor!=''){
			switch (sel.type){
				case ('select-one'):
					if (sel.options[sel.selectedIndex].value==""){
						alert(msg);
						return false;
					}
				break;
				default:
					if (sel.value==""){
						alert(msg);
						return false;
					}
				break;
			}
		}
	}
	return true;
}

//'*********************************************************'
//'						MAURI
//'Ritorno oggetto cercato in qualsiasi parte del documento!!
//'*********************************************************'
function GetObj(n, d) {
	var p,i,x;
	if(!d) d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all){
		x=d.all[n];
	}
	for (i=0;!x&&i<d.forms.length;i++) {
		x=d.forms[i][n];
	}
	for(i=0;!x&&d.layers&&i<d.layers.length;i++){
		x=GetObj(n,d.layers[i].document);
	}
	return x;
}

//'*********************************************************'
//'						MAURI
//'Copio valore dell' oggetto Origine all' oggetto destinatario!!
//'*********************************************************'
function CopyFormObject(srcobj, destobj) {
	var val=GetObj(srcobj)
	var val2=GetObj(destobj);

	if(val != null && val2 !=null)
	{
		val2.value = val.value;
	}
}

//'*********************************************************'
//'						MAURI
//'Copio valore all' oggetto destinatario!!
//'*********************************************************'
function CopyFormValue(val, destobj) {
	var val2=GetObj(destobj);
	val2.value = val;
}

//'*********************************************************'
//'						MAURI
//'Copio ogni valore dall'elemento della Form all' elemento della stessa Form!!
//'*********************************************************'
function CopyFromTo(FormName, FromElementName1, ToElementName1, FromElementName2){

	var ObjForm = eval('document.' + FormName);
	var i, entry, ii;
	entry = false;
	//alert(ObjForm.elements[FromElementName2].name);
	for(i=0; i < ObjForm.elements.length; i++){
		if(ObjForm.elements[i].name == ObjForm.elements[FromElementName1].name || entry){
			if(!entry)
				for(ii=i; ii < ObjForm.elements.length; ii++)
					if(ObjForm.elements[ii].name == ObjForm.elements[FromElementName2].name) 
						break;
			CopyFormObject(ObjForm.elements[i].name, ObjForm.elements[ii].name);
			entry = true;					
			if(ObjForm.elements[i].name == ObjForm.elements[ToElementName1].name)
				entry = false;
			ii++;
		}
	
	}
	

	/*if(typeof(document.form.elements['PLGP_DESC_I']) == 'undefined')
	{
		CopyFormValue('', 'PLGP_DESC_I');
	}*/

}

//Adds the current element ID to a string stored in hidden HTML field.
//Only adds the ID if it is not already in there
function fnAddItem(objField, sElementID)
{
	var sCurrValue = objField.value;
	var separator = ',';
	
	if (objField.value	== '')
		separator = '';
	if (sCurrValue.indexOf(sElementID) == -1)
		objField.value = objField.value + separator + sElementID;
}

//Removes a specific element ID from a string stored in hidden HTML field.
function fnRemoveItem(objField, sElementID)
{
	var sCurrValue = objField.value;
	var arValues = sCurrValue.split(',');
	var arNewValues = new Array(0);
	var x=0;
	
	for (i=0;i<arValues.length;i++)
		if (arValues[i] != sElementID)
		{
			arNewValues[x] = arValues[i];
			x++;
		}	
	
	sCurrValue = arNewValues.join(',');
	objField.value = sCurrValue;
}	

