// JavaScript Document

function CheckFormManager(in_cms)
{
	if (typeof(in_cms)=="undefined" )in_cms = false;
	
	this.in_cms = in_cms;
	this.items_array = new Array();
	
	this.init = function()
	{
		//alert("CheckFormManager.init count: " + this.items_array.length);
		
		for (i=0;i<this.items_array.length;i++)
		{
			var componente = document.getElementById(this.items_array[i].nomeCampo);
			this.items_array[i].componente = componente;
			if (componente!=null)
			{
				componente.campoCheckForm = this.items_array[i];
				myItem = this.items_array[i];
				
				if (myItem.applicazione=="1")
				{
					
				}
				
				if (myItem.applicazione=="2")
				{
					
				}
				
				if (myItem.applicazione=="3")
				{
					//onfocus
		
					if (typeof(componente.onfocus_fnc_array)) componente.onfocus_fnc_array = new Array();
		
					if (myItem.parametri!="") param_str = ","+myItem.parametri;	else param_str="";
					chiamata = myItem.controllo+"(myItem" + param_str + ");"
					componente.onfocus_fnc_array.push(chiamata)
				
					componente.onfocus = function()
					{
						for (i=0;i<this.onfocus_fnc_array.length;i++)
						{
							myItem = this.campoCheckForm;
							return_val = eval(this.onfocus_fnc_array[i]);
						}
					}
				}
			}
			
			if (myItem.applicazione=="4")
			{
				//onblur

				if (typeof(componente.onblur_fnc_array)) componente.onblur_fnc_array = new Array();

				if (myItem.parametri!="") param_str = ","+myItem.parametri;	else param_str="";
				chiamata = myItem.controllo+"(myItem" + param_str + ");"
				componente.onblur_fnc_array.push(chiamata)
				
			
				componente.onblur = function()
				{
					for (i=0;i<this.onblur_fnc_array.length;i++)
					{
						myItem = this.campoCheckForm;
						return_val = eval(this.onblur_fnc_array[i]);
					}
				}
			}
			if (myItem.applicazione=="5")
			{
				//onchange

				if (typeof(componente.onchange_fnc_array)) componente.onchange_fnc_array = new Array();

				if (myItem.parametri!="") param_str = ","+myItem.parametri;	else param_str="";
				chiamata = myItem.controllo+"(myItem" + param_str + ");"
				componente.onchange_fnc_array.push(chiamata)
				
			
				componente.onchange = function()
				{
					for (i=0;i<this.onchange_fnc_array.length;i++)
					{
						myItem = this.campoCheckForm;
						return_val = eval(this.onchange_fnc_array[i]);
					}
				}
			}
			if (myItem.applicazione=="6")
			{
				//onmouseover

				if (typeof(componente.onmouseover_fnc_array)) componente.onmouseover_fnc_array = new Array();

				if (myItem.parametri!="") param_str = ","+myItem.parametri;	else param_str="";
				chiamata = myItem.controllo+"(myItem" + param_str + ");"
				componente.onmouseover_fnc_array.push(chiamata)
				
			
				componente.onmouseover = function()
				{
					for (i=0;i<this.onmouseover_fnc_array.length;i++)
					{
						myItem = this.campoCheckForm;
						return_val = eval(this.onmouseover_fnc_array[i]);
					}
				}				
			}
			if (myItem.applicazione=="7")
			{
				//onmouseout

				if (typeof(componente.onmouseout_fnc_array)) componente.onmouseout_fnc_array = new Array();

				if (myItem.parametri!="") param_str = ","+myItem.parametri;	else param_str="";
				chiamata = myItem.controllo+"(myItem" + param_str + ");"
				componente.onmouseout_fnc_array.push(chiamata)
				
			
				componente.onmouseout = function()
				{
					for (i=0;i<this.onmouseout_fnc_array.length;i++)
					{
						myItem = this.campoCheckForm;
						return_val = eval(this.onmouseout_fnc_array[i]);
					}
				}	
			}
			

		}
	}
	
	this.importaStringa = function(src_str, nome_campo, testo_campo)
	{
		if (src_str!=null || src_str!="")
		{
			its_array = src_str.split("|");
			
			for (var i=0;i<its_array.length;i++)
			{
				obj_str = its_array[i];
				var obj_array = obj_str.split("¦");
				if ((obj_array.length==4))
				{
					check=false;
					
					if ((this.in_cms ) && ((obj_array[2]=="0") || (obj_array[2]=="1")) ) check=true;
					if ((!this.in_cms) && ((obj_array[2]=="0") || (obj_array[2]=="2"))) check=true;
					
					if (check)
					{
						if (typeof(obj_array[1])=="string") obj_array[1] = "'"+obj_array[1]+"'";
						var campoCheckForm = new CampiCheckForm(nome_campo,unescape(obj_array[0]),unescape(obj_array[1]),obj_array[2],obj_array[3],this);
						campoCheckForm.testo_campo=testo_campo;
						this.items_array.push(campoCheckForm);
					}
				}
			}
		}
	}
}

