/*
fare select desc javascript
*/
function do_vote() {
}
function over_star(obj) {
	var osrc = obj.src;
	osrc = osrc.split("star");
	if (osrc[1] == ".gif") {
		obj.src = osrc[0]+"star_empty.gif";
	} else {
		obj.src = osrc[0]+"star.gif";
	}
}

//////////////////////////////////////
platform_client = navigator.platform;
var obj_global;
var code_global;
var isIE = false;
// global request and XML document objects
var req;
var version = "";

if (platform_client == "Win32") {
	if (navigator.appVersion.indexOf("4.")!=-1) {
		var version = "IE7";
	}
	if (navigator.appVersion.indexOf("Chrome")!=-1) {
		var version = "Chrome";
	}
}
//////////////////////////////////////
var tosave = "";

//#############################################
var subM_o = false;

function m_over(id) { 
	currentHI = document.getElementById(id);
	current_a_HI = document.getElementById("a_"+id);

	document.getElementById('submenu').style.display = "";
	currentHI.style.display = "";
	document.getElementById('submenu_content').innerHTML = document.getElementById('c_'+id).innerHTML;
	if (document.getElementById('tit'))
		document.getElementById('tit').style.display = "none";
		
	if (document.getElementById('strip'))
		document.getElementById('strip').style.display = "none";
}
function fl() {
	if (document.getElementById('tit'))
		document.getElementById('tit').style.display = "";
		
	if (document.getElementById('strip'))
		document.getElementById('strip').style.display = "";
}
function m_out (id) {
	fl();
	if (!subM_o)
		document.getElementById('submenu').style.display = "none";
}

function submOver () {
	subM_o = true;
	subM = document.getElementById('submenu');

	subM.style.display = "";
	current_a_HI.className = "menu1b";
	if (document.getElementById('tit'))
		document.getElementById('tit').style.display = "none";
		
	if (document.getElementById('strip'))
		document.getElementById('strip').style.display = "none";
}
function submOut () {
	subM_o = false;
	subM = document.getElementById('submenu');
	
	subM.style.display = "none";
	current_a_HI.className = "menu1";
	
	if (document.getElementById('tit'))
		document.getElementById('tit').style.display = "";
		
	if (document.getElementById('strip'))
		document.getElementById('strip').style.display = "";
}
function lk0(o,cl) {
	var sc = document.getElementById('submenu_content');
	var x = sc.getElementsByTagName('a');
	for (j = 0; j < x.length; j++) {
		if (x[j].id == o) {
			x[j].className = cl;
		}
	}
}

/**###################################################################################**/
/**###################################################################################**/
//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext) {
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) { 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';
	
  document.write(str);
}

