var ChatModuleLoaded = false;
var compAreaStat = 'hidden';

function replyMsg(recepient,divID,subj) {
	document.getElementById(divID).innerHTML = '<input type=hidden value="' + recepient + '" id=tsR>' +
			'<input type=hidden value="' + subj + '" id=subjR>' +
			'<textarea id="msgR" style="width: 350px; height: 200px;"></textarea><br><br><input id=cuteB type=button value="Send Reply" onClick="SendReply();">' +
			' <input id=cuteB type=button value="Cancel" onClick="SupportDynamic(\'msgs\');">';
}

function SendReply()
{
	var ts = document.getElementById("tsR").value;
	var subj = "Re: " + document.getElementById("subjR").value;
	var msg = document.getElementById("msgR").value;
	if (subj.length < 3)
	{
		alert("Please enter a good subject!");
	} else if (subj.length > 50) {
		alert("Please enter a good subject!");
	} else if (msg.length < 3) {
		alert("Please write a good message!");
	} else if (msg.length > 1000) {
		alert("Max of 1000 characters only!");
	} else {
		loadPreloader();
		x_execSendMessage(ts, subj, msg, execSendMessage_cb);
	}
}

function closeMsg(hideMe)
{
		document.getElementById(hideMe).style.display = 'none';	
}

function readMsg(showMe,mid)
{
	x_markReadMsg(mid, markReadMsg_cb);
	document.getElementById(showMe).style.display = 'block';	
}

function markReadMsg_cb(rdata)
{
		//created by camilord -- do nothing...
}

function deleteMsg(mid)
{
	if (confirm("Are you sure you want to delete this message?")) {
		loadPreloader();
		x_deleteMessageNow(mid,deleteMessageNow_cb);
	}
}

function deleteMessageNow_cb(rdata) {
	SupportDynamic('msgs');
	if (rdata == 'ok') 
	{
		alert("Message Deleted!")
	} else {
		alert("Network Error\nUnable to delete!");
	}
}

function composeArea()
{
	if (compAreaStat == 'hidden')
	{
		document.getElementById("composeArea").style.display = 'block';
		compAreaStat = 'shown';
	} else {
		document.getElementById("composeArea").style.display = 'none';
		compAreaStat = 'hidden';
	}
}

function SendMessage()
{
	var ts = document.getElementById("ts").value;
	var subj = document.getElementById("subj").value;
	var msg = document.getElementById("msg").value;
	if (subj.length < 3)
	{
		alert("Please enter a good subject!");
	} else if (subj.length > 50) {
		alert("Please enter a good subject!");
	} else if (msg.length < 3) {
		alert("Please write a good message!");
	} else if (msg.length > 1000) {
		alert("Max of 1000 characters only!");
	} else {
		loadPreloader();
		x_execSendMessage(ts, subj, msg, execSendMessage_cb);
	}
}

function execSendMessage_cb(rdata)
{
	SupportDynamic('msgs');
	if (rdata == 'err')
	{
		alert("Unable to send the message!\nNetwork Error!!!");
	} else {
		alert(rdata);
	}
}

function alphaNumericOnly(strTxt)
{
		var invCharsRegExp = /[^a-z\d]/i;
		var isValidEntry = !(invCharsRegExp.test(strTxt));
		return isValidEntry;
}	

function execPasswd()
{
	var pass1 = document.getElementById("pass1").value;
	var pass2 = document.getElementById("pass2").value;
	if (pass1 != pass2)	{
		alert("Password didn't matched!!!");
	} else if (pass1.length > 30) {
		alert("Password is max to 30 characters!");
	} else if (pass1.length < 6) {
		alert("Password must at least 6 characters!");
	} else {
		loadPreloader();
		x_updatePassword(pass1,updatePassword_cb);
	}
}

function updatePassword_cb(rdata)
{
	loadPreloader();
	SupportDynamic('support');
	if (rdata == 'ok')
	{
		alert("Password Updated!");
	}
	else
	{
		alert("Unable to update you password!\nNetwork Error!");
	}
}

