var path_assoluto;
function init(){
	menu();	
	$("form").submit(function (){ return get_form_validation(this);}); //"#"+$(this).attr("id")
	replace_flash_objects();
	my_accordion();
	ws_json_form.init("form.post_ajax");
	//active_gallery();
}

/* Funzione per Menù 
- - - - - - - - - - - - - - - - - - - - */
function menu(){
	$("#menu_sx a.on").parents("ul").addClass("on");
	$("#menu_sx a.on").parents("li").children("a:eq(0)").addClass("on");
	$("#menu_sx a.on").siblings("ul").addClass("on");
	$("#menu_sx ul li ul").not(".on").hide();
	$("#menu_sx ul li a").click(function(){
		if($(this).attr("href")=="#"){
			if ($(this).next().attr("class") == "on") {
				$(this).siblings().removeClass("on").slideUp("fast"); 
			} else {
//				$(this).parent().parent().find("ul.on").removeClass("on").slideUp("fast");
				$(this).siblings().addClass("on").slideDown("normal");
			}
			return false;
		}
	});
//	apriMenu();
	$("img[@src='']").src='/img/trasp.gif';
	menuChiuso = true;
}
function apriMenu(){
	$("#menu_sx a.on").each(function(){
		var el=this;
		var conta=0;
		while(el !== null && conta<30){
			el=$(el).parent();
			if(el[0].tagName=="UL"){
//				$(el).show();
//				$(el).addClass("on");
				$(el).parent().children().not("a").show();
				$(el).parent().children().addClass("on");
				
			}else if (el[0].tagName=="LI"){
				conta++;
			}else if (el[0].tagName=="DIV"){
				el=null;
			}else{
				conta++;
			}
		}
	});
}
function active_gallery(){
	if (!$("#TB_Window").length && typeof(tb_init)=='function'){
//		imgLoader = new Image();// preload image
		//imgLoader.src = "/img/trasp.gif";
//		imgLoader.src = tb_pathToImage;
		tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
//		$("#TB_Image").load(function(){ $("#TB_Load").hide();alert("caricata"); });
		
	}
}

function my_accordion(){
	$("h2 a[@rel='accordion']").click(function(){
		var thed=$(this).parent().next();
		$(".hidden:visible").not($(thed)).slideUp("fast");
		$(this).parent().next().slideDown("fast");
		return false;
	});
}

if(typeof(Array.indexof)!=="function"){
	Array.prototype.indexOf = function(f, s) {
		if (typeof s == 'undefined') s = 0;
		for (var i = s; i < this.length; i++) {
			if (f === this[i]) return i;
		}
		return -1;
	}	
}



/* LANCIA INIT */
if(typeof($)=="function"){
	path_assoluto = location.href;
	$(document).ready (function(){
		init();
		if ($("#div_ricerca").size()) {
			ricerca.init();
		}
	});
}