function AC_FL_RunContent() {
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
		
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent() {
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType) {
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
/**###################################################################################**/
/**###################################################################################**/

//#############################################
function update(obj) {
	ff = document.getElementsByTagName("form");
	for (i = 0; i < ff.length; i++) {
		if (ff[i].id == obj) {
			obj = ff[i];
		}
	}
	obj.submit();
}
//#############################################
function openWindow(url, name, width, height, params, position) {
	if (position == "center") {
		l = (screen.width - width) / 2;
		t = (screen.height - height) / 2;
		params = params + ",top="+t+",left="+l+",";
	}
	
	if (document.selection) {
		xx = url.split('?div=');
		if (xx[1] != "" && name == "choose_files") {
			xx1 = xx[1].split('&');
			var c = xx1[0];
			var c = document.getElementById(c);
			if (c.tagName == "TEXTAREA") {
				var dummy = "##_caret_##";
				c.focus();
				sel = document.selection.createRange();
				sel.text = dummy;
			}
		}
	}

	params = "width="+width+",height="+height+","+params;
	popupWin = window.open(url, name, params);
}
//#############################################
// LINKS ////////////////////////////////////////////////////

// funzione Link over 
function lk(obj) {
	clname=obj.className;
	clname1=clname + "1";
	obj.className=clname1;
}
// funzione Link out 
function lk1(obj) {
	obj.className=clname;
}
// funzione Link over IMG
function mnlk(obj) {
	var img = obj.src;
	var path = "";
	var imgA = img.split("/");
	for (i = 0; i < imgA.length; i++) {
		if (i == imgA.length - 1) {
			img = imgA[i];
		} else {
			path = path + imgA[i] + "/";
		}
	}
	imgA = img.split(".");
	var img_name = imgA[0];
	var img_ext = imgA[1];

	var over = img_name + "_over." + img_ext;
	obj.src = path + over;
}
// funzione Link out IMG
function mnlk1(obj) {
	var img = obj.src;
	var path = "";
	var imgA = img.split("/");
	for (i = 0; i < imgA.length; i++) {
		if (i == imgA.length - 1) {
			img = imgA[i];
		} else {
			path = path + imgA[i] + "/";
		}
	}
	imgA = img.split(".");
	var img_name = imgA[0].replace(/_over/g,"");
	var img_ext = imgA[1];
	var normal = img_name + "." + img_ext;
	obj.src = path + normal;
}
// END LINKS ////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////
function changeLanguage(lang,t,t1) {
	fields = "t="+t+"&t1="+t1+"&lang="+lang;
	var url = "changeLanguage.php";
	loadXMLDoc_lang(url);
}
////////////////////////////////////////////////////////

function search0(obj) {
		search_input_name = "search_"+obj;
		fields = "obj="+obj+"&";
		var ff = document.getElementsByTagName("input");
		for (i = 0; i < ff.length; i++) {
			if (ff[i].name == search_input_name) {
				var value = ff[i].value;
				fields = fields + "search=" + value;
			}
		}
		if (value != "") {
			var url = "search1.php";
			//alert(fields)
			loadXMLDoc_search1(url);
		}
}

function search1(obj) {
		fields = "obj="+obj+"&";
		var ff = document.getElementsByTagName("input");
		for (i = 0; i < ff.length; i++) {
			if (ff[i].name == "search") {
				var value = ff[i].value;
				fields = fields + ff[i].name + "=" + value;
			}
		}
		if (value != "") {
			var url = "search1.php";
			loadXMLDoc_search1(url);
		}
}
/////////////////////////////////////////////
function search3(obj,value) {
		fields = "obj="+obj+"&search="+value;
		if (value != "") {
			var url = "search1.php";
			loadXMLDoc_search1(url);
		}
}

//###########################################################################################/////////////////////////
//###########################################################################################/////////////////////////
//###########################################################################################//////////////////////////
function 	getElementTextNS(prefix, local, parentElem, index) {
	var result = "";
	if (prefix && isIE) {
			// IE/Windows way of handling namespaces
			if (local == "") {
				result = parentElem.getElementsByTagName(prefix)[index];
			} else {
				result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
			}
	} else {
			if (local == "") {
				result = parentElem.getElementsByTagName(prefix)[index];
			} else {
				result = parentElem.getElementsByTagName(local)[index];			
			}
			
	}
	if (result) {
			// get text, accounting for possible
			// whitespace (carriage return) text nodes 
			if (result.childNodes.length > 1) {
					return result.childNodes[1].nodeValue;
			} else {
					return result.firstChild.nodeValue;    		
			}
	} else {
			return "n/a";
	}
}
///////////
function clearTopicList(id) {
	c = document.getElementById(id);
	c.innerHTML = "";
}
///////////
function checkForParseError(xmlDocument) {
	var errorNamespace ='http://www.mozilla.org/newlayout/xml/parsererror.xml';
	var documentElement = xmlDocument.documentElement;

	var parseError = { errorCode : 0 };
	if (documentElement.nodeName == 'parsererror' && documentElement.namespaceURI == errorNamespace) {
		parseError.errorCode = 1;
		var sourceText = documentElement.getElementsByTagNameNS(errorNamespace, 'sourcetext')[0];
		if (sourceText != null) {
			parseError.srcText = sourceText.firstChild.data
		}
		parseError.reason = documentElement.firstChild.data;
	}
	return parseError;
}
//////////////////////////////////////////////////////////////////
//################################################
//################################################

function loadXMLDoc_lang(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange_lang;
			req.open("POST",url,true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			req.send(fields);
	// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
			isIE = true;
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processReqChange_lang;
				req.open("POST",url,true);
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
				req.send(fields);
			}
	}
}
function processReqChange_lang() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
			// only if "OK"
			if (req.status == 200) {
				//clearTopicList();
				buildTopicList_lang();
			} else {
				//alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
	}
}
function buildTopicList_lang() {
	var response = req.responseText;
	//alert(response)
	//////////////////////////////////////////////
	// Parse the XML ////////////////////////////
	if (window.XMLHttpRequest) {
			if (version == "IE7") {
				var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
				xmlDocument.async = false;
				var loaded = xmlDocument.loadXML(response);
				if (loaded) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
					// shows error with end tag </gods> not matching start tag <god>
				}
			} else {
				var domParser = new DOMParser();
				var xmlDocument = domParser.parseFromString(response, 'application/xml');
				var parseError = checkForParseError(xmlDocument);
				if (parseError.errorCode == 0) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(parseError.reason + '\r\n' + parseError.srcText);
					// shows detailed error message
				}
			}
	//////////
	} else if (window.ActiveXObject) {
			var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
			xmlDocument.async = false;
			var loaded = xmlDocument.loadXML(response);
			if (loaded) {
				//alert(xmlDocument.documentElement.nodeName);
			} else {
				alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
				// shows error with end tag </gods> not matching start tag <god>
			}
	}
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);
	
	location = location.href;
	location.reload(true);
	
}
//################################################
//################################################
function loadXMLDoc_search1(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange_search1;
			req.open("POST",url,true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			req.send(fields);
	// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
			isIE = true;
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processReqChange_search1;
				req.open("POST",url,true);
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
				req.send(fields);
			}
	}
}
function processReqChange_search1() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
			// only if "OK"
			if (req.status == 200) {
				//clearTopicList();
				buildTopicList_search1();
			} else {
				//alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
	}
}
function buildTopicList_search1() {
	var response = req.responseText;
	//alert(response)
	//////////////////////////////////////////////
	// Parse the XML ////////////////////////////
	if (window.XMLHttpRequest) {
			if (version == "IE7") {
				var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
				xmlDocument.async = false;
				var loaded = xmlDocument.loadXML(response);
				if (loaded) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
					// shows error with end tag </gods> not matching start tag <god>
				}
			} else {
				var domParser = new DOMParser();
				var xmlDocument = domParser.parseFromString(response, 'application/xml');
				var parseError = checkForParseError(xmlDocument);
				if (parseError.errorCode == 0) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(parseError.reason + '\r\n' + parseError.srcText);
					// shows detailed error message
				}
			}
	//////////
	} else if (window.ActiveXObject) {
			var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
			xmlDocument.async = false;
			var loaded = xmlDocument.loadXML(response);
			if (loaded) {
				//alert(xmlDocument.documentElement.nodeName);
			} else {
				alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
				// shows error with end tag </gods> not matching start tag <god>
			}
	}
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);

	c = content.split("s#");
	s = "";

	if (c[1] != undefined) {
		var s = "&sin="+search_input_name+"&search1="+c[1];
	}
	
	var loc0 = location.href.split("&c=");
	var loc = loc0[0].split("&oby=");
	loc = loc[0].split("&obid=");
	loc = loc[0].split("&lim=");
	loc = loc[0].split("&search2=");
	loc = loc[0]+"&c="+c[0]+s;

	location = loc;
