var path_assoluto, co_id=1, tmp;
function init(){
	PulisciInput("input.autoclean");
	$('form').append('<input type="hidden" name="can_submit" value="'+Math.random()+'" />');
	$("form").submit(function (){return get_form_validation(this);}); //"#"+$(this).attr("id")
	ws_json_form.init("form.post_ajax");
//	replace_flash_objects();	
}



/* 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.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 "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 "isText":
			return ($.trim($(what).val()).length>0);
			break; 
		  case "isNumeric":
			return (!isNaN($(what).val()) && ($.trim($(what).val()).length>0));
			break; 
		  case "#ut_password":
			return ($(what).val() == $('#ut_password').val());
			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;
	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('li.bg_error').removeClass('bg_error');
	for (nc in oval){
		if( validate.field("#"+nc,oval[nc])==false ){
			$("#"+nc).parents('li').not($('ul.input_group li')).addClass("bg_error");
			valid=false;
		}
	}
	$(".bg_error input, .bg_error select, .bg_error textarea").eq(0).focus();
	$(frm_id)[0].valid = valid;
	return valid;
}


/* JSON FORM */
var ws_json_form = {
		theForm: "" ,
		init: function(p){
			try{
			$("body").after("<iframe name=\"ws_ifr_upload_file\" id=\"ws_ifr_upload_file\" style=\"display:none\" rows=\"1\" cols=\"1\" src=\"\"></iframe>");
			$(p).each(function(){this.target="ws_ifr_upload_file";});
			$(p).submit(ws_json_form.ajax_submit);
			}
			catch(e){alert(e);}
		},
		ajax_submit: function(){
			var post_data,ifr_target;
			try{
				ws_json_form.the_form = this;
				if(ws_json_form.the_form.valid==false){return false;}
				if($(this).attr("enctype")=="multipart/form-data"){
				/* upload files BEGIN */
				ifr_target = $("#ws_ifr_upload_file");
				if ($(ifr_target).size()==0){
					$("body").after("<iframe name=\"ws_ifr_upload_file\" id=\"ws_ifr_upload_file\" src=\"\"></iframe>");
				}
				this.target="ws_ifr_upload_file";
				$("#ws_ifr_upload_file").load(function(){
					   var d,s;
					   s="success";
					   d=eval("(" + frames['ws_ifr_upload_file'].document.body.innerHTML +")" );
					   ws_json_form.callback_json(d,s);
					});
				return true;
				/* upload files END*/
				}else{
					post_data = $(this).serializeArray();
					$.post($(this).attr("action"), post_data, ws_json_form.callback_json, "json");
				}
			}
			catch(e){
				self.status = (e);
			}
			return false;
		},
		callback_json:	function(vdata, textStatus){
			var d;
			try{
				d = vdata;
				if ($(ws_json_form.the_form).children("div.response").size()==0 ){$(ws_json_form.the_form).prepend("<div class=\"response\"></div>")}

				if(d.status=="success"){
					$(ws_json_form.the_form).children("div.response").html(d.data);
				}else{
					$(ws_json_form.the_form).children("div.response").html(d.error);
				}
				if(parseInt($(ws_json_form.the_form).height())>parseInt($(ws_json_form.the_form).children("div.response:eq(0)").height())){
					$(ws_json_form.the_form).children("div.response").css({"height": $(ws_json_form.the_form).height()+"px"});
				}
				$(ws_json_form.the_form).children("fieldset").fadeOut("fast",function(){$(ws_json_form.the_form).children("div.response").fadeIn("fast");});
				$(ws_json_form.the_form).children("div.response").hide();
			}
			catch(e){
				self.status = (e);
				alert(e);
			}
		},
		back_and_complete: function (chi){
			$(chi).parent().fadeOut('slow',function(){
				$(chi).parent().parent().children('fieldset').fadeIn('slow');
				return false;
			});
		}
	}

/* LANCIA INIT */
$(function(){
	init();				 
})


function PulisciInput(arr_input) {
	$(arr_input).each(function(){
			if($(this).length){
				$(this)[0].tmp_input_val=$(this).val();
			}
			$(this).focus( function () {
										if (this.value==this.tmp_input_val) {
											this.value='';
										}
									}						  
						  );
			$(this).blur( function () {
								if (this.value=='') {
									this.value=this.tmp_input_val;
								}
							}
						  );
							   
		});
}