// ricerca muro
ricerca = {
	anno : "pre_2010",
	
	z : "A",
	
	init : function() {
		$("#provincia, #comune, #risultato, img.loader").hide();
		ricerca.getAnno();
		$("#sel_province").change(function () {
			ricerca.getComuni($(this).val());
		});
		$("#sel_comuni").change(function () {
			ricerca.getData($("#sel_province").val(),$(this).val());
		});
	},
	
	getAnno : function() {
		$("#anno a").click(function(){
			$("#provincia, #comune, #risultato, img.loader").hide();
			$(this).addClass("on").removeClass("off");
			$("#anno a").not($(this)).addClass("off").removeClass("on");
			ricerca.getPr ();
			$("#anno img.loader").show();
			ricerca.anno = $("#anno a.on").attr("id");
			return false;
		});
	},
		
	getPr : function() {
		$.getJSON("getjsondata.asp?what=getPr",
			function (data) {
				$.each(data.province, function (i, pr) {
					$("#sel_province").append("<option value=\"" + pr + "\">" + pr + "</option>\n");
				});
				$("#anno img.loader").hide();
				$("#provincia").fadeIn("normal");
				$("#provincia select option:eq(0)").attr("selected","selected");
			}
		);
	},
	
	getComuni : function(pr) {
		$("#comune").hide();
		$("#risultato").hide();
		$("#provincia img.loader").show();
		$("#sel_comuni").hide().empty().append("<option selected=\"selected\" value=\"\">Seleziona comune</option>");
		$.getJSON("getjsondata.asp?what=getComuni&pr=" + pr,
			function (data) {
			$.each(data.comuni, function (i, comune) {
				$("#sel_comuni").append("<option value=\"" + comune + "\">" + comune + "</option>\n");
			});
			$("#comune").show();
			$("#provincia img.loader").hide();
			$("#sel_comuni").fadeIn("normal");
			}
		);
	},
	
	getData : function(pr,comune) {
		$("#comune img.loader").show();
		$("#data, #data_images").empty();
		$.getJSON("getjsondata.asp?what=getData&pr=" + pr + "&comune=" + comune,
			function (data) {
				id = data.comune.id;
				comune = data.comune.comune;
				pr = data.comune.pr;
				z = data.comune.z;
				ricerca.z = z;
				gr = data.comune.gr;
				alt = data.comune.alt;
				$("#comune img.loader").hide();
				$("#data").empty();
				$("#risultato").fadeIn("normal",function(){
					$("#data").append("<h3>" + comune + " (" + pr + ")" + "</h3><ul><li>Anno: <strong>" + $("#anno a.on").text() + "</strong></li><li>Zona: <img src='/imgs/tamponamenti/" + z + ".gif' alt='zona " + z + "' /></li><li>Gradi Giorno: <strong>" + gr + "</strong></li><li>Altitudine: <strong>" + alt + "</strong></li></ul>").fadeIn("normal");
				});
				ricerca.getImages();
				$("#data").append("<a href='javascript:self.print();' class='stampa'><img height='67' width='112' alt='stampa risultato' src='/img_css/stampa.jpg' /></a>");
				$("#data_images").append("<a href='javascript:self.print();' class='stampa'><img height='67' width='112' alt='stampa risultato' src='/img_css/stampa.jpg' /></a>");
			}
		);
	},
	
	getImages : function() {
		switch (ricerca.z) {
			case "A":
				for (i=1; i<13; i++) {
					$("#data_images").append("<img src='../imgs/tamponamenti/tamp_" + i + "_" + ricerca.anno + ".jpg' alt='tamponamento "+ i +"' \>");
				}
			break;
			case "B":
				for (i=1; i<13; i++) {
					$("#data_images").append("<img src='../imgs/tamponamenti/tamp_" + i + "_" + ricerca.anno + ".jpg' alt='tamponamento "+ i +"' \>");
				}
			break;
			case "C":
				for (i=1; i<13; i++) {
					$("#data_images").append("<img src='../imgs/tamponamenti/tamp_" + i + "_" + ricerca.anno + ".jpg' alt='tamponamento "+ i +"' \>");
				}
			break;
			case "D":
				if (ricerca.anno == "post_2010") {
					for (i=3; i<13; i++) {
						$("#data_images").append("<img src='../imgs/tamponamenti/tamp_" + i + "_" + ricerca.anno + ".jpg' alt='tamponamento "+ i +"' \>");
					}
				} else {
					for (i=1; i<13; i++) {
						$("#data_images").append("<img src='../imgs/tamponamenti/tamp_" + i + "_" + ricerca.anno + ".jpg' alt='tamponamento "+ i +"' \>");
					}
				}
			break;
			case "E":
				if (ricerca.anno == "post_2010") {
					for (i=7; i<13; i++) {
						$("#data_images").append("<img src='../imgs/tamponamenti/tamp_" + i + "_" + ricerca.anno + ".jpg' alt='tamponamento "+ i +"' \>");
					}
				} else {
					for (i=2; i<13; i++) {
						$("#data_images").append("<img src='../imgs/tamponamenti/tamp_" + i + "_" + ricerca.anno + ".jpg' alt='tamponamento "+ i +"' \>");
					}
				}
			break;
			case "F":
				if (ricerca.anno == "post_2010") {
					for (i=8; i<13; i++) {
						$("#data_images").append("<img src='../imgs/tamponamenti/tamp_" + i + "_" + ricerca.anno + ".jpg' alt='tamponamento "+ i +"' \>");
					}
				} else {
					for (i=5; i<13; i++) {
						$("#data_images").append("<img src='../imgs/tamponamenti/tamp_" + i + "_" + ricerca.anno + ".jpg' alt='tamponamento "+ i +"' \>");
					}
				}
			break;
		}
	}
}


/* 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{
		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 "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; 
		  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;
	for (nc in oval){
		if( validate.field("#"+nc,oval[nc])==false ){
			$("#"+nc).parent().addClass("bg_error");
			valid=false;
		}else{
			$("#"+nc).parent().removeClass("bg_error");
		}
	}
	$(".bg_error input, .bg_error select, .bg_error textarea").eq(0).focus();
	return valid;
}

/* REPLACE FLASH OBJECTS*/
function replace_flash_objects()
{
	$(".replace_flash_objects").each(function ()
		{
			var f, re,p;
			f = String($(this).children("noscript").html()).replace("&lt;","<").replace("&gt;",">");

			while(f.indexOf("&lt;")>=0){
				f = f.replace("&lt;","<");
			}
			while(f.indexOf("&gt;")>=0){
				f = f.replace("&gt;",">");
			}
/*
			p="<[^>]{0,1}object[^>]*>|<[^>]{0,1}param[^>]*>";
			re = new RegExp();
			re.pattern=p;
			f.replace(re,"");
			re.pattern="&lt;";
			f.replace(re,"<");
			re.pattern="&gt;";
			f.replace(re,">");
*/
			if(f.length<10){f = $(this).children(".embed").html()}
//			$(this).prepend(f);
			this.innerHTML=f;
		}
	 );
}
/* 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){self.status=(e);}
		},
		ajax_submit: function(){
			var post_data,ifr_target;
			try{
				ws_json_form.the_form = this;
				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";
						try{
							d=eval("(" + frames['ws_ifr_upload_file'].document.body.innerHTML +")" );
						}
						catch(e){
							d={"status":"error","error": "Error parsing JSON. " + (e.toString()) + " <a href=\"#\" onclick=\"ws_json_form.back_and_complete(this); return false;\">Indietro</a>"  + frames['ws_ifr_upload_file'].document.body.innerHTML,"data":""};
						}
						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 = ("function ajax_submit(){} " & 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)
			}
		},
		back_and_complete: function (chi){
			$(chi).parent().fadeOut('slow',function(){
				$(chi).parent().parent().children('fieldset').fadeIn('slow');
				return false;
			});
		}
	}

