/*function onlyInteger(numero) {
	numero=numero.toString().replace(/[\D]/g,"");
	return numero;
}
function DoDots(numero) {
   numero=numero.toString().replace(/[^,\d]/g,"");
   if(numero[0]=="0")
   		numero=numero.toString().replace(/0([0-9]+)/g,"0");
   number_part = numero.split(",");
   if(number_part[1]==undefined)
   		return number_part[0].replace(/\.+$/,"");
   else
   {
		number_part[1] = number_part[1].substring(0,4);
		return number_part[0].replace(/\.+$/,"")+","+number_part[1];
	}
}
*/

   function addDots(nStr)
   {
     nStr += '';
     x = nStr.split('.');
     x1 = x[0];
     x2 = x.length > 1 ? ',' + x[1] : '';
     var rgx = /(\d+)(\d{3})/;
     while (rgx.test(x1)) {
       x1 = x1.replace(rgx, '$1' + '.' + '$2');
     }
     return x1 + x2;
  }

/* Italian initialisation for the jQuery UI date picker plugin. */
/* Written by Apaella (apaella@gmail.com). */
/*jQuery(function($){
	$.datepicker.regional['it'] = {
		closeText: 'Chiudi',
		prevText: '&#x3c;Prec',
		nextText: 'Succ&#x3e;',
		currentText: 'Oggi',
		monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
		'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
		monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu',
		'Lug','Ago','Set','Ott','Nov','Dic'],
		dayNames: ['Domenica','Luned&#236','Marted&#236','Mercoled&#236','Gioved&#236','Venerd&#236','Sabato'],
		dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],
		dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'],
		dateFormat: 'dd/mm/yy', firstDay: 1,
		isRTL: false};
	$.datepicker.setDefaults($.datepicker.regional['it']);
});
*/
function getDynamicSelectValues(fieldRif, value, fieldChange, start, type, selectValue, callback) {
	if(!selectValue) selectValue = "";
	var fieldSelect = document.getElementById(fieldRif);
	var fieldSelectChange = document.getElementById(fieldChange);
	$.ajax({
    	url: "/ajax/getDynamicSelectValues.php?type="+type+"&value="+value,
    	type: 'GET',
		timeout: 10000,
		beforeSend: function(){
			var l=fieldSelectChange.length;
			for(var j = (l-1); j>=start; j--) {
				//fieldSelectChange.options[j]=null;
				fieldSelectChange.remove(j);
			}
			fieldSelectChange.options[start] = new Option("...attendere...","");
			$('#'+fieldChange).attr("disabled", true);
		},
		error: function(){
			$('#'+fieldChange).attr("disabled", false);
        	alert('Error loading XML document'+url);
	    },
    	success: function(msg){
			if(msg.indexOf('|' != -1)) {
				var update = msg.split('|');
				//fieldSelectChange.options[start]=null;
				fieldSelectChange.remove(start);
				for(var i=0; i < (update.length-1); i++) {
					var selectField = update[i].split('^');
					var nuovo = new Option(selectField[1],selectField[0]);
					fieldSelectChange.options[fieldSelectChange.length] = nuovo;
					//if(selectValue==selectField[0]) fieldSelectChange.options[(fieldSelectChange.length-1)].selected = true;
				}
				if(selectValue!="" && selectValue!=undefined)
					fieldSelectChange.options[selectValue].selected = true;
				if(callback!=undefined) {
					eval(callback);
				}
			}
			$('#'+fieldChange).attr("disabled", false);
	    }
	});
}

function checkValue(div, type, value, min) {
	if(min==undefined)
		min = 3;
	if(value.length==0) {
		$("#"+div).html('');
	} else if(value.length>=min) {
		$.ajax({
			url: "/ajax/checkvalue.php?type="+type+"&value="+value,
			type: 'GET',
			timeout: 10000,
			error: function(){
				alert('Error loading XML document');
			},
			beforeSend: function(){
				$("#"+div).html('<img src="http://img.rizzutoarte.com/loading.gif" /> verifica disponibilit? in corso');
			},
			success: function(msg){
				$("#"+div).html(msg);
			}
		});
	}
}

