/*
 *  euroValidate
 *  per controllo valuta
 */
	
	
	
	function euroValidate(fieldEuro){
		var string = fieldEuro.value;
		if (string=="") {return(true);};
		var i = string.indexOf(".");
	    	while(i != -1){
			string = string.substring(0,i) + string.substring(i+1, string.length);
			i = string.indexOf(".");
		};
		if (string.indexOf(",") == -1) {
			string = "" + string.toString() + ",00";
		};
		var euroRegExp =/^-|\d+\,\d{2}$/;
		var status = euroRegExp.test(string);
		if (status){
			fieldEuro.value = FormatImporto(eliminaSepDec(string));
		} else {
			alert("formato euro non valido");
			fieldEuro.focus();
			fieldEuro.select();
			//fieldEuro.value="0,00";
		};
		return(status);
	};
	
	
	
	function eliminaSepDec(valImporto){
		var Importo = "" + valImporto;
		var i = Importo.indexOf(".");
	    	while(i != -1){
			Importo = Importo.substring(0,i) + Importo.substring(i + 1, Importo.length);
			i = Importo.indexOf(".");
	    	}
		i = Importo.indexOf(",");
		while(i != -1){
			Importo = Importo.substring(0,i) + Importo.substring(i + 1, Importo.length);
			i = Importo.indexOf(",");
	    	}
		return("" + Importo);
	};
	
	
	
	function FormatImporto(Importo) {
		var strImp = Importo.toString();
		if (strImp.length < 3) {
			strImp = '000' + strImp;
			strImp = strImp.substr(strImp.length - 3);
		};
		strImp = strImp.substr(0, strImp.length - 2) + "," + strImp.substr(strImp.length - 2);
		if (strImp.length > 6) {
			strImp = strImp.substr(0, strImp.length - 6) + "." + strImp.substr(strImp.length - 6);
		};
		if (strImp.length > 10) {
			strImp = strImp.substr(0, strImp.length - 10) + "." + strImp.substr(strImp.length - 10);
		};
		return(strImp.toString());
	};
	
	
	
/*
 *  CkDate
 *  per controllo data - consente data vuota ("")
 */
	
	
	
	function CkDate(fieldData) {
		dataComplete(fieldData);
		if (fieldData.value == "" ) {return(true);};
		if (!dataValidate(fieldData)) {return(false);};
		if (!IsValidDate(fieldData)) {
			alert("Indicare una data valida!");
			fieldData.focus();
			fieldData.select();
			return(false);
		};
		return(true);
	};
	
	
	
	function dataComplete(fieldData) {
		var validChars = "/0123456789";
		var string = fieldData.value;
		var sBuf = "";
		var sChar = "";
		var iFirstSlash = -1;
		var iLastSlash = -1;
		for (var i = 0; i < string.length; i++) {
			sChar = string.substring(i, i + 1);
			iLastSlash = ((sChar == "/") && (iFirstSlash != -1) && (iLastSlash == -1)) ? i : iLastSlash;
			iFirstSlash = ((sChar == "/") && (iFirstSlash == -1)) ? i : iFirstSlash;
			if (validChars.indexOf(sChar) > -1) {
				if ((sChar != "/") || ((sChar == "/") && (iLastSlash <= i))) {
					sBuf += sChar;
				};
			};
		};
		if (sBuf.length == 0) {
			fieldData.value = "";
		} else {
			var currentDate = new Date();
			var iDay = currentDate.getDate();
			var iMonth = currentDate.getMonth() + 1;
			var iYear = currentDate.getYear();
			if (iFirstSlash > -1) {
				iDay = parseFloat("0" + sBuf.substring(0, iFirstSlash));
				if (iLastSlash > -1) {
					iMonth = parseFloat("0" + sBuf.substring(iFirstSlash + 1, iLastSlash));
					iYear = parseFloat("0" + sBuf.substring(iLastSlash + 1, sBuf.length));
				} else {
					iMonth = parseFloat("0" + sBuf.substring(iFirstSlash + 1, sBuf.length));
				};
			} else {
				if (sBuf.length < 3) {
					iDay = parseFloat("0" + sBuf);
				} else {
					if (sBuf.length < 5) {
						iDay = parseFloat("0" + sBuf.substring(0, 2));
						iMonth = parseFloat("0" + sBuf.substring(2, sBuf.length));
					} else {
						iDay = parseFloat("0" + sBuf.substring(0, 2));
						iMonth = parseFloat("0" + sBuf.substring(2, 4));
						iYear = parseFloat("0" + sBuf.substring(4, sBuf.length));
					};
				};
			};
			sBuf = "00" + iDay.toString();
			sBuf = sBuf.substring(sBuf.length - 2, sBuf.length);
			string = sBuf + "/";
			sBuf = "00" + iMonth.toString();
			sBuf = sBuf.substring(sBuf.length - 2, sBuf.length);
			string += sBuf + "/";
			iYear = (iYear < 100) ? 2000 + iYear : iYear;
			sBuf = "0000" + iYear.toString();
			sBuf = sBuf.substring(sBuf.length - 4, sBuf.length);
			string += sBuf;
			fieldData.value = string;
		};
	};
	
	
	
	function IsValidDate(fieldData) {
		if (!dataValidate(fieldData)) {return(false);};
		var string = fieldData.value;
		var iDay = parseFloat("0" + string.substring(0, 2));
		var iMonth = parseFloat("0" + string.substring(3, 5));
		var iYear = parseFloat("0" + string.substring(6, string.length));
		if ((iMonth < 1) || (iMonth > 12)) {return false;};
		if (iDay < 1) {return false};
		switch (iMonth) {
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				if (iDay > 31) {return false;};
				break;
			case 4:	
			case 6:	
			case 9:	
			case 11:	
				if (iDay > 30) {return false;};
				break;
			case 2:
				if (((iYear % 4 == 0) && !(iYear % 100 == 0)) || (iYear % 400 == 0)) {
					if (iDay > 29) {return false;};
				} else {
					if (iDay > 28) {return false;};
				};
				break;
		};
		return true;
	};
	
	
	
	function dataValidate(fieldData) {
		var string = fieldData.value;
		var dataRegExp =/^\d{2}\/\d{2}\/\d{4}/;
		var status = dataRegExp.test(string);
		if (!status){		
			alert("la data deve essere gg/mm/aaaa");
			fieldData.focus();
			fieldData.select();
		};
		return status;
	};
	
	
	

