var browser = navigator.appName;
var version = parseInt(navigator.appVersion);
var agent = navigator.userAgent.toLowerCase();

var macos = (agent.indexOf("mac") != -1);
var win32 = (agent.indexOf("windows") != -1);
var linux = (agent.indexOf("linux") != -1);

var ns4 = (browser == "Netscape" && version >= 4  && version < 5);
var ns6 = (browser == "Netscape" && parseInt(version) >= 5);
var ns7 = (agent.indexOf("netscape/7") != -1);
var ns8 = (agent.indexOf("netscape/8") != -1);

var ie4 = (browser == "Microsoft Internet Explorer" && version >= 4);
var ie5 = (agent.indexOf("msie 5") != -1);
var ie6 = (agent.indexOf("msie 6") != -1);
var ie7 = (agent.indexOf("msie 7") != -1);
var firefox = (agent.indexOf("firefox") != -1);
var mozilla = (agent.indexOf("mozilla/5") != -1);
var safari = (agent.indexOf("safari") != -1);
var konqueror = (agent.indexOf("konqueror") != -1);
var khtml = (agent.indexOf("khtml") != -1);
if (khtml)
{
    mozilla = false;
}

var x = 0;
var layerCloseTimer;
var RegUserIsUnique = false;
var RegPasswdValid = false;
var RegEmailUnique = false;
var allowRegisterSubmit = false;
   
function Swap(url, image)
{
    if (ns6) document[image].src = url;
    if (ns4) document[image].src = url;
    if (ie4) document[image].src = url;
}

function createXmlHtmlObj()
{
	var xmlHttp;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	return xmlHttp;	
}

function validateUsername(username)
{
	var xmlHttp;

	xmlHttp = createXmlHtmlObj();
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{
			if (xmlHttp.responseText.indexOf('%USERNAMEOK%') != -1) {
				RegUserIsUnique = true;
				document.getElementById('username_alert').innerHTML = "Username is available";
			}
			else {
				RegUserIsUnique = false;
				document.getElementById('username_alert').innerHTML = "Error - " + xmlHttp.responseText;
			}
			updateRegisterButton();
			//var response = xmlHttp.responseText;
			//listingDiv.innerHTML = response;
		}
	}
	
	xmlHttp.open("GET","./_includes/jsCheckUsername.cfm?username=" + username ,true);
	xmlHttp.send(null);
}

function validateEmail(email){
	var xmlHttp;
	
	xmlHttp = createXmlHtmlObj();
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState == 4) {
			if (xmlHttp.responseText.indexOf('%EMAILOK%') != -1) {
				RegEmailUnique = true;
				document.getElementById('email_alert').innerHTML = "OK";
			}
			else if (xmlHttp.responseText.indexOf('%EMAILINVALID%') != -1) {
				RegEmailUnique = false;
				document.getElementById('email_alert').innerHTML = "Error - Email address is not formatted properly";
			}
			else {
				RegEmailUnique = false;
				document.getElementById('email_alert').innerHTML = "Error - Email is already registered";
			}
			updateRegisterButton();
		}
	}
	
	xmlHttp.open("GET", "./_includes/jsCheckEmail.cfm?email=" + email, true);
	xmlHttp.send(null);
}

function loadContent(myUrl, myDiv){
	var xmlHttp;
	
	xmlHttp = createXmlHtmlObj();
	xmlHttp.onreadystatechange = function(){
		if (xmlHttp.readyState == 4) {
			document.getElementById(myDiv).innerHTML = xmlHttp.responseText;
		}
	}
	
	xmlHttp.open("GET", myUrl, true);
	xmlHttp.send(null);
}

function validatePassword(pass1, pass2){
	if ((pass1 == '') || (pass2 == ''))
		return;
	if (pass1.length < 6) {
		RegPasswdValid = false;
		document.getElementById('password_alert').innerHTML = "Password Invalid - Must be at least 6 characters";
	}
	else if (pass1 != pass2) {
			RegPasswdValid = false;
			document.getElementById('password_alert').innerHTML = "Passwords do not match";
			return;
	}
	else if (pass1 = pass2) {
				RegPasswdValid = true;
				document.getElementById('password_alert').innerHTML = "OK";
				return;
	}
	updateRegisterButton();
}

function updateRegisterButton(){
	if (RegUserIsUnique && RegPasswdValid && RegEmailUnique) 
		document.getElementById("btnRegister").disabled = false;
	else 
		document.getElementById("btnRegister").disabled = true;
}

function leftTrim(sString){
	while (sString.substring(0, 1) == ' ') {
		sString = sString.substring(1, sString.length);
	}
	return sString;
}

function rightTrim(sString){
	while (sString.substring(sString.length - 1, sString.length) == ' ') {
		sString = sString.substring(0, sString.length - 1);
	}
	return sString;
}

function trimAll(sString){
	while (sString.substring(0, 1) == ' ') {
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length - 1, sString.length) == ' ') {
		sString = sString.substring(0, sString.length - 1);
	}
	return sString;
}

function adjustPhoto(imgContainer,divContainer)
{
	//alert('scheduling...');
	setTimeout("adjustPhotoPlacement('"+ imgContainer + "','"+divContainer+"')",100);
	//alert('done...');
}
var loadTries = 0;
function adjustPhotoPlacement(imgContainer,divContainer)
{
	loadTries += 1;
	//alert("looking for "+imgContainer+" and " + divContainer);
	if (document.getElementById(imgContainer)) {
		imgContainer = document.getElementById(imgContainer);
		if (parseInt(imgContainer.height) > 150) {
			var newScrollTop = parseInt((imgContainer.height - 150) / 2);
			document.getElementById(divContainer).scrollTop = parseInt((imgContainer.height - 150) / 2);
		}
	}
	else if (loadTries > 10)
	{
		// do nothing (stop retrying)
		loadTries = 0;
	}
	else {
		setTimeout("adjustPhotoPlacement('"+ imgContainer + "','"+divContainer+"')",100);
	}

}
