
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";
	}
}
//////////////////////////////////////
var tosave = "";

//#############################################
/**###################################################################################**/
/**###################################################################################**/
//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 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_arrow(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 = "";
			}
		}
	}
	///
	arrow = code+"_arrow";
	ff = document.getElementById(arrow);
	ff1 = ff.src.split("/i/");
		if (ff1[1] == "arrow1.png") {
			ff.src = ff1[0]+"/i/arrow2.png";
		} else 
		if (ff1[1] == "arrow2.png") {
			ff.src = ff1[0]+"/i/arrow1.png";
		}
	
}


//#############################################
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) {
	img = obj.src;
	imgA = img.split("i/");
	path = imgA[0] + "i/";
	img = imgA[1];
	
	imgA = img.split(".");
	img_name = imgA[0];
	img_ext = imgA[1];

	over = img_name + "_over." + img_ext;
	obj.src = path + over;
}
// funzione Link out IMG
function mnlk1(obj) {
	img = obj.src;
	imgA = img.split("i/");
	path = imgA[0] + "i/";
	img = imgA[1];
	
	imgA = img.split(".");
	img_name = imgA[0].replace(/_over/g,"");
	img_ext = imgA[1];

	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 + "&";
				
				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 statolettura_refresh(code,element,code1,size) {
	var img = document.getElementById(code);
	
	if (img.style.display == "none") {
		var n = document.getElementById(code1);
		var nc = n.innerHTML;
		var nn = size * 1 - 1;
		nc = "[<b>"+nn+"</b>]";
		n.innerHTML = nc;
	}
}

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) {
	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 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 arrow(obj) {
	i = obj.src;
	ia = i.split("/i/");
	ia0 = ia[0]+"/i/";
	if (ia[1] == "arrow_right.gif") {
		obj.src = ia0+"arrow_down.gif"
	} else {
		obj.src = ia0+"arrow_right.gif"
	}
	
}
//##############################################
//##############################################
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) {
		
		event.cancelBubble=true;
		event.returnValue=true;
		event.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';
}