//
}
//################################################
//################################################

///////////////////////////////////////////////////////////
function crea_data(obj,input,format) {
	
	inputs = input.split("##");
	inputs.pop();
	
	for (j = 0; j < inputs.length; j++) {
		input = inputs[j];
		var d = document;
		var ins = "ins";
		if (tosave != "") {
			d = tosave;
			ins = "";
		}
		input = input+ins;

		var ff = d.getElementsByTagName("input");
		for (i = 0; i < ff.length; i++) {
			if (ff[i].id == input) {
				var d_input = ff[i];
			}
		}
		var value = d_input.value;
		var d_array = value.split("-");
		
		day = d_array[2];
		month = d_array[1];
		year = d_array[0];
		
		d_new = "";
		for (i = 0; i < 3; i++) {
			k = format*1;
			if (i == k) {
				var o_value = obj.value;
				if (obj.value.length < 2) {
					o_value = "0" + obj.value;
				}
				d_array[i] = o_value;
			}
			var d_new = d_new + d_array[i] + "-";
		}
		var dl = d_new.length-1;
		d_new = d_new.substring(0,dl);
		
		d_input.value = d_new;
	//	
	}
//
}

///////////////////////////////////////////////////////////
function isValidEmail(email) {
	if (! allValidChars(email)) {  // check to make sure all characters are valid
		return false;
	}
	
	if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
		return false;
	} else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
		return false;
	} else if (email.indexOf("@") == email.length) {  // @ must not be the last character
		return false;
	} else if (email.indexOf("..") >=0) { // two periods in a row is not valid
		return false;
	} else if (email.indexOf(".") == email.length) {  // . must not be the last character
		return false;
	}
	
	return true;
}

function allValidChars(email) {
	var parsed = true;
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
	for (var i=0; i < email.length; i++) {
		var letter = email.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) != -1)
			continue;
		parsed = false;
		break;
	}
	return parsed;
}


