function MM_swapImgRestore() { 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_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 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 ClearInput(InputTxtToClear) {
	var re=/(<\/?)(?:\s[^>]*)?(>)|<[^>]*>/gi;
	return InputTxtToClear.replace(re,"$1$2");
}
//document.MenuSearchEngine.q.value=ClearInput(document.MenuSearchEngine.q.value);


function SwitchVisibility(ObjToSwitch) {
	obj = document.getElementById(ObjToSwitch);
	obj.style.display = (obj.style.display == 'inline') ? 'none' : 'inline';
}

//http://www.somacon.com/p355.php
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}



//recupera testo da un oggetto e lo sostituisce con pre+testo+post
//http://saitfainder.altervista.org/webnology/?p=57
function textarea_wrap_text(obj, str_pre, str_post) {
  if (document.selection) { // Internet Explorer
    obj.focus();
    sel = document.selection.createRange();
    sel.text = str_pre + sel.text + str_post;
  } else if (obj.selectionStart || obj.selectionStart == '0') { // Others
    var pos_1 = obj.selectionStart;
    var pos_2 = obj.selectionEnd;
    obj.value = obj.value.substring(0, pos_1)
                + str_pre
                + obj.value.substring(pos_1, pos_2)
                + str_post
                + obj.value.substring(pos_2, obj.value.length);
  } else { // Fallback
    obj.value += str_pre + str_post;
  }
}


//pulizia da tags html
//http://andreafortuna.wordpress.com/2007/11/29/javascript-rimuovere-i-tag-da-un-frammento-in-html/
function HtmlClear(html) {
	var htmlDIV = document.createElement("DIV");
	htmlDIV.innerHTML = html;
	if (htmlDIV.innerText) {
		return htmlDIV.innerText; // Internet Explorer
	}
	return htmlDIV.textContent; // Mozilla Firefox
}





function isValidEmail(str) {
	return(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(str))
}



//http://www.codetoad.com/javascript/isnumeric.asp
/*
function IsNumeric(sText) {
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;
	if (sText.length == 0) {
		return false;
	} else {
		for (i = 0; i < sText.length && IsNumber == true; i++) { 
			Char = sText.charAt(i);
			if (ValidChars.indexOf(Char) == -1) {
				IsNumber = false;
			}
		}
		return IsNumber;
	}
}
*/



//http://javascript.html.it/script/vedi/4446/solo-numeri/
function numbersonly(myfield, e, dec) {
  var key;
  var keychar;
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);
  // control keys
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
    return true;
  // numbers
  else if ((("0123456789").indexOf(keychar) > -1))
    return true;
  // decimal point jump
  else if (dec && (keychar == ".")) {
    myfield.form.elements[dec].focus();
    return false;
  } else
    return false;
}




function createAjaxObject() {
	var AjaxObjectType;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		AjaxObjectType = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		AjaxObjectType = new XMLHttpRequest();
	}
	return AjaxObjectType;
}
var http = createAjaxObject();