// JavaScript Document

/* CONVALIDA FORM
-------------------------------------------*/
function ws_validate(){}
ws_validate.prototype.isEmail = function (what)
{
   var i=new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
   if(!i.test(what)) { return false}   
   return true;
}
ws_validate.prototype.isIva = function (what)
{
   return /[\d]{11}$/.test(what);
}
ws_validate.prototype.isPassword = function (what)
{
   return /[\w\d]{7,16}$/.test(what);
}
ws_validate.prototype.isDate = function (what)
{
   var i=new RegExp("^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$");
   if(i.test(what))
   {
	datePart=what.split("/");
	giorno=(datePart[0]>=1) && (datePart[0]<=31);
	mese=(datePart[1]>=1) && (datePart[1]<=12);
	anno=(datePart[2]>=1900) && (datePart[2]<=9999);
	if(!giorno || !mese || !anno) { return false; }
   }else{
	return false;
   }
   return true;
}

ws_validate.prototype.isTelFax = function(what)
{
//   var i=new RegExp("([0-9]{2,})\/([0-9]{5,})");
   var i=new RegExp("([0-9]{5,})");
   if(!i.test(what)) { return false;}   
   return true;
}

ws_validate.prototype.notZero = function(what)
{
   if(what=="0") { return false;}   	
   return true;
}
ws_validate.prototype.field = function (what, type){
	try{
		if($(what).size()==0){return true;}
		if($(what+":disabled").size()>0){return true;}
		switch (type) {
		  case "isEmail":
			return this.isEmail($(what).val());
			break; 
		  case "isDate":
			return this.isDate($(what).val());
			break; 
		  case "isPassword":
			return this.isPassword($(what).val());
			break; 
		  case "isIva":
			return this.isIva($(what).val());
			break; 
		  case "isTelFax":
			return this.isTelFax($(what).val());
			break; 
		  case "isChecked":
		  	return $(what).is(":checked");
			break; 
		  case "isNotChecked":
		  	return (!$(what).is(":checked"));
			break; 
		  case "notZero":
			return this.notZero($(what).val());
			break; 
		  case "leastOneChecked":
			return ( $(what+':checked').size() > 0);
			break; 
		  case "isText":
			return ($.trim($(what).val()).length>0);
			break; 
		  case "isNumeric":
			return (!isNaN($(what).val()) && ($.trim($(what).val()).length>0));
			break; 
		  case "#signup_email_confirm":
			return ($(what).val() == $('#signup_email').val());
			break;
		  case "#password2":
			return (($(what).val() == $('#password').val()) && (this.isPassword($(what).val())));
			break;
		case "captcha":
			var numControllo = Math.random()*10000
			var CaptchaCode = 0
			CaptchaCode = $.ajax({url: '/js/ajax/fSignUpAJAX.asp?act=VerifyCaptchaCode&p1=' + $(what).val() + '&p2=' + numControllo,async: false}).responseText;	
			if(CaptchaCode == 1){
				return true;
			} else {
				return false;
			}
		break;

		  default: 	
			return ($(what).val().length>0);
		}
		
	}
	
	catch (e){
		alert(e);
	}
}
var validate = new ws_validate;

function get_form_validation(frm_id){
	var oval,valid,validation_string, to_eval;
	oval=$(frm_id)[0]._validation;
	valid = true;
	if ($.browser.safari || $.browser.webkit){
		to_eval = $(frm_id).attr('onsubmit').split("=")[1];
		eval("oval="+to_eval);
	}
	$(frm_id).find(".bg_error").removeClass("bg_error");
	for (nc in oval){
		if( validate.field($(frm_id).find("#"+nc),oval[nc])==false ){
			$($(frm_id).find("#"+nc)).parents("li").addClass("bg_error");
			valid = false;
		}else{
			//$("#"+nc).parents("li").removeClass("bg_error");
		}
	}
	$(".bg_error input, .bg_error select, .bg_error textarea").eq(0).focus();
	$(frm_id)[0].valid = valid;
	return valid;
}

function eccezioni_comportamenti_form(){
	return false;
}
