/*
Anochat: anochat_mainwin.js v. 1.1 mlk | April 2009. 
Code by Knut Møgster # mogster@redesign.no | http://www.redesign.no # 
The main window 'chat search/start' functions and open chatwin function
*/

// Set the skins directory
var setskindir = 'skins';
// Set the php-script for the chat search
var url = 'anochat.php';

// For chat search, main page. Catches 'Enter' (Carriage return)
function handleKeyPress(e) {
if (!e) e = window.event;
	// Triggers on keycode Enter
	if (e && e.keyCode == 13) {
	   //alert('Hell, yeah');
		qUery_code(); 
	}
}

// The new skin chat window. It is created by javascript and loads all functionality needed to run
function retChatz(tCode, dSkin) {
	var dox = '<meta http-equiv="Pragma" content="no-cache">\n';
  dox += '<META HTTP-EQUIV="Expires" CONTENT="-1">\n';
	dox += '<scr' + 'ipt language="javascript" src="js/anochat_system.js"></SCR' + 'IPT>\n';
	dox += '<scr' + 'ipt language="javascript" src="js/anochat.js"></SCR' + 'IPT>\n';
	dox += '<scr' + 'ipt language="javascript" src="js/md5.js"></SCR' + 'IPT>\n';
	dox += '<scr' + 'ipt language="javascript" src="js/tripleDes.js"></SCR' + 'IPT>\n';
	dox += '<link rel="STYLESHEET" type="text/css" href="'+setskindir+'/'+dSkin+'/anochat.css">\n';
	var pContent = '';
	var xtHeader = '<html>\n<head>\n<title>Node: '+tCode+'</title>\n'+dox+'</head>\n';
	xtHeader = xtHeader + '<body class="chatbody">\n';
	var xtEnd = '</body>\n</html>';
	var xTip = chatlang[8];
	var xtrets = '<input type="hidden" name="K2" id="K2" value=""><input type="hidden" name="runauthcode" id="runauthcode" value=""><span id="authleftfloat" style="margin-top:1px;float:left;visibility:hidden"></span><span id="authrightfloat" style="margin-top:1px;float:right;visibility:hidden"></span>';
  pReturn = '<div id="chwrtools" name="chwrtools" class="chwrtools"></div>\n<div id="chsetopic" name="chsetopic" class="chsetopic" align="center"><br><br>'+chatlang[9]+'<br><input type="text" name="set_topic" id="set_topic" value="" maxlength="50" class="authcodefield" style="width: 300px" onKeypress="mtCodeset(event)"><br><br><input type="button" name="butopic" id="butopic" value="Set topic" class="authcodebutton" onClick="setTopic()"></div>\n<div id="chlogincenter" name="chlogincenter" class="chlogincenter" align="center"><br><br>'+chatlang[10]+'<br><input type="hidden" name="wincreatecode" id="wincreatecode" value="'+tCode+'"><input type="text" name="setnick" id="setnick" value="" maxlength="15" class="authcodefield" onKeypress="mCodeset(event)"><br>'+chatlang[11]+'<br><input type="password" name="auth_code" id="auth_code" value="" class="authcodefield" onKeypress="mCodeset(event)"><br><br><input type="button" name="autset" id="autset" value="'+chatlang[12]+'" class="authcodebutton" onClick="setAcode()"></div>\n<div id="chead" name="chead" class="chead">'+xtrets+'</div>\n<div id="chroom" name="chroom" class="chroom"></div>\n<div id="converse" name="converse" class="converse">'+xTip+'</div>\n<div id="chwriter" name="chwriter" class="chwriter"></div>\n<div id="chroomh" name="chroomh" class="chroomh"></div>\n<div id="chtopic" name="chtopic" class="chtopic"></div>\n';
	windowdprops = 'menubars=no,location=no,toolbars=no,scrollbars=no,resizable=no,status=no,width=602,height=550,top=50,left=50';
	self.name = 'csh_main';
	runchatdo = window.open("",'chatd'+tCode,windowdprops);
	with (runchatdo.document) {
		open();
		write(xtHeader + pReturn + xtEnd);
		runchatdo.focus();
		close();
	}
}

// Function for unescaping the return in the search layer, non encrypted
function dunescape() {
	var dislayer = getElement("esca");
	var dislayere = dislayer.innerHTML;
	dislayere = unescape(dislayere);
	dislayer.innerHTML = dislayere;
}

// New function for unescaping the return in the search layer, with decryption
function dunescapewcdes(tdkey) {
  var dislayer = getElement("esca");
	var dislayere = dislayer.innerHTML;
	var dislayercrypt = des(tdkey, hexToString(Trim(dislayere)), 0, 0);
	dislayere = unescape(dislayercrypt);
	dislayer.innerHTML = dislayere;
}
// New function for unescaping the return in the main layer, with decryption
function dunescapewcdesmd(tdkey) {
  var dislayer = getElement("middleD");
	var dislayere = dislayer.innerHTML;
	var dislayercrypt = des(tdkey, hexToString(Trim(dislayere)), 0, 0);
	dislayere = unescape(dislayercrypt);
	dislayer.innerHTML = dislayere;
}

// For querying for the chat, main window
function qUery_code() {
	var uniqseed = new Date();
	var urk = uniqseed.toString();
	var ure = MD5(urk);
	var hidcode = Trim(getElement("query_code").value);
	var qcode = getElement(hidcode).value;
	var sstate = Trim(getElement("searchstate").value);
	if(qcode != "") {
		var appendsearch = '';
		if(Trim(sstate) != '') {
			appendsearch = '&a=crcht';
			sstate.value = '';
			} else {
			sstate.value = 'docreatechat';
		}
		var doCode = MD5(MD5(MD5(qcode)));
  	var jsel = document.createElement('SCRIPT');
  	jsel.type = 'text/javascript';
  	jsel.src = url+'?q='+doCode+appendsearch+'&dummy='+ure;
  	document.body.appendChild(jsel);
	}
}

// Function for resetting values in the main window, as chatwindow loads
function resetMain() {
	var ocont = getElement("orgcont");
	var searchst = getElement("searchstate");
	var esclayer = getElement("esca");
	var hidcode = Trim(getElement("query_code").value);
	var qcode = getElement(hidcode);
	ocont.value = "";
	searchst.value = "";
	esclayer.innerHTML = "";
	qcode.value = "";
}

// Function for resetting values in the main window for q.php, as chatwindow loads
function resetQ() {
	var esclayer = getElement("middleD");
	esclayer.innerHTML = "";
}

// Do fetch of content, Chat search form
function qUery_mwcont(file) {
  var scrurl = "anochoice.php";
	var uniqseed = new Date();
	var urk = uniqseed.toString();
	var ure = MD5(urk);
	if(file != "") {
  	var jxsel = document.createElement('SCRIPT');
  	jxsel.type = 'text/javascript';
  	jxsel.src = scrurl+'?z='+file+'&dummy='+ure;
  	document.body.appendChild(jxsel);
	}
}

// Start chat from select dropdown
function doSelectedi(dxcode){
	var stxsel = getElement("maChat");
	var stix = stxsel.selectedIndex;
	if(stix > 0) {
		var dxskin = stxsel.options[stix].value;
		retChatz(dxcode, dxskin);
	}
}