function loadContent(url_s, nowaiting) {
	if(nowaiting==undefined) nowaiting = false;
	$.ajax({
    	url: url_s,
    	type: 'GET',
		timeout: 10000,
		beforeSend: function(){
        	if(!nowaiting)
        		waiting();
	    },
		error: function(){
        	alert('Error loading HTML document: '+url_s);
			unwaiting();
	    },
    	success: function(data){
			ajaxSuccess(data);
	    }
	});
}

function ajaxSuccess(data) {
	if(data.substr(0,7)=='_MULTI_') {
		var dataDivs = data.substr(7).split('$-$');
		var dataDiv = '';
		var dataData = '';
		for(var tmpdiv in dataDivs) {
			dataTmpArr = dataDivs[tmpdiv].split('-|-');
			dataDiv = dataTmpArr[0];
			dataData = dataTmpArr[1];
			$("#"+dataDiv).html(dataData);
			funcLoad("#"+dataDiv);
		}
		unwaiting();
	} else if(data.indexOf("-|-")!=-1) {
		var dataPos = data.indexOf("-|-");
		var dataDiv = data.substr(0, dataPos);
		var dataData = data.substr(dataPos+3);
		if(dataData.substr(0,10)=='_REDIRECT_') {
			window.location = dataData.substr(10);
		} else if($("#"+dataDiv).length <= 0)
			alert(data);
		else if(dataData.substr(0,12)=='_OKNOSCROLL_') {
			$("#"+dataDiv).html(dataData.substr(12));
			funcLoad("#"+dataDiv);
			var pos = $("#"+dataDiv).offset();
			unwaiting();
		} else if(dataData.substr(0,4)=='_OK_') {
			$("#"+dataDiv).html(dataData.substr(4));
			funcLoad("#"+dataDiv);
			var pos = $("#"+dataDiv).offset();
			$('html, body').animate({scrollTop:pos.top-120}, 'slow');
			unwaiting();
		} else if(dataData.substr(0,7)=='_ERROR_') {
			showErrorForm(dataDiv);
			$("#"+dataDiv).html(dataData.substr(7));
			unwaiting();
			var pos = $("#"+dataDiv).offset();
			$('html, body').animate({scrollTop:pos.top-120}, 'slow');
		}
		else
			alert(data);
	} else
		alert(data);
}

function MakeAjaxLink(div) {
	if(div==undefined) div = '';
	else div += ' ';
	$(div+"a").filter(".ajax").click(function(){
	   var ajaxLink = '/_ajax_'+this.href.replace("http://"+window.location.host, "");
	   if($(this).hasClass('notwaiting'))
	   	loadContent(ajaxLink, true);
	   else
	   	loadContent(ajaxLink);
	   return false;
	 })
	.end();
	$(div+"a").not(".ajax").not(".notwaiting").click(function(){
	   waiting();
	})
	$(div+"form").not(".ajax").not(".notwaiting").attr("onsubmit", "waiting();");
}

function MakeAjaxForm(div) {
	if(div==undefined) div = '';
	//else div += ' ';
	var id;
	$(div+"form").filter(".ajax").each(function (i) {
		id = this.id;
		$(this).validate({
			submitHandler: function(form) {
				var ajaxLink = $(form).attr("action").replace("/_ajax_", "");
				ajaxLink = '/_ajax_'+ajaxLink.replace("http://"+window.location.host, "");
				$(form).attr("action", ajaxLink);
				$(form).ajaxSubmit({
					beforeSubmit: function(a,f,o) {
						waiting();
					},
					success: function(data) {
						ajaxSuccess(data);
					},
					complete: function(data, status) {
						unwaiting();
			        }
				});
				return false;
			}
		});
		$("#"+id+" :input[title!='']").tooltip({  
 
		    // place tooltip on the right edge 
		    position: "center right", 
		 
		    // a little tweaking of the position 
		    offset: [-2, 10], 
		 
		    // use a simple show/hide effect 
		    effect: "fade", 
		     
		    // custom opacity setting 
		    opacity: 0.7, 
		     
		    // use this single tooltip element 
		    tip: '.WTformTooltip' 
		     
		});
		$("#"+id+" :fieldset[title!='']").tooltip({  
 
		    // place tooltip on the right edge 
		    position: "center right", 
		 
		    // a little tweaking of the position 
		    offset: [-2, 10], 
		 
		    // use a simple show/hide effect 
		    effect: "fade", 
		     
		    // custom opacity setting 
		    opacity: 0.7, 
		     
		    // use this single tooltip element 
		    tip: '.WTformTooltip' 
		     
		});
	});
}

