var currentFontSize = 4;

function revertStyles(fontsize){
	currentFontSize = fontsize;
	changeFontSize(0);
}

function changeFontSize(sizeDifference){
	//get css font size
	var rule = getRuleByName("body.fs" + (currentFontSize + sizeDifference));
	if (rule){
		document.body.style.fontSize = rule.style.fontSize;
		currentFontSize = currentFontSize + sizeDifference;
		createCookie("FontSize", currentFontSize, 365);
		equalHeight();
	}
	return;
	
};

function getRuleByName(ruleName){
	for (i=0; i<document.styleSheets.length; i++){
		var style = document.styleSheets[i];
		var rules = style.cssRules?style.cssRules:style.rules;
		if (rules){
			for (j = 0; j<rules.length; j++){
				if (rules[j].selectorText.trim().toUpperCase() == ruleName.trim().toUpperCase()){
					return rules[j];
				}
			}
		}
	}
	return null;
}

function setActiveStyleSheet(title) {
	createCookie("ColorCSS", title, 365);
	//window.location.reload();
	window.location.reload();
	return;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function setScreenType(screentype){
	createCookie("ScreenType", screentype, 365);
	window.location.reload();
	return;
	bclass = document.body.className.trim();
	if (bclass.indexOf(' ') > 0){
		bclass = bclass.replace(/^\w+/,screentype);
	}else{
		bclass = screentype + ' ' + bclass;
	}

	document.body.className = bclass;
	equalHeightInit();
	createCookie("ScreenType", screentype, 365);
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); };

function changeToolHilite(oldtool, newtool) {
	if (oldtool != newtool) {
		if (oldtool) {
			oldtool.src = oldtool.src.replace(/-hilite/,'');
		}
		newtool.src = newtool.src.replace(/.gif$/,'-hilite.gif');
	}
}

//addEvent - attach a function to an event
function jaAddEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

function equalHeight (elems){
	if (!elems) return;
	var maxh = 0;
	for (var i=0; i<elems.length; i++)
	{
		if (elems[i] && elems[i].scrollHeight > maxh) maxh = elems[i].scrollHeight;
	}

	for (i=0; i<elems.length; i++){
		if (elems[i]) elems[i].parentNode.style.height = maxh + "px";
	}
}

function getElem (id) {
	var obj = document.getElementById (id);
	if (!obj) return null;
	var divs = obj.getElementsByTagName ('div');
	if (divs && divs.length >= 1) return divs[divs.length - 1];
	return null;
}

function getFirstDiv (id) {
	var obj = document.getElementById (id);
	if (!obj) return null;
	var divs = obj.getElementsByTagName ('div');
	if (divs && divs.length >= 1) return divs[0];
	return obj;
}

function getDivElemsByClass (parent, className) {
	var objs = parent.getElementsByTagName ('div');
	var elems = new Array();
	var j = 0;
	for (var i=0; i<objs.length; i++)
	{
		if (instr(objs[i].className, className) )
		{
			elems[j++] = objs[i];
		}
	}
	return elems;
}

function instr(str, item){
	var arr = str.split(" ");
	for (var i = 0; i < arr.length; i++){
		if (arr[i] == item) return true;
	}
	return false;
}

function equalHeightInit (){
	var objs = new Array();
	objs[0] = getFirstDiv ("ja-topsl1");
	objs[1] = getFirstDiv ("ja-topsl2");
	objs[2] = getFirstDiv ("ja-topsl3");
	equalHeight (objs);
	
	var janewsblocks = getDivElemsByClass (document, "ja-newsblock");
	for (var i=0; i<janewsblocks.length; i++)
	{
		var janewsitems = getDivElemsByClass (janewsblocks[i], "ja-newsitem-inner");
		if (janewsitems.length > 1)
			equalHeight (janewsitems);
	}
}

jaAddEvent (window, 'load', equalHeightInit);

jaToolsHover = function() {
	var jautw = document.getElementById("ja-usertoolswrap");	
	if (!jautw) return;

	jautw.onmouseover=function() {
		this.className="ja-toolswraphover";
	}
	jautw.onmouseout=function() {
		this.className="";
	}
}

jaAddEvent (window, 'load', jaToolsHover);

