function submitLogin()
{
	var username = document.getElementById('loginusernameinput').value;
	var password = document.getElementById('loginpasswordinput').value;
	
	// removes leading/ending whitespace
	username = username.replace(/^\s+|\s+$/g, '');
	password = password.replace(/^\s+|\s+$/g, '');
	
	var valid = true;
	
	if(username == '' || username == 'Email')
	{
		document.getElementById('loginusernameinput').style.color = 'crimson';
		valid = false;
	}
	
	if(password == '' || password == 'Password')
	{
		document.getElementById('loginpasswordinput').style.color = 'crimson';
		valid = false;
	}
	
	try
	{
		if(valid && (ajaxRequest.readyState == 4 || ajaxRequest.readyState == 0))
		{
			var params = "username=" + encodeURIComponent(username);
			params += "&password=" + encodeURIComponent(password);

			ajaxRequest.open("POST", "/social/forms/Signin.php", true);
			ajaxRequest.onreadystatechange = handleLoginSubmit;
			ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			ajaxRequest.setRequestHeader("Content-length", params.length);
			ajaxRequest.setRequestHeader("Connection", "close");
			ajaxRequest.send(params);
			
			document.getElementById('loginusernameinput').disabled = true;
			document.getElementById('loginpasswordinput').disabled = true;
			document.getElementById('loginsubmit').style.cursor = 'default';
			document.getElementById('loginsubmit').innerHTML = 'Signing in...';
		}
	}
	catch (error)
	{
		//alert("Error submitting form: " + error);
		//alert(error.getMessage());
	}
}

function handleLoginSubmit()
{
	if(ajaxRequest.readyState == 4)
	{
		var result = ajaxRequest.responseText;
		
		if(result.match(/^ok=.+/i))
		{
			window.location.reload(false);
//			var arr = result.split('=');
//			
//			var named = arr[1];
//			
//			document.getElementById('loginsubmit').style.visibility = 'hidden';
//			document.getElementById('loginsignup').style.visibility = 'hidden';
//			document.getElementById('loginusernameinput').style.visibility = 'hidden';
//			document.getElementById('loginpasswordinput').style.visibility = 'hidden';
//			document.getElementById('loginsuccess').style.visibility = 'visible';
//			document.getElementById('loginlogout').style.visibility = 'visible';
//			document.getElementById('loginmembername').innerHTML = named;
		}
		else if(result == 'no member')
		{
			document.getElementById('loginusernameinput').disabled = false;
			document.getElementById('loginpasswordinput').disabled = false;
			document.getElementById('loginusernameinput').style.color = 'red';
			document.getElementById('loginusernameinput').value = 'Wrong...';
			document.getElementById('loginsubmit').innerHTML = 'Sign in';

			document.getElementById('loginusernameinput').onfocus = function() {				
				document.getElementById('loginusernameinput').style.color = '#380b53';
				document.getElementById('loginusernameinput').value = '';
				this.onfocus = function() {if(this.value=='Email'){this.value='';this.style.color='#000033'}};
			};
		}
		else if(result == 'bad')
		{
			document.getElementById('loginusernameinput').disabled = false;
			document.getElementById('loginpasswordinput').disabled = false;
			document.getElementById('loginpasswordinput').style.color = 'red';
			document.getElementById('loginpasswordinput').type = 'text';
			document.getElementById('loginpasswordinput').value = 'Wrong...';
			document.getElementById('loginsubmit').innerHTML = 'Sign in';

			document.getElementById('loginpasswordinput').onfocus = function() {				
				document.getElementById('loginpasswordinput').style.color = '#380b53';
				document.getElementById('loginpasswordinput').value = '';
				document.getElementById('loginpasswordinput').type = 'password';
				this.onfocus = function() {if(this.value=='Password'){this.value='';this.type='password';this.style.color='#000033'}};
			};
		}
		else if(result == 'error')
		{
			document.getElementById('loginsubmit').style.visibility = 'hidden';
			document.getElementById('loginusernameinput').style.visibility = 'hidden';
			document.getElementById('loginpasswordinput').style.visibility = 'hidden';
			document.getElementById('loginerror').style.visibility = 'visible';
		}
	}
}