function EmailChecker(valuex) 
{
	var re = /\b[0-9]{8,11}\b/;
  var regexp = /^([_a-z0-9]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
  var isMatch = regexp.exec(valuex);
  if (isMatch)
  {
    return true;
  }
  else 
  {
    return false;
  }
}

function insertMe(step)
{
	var lname = document.getElementById("lname").value;
	var fname = document.getElementById("fname").value;
	var email = document.getElementById("email").value;
	var tnum = document.getElementById("telnum").value;
	var mnum = document.getElementById("mobilenum").value;
	var sname = document.getElementById("sname").value;
	if (!lname) {
		alert("Please enter your last name!");
	} else if (!alphaNumericOnly(sname)) {
			alert("No Space Allowed and Special Characters in the Screen Name!\nAlphabets and Numbers only!");
	}	else if (!fname) {
		alert("Please enter your first name!");
	}	else if (!EmailChecker(email)) {
		alert("Invalid email!!!");
	}	else if (!sname) {
		alert("Please enter you screen name!");
	} else {
		loadPreloader();
		cnumber = tnum + ":" + mnum;
		if (step == 1)
		{
			var scode = document.getElementById("security_code").value;
			if (scode.length != 5)
			{
				alert("Invalid Security Code!!!");
				SupportDynamic('profile');
			} else {
				x_executeReg(lname, fname, email, cnumber, sname, scode, executeReg_cb);
			}
		}
		else
		{
			x_LoveMeYenoh(lname, fname, email, cnumber, sname, LoveMeYenoh_cb);
		}
	}
}

function LoveMeYenoh_cb(rdata)
{
	loadPreloader();
	SupportDynamic('profile');
	if (rdata == 'success') {
		alert("Profile Updated!");
	} else {
		alert("Network Error!\nPlease try again later.");
	}
}

function executeReg_cb(rdata)
{
	if (rdata == 'success') {
		alert("Registration complete!");
		document.getElementById("ContentDisplay").innerHTML = "<center><br><br><br><br><br>The password has been sent " +
				"into your e-mail.<br>Please check your e-mail and proceed to login area.<br><br><br><input type=button value='Login' onClick=\"SupportDynamic(\'support\');\"></center>";
	} else if (rdata == 'mailErr') {
		alert("Mail Info Error!\nYou are registered in our database,\nBut unable to send the password into your e-mail.");
		document.getElementById("ContentDisplay").innerHTML = "<center><br><br><br><br><br>Unable to send the passwd " +
				"into your e-mail.<br>Please contact the administrator at crm@cable21.net or call the following numbers at C21 Contacts.</center>";
	} else if (rdata == 'errCode') {
		register();
		alert("CAPTCHA ERROR!!!\nInvalid Security Code!");
	} else if (rdata == 'existMail'){
		register();
		alert("Teehee! E-mail already exist!!!");
	} else {
		alert(rdata);
	}
}

function validateMe()
{
	var email = document.getElementById("email").value;
	var passwd = document.getElementById("passwd").value;
	if (!EmailChecker(email))
	{
		alert("Invalid e-mail!");
	}
	else if (passwd.length < 6)
	{
		alert("Invalid Password");
	}
	else if (passwd.length > 30)
	{
		alert("Invalid Password");
	}
	else if (email.length > 50)
	{
		alert("Invalid e-mail!");
	}
	else
	{
		loadPreloader();
		x_authenticateUser(email, passwd, authenticateUser_cb);
	}
}

function authenticateUser_cb(rdata)
{
	loadPreloader();
	x_loadSupport('support',support_callback);	
	if (rdata == 'verified')
	{
		alert("Welcome to Cable 21 Online Support!");
		//ChatModuleLoaded = true;
	}
	else
	{
		alert(rdata);
	}
}

function SupportDynamic(task)
{
	if (task == 'out')
	{
		if (confirm("Are you sure you want to logout now?")) 
		{
			loadPreloader();
			x_loadSupport(task,support_callback);
		}
	}
	else
	{
		loadPreloader();
		x_loadSupport(task,support_callback);
	}
}

function register()
{
	loadPreloader();
	x_loadRegistration(C21_Sajax_callback);
}

function getAbout()
{
	chat_init();
	loadPreloader();
	x_loadAbout(C21_Sajax_callback);
}

function getServices()
{
	chat_init();
	loadPreloader();
	x_loadServices(C21_Sajax_callback);
}

function getSupport()
{
	chat_init();
	loadPreloader();
	x_loadSupport('support',support_callback);	
}

function getContacts()
{
	chat_init();
	loadPreloader();
	x_loadContacts(C21_Sajax_callback);
}

function getDevTeam()
{
	chat_init();
	loadPreloader();
	x_loadDevTeam(C21_Sajax_callback);
}

function C21_Sajax_callback(rdata)
{
	document.getElementById("ContentDisplay").innerHTML = rdata;
}

function loadPreloader()
{
	document.getElementById("ContentDisplay").innerHTML = '<table width=90% height=78% border=0 celpadding=2 cellspacing=2>' +
				'<tr><td align=center valign=center>Please wait.<br><img src="preloader.gif" border=o align=absmiddle><br>Loading...</td></tr></table>';
}

function loadPreloader2()
{
	document.getElementById("ContentDisplay").style.display = 'none';
	document.getElementById("main_div").innerHTML = '<table width=90% height=78% border=0 celpadding=2 cellspacing=2>' +
				'<tr><td align=center valign=center>Please wait.<br><img src="preloader.gif" border=o align=absmiddle><br>Loading...</td></tr></table>';
}

function support_callback(rdata)
{
	if (rdata == 'signout')
	{
		alert("You have successfully ended the session.");
		SupportDynamic('x');
	}
	else
	{
		document.getElementById("ContentDisplay").innerHTML = rdata;
		getAllPreviousMessages();
		stopChat = false;
	}
}

function chat_init()
{
	if (stopChat == false)
	{
		stopChat = true;
	}
	else
	{
		stopChat = false;
	}
}