// JavaScript Document

var Login = {
	Load : function() {
		Main.usr = document.getElementById('usr');
		Main.pass = document.getElementById('pass');
	},
	Reload : function() {
		document.getElementById('bcontent').innerHTML = Main.loginCont;
		
		document.getElementById('errors').style.display = 'block';
		document.getElementById('errors').style.visibility = 'visible';
		document.getElementById('errors').innerHTML = "<b>Error:</b> Login canceled! (Code: 000)<br />"
													+ document.getElementById('errors').innerHTML;
													
		document.getElementById('usr').value = Main.usr.value;
		document.getElementById('pass').value = Main.pass.value;
	},
	Go : function() {
		this.Load();
		var error = 0;
		if(Main.usr.value.length === 0) {
			document.getElementById('errors').style.display = 'block';
			document.getElementById('errors').style.visibility = 'visible';
			document.getElementById('errors').innerHTML = "<b>Error:</b> Please enter a valid username! (Code: 002)<br />"
														+ document.getElementById('errors').innerHTML;
			error++;
		}
		
		if(Main.pass.value.length < 6) {
			document.getElementById('errors').style.display = 'block';
			document.getElementById('errors').style.visibility = 'visible';
			document.getElementById('errors').innerHTML = "<b>Error:</b> Please enter a valid password! (Code: 003)<br />"
														+ document.getElementById('errors').innerHTML;
			error++;
		}
		
		if(error === 0) {
			var pw = '';
			var passw = Main.pass.value
			passw.replace(/\\$/g, '');
			passw = passw.split('');
			for(var i = 0; i < passw.length; i++) {
				pw += passw[i].charCodeAt() + 'x';
			}
			Login.End();
			Main.loginCont = document.getElementById('bcontent').innerHTML;
			document.getElementById('bcontent').innerHTML = '<div class="loading">\n'
															 + '<img src="/conf/images/loading.gif" alt="Loading" /><br />\n'
															 + 'Processing login please wait, \n'
															 + 'or click <a href="#" onclick="javascript: Login.Stop(); return false;">here</a> to cancel.\n'
														  + '</div>';
			Main.timeout = setTimeout("SERVER.POSTrequest('/Scripts/PHP/login.php', " 
									  + "'u=" + Main.usr.value + "&p=" + pw + "', " 
									  + "Login.Start, '" + escape(Main.loginCont) + "');", 2000);
		}
	},
	Start : function() {
		var data = SERVER.Ontvangst();
		if(data != false && data != 'undefined' && data != null) {
			if(/^Fout:/.test(data)) {
				html = SERVER.GetFun();
				Login.End();
				document.getElementById('bcontent').innerHTML = unescape(html);
				document.getElementById('errors').style.display = 'block';
				document.getElementById('errors').style.visibility = 'visible';
				document.getElementById('errors').innerHTML = "<b>Error:</b> Can not contact required resources, please try again later! (Code: 001)<br />"
															+ document.getElementById('errors').innerHTML;
				document.getElementById('usr').value = Main.usr.value;
				document.getElementById('pass').value = Main.pass.value;
			}else{
				if(/^l1:/.test(data)) {
					html = SERVER.GetFun();
					if(/^l1:$/.test(data)) {
						document.getElementById('bcontent').innerHTML = '<div class="loading">\n'
																		 + '<img src="/conf/images/loading.gif" alt="Loading" /><br />\n'
																		 + 'Please wait while loading menu, \n'
																		 + 'or click <a href="#" onclick="javascript: Login.Stop(); return false;">here</a> to cancel.\n'
																	  + '</div>';
						Main.timeout = setTimeout("SERVER.POSTrequest('/Scripts/PHP/menu.php', " 
												  + "'l=1', " 
												  + "Login.Start, '" + html + "');", 2000);
					}else{
						document.getElementById('bcontent').innerHTML = unescape(html);
						document.getElementById('errors').style.display = 'block';
						document.getElementById('errors').style.visibility = 'visible';
						data = data.replace(/^l1:/g, '');
						data = data.replace(/<br \/>$/g, '');
						document.getElementById('errors').innerHTML = data + "<br />"
																	+ document.getElementById('errors').innerHTML;
						document.getElementById('usr').value = Main.usr.value;
						document.getElementById('pass').value = Main.pass.value;
					}
				}else if(/^m1:/.test(data)) {
					data = data.replace(/m1:/g, '');
					html = SERVER.GetFun();
					document.getElementById('bcontent').innerHTML = '<div class="loading">\n'
																	 + '<img src="/conf/images/loading.gif" alt="Loading" /><br />\n'
																	 + 'Please wait while loading homepage, \n'
																	 + 'or click <a href="#" onclick="javascript: Login.Stop(); return false;">here</a> to cancel.\n'
																  + '</div>';
					document.getElementById('links').innerHTML = data;
					Main.timeout = setTimeout("SERVER.POSTrequest('/Scripts/PHP/home.php', " 
											  + "'l=1', " 
											  + "Login.Start, '" + html + "');", 2000);
				}else if(/^i1:/.test(data)) {
					data = data.replace(/i1:/g, '');
					html = SERVER.GetFun();
					document.getElementById('bcontent').innerHTML = '<div class="loading">\n'
																	 + '<img src="/conf/images/loading.gif" alt="Loading" /><br />\n'
																	 + 'Please wait while loading page title, \n'
																	 + 'or click <a href="#" onclick="javascript: Login.Stop(); return false;">here</a> to cancel.\n'
																  + '</div>';
					document.getElementById('content').innerHTML = data;
					Main.timeout = setTimeout("SERVER.POSTrequest('/Scripts/PHP/title.php', " 
											  + "'l=1', " 
											  + "Login.Start, '" + html + "');", 2000);
				}else if(/^t1:/.test(data)) {
					data = data.replace(/t1:/g, '');
					html = SERVER.GetFun();
					document.getElementById('bcontent').innerHTML = unescape(html);
					document.getElementById('errors').style.display = 'none';
					document.getElementById('errors').style.visibility = 'hidden';
					document.getElementById('errors').innerHTML = "";
					
					document.getElementById('title').innerHTML = data;
					document.getElementById('screen').style.display = 'none';
					document.getElementById('screen').style.visibility = 'hidden';
					document.getElementById('box').style.display = 'none';
					document.getElementById('box').style.visibility = 'hidden';
				}else{
					html = SERVER.GetFun();
					Login.End();
					document.getElementById('bcontent').innerHTML = unescape(html);
					document.getElementById('errors').style.display = 'block';
					document.getElementById('errors').style.visibility = 'visible';
					document.getElementById('errors').innerHTML = "<b>Error:</b> Can not contact required resources, please try again later! (Code: 001)<br />"
																+ document.getElementById('errors').innerHTML;
					document.getElementById('usr').value = Main.usr.value;
					document.getElementById('pass').value = Main.pass.value;
				}
			}
		}
	},
	Stop : function() {
		document.getElementById('bcontent').innerHTML = '<div class="loading">\n'
														 + '<img src="/conf/images/loading.gif" alt="Loading" /><br />\n'
														 + 'Canceling login please wait...\n'
													  + '</div>';
		if(Main.timeout) clearTimeout(Main.timeout);
		Login.End();
		Main.timeout = setTimeout("Login.Reload()", 2000);
		document.getElementById('links').innerHTML = 'Login to view the menu!';
	},
	Reset : function() {
		Main.usr.value = '';
		Main.pass.value = '';
		document.getElementById('errors').style.display = 'none';
		document.getElementById('errors').style.visibility = 'hidden';
		document.getElementById('errors').innerHTML = '';
		document.getElementById('usr').value = '';
		document.getElementById('pass').value = '';
	},
	End : function() {
		var now = new Date();
		document.cookie = "sess=;expires="+(now.toGMTString()-5)+";path=/;domain=."+window.location.hostname; 
	},
	Logout : function() {
		SERVER.POSTrequest('/Scripts/PHP/logout.php', '');
		setTimeout("window.location = '/'", 1000);
	}
}