jaToolsHover = function() {
	var jautw = document.getElementById("jausertoolswrap");	
	if (!jautw) return;

	jautw.onmouseover=function() {
		this.className="ja-toolswraphover";
	}
	jautw.onmouseout=function() {
		this.className="";
	}
}

jaAddEvent (window, 'load', jaToolsHover);


function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	var j = 0;
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (var i = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	//alert(searchClass + j);
	return classElements;
}

//Add span to module title
function addSpanToTitle () {
  //var colobj = document.getElementById ('ja-colwrap');
  //if (!colobj) return;
  var modules = getElementsByClass ('module.*', null, "DIV");
  if (!modules) return;
  k = 0;
  for (var i=0; i<modules.length; i++) {
    var module = modules[i];
    var title = module.getElementsByTagName ("h3")[0];  
    if (title) {
      titletext = title.innerHTML.trim();
      pos = titletext.indexOf (' '); 
      if (pos >= 0) {
        titletext = "<span>" + titletext.substr(0, pos) + "</span> " + titletext.substr(pos+1);
      }
      title.innerHTML = titletext;
    }
  }
}

//jaAddEvent (window, 'load', addSpanToTitle);


function confirmDocItemTask(sid,task,message){
	if (confirm(message))
		return docItemTask(sid,task)
	else
		return false
}



function docItemTask( sid, task ) {
    document.gesioneDoc.iddoc.value=sid;
    document.gesioneDoc.task.value=task;
	  document.gesioneDoc.submit();
		return true;
}



function onkeysubmit(e)
{
var keynum;
var keychar;
var numcheck;if(window.event) // IE
  {
  keynum = e.keyCode;
  }
else if(e.which) // Netscape/Firefox/Opera
  {
  keynum = e.which;
  }
 if (keynum==13){
 	$('formlogin').submit();
 }
}



function isEmail( text ){
	var pattern = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp( pattern );
	return regex.test( text );
}

function isEmpty(value) {
	if (value==null || value.length==0) return true;
	else return false;
}





function checkrichiestacontatto(f){
	if (isEmpty(f.nome.value)){
		alert(nomeobbligatorio);
		return false;
	}
	if (isEmpty(f.email.value) ){
		alert(emailobbligatorio);
		return false;
	}

		
	if (!isEmail(f.email.value) ){
		
		alert(emailnonvalida);
		return false;
	}
	if (isEmpty(f.messaggio.value) ){
		alert(messageobbligatorio);
		
		return false;
	}


	if (isEmpty(f.captcha.value) || f.captcha.value==defcapthca){
		alert(defcapthca);
		return false;
	}	

	return true;	
}


function caricaTesto(surl,id){
	var
		divRisultato = prendiElementoDaId("contid"),
		//divLoading = prendiElementoDaId("loading"),
		
 		ajax = assegnaXMLHttpRequest();
		usaLink = true;

	if(ajax &&  divRisultato) {
		d=new Date();
		usaLink = false;
		
					var menu1 = prendiElementoDaId("vm1");					
					var menu2 = prendiElementoDaId("vm2");
					var menu3 = prendiElementoDaId("vm3");
					menu1.className = "mainlevel";
					menu2.className = "mainlevel";
					menu3.className = "mainlevel";
					
					if (id==1) menu1.className = "mainlevel_selected";
					else if (id==2) menu2.className = "mainlevel_selected";
					else if (id==3)menu3.className = "mainlevel_selected";
						
						
					
		
		ajax.open("get", surl + "?ajax=si&t=" + d.getMilliseconds() , true);
		ajax.setRequestHeader("connection", "close");
		ajax.onreadystatechange = function() {
			if(ajax.readyState === readyState.COMPLETATO) {
				if(statusText[ajax.status] === "OK") {
					divRisultato.innerHTML =ajax.responseText;
					

					
					
					
				}
				else{
					divRisultato.innerHTML ="Impossibile effettuare l'operazione richiesta.<br />Errore riscontrato: " + statusText[ajax.status];
				}
			};
		};
		ajax.send(null);
		divRisultato.innerHTML ="<img src=\"templates/front/images/indicatore.gif\" width=\"20\" height=\"21\" alt=\"caricamento dati\" />&nbsp; aggiornamento in corso ...";		
	}
	return usaLink;
};


