jQuery.noConflict();
var dom = {
	document	: document,
	functions	: new Array(),
	loaded 		: false,
	loadTimer	: '',
	interval	: 0,
	init		: function(){
		this.addLoad('dom.loaded = true;');
	},
	slider 		: {
		init : function(id,par,direction){
			if(typeof direction =='undefined' || direction==''){ direction = 'down'; }
			this.timeout = setTimeout('dom.slider.slide("'+id+'","'+par+'","'+direction+'")',5);
		},
		slide : function(id,par,direction){
			this.finished = false;
			factor = 5;
			if(direction!=this.direction){
				clearInterval(this.interval);
				this.interval = 0;
			}
			this.direction = direction;
			o = parent.getElement(id);
			h = parseFloat(parent.getStyle(o,'height'));
			t = parseFloat(parent.getStyle(o,'top'));
			if(direction=='down' && t == 0){ if(p = getElement(par)){ parent.setStyle(p,'display','block'); } }
			t = (direction=='down')?t+factor:t-factor;
			if((direction =='down' && t<=h) || (direction!='down' && t>=0)){
				parent.setStyle(o,'top',t+"px");
				if(this.interval==0){
					this.interval = setInterval('dom.slider.slide("'+id+'","'+par+'","'+direction+'")',25);
				}
			} else {
				this.finished = true;
				if(t<=0){ if(p = getElement(par)){ parent.setStyle(p,'display','none'); } }
				clearInterval(this.interval);
				this.interval = 0;
			}
		},
		stop : function (){
			if(this.direction!='down' || this.finished){
				clearInterval(this.interval);
				this.interval = 0;
			}
			clearTimeout(this.timeout);
			this.timeout = 0;
		}
	},
	addOnload : function(f){
		//eval("Event.observe(window, 'load', function() {"+f+"});");
		jQuery(document).ready(function(){ eval(f); });
	},
	addLoad : function(f){ this.addOnload(f); },
	getElement : function (elm){
		try {
			return document.getElementById(elm);
		} catch(e){
			try {
				return document.all(elm);
			} catch(e){ return false; }
		}
	},
	setStyle : function(obj,property,value){
		if(obj!=null){
			try{
				eval('obj.style.'+property+' = "'+value+'"');
			} catch (e){
				eval('obj.'+property+' = "'+value+'"');
			}
		}
	},
	getStyle : function(obj,property){
		if(obj!=null){
			try{ eval('ret = obj.style.'+property+';'); }
			catch (e){ eval('ret = obj.'+property+';'); }
			return ret;
		}
		return null;
	},
	createElement : function(elmName){
		if(arguments.length==1){
			return document.createElement(elmName);
		} else {
			if(document.all==undefined){
				ret = document.createElement(elmName);
				for(i=1;i<arguments.length;i++){
					eval("ret.setAttribute('"+arguments[i]+"','"+arguments[++i]+"')");
				}
			} else {
				props = "";
				for(i=1;i<arguments.length;i++){
					props += ' '+arguments[i]+'="'+arguments[++i]+'"';
				}
				eval("ret = document.createElement('<'+elmName+props+'>')");
			}
			return ret;
		}
	},
	destroyElement : function(elmName){
		if(this.getElement(elmName)){
			document.body.removeChild(this.getElement(elmName));
		}
	},
	setAttribute : function(obj,attr,value){
		if(typeof eval("obj."+attr)!="undefined") {
			eval("obj."+attr+" = function(){ "+value+" }");
		} else if(obj.setAttribute){
			obj.setAttribute(attr,value);
		}
	},
	preloadImages : function(list){
		list = list.split("|");
		img = new Array();
		for(i=0;i<list.length;i++){
			img[i] = new Image();
			img[i].src = list[i];
		}
	}
}
dom.init();
/*function dom(){
	dom.init();
}
dom();*/

function createElement(elmName){
	if(arguments.length==1){
		return document.createElement(elmName);
	} else {
		if(document.all==undefined){
			ret = document.createElement(elmName);
			for(i=1;i<arguments.length;i++){
				eval("ret.setAttribute('"+arguments[i]+"','"+arguments[++i]+"')");
			}
		} else {
			props = "";
			for(i=1;i<arguments.length;i++){
				props += ' '+arguments[i]+'="'+arguments[++i]+'"';
			}
			eval("ret = document.createElement('<'+elmName+props+'>')");
		}
		return ret;
	}
}

