// Javascript Document
var loginReq;
var friendsReq;
var registerReq;
var prefsReq;
var adsReq;
var searchReq;
var callHist = new callHistory();

var thisUser = 'default';
var thisPass = 'default';
var dialpadHTML;
var statusBtnsHTML;

var tempUser;
var tempPass;
 
function register()
{
	var user = document.getElementById('login_username');
	var pass = document.getElementById('login_password');
	
	if (user.value != '' && user.value != 'Enter Username')
	{
		if (pass.value != '')
		{
			tempUser = user.value;
			tempPass = pass.value;
		
			var ver_pass = prompt("Please verify your password.");
			if (ver_pass == pass.value)
			{
				var email = prompt("Please enter a valid email address. Information will be sent to this address");
				loginReq = new requestObject("/_mini/php/regUser.php?"+Date(), "POST");
				loginReq.createRequest();
				loginReq.request.onreadystatechange = dispReg;
				loginReq.sendRequest("username="+encodeURIComponent(user.value)+"&password="+encodeURIComponent(pass.value)+"&email="+encodeURIComponent(email));

			} else {
				alert("Your Passwords do not match. Please try again.");
			}
		} else {
			alert ('Please select a Password');
		}
	} else {
		user.value = "Enter Username";
		alert('Please select a Username');
	}
}

function dispReg()
{
	if (loginReq.request.readyState == 4)
	{
		if (loginReq.request.responseText == 'good')
		{
			login(tempUser, tempPass);
			tempUser  = '';
			tempPass = '';
alert("You have been emailed the code for your live voice chatroom. For more information please see the 'help' link on the bottom of the main panel.");
			
		} else if (loginReq.request.responseText == 'nonunique')
		{
			alert ("That username has already been taken. Please choose another username.");
			tempUser = '';
			tempPass = '';
		} else {
			alert (loginReq.request.responseText);
		}
	}
}

function loadAdsReq()
{
	adsReq = new requestObject("/_mini/php/loadAds.php?"+Date(), "POST");
	adsReq.createRequest();
	adsReq.request.onreadystatechange = dispAds;
	adsReq.sendRequest("");
}

function dispAds()
{
	if (adsReq.request.readyState == 4)
	{
		var adsEl = document.getElementById('ads_main');

		adsEl.innerHTML = adsReq.request.responseText;
		setTimeout("loadAdsReq()", 8000);
	}
}

function updateNetworkStatus(msg)
{
	var loginEl = document.getElementById('networkstatus_inside');
	
	loginEl.value += msg;
}

function callUser(user)
{
	updateNetworkStatus("calling "+user+"...\n");
	callHist.add(user, user, "outgoing");
}

function dialNumber()
{
	var javaObj = document.getElementById('jsap');
	var num2dial = document.getElementById('dial_number').value;

	updateNetworkStatus('dialing '+num2dial+'...\n');
	javaObj.javaGenCall("5000");
	callHist.add(num2dial, num2dial, "outgoing");	
}

function login(usr,pwd)
{
	var user = (usr) ? usr : encodeURIComponent(document.getElementById('login_username').value);
	var pass = (pwd) ? pwd : encodeURIComponent(document.getElementById('login_password').value);
	var loginEl = document.getElementById('networkStatus');
	var loginMsg = document.getElementById('loginMsg');

	thisUser = user;
	thisPass = pass;

	if (user && pass)
	{
		loginReq = new requestObject("/_mini/php/login.php?"+Date(), "POST");
		loginReq.createRequest();
		loginReq.request.onreadystatechange = dispLogin;
		loginReq.sendRequest("user="+user+"&pass="+pass);

		loginMsg.innerHTML = "connecting...";
	} else {
		loginMsg.innerHTML = "error in getting username and password";
		thisUser = 'none';
	}
}

function dispLogin()
{
	var loginMsg = document.getElementById('loginMsg');
	if (loginReq.request.readyState == 2)
	{
		loginMsg.innerHTML += "connected!<br>";
	} else if (loginReq.request.readyState == 3)
	{
		loginMsg.innerHTML += "verifying...";
	} else if (loginReq.request.readyState == 4)
	{
		loginMsg.innerHTML += loginReq.request.responseText + "<br>";

		if (loginReq.request.responseText == "verified")
		{
			showStatus();
			document.getElementById('jsap').loginUser(thisUser, thisPass);
		} else {
			thisUser = 'none';
		}
	}
}

function getObj(name)
{
	if (document.getElementById)
	{
		return document.getElementById(name).style;
	}
	else if (document.all)
	{
		return document.all[name].style;
	}
	else if (document.layers)
	{
		return document.layers[name];
	}
	else return false;
}

function showStatus()
{
       statusBtnsHTML = '<table width="100%" border=0 cellspacing=0 cellpadding=0>'
                                                +'<tr>'
                                                       +' <td colspan=2 align=center><input type="text" value="" readonly id="callerID"></td>'
                                                +'</tr>'
                                                +'<tr>'
                                                  +'      <td width="50%" align=center><div align=center id="mute_btn"><a onclick="toggleMute()">[mute]</a></div></td><td width="50"><div id="hold_btn"><a onclick="toggleHold()">[hold]</a></div></td>'
                                                +'</tr>'
                                                +'</table>';
                                                
                                                
	var loginEl = document.getElementById('networkStatus');

	loginEl.innerHTML = "Logged In: "+ thisUser; 
	loginEl.innerHTML += "<div align='center'><textarea rows='10' readonly id='networkstatus_inside'>Welcome to Talkr.\n\nClick Start below to join your chat.\n\</textarea></div>";

	var menuEl = document.getElementById('main_menu');
	menuEl.innerHTML = "<table border='0' cellspacing='0' cellpadding='0' width='100%'>"
				+"<tr><td align='right'><a onclick='' href='logout.php'>logout</a></td></tr></table>";
	var send_endEl = document.getElementById('send_end');
	
	var send_endHTML = '<table width="100%" cellpadding="0" cellspacing="0" border="0">'
                                                     +'   <tr>'
                                                               +' <td>'
                                                                     +'   <div align="center" id="send"><a href="javascript:makeCall(document.getElementById(\'dial_number\').value)"><table height="26"><tr><td valign="middle"><img border="0" src="images/play.gif"></td></tr></table></a></div>'
                                                               +' </td>'
                                                              +'  <td>'
                                                                +'        <div align="center" id="end"><a href="javascript:endCall()"><table height="26"><tr><td valign="middle"><img border="0" src="images/end_button.gif"></td></tr></table></a></div>'
                                                               +' </td>'
                                                        +'</tr>'
                                                       +' </table>';

	//send_endEl.innerHTML = send_endHTML;
	
}

function addDigit(number)
{
	
	var numberEl = document.getElementById('dial_number');
	
	var numVis = getObj('dial_number');
	numVis.visibility = "visible";
	
	var numberstring = number.toString();
	numberEl.value += numberstring;
}

function closeTarget(target)
{
	var object = getObj(target);
	object.visibility = 'hidden';
}

function showUsArmyAd() {

	var loginEl = document.getElementById('networkStatus');

	var loginHTML = "<div align='center'><img class='ad' src='images/ng_demo.jpg'/></div>";
	loginEl.innerHTML = loginHTML;
}

