var Xscroll;
var Yscroll;


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->


function switchClass(objId, oldClass, newClass) {
	var el = document.getElementById(objId);
//	var oldClass='hide';
//	var newClass='show';
	
	el.className == '' ? el.className ='hide' : el.className=el.className;
	oldClass = '' ? oldClass=el.className : oldClass=oldClass;
	//newClass = '' ? newClass='show' : newClass=newClass;
	
	if ( el.className != oldClass ) {
		el.className = oldClass;
	}
	else {
		el.className = newClass;
	}
}

function insertHTML (sourceDiv, targetDiv) {
	var target = document.getElementById(targetDiv);
	var source = document.getElementById(sourceDiv);
	//alert('Left:'+Xscroll + '\nTop:' + Yscroll);
	target.innerHTML = source.innerHTML;
	window.scrollTo(Xscroll,Yscroll);
}

function getElementPosition(elemID) {  

	var offsetTrail = document.getElementById(elemID);  
	var offsetLeft = 0;  
	var offsetTop = 0;  

	while (offsetTrail) {  
		offsetLeft += offsetTrail.offsetLeft;  
		offsetTop += offsetTrail.offsetTop;  
		offsetTrail = offsetTrail.offsetParent;  	
	}  

	if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined") {  
		offsetLeft += document.body.leftMargin;  
		offsetTop += document.body.topMargin;  
	}  

	return {left:offsetLeft, top:offsetTop};  

}  

function saveScroll() {
	Xscroll = scrollX();
	Yscroll = scrollY();
}

function scrollY() {return window.pageYOffset ? window.pageYOffset : document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;}
function scrollX() {return window.pageXOffset ? window.pageXOffset : document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft;}


function getDivPosition(elemID){  
	alert('Distanza dal bordo sinistro: ' + getElementPosition(elemID).left + '\n Distanza dal bordo alto: ' + getElementPosition(elemID).top);  
} 


function swapImage( objId, newImageSrc )
{
	var img = document.getElementById(objId);
	var oldSrc = img.src;
	//alert('OldSrc:' + oldSrc);
	img.src = newImageSrc;
	//alert('NewSrc:' + img.src);
}

function createTranspLayer(classStyle, parentTagName) {

	var _parent = document.getElementsByTagName(parentTagName) [0];
	var _div = document.createElement('div');
	_div.className = classStyle;
	_parent.appendChild(_div);

}

var id_transp_layer;

function setTranspLayer(classStyle, parentTagName) {

	var _parent = document.getElementsByTagName(parentTagName) [0];
	var _div = document.createElement('div');
	_div.id = 'transp_layer';
	id_transp_layer = _div.id;
	_div.className = classStyle;
	_parent.appendChild(_div);
}

function clearTranspLayer() {
	var body = document.getElementsByTagName('body')[0];
	body.removeChild(document.getElementById(id_transp_layer));
	return true;
}

function printDate() {
	var my_date = new Date();
	return my_date.getFullYear();
}

/**
 * Function : dump()
 * Arguments: The data - array,hash(associative array),object
 *    The level - OPTIONAL
 * Returns  : The textual representation of the array.
 * This function was inspired by the print_r function of PHP.
 * This will accept some data as the argument and return a
 * text that will be a more readable version of the
 * array/hash/object that is given.
 * Docs: http://www.openjs.com/scripts/others/dump_function_php_print_r.php
 */
function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}
