/**Controlli vari per i form*/


Array.prototype.in_array = function ( obj ) {
	var len = this.length;
	for ( var x = 0 ; x <= len ; x++ ) {
		if ( this[x] == obj ) return x;
	}
	return false;
}
function printf(S, L) {
	var nS = "";
	var tS = S.split("%s");
	if (tS.length != L.length+1) throw "Input error";
	 
	for(var i=0; i<L.length; i++)
		nS += tS[i] + L[i];
	return nS + tS[tS.length-1];
}

function checkform(nome_form,cmp,field1,field2) {
	
	  for (i=0;i<fieldstocheck.length;i++) {
		if (eval("document."+nome_form+".elements['"+fieldstocheck[i]+"'].value") == "") {
		  alert("Il campo "+fieldnames[i]+" e' obbligatorio");
		  eval("document."+nome_form+".elements['"+fieldstocheck[i]+"'].focus()");
		  return false;
		}
	  }
  
	if ((cmp=='yes')&&(field1!='')&&(field2!=''))
	{
	  if(!compareFields(nome_form,field1,field2))
	  {
			var param_array_nomi=new Array(fieldnames[fieldstocheck.in_array(field1)], fieldnames[fieldstocheck.in_array(field2)]);
			alert(printf("I campi %s e %s devono essere uguali", param_array_nomi));
		return false;
	  }
	}

  return true;
}

function compareFields(nome_form,campo_mail1,campo_mail2)
{
  return (eval("document."+nome_form+".elements['"+campo_mail1+"'].value == document."+nome_form+".elements['"+campo_mail2+"'].value"));
}

var fieldstocheck = new Array();
var fieldnames = new Array();
function addFieldToCheck(value,name) {
  fieldstocheck[fieldstocheck.length] = value;
  fieldnames[fieldnames.length] = name;
}



/**Link esterni, apre una nuova pagina*/
function NewPage() {
	if(!document.getElementsByTagName ) { return; }
	var anchors = document.getElementsByTagName( "a" );
	for( var loop = 0; loop < anchors.length; loop++ ) {
		var anchor = anchors[ loop ];
		if( anchor.getAttribute( "href" ) && anchor.getAttribute( "rel" ) == "external" ) {
			anchor.target = "_blank";
		}
	}
} 


var varIntervall=false;
var varCounter=0;
var varNextImgId="i_02_img_dyn";


function changeImgIndex() {
	if (varIntervall) {
		clearInterval(varIntervall);
	}
	Effect.Fade($((varNextImgId=="i_02_img_dyn") ? "i_01_img_dyn" : "i_02_img_dyn"));
	Effect.Appear($((varNextImgId=="i_02_img_dyn") ? "i_02_img_dyn" : "i_01_img_dyn"));
	$(varNextImgId).src="./images/dyn_images/"+array_images[varCounter];
	if (varNextImgId=="i_02_img_dyn") varNextImgId="i_01_img_dyn";
	else varNextImgId="i_02_img_dyn";
	varCounter++;
	if (varCounter>=array_images.length) varCounter=0;

	varIntervall=setInterval("changeImgIndex()",10000);
}

function init_imgs_index() {
	changeImgIndex();
}


function initElementsJs()
{
	NewPage();
	$$('.security').each(function(elem) {
		new Ajax.Request("antibotkey.ajax.php",{
			method: 'post',
			parameters:'name='+elem.name,
			onSuccess: function(key) {
				elem.value=key.responseText;
			}
		});
	});
}

/* Gestione del drop down */
function initDropDown() {
    var ddList = ["amministrazione", "territorio", "uffici", "cittadino"];
    var menuPrefix = "nav-main-";
    var ddPrefix = "s-";
    for (var i=0,l=ddList.length; i<l; i++) {
        var mm = $(menuPrefix + ddList[i]).getElementsByTagName("span")[1];
        var dd = $(ddPrefix + ddList[i]);
        Event.observe(mm, 'mouseover', setEvent(mm,dd,true ,0)  );
        Event.observe(mm, 'mouseout',  setEvent(mm,dd,false,100));
        Event.observe(dd, 'mousemove', updateTimeout(mm));
        Event.observe(dd, 'mouseout',  hide(dd, 50));
    }   
}

function setEvent(dispatcher,dd,val,t) {
    var trg = dd;
    var timeout = t;
    var value = val
    var fn = function(e) {
        trg.controller = dispatcher;
        dispatcher.time = t;
        dispatcher.tt = setTimeout(function() {toggleDisplay(trg, value)}, timeout);
    };
    return fn;
}

function toggleDisplay(trg, value) {
    if (value == undefined) {
        value = (trg.style.display == "block") ? "none" : "block";
        trg.style.display = value;
    } else {
        value = (value) ? "block" : "none";
        trg.style.display = value;
    }
    trg.opened = (trg.style.display == "block") ? true : false; 
}

function updateTimeout(controller) {
    return function() {
        var trg = this;
        clearTimeout(controller.tt);
    }
}

function hide(dd, t) {
    var trg = dd;
    var timeout = t;
    var fn = function(evt) {
        var reltg = (evt.relatedTarget) ? evt.relatedTarget : evt.toElement;
	    while (reltg != trg && reltg.nodeName != 'BODY') reltg = reltg.parentNode 
        if (reltg == trg) return;
        setTimeout(function() {toggleDisplay(dd, false)}, timeout);
    }
    return fn;
}
/* Fine gestione del drop down */


/* Gestione delnewsResizer in home */

function initNewsResing() {
    var listShow = document.getElementsByClassName("show", "a");
    //var listHide = document.getElementsByClassName("show", "a");
    
    for (var i=0; i<listShow.length; i++) {
        var showLink  = listShow[i];
        var parentDiv = showLink.parentNode.parentNode;
        var shortDiv  = parentDiv.getElementsByClassName("short", "div")[0];
        var longDiv   = parentDiv.getElementsByClassName("long",  "div")[0];
        var hideLink  = longDiv.getElementsByClassName("hide", "a")[0];
        
        Event.observe(showLink, 'click', hideShow(shortDiv ,longDiv) );
        Event.observe(hideLink, 'click', hideShow(longDiv  ,shortDiv) );
    }
}
function reloadCaptcha() {
	var now = new Date();
	$('captcha_img').src='captcha.php?'+now.getTime();
}

function hideShow(toHide, toShow) {
    return function() {
        toHide.style.display = "none";
        toShow.style.display = "block";
    }
}

/* Fine gestione delnewsResizer in home */



Event.observe(window, 'load', initElementsJs);
Event.observe(window, 'load', initDropDown);