
function ControlloDate(field1, field2) {
   var DateField1 = field1;
   var DateField2 = field2;
   DateValue1 = DateField1.value;
   DateValue2 = DateField2.value;
   if (DateValue1=="" || DateValue2=="") return true;
   var oggetto1= DateValue1.substring(6) + DateValue1.substring(3, 5) + DateValue1.substring(0, 2);
   var oggetto2= DateValue2.substring(6) + DateValue2.substring(3, 5) + DateValue2.substring(0, 2);
   if (oggetto2-oggetto1<=0) {
      return false;
   }
   return true;
}


function check_date(field){
   var checkstr = "0123456789";
   var DateField = field;
   var Datevalue = "";
   var DateTemp = "";
   var seperator = "-";
   var day;
   var month;
   var year;
   var step = 0;
   var err = 0;
   var i;

   err = 0;
   DateValue = DateField.value;

   /* cancello tutti i dati tranne 0-9 */
   for (i = 0; i < DateValue.length; i++) {
              if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
                 DateTemp = DateTemp + DateValue.substr(i,1);
              }
   }
   DateValue = DateTemp;

  /* se l'anno è inserito con 2 valori lo cambio sempre con  20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}

   /* anno sbagliato 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }

   /* validazione del mese*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }

   /* validazione del giorno */
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }

   /* Validazione anno / febbraio / gg */
   if ((year % 4 == 0)) {
      step = 1;
   }
   if ((month == 2) && (step == 1) && (day > 29)) {
      err = 23;
   }

   if ((month == 2) && (step != 1) && (day > 28)) {
      err = 24;
   }

   /* validazione dei mesi */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }

   /* se è inserito 00 cancello i dati */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }

   /* Se non ci sono errori inserisco la data (esempio 13.12.2001) */
   if (err == 0) {
      DateField.value = day + seperator + month + seperator + year;
		return true;
   }

   /* Messaggio di errore, avviso di data corretta se err diverso da 0 */
   else {
		return false;
   }
}

/********************************************************************************/
/* Control if numeric.														*/
/********************************************************************************/
function isNumeric(strString)
   //  check for valid numeric strings
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;
   var countPoints = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strChar=="-" && i!=0){
      	 blnResult = false;
      }
      if (strChar=="."){
      	 if (countPoints){
        	 countPoints = false;
      	 }else{
      	     blnResult = false;
      	 }
      }
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

function isPerc(strString) {
	if (isNumeric(strString)) {
		if (strString > -100 && strString < 100) {
			var array = strString.split(".");
			if (array.length == 2 && array[1].length != 1) {
				return false;
			} else {
				return true;
			}
		} else {
			return false;
		}
	} else {
		return false;
	}
}


/********************************************************************************/
/* This function will trim the leading and trailing spaces from a String        */
/********************************************************************************/
function trim(str) {
	while (str.substr(0,1) == ' ')
		str = str.substr(1, str.length)
	while (str.substr(str.length - 1,1) == ' ')
		str = str.substr(0, str.length - 1);
	return str;
}

/********************************************************************************/
/* This function will replace specified subString from string															        */
/********************************************************************************/
function replace(string,text,by) {

    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
     	
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}