function submaj(obj,lang) {
	msg_div = document.getElementById("msg_d");
	msg_div.innerHTML = "";

	fields = "object_name=mailing&";
	c = true;
	
	f = document.getElementById(obj);
	var ff = f.getElementsByTagName("input");
	for (i = 0; i < ff.length; i++) {
		var value = ff[i].value;
		if (value == "") {
			msg_div.style.display = "";
			msg_div.innerHTML = msg_div.innerHTML + "<br>Inserire "+ ff[i].name +"";	
			
			ff[i].focus()
			ff[i].select()
			c = false;
			break;
		} else {
			value = value.replace(/'/g,"\\'");
			//fields = fields + ff[i].name + "_" + lang + "=" + value;
			fields = fields + ff[i].name + "=" + value;
			fields = fields + "&";
			
			if (ff[i].name == "email") {
				validemail = isValidEmail(value);
				if (!validemail) {
					msg_div.style.display = "";
					msg_div.innerHTML = msg_div.innerHTML + "<br>E-mail non valida";	
					ff[i].focus()
					ff[i].select()
					c = false;
					break;
				}
			}
		}
	}
	
	if (c) {
		var fl = fields.length-1;
		fields = fields.substring(0,fl);
		//alert(fields)
		var url = "add.php";
		object_name = "mailing";
		loadXMLDoc_a(url);
	}
//
}
//#####################################################################
function loadXMLDoc_a(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange_a;
			req.open("POST",url,true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			req.send(fields);
	// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
			isIE = true;
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processReqChange_a;
				req.open("POST",url,true);
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
				req.send(fields);
			}
	}
}
function processReqChange_a() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
			// only if "OK"
			if (req.status == 200) {
				buildTopicList_a();
			} else {
				//alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
	}
}
function buildTopicList_a() {
	var response = req.responseText;
	//alert(response)
	//////////////////////////////////////////////
	// Parse the XML ////////////////////////////
	if (window.XMLHttpRequest) {
			if (version == "IE7") {
				var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
				xmlDocument.async = false;
				var loaded = xmlDocument.loadXML(response);
				if (loaded) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
					// shows error with end tag </gods> not matching start tag <god>
				}
			} else {
				var domParser = new DOMParser();
				var xmlDocument = domParser.parseFromString(response, 'application/xml');
				var parseError = checkForParseError(xmlDocument);
				if (parseError.errorCode == 0) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(parseError.reason + '\r\n' + parseError.srcText);
					// shows detailed error message
				}
			}
	//////////
	} else if (window.ActiveXObject) {
			var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
			xmlDocument.async = false;
			var loaded = xmlDocument.loadXML(response);
			if (loaded) {
				//alert(xmlDocument.documentElement.nodeName);
			} else {
				alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
				// shows error with end tag </gods> not matching start tag <god>
			}
	}
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);

	if (object_name == "mailing") {
		content_a = content.split("K__");
		
		if (content_a[0] == "O") {
			content = content_a[1];
			
			msg_div = document.getElementById("msg_d");
			msg_div.style.display = "none";
			msg_div.innerHTML = "";

			msg_div2 = document.getElementById("msg_d2");
			msg_div2.style.display = "";
			msg_div2.innerHTML = "<br>" + content;
			
		} else {
			
			msg_div = document.getElementById("msg_d");
			msg_div.style.display = "";
			msg_div.innerHTML = "<br>" + content;
			
			msg_div2 = document.getElementById("msg_d2");
			msg_div2.style.display = "none";
			msg_div2.innerHTML = "";
			
		}
	}
//
}


function mailto(domain,user) {
	document.location.href = "mailto:" + user + "@" + domain; 
}
function openpan_o(o) {
	obj = document.getElementById(o);
	if (obj.style.display == "none") {
		obj.style.display = "";
	} else {
		obj.style.display = "none";	
	}
}

function openpan(obj,code,element) {
	if (obj != "") {
		var a = document.getElementById(obj);
	}
	ff = document.getElementsByTagName(element);
	for (i = 0; i < ff.length; i++) {
		if (ff[i].id == code) {
			if (ff[i].style.display == "") {
				ff[i].style.display = "none";
			} else 
			if (ff[i].style.display == "none") {
				ff[i].style.display = "";
				if (obj != "") {
					ff[i].style.left = a.offsetLeft;
				}
			}
		}
	}
}

function closepan(code) {
	ff = document.getElementsByTagName(element);
	for (i = 0; i < ff.length; i++) {
		if (ff[i].id == code) {
			ff[i].style.display = "none";
		}
	}
}
/*
function openpan(o) {
	obj = document.getElementById(o);
	if (obj.style.display == "none") {
		obj.style.display = "";
	} else {
		obj.style.display = "none";	
	}
}
*/
function viewhide(code,element) {
	ff = document.getElementsByTagName(element);
	for (i = 0; i < ff.length; i++) {
		if (ff[i].id == code) {
			if (ff[i].style.display == "") {
				ff[i].style.display = "none";
			} else 
			if (ff[i].style.display == "none") {
				ff[i].style.display = "";
			}
		}
	}
}

