//###########################################################################################//////////////////////////
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";
	}
}
//###########################################################################################//////////////////////////
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 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 openpan_o(o) {
	obj = document.getElementById(o);
	if (obj.style.display == "none") {
		obj.style.display = "";
	} else {
		obj.style.display = "none";	
	}
}
///////////////
function Submit() {
  //stay in the same frame
	frm = document.forms[0];
  frm.target = "_self";
 	frm.action = "left.php";
	frm.submit();
}
function Submit1() {
	frm = document.forms[0];
	frm.submit();
}

function update(obj) {
	var ff = document.getElementsByTagName("form");
	for (i = 0; i < ff.length; i++) {
		if (ff[i].id == obj) {
			var obj = ff[i];
		}
	}
	obj.submit();
}
function update2(obj) {
	var ff = document.getElementsByTagName("form");
	for (i = 0; i < ff.length; i++) {
		if (ff[i].id == obj) {
			var obj = ff[i];
		}
	}
	obj.submit();
}

function preview(id) {
	ff = document.getElementsByTagName("tr");
	// close all previews
	for (i = 0; i < ff.length; ++i) {
		x = ff[i].id.split("_");
		if (x[0] == "tr" && ff[i].id != id) {
			ff[i].style.display = "none";
		}
	}
	
	// hide or show the preview
	ff = document.getElementById(id);
	if (ff.style.display == "") {
		ff.style.display = "none";
	} else {
		ff.style.display = "";
	}
//
}
function changeAuthor(obj) {
	o = obj.value;
	x = location.href.split("&o=");
	if (x[1] == undefined) {
		x = location.href.split("?o=");
	}
	if (o == "") {
		location.href = x[0];
	} else {
	last_char = x[0].length - 1;
	last_char1 = x[0].length - 2;
	var c = false;

	if (x[0][last_char] == "p") {
		if (x[0][last_char1] == "h") {
			location.href = x[0] + "?o="+o;
			var c = true;
		}
	}
	if (!c) {
		location.href = x[0] + "&o="+o;
	}
	}
//
}
//###########################################################################################//////////////////////////
function newuser() {
	ff = document.getElementsByTagName("table");
	for (i = 0; i < ff.length; ++i) {
		
		if (ff[i].id == "innesto") {
			if (ff[i].style.display == "none") {
				ff[i].style.display = "";
			}
		}
		if (ff[i].id == "newuser") {
			if (ff[i].style.display == "") {
				ff[i].style.display = "none";
			}
		}
		if (ff[i].id == "login") {
			if (ff[i].style.display == "") {
				ff[i].style.display = "none";
			}
		}
	}
//
}
//###########################################################################################//////////////////////////
function forgotpw() {
	var ff = document.getElementsByTagName("input");
	for (i = 0; i < ff.length; i++) {
		if (ff[i].name == "login_user") {
			var login_user = ff[i].value;
		}
	}
	fields = "login_user="+login_user;
	//alert(fields)
	var url = "forgotpw.php";
	loadXMLDoc_forgotpw(url);
}
//###########################################################################################//////////////////////////
function loadXMLDoc_forgotpw(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange_forgotpw;
			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_forgotpw;
				req.open("POST",url,true);
				req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
				req.send(fields);
			}
	}
}
function processReqChange_forgotpw() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
			// only if "OK"
			if (req.status == 200) {
				buildTopicList_forgotpw();
			} else {
				alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
	}
}
////////////////////////////////////
function buildTopicList_forgotpw() {
	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);
		} else {
			var domParser = new DOMParser();
			var xmlDocument = domParser.parseFromString(response, 'application/xml');
			var parseError = checkForParseError(xmlDocument);
		}
	//////////
	} else if (window.ActiveXObject) {
		var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
		xmlDocument.async = false;
		var loaded = xmlDocument.loadXML(response);
	}	
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);
	
	var msg = document.getElementById("msg");
	msg.innerHTML = content;
//	
}

//###################################
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 mailto(domain,user) {
	document.location.href = "mailto:" + user + "@" + domain; 
}
//###################################
function tip (obj) {
	//frame = eval("parent.text1");
	var cm = document.getElementById(obj);

	if (cm.style.display == "") {
		cm.style.display = "none";
	} else {
		cm.style.display = "";
	}
	
	if (platform_client == "Win32") {
		pleft = event.clientX - 5 + frame.body.scrollLeft;
		ptop = event.clientY - 5 + frame.body.scrollTop;
	} else {
		pleft = event.clientX - 5;
		ptop = event.clientY - 5;
	}
	
	cm.style.left = pleft;
	cm.style.top = ptop;	
}
//###################################
function character_select (obj) {
	if (obj.value != "") {
		fields = "objvalue="+obj.value;
		//alert(fields)
		var url = "character_sel.php";
		loadXMLDoc_character_select(url);
	}
}
function loadXMLDoc_character_select(url) {
	// native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange_character_select;
		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_character_select;
			req.open("POST",url,true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
			req.send(fields);
		}
	}
}
function processReqChange_character_select() {
	if (req.readyState == 4) {
		if (req.status == 200) {
			buildTopicList_character_select();
		}
	}
}
////////////////////////////////////
function buildTopicList_character_select() {
	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);
		} else {
			var domParser = new DOMParser();
			var xmlDocument = domParser.parseFromString(response, 'application/xml');
			var parseError = checkForParseError(xmlDocument);
		}
		//////////
	} else if (window.ActiveXObject) {
		var xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
		xmlDocument.async = false;
		var loaded = xmlDocument.loadXML(response);
	}	
	//////////////////////////////////////////////
	var item = xmlDocument.getElementsByTagName("item")[0];
	var content = getElementTextNS("content", "", item, 0);
	
	ff = document.getElementsByTagName("input");
	ff1 = document.getElementsByTagName("select");
	
	var c1 = content.split("&");
	
	for (k = 0; k < c1.length; k++) {
		var c2 = c1[k].split("=");
		if (c2[0] == "character_gender") {
			for (i = 0; i < ff1.length; i++) {
				
				if (ff1[i].name == c2[0]) {
					ff1_opt_n = ff1[i].options.length;
					for (i1 = 0; i1 < ff1_opt_n; i1++) {
						if (ff1[i].options[i1].value == c2[1]) {
							ff1[i].options[i1].selected = true;
						}
					}
				}
			}
		} else {
			for (i = 0; i < ff.length; i++) {
				if (ff[i].name == c2[0]) {
					ff[i].value = c2[1];
				}
			}
		}

	}
//
}
//###################################
//################################################
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 + "]";
		}
	}
}
//################################################