function CampiCheckForm (nomeCampo,controllo,parametri,contestoControllo,applicazione,checkFormManager)
{
	this.nomeCampo = nomeCampo;
	this.controllo = controllo;
	this.parametri = parametri;
	this.applicazione = applicazione;
	this.contestoControllo = contestoControllo;
	this.checkFormManager = checkFormManager;
}	

function isEmpty(str)
{
	if (typeof(str)!="undefined")
	{
		if (str == "") return true; else return false;
	}
	else
	return true;
}

function isInvalidCharset(str, iChars)
{
	//iChars = "!@#$%^&*()+=-[]\';,./{}|\":<>?";

  	for (var i = 0; i < str.length; i++)
	{
		//alert("sono qui! : " +str.charAt(i));
  		if (iChars.indexOf(str.charAt(i)) != -1) 
	  	{
			return true;
  		}
	 }
	 return false;
}

function isNotEmptyGCCMS(obj)
{
	return !isEmpty(obj.componente.value);
}

function isEmail(indirizzo)
{
 	if (window.RegExp)
	{
		var nonvalido = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
		var valido = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
		var regnv = new RegExp(nonvalido);
		var regv = new RegExp(valido);
		
		if (!regnv.test(indirizzo) && regv.test(indirizzo))
		{
		  return true;
		}
		return false;
    }
	else
	{
    	if(indirizzo.indexOf("@") >= 0)
      	return true;
    	return false;
	}
}


function isEmailGCCMS(obj)
{
	return isEmail(obj.componente.value);
}

function isJpeg(str)
{
	if(str!="")
	{
		if (str.lastIndexOf(".")==-1)
		{
			return false;
		}
		else
		{
			sub_str = str.substr(str.lastIndexOf("."),str.length-str.lastIndexOf(".")).toUpperCase();
			if (sub_str!=".JPG"&&sub_str!=".JPEG")
			{
				return false;
			}
			else
			{
				return true;
			}
		}
	}
	else
	{
		return true;
	}
}
function isJpegGCCMS(obj)
{
	return isJpeg(obj.componente.value);
}

function isNumeric(str)
{
	var caratteri_validi = "0123456789.";
	var isNumeric=true;
	var char;
 
	for (var i = 0; i < str.length && isNumeric == true; i++) 
	{ 
		char = str.charAt(i); 
		if (caratteri_validi.indexOf(char) == -1) 
		{
			isNumeric = false;
		}
	}
	return isNumeric;   
}

function isNumericGCCMS(obj)
{
	return isNumeric(obj.componente.value);
}

function isInteger(str)
{
	var caratteri_validi = "0123456789";
	var isInteger=true;
	var char;
 
	for (var i = 0; i < str.length && isInteger == true; i++) 
	{ 
		char = str.charAt(i); 
		if (caratteri_validi.indexOf(char) == -1) 
		{
			isInteger = false;
		}
	}
	return isInteger;   
}