function viewhide_with_pos(code,element,e) {
	if (navigator.appVersion.indexOf("MSIE") != -1) {
		e = event;
	} else {
		if (e) { }
	}

	if (platform_client == "Win32") {
		pleft = e.clientX - 280 + document.body.scrollLeft;
		ptop = e.clientY - 5 - 30 - 18 + document.body.scrollTop;
	} else {
		pleft = e.clientX - 240;
		ptop = e.clientY - 5 - 30 - 18;
	}
	
	ff = document.getElementsByTagName(element);
	for (i = 0; i < ff.length; i++) {
		if (ff[i].id == code) {
			if (ff[i].style.display == "") {
				ff[i].style.display = "none";
			} else 
			if (ff[i].style.display == "none") {
				ff[i].style.left = pleft;
				ff[i].style.top = ptop;				
				ff[i].style.display = "";
			}
		}
	}
}
function help(code,element,e) {
	if (navigator.appVersion.indexOf("MSIE") != -1) {
		e = event;
	} else {
		if (e) { }
	}

	if (platform_client == "Win32") {
		pleft = e.clientX - 200 + document.body.scrollLeft;
		ptop = e.clientY - 5 - 30 - 18 + document.body.scrollTop;
	} else {
		pleft = e.clientX - 200;
		ptop = e.clientY - 5 - 30;
	}
	
	ff = document.getElementsByTagName(element);
	for (i = 0; i < ff.length; i++) {
		if (ff[i].id == code) {
			if (ff[i].style.display == "") {
				ff[i].style.display = "none";
			} else 
			if (ff[i].style.display == "none") {
				ff[i].style.left = pleft;
				ff[i].style.top = ptop;				
				ff[i].style.display = "";
			}
		}
	}
}

//##############################################
//##############################################
function viewhide1(obj,btns_a,cl) {

	for (k = 0; k < btns_a.length; k++) {
			var ff1 = document.getElementById(btns_a[k]);
			ff1.style.display = "none";
			////////
			var n = "a_"+ btns_a[k]
			var ff2 = document.getElementById(n);
			ff2.className = cl;
	}
	
	var oidA = obj.id.split("_");
	var oid = oidA[1];
	var pan = document.getElementById(oid);
	
		if (pan.style.display == "") {
			pan.style.display = "none";
		} else 
		if (pan.style.display == "none") {
			pan.style.display = "";
		}
		///////
		obj.className = cl+"1";
//
}
//##############################################

function sendguestmsg(o) {
		var tosave = document.getElementById(o);
		fields = "";
		
		var ff = tosave.getElementsByTagName("input");
		for (i = 0; i < ff.length; i++) {
			var value = ff[i].value.replace(/&/g,"|AND|");
			value = value.replace(/'/g,"\\'");
			
			if (ff[i].type == "checkbox" && ff[i].checked == true) {
				fields = fields + ff[i].name + "=" + value;
				fields = fields + "&";
			} else if (ff[i].type == "checkbox" && ff[i].checked == false) {
			} else {
				fields = fields + ff[i].name + "=" + value;
				fields = fields + "&";
			}
		}

		var ff = tosave.getElementsByTagName("select");
		for (i = 0; i < ff.length; i++) {
			var value = ff[i].value.replace(/&/g,"|AND|");
			value = value.replace(/'/g,"\\'");
			fields = fields + ff[i].name + "=" + value;
			fields = fields + "&";
		}
		
		var ff = tosave.getElementsByTagName("textarea");
		for (i = 0; i < ff.length; i++) {
			var value = ff[i].value.replace(/&/g,"|AND|");
			value = value.replace(/'/g,"\\'");
			fields = fields + ff[i].name + "=" + value;
			fields = fields + "&";
		}
		fl = fields.length-1;
		fields = fields.substring(0,fl);
		//alert(fields)
		
		/////////////////
		var url = "guestbook.php";
		loadXMLDoc_sendguestmsg(url);
		///////////////////////
}
function loadXMLDoc_sendguestmsg(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange_sendguestmsg;
			req.open("POST",url,true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			req.send(fields);
	// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
			isIE = true;
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processReqChange_sendguestmsg;
				req.open("POST",url,true);
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
				req.send(fields);
			}
	}
}
function processReqChange_sendguestmsg() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
			// only if "OK"
			if (req.status == 200) {
				//clearTopicList();
				buildTopicList_sendguestmsg();
			} else {
				//alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
	}
}
function buildTopicList_sendguestmsg() {
	var response = req.responseText;
	//alert(response)
	//////////////////////////////////////////////
	// Parse the XML ////////////////////////////
	if (window.XMLHttpRequest) {
			if (version == "IE7") {
				var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
				xmlDocument.async = false;
				var loaded = xmlDocument.loadXML(response);
				if (loaded) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
					// shows error with end tag </gods> not matching start tag <god>
				}
			} else {
				var domParser = new DOMParser();
				var xmlDocument = domParser.parseFromString(response, 'application/xml');
				var parseError = checkForParseError(xmlDocument);
				if (parseError.errorCode == 0) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(parseError.reason + '\r\n' + parseError.srcText);
					// shows detailed error message
				}
			}
	//////////
	} else if (window.ActiveXObject) {
			var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
			xmlDocument.async = false;
			var loaded = xmlDocument.loadXML(response);
			if (loaded) {
				//alert(xmlDocument.documentElement.nodeName);
			} else {
				alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
				// shows error with end tag </gods> not matching start tag <god>
			}
	}
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);
	
	if (content == "OK") {
		var loc0 = location.href.split("&lim=");
		location = loc0[0];
	} else {
		msg_div = document.getElementById("msg_guestbook");
		msg_div.style.display = "";
		msg_div.innerHTML = content;
	}
	
}
//################################################
//################################################
function maxchar(obj,maxchr) {
	var chr_div = document.getElementById("chr");
	
	var original_txt_div = document.getElementById("original_txt");
	var txt_o_length = original_txt_div.innerText.length;
	var txt_length = obj.innerText.length;
	
	chr_div.innerHTML = "[" + txt_length + " / " + txt_o_length + "]";
	if (txt_length >= txt_o_length) {
		
		if (navigator.appVersion.indexOf("MSIE") != -1) {
			e = event;
		} else {
			if (e) { }
		}
		e.cancelBubble=true;
		e.returnValue=true;
		e.keyCode=0;

	}
}