function submitLogout()
{
	if(ajaxRequest.readyState == 4 || ajaxRequest.readyState == 0)
	{
		try
		{
			ajaxRequest.open("GET", "/social/forms/Signout.php", true);
			ajaxRequest.onreadystatechange = handleLogoutSubmit;
			ajaxRequest.send(null);
		}
		catch (error)
		{
			//alert("Error submitting form: " + error);
		}
	}
}

//
function handleLogoutSubmit()
{
	if(ajaxRequest.readyState == 4)
	{
		var result = ajaxRequest.responseText;
		
		if(result.match(/^ok/i))
		{
			window.location.reload(false);
//			document.getElementById('loginsuccess').style.visibility = 'hidden';
//			document.getElementById('loginlogout').style.visibility = 'hidden';
//			document.getElementById('loginusernameinput').disabled = false;
//			document.getElementById('loginusernameinput').style.color = '#666666';
//			document.getElementById('loginusernameinput').value = 'Email';
//			document.getElementById('loginpasswordinput').disabled = false;
//			document.getElementById('loginpasswordinput').style.color = '#666666';
//			document.getElementById('loginpasswordinput').value = 'Password';
//			document.getElementById('loginpasswordinput').type = 'text';
//			document.getElementById('loginsubmit').style.cursor = 'pointer';
//			document.getElementById('loginsubmit').innerHTML = 'Sign in';
//			document.getElementById('loginsignup').style.visibility = 'visible';
//			document.getElementById('loginsubmit').style.visibility = 'visible';
//			document.getElementById('loginusernameinput').style.visibility = 'visible';
//			document.getElementById('loginpasswordinput').style.visibility = 'visible';
		}
	}

}

//
function submitVote(entryid, pos)
{
	//alert(span);
	if(ajaxRequest.readyState == 4 || ajaxRequest.readyState == 0)
	{
		try
		{
			if(!pos) {
				ajaxRequest.open("GET", "/social/forms/Vote.php?entryid="+entryid+"&bury=1", true);
			} else {
				ajaxRequest.open("GET", "/social/forms/Vote.php?entryid="+entryid, true);
			}
			
			ajaxRequest.onreadystatechange = handleVoteSubmit;
			ajaxRequest.send(null);
			document.getElementById('entriesvote').innerHTML = '<img src="/_images/social/working.gif" border=0 style="position:relative;top:2px;left:8px;width:12;height:12;" />';
			document.getElementById('entriesvote').blur();
		}
		catch (error)
		{
			//alert("Error submitting form: " + error);
		}
	}
}

function handleVoteSubmit()
{
	if(ajaxRequest.readyState == 4)
	{
		var result = ajaxRequest.responseText;

		if(result == 'ok' || result == 'redundant')	{
			document.getElementById('entriesvote').innerHTML = 'OK';
			document.getElementById('entriesvote').style.cursor = 'default';
			document.getElementById('entriesvote').style.textDecoration = 'none';
			document.getElementById('entriesvote').onclick = null;
			document.getElementById('entriesbury').innerHTML = '';
			document.getElementById('entriesbury').style.cursor = 'default';
			document.getElementById('entriesbury').style.textDecoration = 'none';
			document.getElementById('entriesbury').onclick = null;
			document.getElementById('entriesvoteimgdisable').style.visibility = visible;
		}
		else if(result == 'no member')	{
			//span.innerHTML = 'Sign In';
			document.getElementById('entriesvote').innerHTML = 'VOTE';
			var t = fadeOutIn('entriesdefault', 'entriessignin');
			setTimeout('fadeOutIn("entriessignin", "entriesdefault");', t+1000);
		}
		else if(result == 'error' || result == 'no entry')	{
			document.getElementById('entriesvote').innerHTML = 'ERROR';
			document.getElementById('entriesvote').style.cursor = 'default';
			document.getElementById('entriesvote').style.textDecoration = 'none';
			document.getElementById('entriesvote').onclick = null;
			document.getElementById('entriesvote').style.color = 'crimson';
			document.getElementById('entriesbury').innerHTML = '';
			document.getElementById('entriesbury').style.cursor = 'default';
			document.getElementById('entriesbury').style.textDecoration = 'none';
			document.getElementById('entriesbury').onclick = null;
			document.getElementById('entriesvoteimgdisable').style.visibility = visible;
		}
	}
}