function waiting() {
	;
}

function unwaiting() {
	;
}

$(document).ready(function(){
	funcLoad();
});

function funcLoad(div) {
	if(div==undefined) div = '';
	else div += ' ';
	$(div+'input').filter('.WTDate').each(function (i) {
		$('#'+this.id).datepicker($.datepicker.regional['it']);
		//$('#'+this.id).setDefaults($.datepicker.regional['it']);
		
	});
	$(div+'input').filter('.WTTime').each(function (i) {
		$('#'+this.id).clockpick({minutedivisions: 12, starthour: 0, endhour: 23, military: true});
		//$('#'+this.id).after('<img src="http://img.rizzutoarte.com/WT/clock.gif" class="CP_clockimg" />');
		$('#'+this.id).focus( function() { this.blur(); } );
	});
	$(div+'input').filter('.WTSlider').each(function (i) {
		id = this.id;
		param = new Object();
		param_arr = $('#'+id+'_sliderparam').val().split(';');
		for(var irel = 0; irel < param_arr.length; irel++) {
			param_arr2 = param_arr[irel].split(":");
			param[param_arr2[0]] = eval(param_arr2[1]);
		}
		/*param['slide'] = function(event, ui) {
				$('#'+id).val(ui.value);
			};*/
		$('#'+id+'_slider').slider(param);
		$('#'+id).val($('#'+id+'_slider').slider("value"));
		$('#'+id).attr("readonly", "readonly");
		$('#'+id+'_slider').bind('slide', function(event, ui) {
				$('#'+this.id.replace("_slider", "")).val(ui.value);
			});   
	});
	$(div+'input').filter('.WTSliderRange').each(function (i) {
		id = this.id;
		param = new Object();
		param_arr = $('#'+id+'_sliderparam').val().split(';');
		for(var irel = 0; irel < param_arr.length; irel++) {
			param_arr2 = param_arr[irel].split(":");
			param[param_arr2[0]] = eval(param_arr2[1]);
		}
		/*param['slide'] = function(event, ui) {
				$('#'+id).val(ui.values[0]+'-'+ui.values[1]);
				$('#'+id+'_min').val(ui.values[0]);
				$('#'+id+'_max').val(ui.values[1]);
			};*/
		$('#'+id+'_slider').slider(param);
		//$('#'+id).val(addDots($('#'+id+'_slider').slider("values", 0))+' | '+addDots($('#'+id+'_slider').slider("values", 1)));
		$('#'+id+'_minD').val($('#'+id+'_prefix').val()+addDots($('#'+id+'_slider').slider("values", 0))+$('#'+id+'_postfix').val());
		$('#'+id+'_maxD').val($('#'+id+'_prefix').val()+addDots($('#'+id+'_slider').slider("values", 1))+$('#'+id+'_postfix').val());
		$('#'+id+'_min').val($('#'+id+'_slider').slider("values", 0));
		$('#'+id+'_max').val($('#'+id+'_slider').slider("values", 1));
		$('#'+id).attr("readonly", "readonly");
		$('#'+id+'_slider').bind('slide', function(event, ui) {
				$('#'+this.id.replace("_slider", "_minD")).val($('#'+this.id.replace("_slider", "_prefix")).val()+addDots(ui.values[0])+$('#'+this.id.replace("_slider", "_postfix")).val());
				$('#'+this.id.replace("_slider", "_maxD")).val($('#'+this.id.replace("_slider", "_prefix")).val()+addDots(ui.values[1])+$('#'+this.id.replace("_slider", "_postfix")).val());
				$('#'+this.id.replace("_slider", "")+'_min').val(ui.values[0]);
				$('#'+this.id.replace("_slider", "")+'_max').val(ui.values[1]);
			});
	});
	
	MakeAjaxLink(div);
	//if($(div+'form').is('.ajax')) {
		MakeAjaxForm(div);
	//}
	/*if($(div+'a').is('.thickbox')) {
		tb_init(div+'a.thickbox');//pass where to apply thickbox
		imgLoader = new Image();// preload image
		imgLoader.src = "images/loadingAnimation.gif";
	}*/
	commonReady(div);
}