function maxlen(obj,maxlimit) {
	var o = document.getElementById(obj);
	var txt_o_length = o.value.length*1;
	
	if (o.tagName == "TEXTAREA" || o.tagName == "INPUT") {
		if ( o.value.length > maxlimit ) {
			o.value = o.value.substring( 0, maxlimit );
			return false;
		} else {
			var chr_div = document.getElementById("d_"+obj);
			chr_div.innerHTML = "[" + txt_o_length + " / " + maxlimit + "]";
		}
	} else {
		if ( o.innerHTML.length > maxlimit ) {
			o.innerHTML = o.innerHTML.substring( 0, maxlimit );
			return false;
		} else {
			var chr_div = document.getElementById("d_"+obj);
			chr_div.innerHTML = "[" + txt_o_length + " / " + maxlimit + "]";
		}
	}
}
//################################################
//################################################
function loadfile(where,f) {
	load_where = document.getElementById(where);
	fields = "f="+f+"&o="+where;
	var url = "load_file.php";
	load_f(url);
}
//################################################
function load_f(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange_load_f;
			req.open("POST",url,true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			req.send(fields);
	// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
			isIE = true;
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processReqChange_load_f;
				req.open("POST",url,true);
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
				req.send(fields);
			}
	}
}
function processReqChange_load_f() {
	if (req.readyState == 4) {
			if (req.status == 200) {
				loadf();
			} else {
				//alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
	}
}
function loadf() {
	var response = req.responseText;
	//alert(response)
	//////////////////////////////////////////////
	// Parse the XML ////////////////////////////
	if (window.XMLHttpRequest) {
			if (version == "IE7") {
				var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
				xmlDocument.async = false;
				var loaded = xmlDocument.loadXML(response);
				if (loaded) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
					// shows error with end tag </gods> not matching start tag <god>
				}
			} else {
				var domParser = new DOMParser();
				var xmlDocument = domParser.parseFromString(response, 'application/xml');
				var parseError = checkForParseError(xmlDocument);
				if (parseError.errorCode == 0) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(parseError.reason + '\r\n' + parseError.srcText);
					// shows detailed error message
				}
			}
	//////////
	} else if (window.ActiveXObject) {
			var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
			xmlDocument.async = false;
			var loaded = xmlDocument.loadXML(response);
			if (loaded) {
				//alert(xmlDocument.documentElement.nodeName);
			} else {
				alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
				// shows error with end tag </gods> not matching start tag <god>
			}
	}
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);
	
	load_where.innerHTML = content;
	
}
function txtfpg(w,obj) {
	var w1 = document.getElementById(w);
	var w2 = w1.getElementsByTagName('div');
	for (i=0;i<w2.length;i++) {
		if (w2[i].id != "commentTop_pg") {
			w2[i].style.display = 'none';		
		}
	}
	var obj = document.getElementById(obj);
	obj.style.display = '';	
	
	y = "commentTop_pg";
	var y1 = document.getElementById(y);
	var y2 = y1.getElementsByTagName('a');
	for (i=0;i<y2.length;i++) {
		y2[i].style.color = '#000000';
	}
	ya = "a_"+obj.id;
	var y3 = document.getElementById(ya);
	y3.style.color = '#FF6600';
}

