function isValid_GG_MM_AAAA_Date(value)
{ 
	var pattern = /^([0-9]){2}(\/){1}([0-9]){2}(\/){1}([0-9]){4}$/; 
	if(!pattern.test(value)){ 
		return false; 
	}else{ 
	var tmpDateArray = value.split('/'); 
	var gg = parseInt(tmpDateArray[0],10); 
	var mm = parseInt(tmpDateArray[1],10)-1; 
	var aaaa = parseInt(tmpDateArray[2],10); 
	var tmpDate = new Date(aaaa,mm,gg); 
	if((gg != tmpDate.getDate()) || (mm != tmpDate.getMonth()) || (aaaa != tmpDate.getFullYear())) 
		return false; 
	} 
	return true; 
} 

function changeStyle(indice)
{
	if(indice!="0")
	{
		var nomecampo = "sendType_" + indice;
		var isSelected = document.getElementById(nomecampo).checked;
		if(isSelected)
		{
			if(indice=="1")
			{
				document.getElementById("boxElencoTipologie").className = 'invisible';
				document.getElementById("boxElencoStrutture").className = 'invisible';
			}
			if(indice=="2")
			{
				document.getElementById("boxElencoTipologie").className = 'boxCampo';
				document.getElementById("boxElencoStrutture").className = 'invisible';
			}				
			if(indice=="3")
			{
				document.getElementById("boxElencoTipologie").className = 'invisible';
				document.getElementById("boxElencoStrutture").className = 'boxCampo';
			}
		}
	}
	else
	{
		document.getElementById("boxElencoTipologie").className = 'invisible';
		document.getElementById("boxElencoStrutture").className = 'invisible';
	}
}

function isEmpty(s)
{
	return ((s == null) || (s.length == 0))
}

function isDigit(c)
{
	return ((c >= "0") && (c <= "9"))
}

function isInteger(s)
{
	var i;
	if (isEmpty(s))
	if (isInteger.arguments.length == 1) return 0;
	else return (isInteger.arguments[1] == true);
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (!isDigit(c)) return false;
	}
	return true;
}

function isEmail(mail)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(mail)) return true;
	return false;
}

function LTrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(0)) != -1) {
      var j=0, i = s.length;
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;
      s = s.substring(j, i);
   }
   return s;
}
function RTrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);
   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      var i = s.length - 1;
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;
      s = s.substring(0, i+1);
   }
   return s;
}
function Trim(str)
{
   return RTrim(LTrim(str));
}

function isEmpty(s)
{
	return (Trim(s).length == 0);
}

function isNumeric(v)
{
	return !isNaN(v);
}

//verifica che data1 e data2 siano nel formato gg/mm/aaaa e che
//dataMaggiore > dataMinore se maggioreStretto = true
//dataMaggiore >= dataMinore se maggioreStretto = false
function compare_GG_MM_AAAA_Dates(dataMinore, dataMaggiore, maggioreStretto)
{
	// controllo validità formato data
    if(isValid_GG_MM_AAAA_Date(dataMinore) && isValid_GG_MM_AAAA_Date(dataMaggiore))
    {
		//trasformo le date nel formato aaaammgg (es. 20081103)
        data1str = dataMinore.substr(6)+dataMinore.substr(3, 2)+dataMinore.substr(0, 2);
		data2str = dataMaggiore.substr(6)+dataMaggiore.substr(3, 2)+dataMaggiore.substr(0, 2);
		//controllo se la seconda data è successiva alla prima
        if ((maggioreStretto && data2str-data1str>0) || (!maggioreStretto && data2str-data1str>=0))
        {
            return true;
        }
        else
        {
			return false;
        }
    }
    else
    {
        return false;
    }
}