function defaultHeader()
{
	document.getElementById('categoryallover').style.visibility=hidden;
	document.getElementById('categoryvideosover').style.visibility=hidden;
	document.getElementById('categorypicsover').style.visibility=hidden;
	document.getElementById('categorywebover').style.visibility=hidden;
	document.getElementById('categoryall').style.visibility=visible;
	document.getElementById('categoryvideos').style.visibility=visible;
	document.getElementById('categorypics').style.visibility=visible;
	document.getElementById('categoryweb').style.visibility=visible;
}

function toggleShare()
{
	if(document.getElementById('entriesshare').innerHTML.match(/share/i)) {
		// show share form
		var t = fadeOutIn('entriesdefault', 'entriesshareform');
		setTimeout('document.getElementById("entriesshare").innerHTML="CLOSE";document.getElementById("entriesvote").style.visibility=hidden;document.getElementById("entriesbury").style.visibility=hidden;', t+10);
	} else if(document.getElementById('entriesshare').innerHTML.match(/close/i)) {
		// hide share form
		var t = fadeOutIn('entriesshareform', 'entriesdefault');
		setTimeout('document.getElementById("entriesshare").innerHTML="SHARE";document.getElementById("entriesvote").style.visibility=visible;document.getElementById("entriesbury").style.visibility=visible;', t+10);
	}
}


function submitShare(entryid)
{
	var email = document.getElementById('entriesshareformemailinput').value;
	var message = document.getElementById('entriesshareformmsginput').value;
	
	// removes leading/ending whitespace
	email = email.replace(/^\s+|\s+$/g, '');
	message = message.replace(/^\s+|\s+$/g, '');
	
	if(checkShareEmail() && (ajaxRequest.readyState == 4 || ajaxRequest.readyState == 0))
	{
		var params = "entryid=" + entryid;
		params += "&emailaddress=" + encodeURIComponent(email);
		params += "&message=" + encodeURIComponent(message);
		try
		{
			ajaxRequest.open("GET", "/social/forms/Share.php?"+params, true);
			
			ajaxRequest.onreadystatechange = handleShareSubmit;
			shareentryid = entryid;
			ajaxRequest.send(null);
			document.getElementById('entriesshareformsubmit').innerHTML = '<img src="/_images/social/working.gif" border=0 style="position:relative;top:2px;left:8px;width:22;height:22;" />';
			document.getElementById('entriesshareformsubmit').blur();
		}
		catch (error)
		{
			//alert("Error submitting form: " + error);
		}
	}
}

function handleShareSubmit()
{
	if(ajaxRequest.readyState == 4)
	{
		var result = ajaxRequest.responseText;

		if(result == 'ok')	{
			document.getElementById('entriesshareformsubmit').innerHTML = 'Ok';
			setTimeout('shareentryid=false;document.getElementById(\'entriesshareformsubmit\').innerHTML=\'Submit &gt\';', 1100);
		}
		else if(result == 'error' || result == 'no entry')	{
			shareentryid = false;
			document.getElementById('entriesshareformsubmit').innerHTML = 'ERROR';
			document.getElementById('entriesshareformsubmit').style.cursor = 'default';
			document.getElementById('entriesshareformsubmit').style.textDecoration = 'none';
			document.getElementById('entriesshareformsubmit').style.color = 'crimson';
			document.getElementById('entriesshareformsubmit').onclick = null;
			document.getElementById('entriesshareformemailinput').disabled = true;
			document.getElementById('entriesshareformmsginput').disabled = true;
		}
	}
}


function checkShareEmail() {
	var emailinput = document.getElementById('entriesshareformemailinput');
	var email = emailinput.value;
	email = email.replace(/^\s+|\s+$/g, ''); // removes leading/ending whitespace
	
	// email filter basic: /^.+@.+\..{2,3,4,6}$/
	if(email != '' && !email.match(/^([^()<>\[\],;:\\\/\"]+)@([^()<>\[\],;:\\\/\"]+\.[a-zA-Z0-9]{2,6})$/)) {
		emailinput.style.border='1px solid red';
		return false;
	} else {
		emailinput.style.border='1px solid black';
		return true;
	}
}