//## EDITOR ##############################################
function edit1(o,tag) {
	if (tag == "a") {
		var x = (prompt("Scrivi il link (es. http://www.example.com):", "http://"));
		a_target = "_blank";
		tagx = tag +" href=\""+x+"\" target="+a_target;
	}
	if (tag == "a_i") {
		obj = document.getElementById(o);
		if (document.selection && ok) {
			sel = document.selection.createRange().text;
		} else if (obj.selectionStart || obj.selectionStart == '0') {
    	var startPos = obj.selectionStart;
    	var endPos = obj.selectionEnd;
			sel = obj.value.substring(startPos, endPos);
		}
		sel_src = sel.split('src="');
		if (sel_src.length > 1) {
			sel_src = sel_src[1].split('"');
			sel_src = sel_src[0];
			
			sel_src = sel_src.replace(/_thumb./g, '.');
			sel_src = sel_src.replace(/_t./g, '.');
			
			ob = o;
			fields = "i="+sel_src;
			get_image_size("get_image_size.php");
		}
	}
	
	if (x != null && x != "http://") {
		edit(o,tag,tagx);
	}
}
function edit(o,tag,tagx) {
	sel = "";
	var ok = true;
	if (tag == "a") {
		
		tag1 = tagx;
		tag2 = tag;
		obj = document.getElementById(o);
		
	} else if (tag.substring(0,1) == "a") {
		
		tag1 = tag;
		tag2 = tag.substring(0,1);
		obj = window.opener.document.getElementById(o);
		
		if (document.selection) {
			sel = window.opener.document.selection.createRange().text;
			var range = window.opener.document.selection.createRange();
			stored_range = range.duplicate(); 
			stored_range.moveToElementText( obj ); 
			stored_range.setEndPoint( 'EndToEnd', range ); 
			var startPos = stored_range.text.length - range.text.length;
			var endPos = stored_range.text.length - range.text.length + range.text.length;
			window.opener.document.selection.empty();	
			ok = false;
		}
	} else {
		tag1 = tag;
		tag2 = tag;
		obj = document.getElementById(o);
	}
	
	tag_a = "<"+tag1+">";
	tag_b = "</"+tag2+">";

	tag_a = tag_a.replace(/&amp;/g, '&');

	//IE support
  if (document.selection && ok) {
		sel = document.selection.createRange().text;
		
		var range = document.selection.createRange();
		stored_range = range.duplicate(); 
		stored_range.moveToElementText( obj ); 
		stored_range.setEndPoint( 'EndToEnd', range ); 

		var startPos = stored_range.text.length - range.text.length;
		var endPos = stored_range.text.length - range.text.length + range.text.length;
		document.selection.empty();	
	}
  //MOZILLA/NETSCAPE support
  else if (obj.selectionStart || obj.selectionStart == '0') {
    var startPos = obj.selectionStart;
    var endPos = obj.selectionEnd;
		sel = obj.value.substring(startPos, endPos);
	} else {
   	//
	}

	if (sel != "") {

		NewString = "" + sel;
		while (NewString.indexOf(tag_a) > -1) {
			PosReplace = NewString.indexOf(tag_a);
			NewString = "" + (NewString.substring(0, PosReplace) + "" + NewString.substring((PosReplace + tag_a.length), NewString.length));
		}
		NewString = "" + NewString;
		while (NewString.indexOf(tag_b) > -1) {
			PosReplace = NewString.indexOf(tag_b);
			NewString = "" + (NewString.substring(0, PosReplace) + "" + NewString.substring((PosReplace + tag_b.length), NewString.length));
		}
		
		sel = NewString;
		txt = tag_a+sel+tag_b;
		//alert(txt)
		
		obj.value = obj.value.substring(0, startPos) + txt + obj.value.substring(endPos, obj.value.length);
		//alert(obj.value)
		///////////////////
		var txt_to_startpos = obj.value.substring(0, startPos);
		for (i = txt_to_startpos.length; i > 0; i--) {
			if (obj.value.substring(i-1, i) == ">") {
				if (obj.value.substring(i-1-tag1.length, i-1) == tag1) {
					if (obj.value.substring(i-2-tag1.length, i-1-tag1.length) == "/") {
						break;
					} else 
					if (obj.value.substring(i-2-tag1.length, i-1-tag1.length) == "<") {
						var ii = i - tag1.length - 2;
						obj.value = obj.value.substring(0, ii) + obj.value.substring(i, obj.value.length);
						break;
					}
				}
			}
		}
		
		for (i = endPos+tag_b.length; i < obj.value.length; i++) {
			if (obj.value.substring(i, i+1) == "<") {
				if (obj.value.substring(i+1, i+2) == tag1) {
					break;
				} else {
				if (obj.value.substring(i+1, i+2) == "/") {
					
					if (obj.value.substring(i+2, i+2+tag1.length) == tag1) {
						var ii = i + tag_b.length;
						obj.value = obj.value.substring(0, i) + obj.value.substring(ii, obj.value.length);
						break;
					}
				}
				}
			}
		}
		
	// if sel == ""
	}
//
}