function destroyElement(elmName){
	if(getElement(elmName)){
		document.body.removeChild(getElement(elmName));
	}
}

function getElement(elm){
	try {
		return document.getElementById(elm);
	} catch(e){
		try {
			return document.all(elm);
		} catch(e){ return false; }
	}
}

function setStyle(obj,property,value){
	if(obj!=null){
		try{
			eval('obj.style.'+property+' = "'+value+'"');
		} catch (e){
			eval('obj.'+property+' = "'+value+'"');
		}
	}
}

function getStyle(obj,property){
	if(obj!=null){
		try{ eval('ret = obj.style.'+property+';'); }
		catch (e){ eval('ret = obj.'+property+';'); }
		return ret;
	}
	return null;
}

function scrollTop(){
	if (document.documentElement && document.documentElement.scrollTop)
		theTop = document.documentElement.scrollTop;
	else if (document.body)
		theTop = document.body.scrollTop;
	return theTop;
}

function scrollLeft(){
	if (document.documentElement && document.documentElement.scrollLeft)
		theTop = document.documentElement.scrollLeft;
	else if (document.body)
		theTop = document.body.scrollLeft;
	return theTop;
}

function setAttribute(obj,attr,value){
	if(typeof eval("obj."+attr)!="undefined") {
		eval("obj."+attr+" = function(){ "+value+" }");
	} else if(obj.setAttribute){
		obj.setAttribute(attr,value);
	}
}

function offsetX(event){
	if(event.offsetX){
		return event.offsetX;
	} else if(event.layerX){
		return event.layerX;
	} else {
		return false;
	}
}

function offsetY(event){
	if(event.offsetY){
		return event.offsetY;
	} else if(event.layerY){
		return event.layerY;
	} else {
		return false;
	}
}

var tinyId;
tinyId = new Array();
function initEditor(id) {
	tinyId[tinyId.length] = id;
	tinyMCE.execCommand('mceAddControl', false, id);
}

Array.in_array = function(arr,key){
	for(i in arr){
		if(arr[i]==key){ return i; }
	}
	return -1;
}

function in_array(arr,key){
	for(i in arr){
		if(arr[i]==key){ return i; }
	}
	return -1;
}

function getPage(url){
	qs = '';
	if(oScroll.status && !isNaN(oScroll.y)){
		qs = '?y='+Math.abs(oScroll.y);
	}
	o = document.location;
	return ("http://"+o.hostname+(o.pathname.substr(0,o.pathname.lastIndexOf('/')+1))+url+qs);
}

function checkMail(field) {
	//utente >= 5
	//host >= 3
	//xxxxx@yyy.tld
	var goodEmail = field.match(/\b(^(\S{1,}@).{3,}((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,4}))$)\b/gi);
	if (goodEmail){
	   return true;
	} else {
	   return false;
   }
}

function getResponse(res){
	msg = res;
	if(msg["status"]==1){
		tb_show_tafaz('Newsletter',msg["msg"],null,null,null);
	} else {
		tb_show_tafaz('Newsletter',msg["msg"],null,null,null);
	}
}

function findAncestorDiv(descendantDiv){
	for (var parent = descendantDiv.parentNode; parent; parent = parent.parentNode){
		if (parent.nodeName.toLowerCase() !== "div")
			continue;
		return parent;
	}
	return null;
}

// gestione dimensione testo articolo
function smaller(){
	ids = new Array("#organigramma","#corpo","#contatti","#immagini","#video","#links","#documenti","#immagini h6","#video h6","#links h6","#documenti h6");
	for(i=0;i<ids.length;i++){
		var size = parseInt(jQuery(ids[i]).css("font-size")) - 1 + "px";
		if(parseInt(size) >= 10) {
			jQuery(ids[i]).css("font-size", size);
		}
	}
	return false;
}

function bigger(){
	ids = new Array("#organigramma","#corpo","#contatti","#immagini","#video","#links","#documenti","#immagini h6","#video h6","#links h6","#documenti h6");
	for(i=0;i<ids.length;i++){
		var size = parseInt(jQuery(ids[i]).css("font-size")) + 1 + "px";
		if(parseInt(size) < 18) {
			jQuery(ids[i]).css("font-size", size);
		}
	}
	return false;
}