function isIntegerGCCMS(obj)
{
	return isInteger(obj.componente.value);
}


function isMaxCharGCCMS()
{
	return isMaxChar(obj.componente.value)
}

function isMaxChar(str,confronto)
{
	if (str.length<=confronto) return true; else return false;
}


function isNotEqual(val1,val2)
{
	if (val1!=val2) return true; else return false;
}

function isNotEqualGCCMS(obj,confronto)
{
	return isNotEqual(obj.componente.value, confronto+"");
}

function isEqualGCCMS(obj,confronto)
{
	return !isNotEqual(obj.componente.value, confronto+"");
}

function isNotChecked(obj)
{
	return !isNotEqual(obj.componente.value, 1+"");
}


function isValidateCharsGCCMS(obj, strValidChars)
{
	return validateChars(obj.componente.value, strValidChars)
}

function validateChars(strString, strValidChars)
{
	if (typeof(strValidChars)=="undefined" || strValidChars=="")
	{
		var strValidChars = "_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	}
	
	var strChar;
	
	var valido = true;

	for (i = 0; i < strString.length && valido == true; i++)
	{	
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
		{
			valido = false;
		}
	}
	return valido;
}


function disabilitaControlloGCCMS(obj)
{
	disabilitaControllo(obj);
}

function disabilitaControllo(obj)
{
	obj.componente.disabled = true;
}

function blurControlloGCCMS(obj)
{
	blurControllo(obj);
}

function isValueEqualToCelFieldGCCMS(obj,param)
{
	var items_array = obj.checkFormManager.items_array;
	field_found = false;
	for (var i=0;i<items_array.length;i++)
	{
		campo_array = items_array[i].nomeCampo.split("_");		
		if ((typeof(campo_array[1])!="undefined") && (campo_array[1]==param))
		{
			var field_found = true;
			
			if (obj.componente.value == items_array[i].componente.value)
			{
				return true;
			}
			
		}
	}
	
	return false;
}

function isCaptchaValueGCCMS(obj)
{
	return true;
}

function blurControllo(obj)
{
	obj.componente.blur()
}

function cambiaBGControllo(obj,bgcolor)
{
	obj.componente.style.backgroundColor = bgcolor;
}



function getCheckboxSetVal(suffisso, conto)
{
	valore = "";
	for (var i=0;i<conto;i++)
	{
		chek_obj = document.getElementById(suffisso+i);
		if (chek_obj!=null)
		{
			if (chek_obj.checked)
			{
				valore+=chek_obj.value+"¦";
			}
		}
	}
	return valore;
}

function reverseCheckboxSetVal(suffisso, conto)
{
	for (var i=0;i<conto;i++)
	{
		chek_obj = document.getElementById(suffisso+i);
		if (chek_obj!=null)
		{
			chek_obj.checked = !chek_obj.checked;
		}
	}
	return 	getCheckboxSetVal(suffisso, conto);
}



function setDefaultSubmitButton(e, buttonid)
{
	if (typeof(e)=="undefined") var evt = window.event; else var evt = e;
	//var evt = e ? e : window.event;
	var bt = document.getElementById(buttonid);
	if (bt)
	{
		if (evt.keyCode == 13)
		{
			bt.click();
			return false; 
		}
	}
}


function Set_Cookie( name, value, expires, path, domain, secure ) 
{
	var today = new Date();
	today.setTime( today.getTime() );

	expires = 150

	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	
	var cookie_str =  name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );

	document.cookie = cookie_str;
}

function delete_cookie ( cookie_name )
{
	var cookie_date = new Date ( );
	cookie_date.setTime ( cookie_date.getTime() - 1 );
	document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}


onLoad_fnc_array = new Array();

onLoadFnc_add = function(fnc)
{
	onLoad_fnc_array.push(fnc);
}

onloadFnc_exec = function()
{
	for (i=0;i<onLoad_fnc_array.length;i++)
	{
		fnc = onLoad_fnc_array[i];
		fnc();
	}
}

window.onload = function(){ onloadFnc_exec();};
