// JavaScript Document


			  function ResizeShortNews(){
			  if(document.getElementById("MainContent") && document.getElementById("RightShortNews")){
				  
				 var hh = 0; 
				  
			     var container = document.getElementById("RightShortNews");
				 var submenu = getElementsByClassName("submenu", "div", container.parentNode);
				 if((submenu.length) && (submenu.length>0)){
					 for(var i=0; i<submenu.length; i++){
						hh = hh+ submenu[i].offsetHeight;
					 }
				 }
				 
			     var news = getElementsByClassName("news_style", "div", container);
					 if(news.length>0){
					 var h = document.getElementById("MainContent").offsetHeight;
					 for(var i=0; i<news.length; i++){
					    hh = hh+news[i].offsetHeight;
						//alert(hh+" di "+h);
						if(hh>h) news[i].style.display="none";
					 }
				 }
			  }
			  }



function CreateCalendarEvent(){
	     var div = getElementsByClassName("submenu", "div", document);
		 if((div.length>0) && document.getElementById("CalendarioEventi")){
			 var cal = document.getElementById("CalendarioEventi");
			 var tree = div[0].getElementsByTagName("UL")[0];
			 var ul = tree.getElementsByTagName("UL");
			 for(var i=0; i<ul.length; i++){
				var anno = document.createElement("h5");
				var dd = document.createElement("DIV");
				anno.innerHTML = tree.getElementsByTagName("LABEL")[i].getElementsByTagName("A")[0].innerHTML;
				var a = ul[i].getElementsByTagName("A");
				
				for(var k = 0; k<a.length; k++){
					var aa = document.createElement("A");
					var sp = document.createElement("SPAN");
					var st = document.createElement("STRONG");
					
					var data = a[k].title;
					var href = a[k].href;
					sp.innerHTML = data;
					st.innerHTML = a[k].innerHTML;
					aa.href = href;
					aa.appendChild(sp);
					aa.appendChild(st);
					dd.appendChild(aa);
				}
				
				cal.appendChild(anno);
				cal.appendChild(dd);
			 }
			 div[0].style.display="none"; 

		 }
}


function ExpandSubMenu(anno, pagina){
	     var div = getElementsByClassName("submenu", "div", document);
		 if(div.length>0){
			 var menu = div[0].getElementsByTagName("UL")[0];
			 var subul = menu.getElementsByTagName("UL");
			 for(var i=0; i<subul.length; i++){
				 var subulid = subul[i].id;
				 var a = subul[i].parentNode.getElementsByTagName("A")[0];
				 var li = a.parentNode;
				 a.setAttribute("href", "javascript:ExpandSubMenu('"+subulid+"')");
				 
				 if(anno!=""){
					 if(anno==subulid){
						 li.setAttribute("class","open");
						 subul[i].style.display="block";
					 }else{
						 li.setAttribute("class","closed");
						 subul[i].style.display="none";
					 }
				 }
				 
				 ////// cambio il link se la pagina è eventi
				 if(pagina=="eventi"){
					var a2 = subul[i].getElementsByTagName("A");
					for(var k=0; k<a2.length; k++){
						var href = a2[k].getAttribute("href");
						var title = a2[k].innerHTML;
						var page = href.substr(href.lastIndexOf("/")+1);
						if(href!="#"){
						    var site = window.location.protocol+"//"+window.location.hostname+"/eventi-manifestazioni/";
						   a2[k].setAttribute("href",site+"?anno="+subulid+"&ev="+page.substr(0,page.lastIndexOf("."))+"&title="+URLEncode(title));
						}
					}
				 
				 }
				 ///// fine if eventi
				 
			 }
		 }
}


function OpenPopUp(url, w, h){
			var pw = 20;
			var ph = 20;
			var site;
			if(url!=""){
		    site = window.location.protocol+"//"+window.location.hostname+"/";
            newwindow=window.open(site+url,'','width='+w+', height='+h+', top='+ph+',left='+pw+',resizable=yes, toolbar=no, location=no,status=no, menubar=yes, scrollbars=auto');
			}
}



function OpenPopUp2(url, w, h){
			var pw = 20;
			var ph = 20;
			var site;
			if(url!=""){
            newwindow=window.open(url,'','width='+w+', height='+h+', top='+ph+',left='+pw+',resizable=yes, toolbar=no, location=no,status=no, menubar=yes, scrollbars=yes');
			}
}

function AppendZoomImg(){
	     
		 var a = getElementsByClassName("imgleft", "a", document);
	     if(a.length>0){
			   for(var i=0; i<a.length; i++){

				   var href = a[i].getAttribute("href");
				   var span = document.createElement("SPAN");
				   var p = document.createElement("IMG");
				   var site = window.location.protocol+"//"+window.location.hostname;
				   p.src = site+"/img/zoom.gif";
				   
				   a[i].removeAttribute("href");
				   
				   a[i].onclick = function(){
					   //alert(window.location);
					    var src = this.getElementsByTagName("IMG")[0].getAttribute("src");
					    var imgurl= str_replace("_small", "_zoom", src.toString());
					    OpenPopUpImg(''+imgurl+'');   
				   }
				   
				   a[i].appendChild(span);
				   span.appendChild(p);
			   }
		 }
}


function OpenPopUpImg(imgurl){
			var w = 100;
			var h = 50;
			var pw = 20;
			var ph = 20;
			var img = imgurl.substr(imgurl.indexOf("pictures"));
			var site = window.location.protocol+"//"+window.location.hostname;
            newwindow=window.open(site+'/zoom.php?'+img,'','width='+w+', height='+h+', top='+ph+',left='+pw+',resizable=yes, toolbar=no, location=no,status=no, menubar=yes, scrollbars=auto');
}


function str_replace(search, replace, subject) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Gabriel Paderni
    // +   improved by: Philip Peterson
    // +   improved by: Simon Willison (http://simonwillison.net)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   bugfixed by: Anton Ongson
    // +      input by: Onno Marsman
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    tweaked by: Onno Marsman
    // *     example 1: str_replace(' ', '.', 'Kevin van Zonneveld');
    // *     returns 1: 'Kevin.van.Zonneveld'
    // *     example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
    // *     returns 2: 'hemmo, mars'
 
    var f = search, r = replace, s = subject;
    var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
 
    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
        }
    };
 
    return sa ? s : s[0];
}




function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}



/////////////////////////////////// FUNZIONE DI CODIFICA STRINGA URL //////

function URLEncode(plaintext)
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
	    if (ch == " ") {
		    encoded += "+";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '" 
                        + ch 
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
};


/////////////////////////////////// FUNZIONE DI DECODIFICA STRINGA URL


function URLDecode(encoded)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   // Put [ERROR] in output if %xx is invalid.
   if(encoded!=""){

   var HEXCHARS = "0123456789ABCDEFabcdef"; 
   var plaintext = "";
   var i = 0;
   while (i < encoded.length) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while

   return plaintext;
   }
}