function Addhtmlcode(where,html_code) {
	if (typeof where.selectionStart != 'undefined'){ // if it supports DOM2
		start = where.selectionStart;
		end = where.selectionEnd;
		where.value = where.value.substr(0,where.selectionStart)
			+ html_code + where.value.substr(where.selectionEnd);
		where.focus();
		where.selectionStart = ((start - end) == 0) ? start + html_code.length : start;
		where.selectionEnd = start + html_code.length;
	} else {
		var dummy = "##_caret_##";
		where.focus();
		PosReplace = where.value.indexOf(dummy);
		where.value = where.value.substring(0, PosReplace) + html_code + where.value.substring(PosReplace+dummy.length, where.value.length);
	}
}
//## END EDITOR ##############################################
////////////////////////////////////////////////////////////////////////////////////
function choosepage(div,files_div,url) {
	var files_div_o = document.getElementById(files_div);
	choosepage1(div,files_div,url)
}
function choosepage1(div,files_div,url) {
	var files_div_o = document.getElementById(files_div);
	var file = files_div_o.innerHTML;
	
	file_html = "a href=\""+url+file+"\" target=\"_self\"";
	
	edit(div,file_html,'');
	self.close();
}
function choosepage_menu(div,files_div) {
	var files_div_o = document.getElementById(files_div);
	choosepage1_menu(div,files_div)
	
}
function choosepage1_menu(div,files_div) {
	var files_div_o = document.getElementById(files_div);
	var file = files_div_o.innerHTML;
	
	div_input = div.split("page_");
	
	div_p = window.opener.document.getElementById(div);
	inp_p = window.opener.document.getElementById(div_input[1]);
	
	div_p.innerHTML = files_div_o.innerHTML;
	inp_p.value = files_div_o.innerHTML;
	//edit(div,file,'');
	self.close();
}
////////////////////////////////////////////////////////////////////////////////////
function copyfiles(div,files_div,url) {
	var files_div_o = document.getElementById(files_div);
	var file = files_div_o.innerHTML;

	align = prompt("Allinea (scegliere tra 'left' o 'right'): ","left");
	descrizione = prompt("Descrizione: "," ");
	
	if (align!=null) {
		copyfiles1(div,files_div,url,align,descrizione)
	}
//	
}
function copyfiles1(div,files_div,url,align,descrizione) {
	var files_div_o = document.getElementById(files_div);
	var file = files_div_o.innerHTML;
	if (div == "messaggio") {
		file = url + file;
	}
	alt = "";
	if (descrizione != "" && descrizione != undefined && descrizione != null) {
		alt = "alt=\""+descrizione+"\"";
	}
	
	if (align == "" || align == undefined || align == null) {
		align = "";
		file_html = "<img src=\""+file+"\" "+align+" class=i "+alt+">";//+url
		var dropfiles_d = window.opener.document.getElementById(div);
		
		if (align!=null) {
			Addhtmlcode(dropfiles_d,file_html)
			self.close();
		}
		
	} else {
		align = "align="+align;
		file_html = "<img src=\""+file+"\" "+align+" class=i "+alt+">";//+url
		var dropfiles_d = window.opener.document.getElementById(div);

		if (align!=null) {
			Addhtmlcode(dropfiles_d,file_html)
			self.close();
		}
	}
//	
}
////////////////////////////////////////////////////////////////////////////////////
function get_image_size(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange_image_size;
			req.open("POST",url,true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			req.send(fields);
	// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
			isIE = true;
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req) {
				req.onreadystatechange = processReqChange_image_size;
				req.open("POST",url,true);
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
				req.send(fields);
			}
	}
}
function processReqChange_image_size() {
	if (req.readyState == 4) {
			if (req.status == 200) {
				image_size();
			} else {
				//alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
	}
}
function image_size() {
	var response = req.responseText;
	//alert(response)
	//////////////////////////////////////////////
	// Parse the XML ////////////////////////////
	if (window.XMLHttpRequest) {
			if (version == "IE7") {
				var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
				xmlDocument.async = false;
				var loaded = xmlDocument.loadXML(response);
				if (loaded) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
					// shows error with end tag </gods> not matching start tag <god>
				}
			} else {
				var domParser = new DOMParser();
				var xmlDocument = domParser.parseFromString(response, 'application/xml');
				var parseError = checkForParseError(xmlDocument);
				if (parseError.errorCode == 0) {
					//alert(xmlDocument.documentElement.nodeName);
				} else {
					alert(parseError.reason + '\r\n' + parseError.srcText);
					// shows detailed error message
				}
			}
	//////////
	} else if (window.ActiveXObject) {
			var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
			xmlDocument.async = false;
			var loaded = xmlDocument.loadXML(response);
			if (loaded) {
				//alert(xmlDocument.documentElement.nodeName);
			} else {
				alert(xmlDocument.parseError.reason + xmlDocument.parseError.srcText);
				// shows error with end tag </gods> not matching start tag <god>
			}
	}
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);
	
	if (content != "no") {
		contentA = content.split(", ");
		
		width = contentA[0];
		height = contentA[1];
		x = "javascript:openWindow('imageview.php?i="+sel_src+"','image','"+width+"','"+height+"','directories=no,resizable=no,location=no,status=no,scrollbars=no','center');";
		
		tag = "a";
		tagx = tag +" href=\""+x+"\" ";
		
		edit(ob,tag,tagx);
		
	} else {
		
		alert("Immagine non esistente")
	}

	
}

