function getcookie(cookiename) {
	var cookiestring=""+document.cookie;
	//alert(document.cookie);
	var index1=cookiestring.indexOf(cookiename + '=');
	if (index1==-1 || cookiename=="") 
	{
		return ""; 
	}
	var index2=cookiestring.indexOf(';',index1);
	if (index2==-1) 
	{
		index2=cookiestring.length;
	} 
	return unescape(cookiestring.substring(index1+cookiename.length+1,index2));
}
function getexpirydate( nodays){
	var UTCstring;
	Today = new Date();
	nomilli=Date.parse(Today);
	Today.setTime(nomilli+nodays*24*60*60*1000);
	UTCstring = Today.toUTCString();
	return UTCstring;
}
function setcookie(name,value,duration){
	cookiestring=name+"="+escape(value)+";EXPIRES="+getexpirydate(duration);
	document.cookie=cookiestring;
	if(!getcookie(name)){
		return false;
	} else {
		return true;
	}
}
function logOut()
{
	setcookie("user","",0);
	setcookie("verif","",0);
	window.location="index.php";
}
function showAgreement()
{
	window.location="agreement.php";
}
function showLogin()
{
	window.location="login.php";
}
function getHeaderLinks()
{
	var userName = getcookie("user");
	if(userName != "" && userName != "undefined") 
	{
		return "<label class=\"welcomeUser\">Welcome " + userName + "!</label>&nbsp;&nbsp;<a href=\"javascript:logOut();\">[ Log Out ]</a>&nbsp;";
	} else {
		return "<a href=\"login.php\">[ Log in ]</a>&nbsp;<a href=\"agreement.php\">[ Register ]</a>&nbsp;";
	}
}
function getSignupImage()
{
	var userName = getcookie("user");
	if(userName != "" && userName != "undefined") 
	{
		return "&nbsp;";
	} else {
		return "<a href=\"agreement.php\"><img src=\"signup.png\"></a>";
	}
}
var colored = "";
function greyBGImage(colorTo)
{
	if(colorTo != colored){
		document.getElementById(colorTo).style.background = "url('sideButton"+colorTo+".jpg')"; 
	}
}
function greyAllBGImages()
{
	if (document.images) {
		image1on = new Image();
		image1on.src = "sideButtonRA.jpg";

		image1off = new Image();
		image1off.src = "sideButtonR.jpg";

		image2on = new Image();
		image2on.src = "sideButtonOA.jpg";

		image2off = new Image();
		image2off.src = "sideButtonO.jpg";

		image3on = new Image();
		image3on.src = "sideButtonYA.jpg";

		image3off = new Image();
		image3off.src = "sideButtonY.jpg";

		image4on = new Image();
		image4on.src = "sideButtonGA.jpg";

		image4off = new Image();
		image4off.src = "sideButtonG.jpg";

		image5on = new Image();
		image5on.src = "sideButtonBA.jpg";

		image5off = new Image();
		image5off.src = "sideButtonB.jpg";

		image6on = new Image();
		image6on.src = "sideButtonIA.jpg";

		image6off = new Image();
		image6off.src = "sideButtonI.jpg";
	}

	document.getElementById("R").style.background = "url('sideButtonR.jpg')"; 
	document.getElementById("O").style.background = "url('sideButtonO.jpg')"; 
	document.getElementById("Y").style.background = "url('sideButtonY.jpg')"; 
	document.getElementById("G").style.background = "url('sideButtonG.jpg')"; 
	document.getElementById("B").style.background = "url('sideButtonB.jpg')"; 
	document.getElementById("I").style.background = "url('sideButtonI.jpg')"; 
}
function fillBGImage(colorTo)
{
	document.getElementById(colorTo).style.background = "url('sideButton"+colorTo+"A.jpg')"; 
}
function selectSide(colorTo)
{
	colored = colorTo;
	fillBGImage(colorTo);
}
function findSubmitForm()
{
	document.findForm.submit();
}
function buddiesDeleteUser(deluser) {
	var service = deluser.slice(0, deluser.indexOf(":", 0));
	var user = deluser.slice(deluser.indexOf(":", 0) + 1, deluser.length);
	if (confirm("You are about to delete "+user+" on "+service+" from your buddy list.  Are you sure you want to do this?")) {
		setcookie("deluser",deluser,100000);
		window.location="deluser.php";
	}
}
function buddiesGetError()
{
	var error=getcookie("buddyError");
	setcookie("buddyError","",0);
	
	if(error != "" && error != "undefined")
	{
		var out = "";
		for (i = 0; i < error.length; i++) {
			if (error.charAt(i) != "+") {
				out += error.charAt(i);
			} else {
				out += " ";
			}
		}
		return "<p class=\"errors\">"+out+"</p>";
	} else {
		return "";
	}
}
function buddiesSubmitForm() {
	if(document.addBuddy.buddy.value.length < 1) {
		alert("You must specify your 'Buddy's IM Alias' to add a buddy!"); 
	} else {
		document.addBuddy.submit();
	}
}
function loginGetError()
{
	var error=getcookie("loginError");
	setcookie("loginError","",0);
	
	if(error != "" && error != "undefined")
	{
		var out = "";
		for (i = 0; i < error.length; i++) {
			if (error.charAt(i) != "+") {
				out += error.charAt(i);
			} else {
				out += " ";
			}
		}
		return "<p class=\"errors\">"+out+"</p>";
	} else {
		return "";
	}
}
function settingsGetStatus()
{
	if(document.settingsForm.accountstatus.value == "PENDING") {
		var lbl = document.getElementById("statusMessage");
		lbl.firstChild.nodeValue = "Your account is currently pending moderator review.";
	} else if (document.settingsForm.accountstatus.value == "REJECTED") {
		var lbl = document.getElementById("statusMessage");
		lbl.firstChild.nodeValue = "Your account has been rejected by a moderator.  Check your e-mail for more details.";
	} else if (document.settingsForm.accountstatus.value == "DISABLED") {
		var lbl = document.getElementById("statusMessage");
		lbl.firstChild.nodeValue = "Your profile is not currently viewable by other members.  To correct this, set your account status to 'Active'.";
	} else {
		return "";
	}

}
function settingsGetError()
{
	var error=getcookie("set_error");
	if(error != "" && error != "undefined")
	{
		var out = "";
		for (i = 0; i < error.length; i++) {
			if (error.charAt(i) != "+") {
				out += error.charAt(i);
			} else {
				out += " ";
			}
		}
		return "<p class=\"errors\">"+out+"</p>";
	} else {
		return "";
	}
}
function settingsCheckForErrors()
{
	var data=new Array(15);
	var i = 0;
	for(i = 0; i <= 14; i++)
	{
		data[i] = getcookie("data" + i);
		while (data[i].indexOf("%20") > -1)
		{
			data[i] = data[i].replace("%20", " ");
		}
		setcookie("data" + i, "", 0);
	}
	setcookie("set_error","",0);
	
	if(data[0]!="" && data[0].length > 3) {
		
		if(data[0]!="ACTIVE" && data[0]!="DISABLED") {
			document.settingsForm.accountstatus.disabled="true";
			document.settingsForm.accountstatus.options[document.settingsForm.accountstatus.options.length] = new Option(data[0]); 
		}
		document.settingsForm.accountstatus.value=data[0];		
		document.settingsForm.email.value=data[1];
		document.settingsForm.color.value=data[2];
		document.getElementById('colorBack').style.background = "url('sideButton"+document.settingsForm.color.value+".jpg')"; 
		document.settingsForm.aim.value=data[3];
		document.settingsForm.gtalk.value=data[4];
		document.settingsForm.icq.value=data[5];
		document.settingsForm.jabber.value=data[6];
		document.settingsForm.msn.value=data[7];
		document.settingsForm.yahoo.value=data[8];
		document.settingsForm.name.value=data[9];
		document.settingsForm.gender.value=data[10];
		document.settingsForm.age.value=data[11];
		document.settingsForm.location.value=data[12];
		document.settingsForm.intrests.value=data[13];
		document.settingsForm.description.value=data[14];	
	}	
}
function referCheckValues()
{
	var errorMessage = "";
	if (document.referForm.sendToEmail.value.length > 0) {
		i=document.referForm.sendToEmail.value.indexOf("@")
		j=document.referForm.sendToEmail.value.indexOf(".",i)
		k=document.referForm.sendToEmail.value.indexOf(",")
		kk=document.referForm.sendToEmail.value.indexOf(" ")
		jj=document.referForm.sendToEmail.value.lastIndexOf(".")+1
		len=document.referForm.sendToEmail.value.length
			if ((i>0) && (j>(1+1)) && (k==-1) && (kk==-1) && (len-jj >=2) && (len-jj<=5)) {
			var lbl = document.getElementById("lblEmail");
			lbl.firstChild.nodeValue=" ";			
		} else {
			errorMessage = errorMessage + "The e-mail address you entered appears to be invalid\n\n";
			var lbl = document.getElementById("lblEmail");
			lbl.firstChild.nodeValue="*";
		}
	} else {
		errorMessage = errorMessage + "You MUST enter an e-mail address to send the invite to.\n\n";
		var lbl = document.getElementById("lblEmail");
		lbl.firstChild.nodeValue="*";
	}
	if(document.referForm.fromUser.value.length >= 1000) {
		errorMessage = errorMessage + "You have too much text in the 'Your Name' field.  Keep it under 1000 characters.\n\n";
	}
	
	if (errorMessage == "") {
		//alert("Your invitation has been sent.  Thank you!");
		document.referForm.submit();
	} else {
		alert("Please correct the following errors:\n\n" + errorMessage);
	}

}
function settingsCheckValues()
{
	var errorMessage = "";
	var validChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
		var lbl = document.getElementById("lblPass1");
	lbl.firstChild.nodeValue=" ";		
	var lbl = document.getElementById("lblPass2");
	lbl.firstChild.nodeValue=" ";
	if (document.settingsForm.passold.value != "") {
		if (document.settingsForm.pass1.value.length < 4 || document.settingsForm.pass2.value.length < 4){
				errorMessage = errorMessage + "Your Passwords must both be at least 4 characters long.\n\n";
				var lbl = document.getElementById("lblPass1");
				lbl.firstChild.nodeValue="*";		
				var lbl = document.getElementById("lblPass2");
				lbl.firstChild.nodeValue="*";
		} else {
			if (document.settingsForm.pass1.value != document.settingsForm.pass2.value) {
				errorMessage = errorMessage + "Your Passwords do not match!  Please re-type them.\n\n";
				var lbl = document.getElementById("lblPass1");
				lbl.firstChild.nodeValue="*";		
				var lbl = document.getElementById("lblPass2");
				lbl.firstChild.nodeValue="*";
			}
		}
	}
	if (document.settingsForm.aim.value.length == 0 && document.settingsForm.gtalk.value.length == 0 && document.settingsForm.icq.value.length == 0 && document.settingsForm.jabber.value.length == 0 && document.settingsForm.msn.value.length == 0 && document.settingsForm.yahoo.value.length == 0) {
		errorMessage = errorMessage + "You must provide at least one IM alias\n\n";	
	}
	if (document.settingsForm.email.value.length > 0) {
		i=document.settingsForm.email.value.indexOf("@")
		j=document.settingsForm.email.value.indexOf(".",i)
		k=document.settingsForm.email.value.indexOf(",")
		kk=document.settingsForm.email.value.indexOf(" ")
		jj=document.settingsForm.email.value.lastIndexOf(".")+1
		len=document.settingsForm.email.value.length
			if ((i>0) && (j>(1+1)) && (k==-1) && (kk==-1) && (len-jj >=2) && (len-jj<=5)) {
			var lbl = document.getElementById("lblEmail");
			lbl.firstChild.nodeValue=" ";			
		} else {
			errorMessage = errorMessage + "Your e-mail address appears to be invalid\n\n";
			var lbl = document.getElementById("lblEmail");
			lbl.firstChild.nodeValue="*";
		}
	} else {
		errorMessage = errorMessage + "You MUST enter an e-mail address to register at this site.\n\n";
		var lbl = document.getElementById("lblEmail");
		lbl.firstChild.nodeValue="*";
	}
		if(document.settingsForm.intrests.value.length >= 10000) {
		errorMessage = errorMessage + "You have too much text in the 'My Intrests' field.  Keep it under 10,000 chracters.\n\n";
	}
	
	if(document.settingsForm.description.value.length >= 10000) {
		errorMessage = errorMessage + "You have too much text in the 'About Me' field.  Keep it under 10,000 characters.\n\n";
	}
	
	if (errorMessage == "") {
		document.settingsForm.btnSubmit.value="Sending...";
		document.settingsForm.submit();
	} else {
		alert("Please correct the following errors:\n\n" + errorMessage);
	}
}
function settingsLoadColorImage()
{
	document.getElementById('colorBack').style.background = "url('sideButton"+document.settingsForm.color.value+".jpg')"; 
}
function removeImage(imageID) {
	if (confirm("You are about mark image #" + imageID + " for deletion from your account.  Are you sure you want to do this?")) {
		document.getElementById('deleteImageID'+imageID).setAttribute("value","delete");
		alert("Image #" + imageID + " has been marked for deletion.  You now need to click 'Save' at the bottom to actually perform the deletion.");
		//setcookie("deluser",deluser,100000);
		//window.location="deluser.php";
	}
}
function agreementGoBack()
{
	alert("You MUST agree to the 'Terms and Conditions' to register.  You will now be returned to the previous page.");
		
	window.history.back();
}
function goRegister()
{
	window.location='register.php';
}	
function registerLoadColorImage()
{
	document.getElementById('colorBack').style.background = "url('sideButton"+document.registerForm.color.value+".jpg')"; 
}
function registerGetError()
{
	var error=getcookie("rs_error");
	if(error != "" && error != "undefined")
	{
		var out = "";
		for (i = 0; i < error.length; i++) {
			if (error.charAt(i) != "+") {
				out += error.charAt(i);
			} else {
				out += " ";
			}
		}
		return "<p class=\"errors\">"+out+"</p>";
	} else {
		return "";
	}
}
function registerCheckForErrors()
{
	var data=new Array(16);
	var i = 0;
	for(i = 0; i <= 15; i++)
	{
		data[i] = getcookie("data" + i);
		while (data[i].indexOf("%20") > -1)
		{
			data[i] = data[i].replace("%20", " ");
		}
		setcookie("data" + i, "", 0);
	}
	setcookie("rs_error","",0);
	if(data[0]!="" && data[0].length > 3) {
		document.registerForm.alias.value=data[0];
		document.registerForm.pass1.value=data[1];
		document.registerForm.pass2.value=data[2];
		document.registerForm.email.value=data[3];
		document.registerForm.color.value=data[4];
		document.getElementById('colorBack').style.background = "url('sideButton"+document.registerForm.color.value+".jpg')"; 
		document.registerForm.aim.value=data[5];
		document.registerForm.gtalk.value=data[6];
		document.registerForm.icq.value=data[7];
		document.registerForm.jabber.value=data[8];
		document.registerForm.msn.value=data[9];
		document.registerForm.yahoo.value=data[10];
		document.registerForm.name.value=data[11];
		document.registerForm.gender.value=data[12];
		document.registerForm.age.value=data[13];
		document.registerForm.location.value=data[14];
		document.registerForm.intrests.value=data[15];
		document.registerForm.description.value=data[16];	
	}	
}
function registerCheckValues()
{
	var errorMessage = "";
	var validChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
	var lbl = document.getElementById("lblAlias");
	lbl.firstChild.nodeValue=" ";
	if (document.registerForm.aim.value.length == 0 && document.registerForm.gtalk.value.length == 0 && document.registerForm.icq.value.length == 0 && document.registerForm.jabber.value.length == 0 && document.registerForm.msn.value.length == 0 && document.registerForm.yahoo.value.length == 0) {
		errorMessage = errorMessage + "You must provide at least one IM alias\n\n";	
	}
	if (document.registerForm.alias.value.length < 4) {
		errorMessage = errorMessage + "Your 'Desired Username' must be at least 4 characters long.\n\n";
		var lbl = document.getElementById("lblAlias");
		lbl.firstChild.nodeValue="*";
	} else {
		for (var i = 0; i < document.registerForm.alias.value.length; i++) {
			if (validChars.indexOf(document.registerForm.alias.value.charAt(i)) == -1) {
				errorMessage = errorMessage + "Your 'Desired Username' contains invalid characters. (Valid characters for this field are 'A-Z', '0-9', and underscores '_')\n\n";
				var lbl = document.getElementById("lblAlias");
				lbl.firstChild.nodeValue="*";
				i = document.registerForm.alias.value.length;
			}
		}
	}
	var lbl = document.getElementById("lblPass1");
	lbl.firstChild.nodeValue=" ";		
	var lbl = document.getElementById("lblPass2");
	lbl.firstChild.nodeValue=" ";
	if (document.registerForm.pass1.value.length < 4 || document.registerForm.pass2.value.length < 4){
		errorMessage = errorMessage + "Your Passwords must both be at least 4 characters long.\n\n";
		var lbl = document.getElementById("lblPass1");
		lbl.firstChild.nodeValue="*";		
		var lbl = document.getElementById("lblPass2");
		lbl.firstChild.nodeValue="*";
	} else {
		if (document.registerForm.pass1.value != document.registerForm.pass2.value) {
			errorMessage = errorMessage + "Your Passwords do not match!  Please re-type them.\n\n";
			var lbl = document.getElementById("lblPass1");
			lbl.firstChild.nodeValue="*";		
			var lbl = document.getElementById("lblPass2");
			lbl.firstChild.nodeValue="*";
		}
	}
	
	if (document.registerForm.email.value.length > 0) {
		i=document.registerForm.email.value.indexOf("@")
		j=document.registerForm.email.value.indexOf(".",i)
		k=document.registerForm.email.value.indexOf(",")
		kk=document.registerForm.email.value.indexOf(" ")
		jj=document.registerForm.email.value.lastIndexOf(".")+1
		len=document.registerForm.email.value.length
		if ((i>0) && (j>(1+1)) && (k==-1) && (kk==-1) && (len-jj >=2) && (len-jj<=5)) {
			var lbl = document.getElementById("lblEmail");
			lbl.firstChild.nodeValue=" ";			
		} else {
			errorMessage = errorMessage + "Your e-mail address appears to be invalid\n\n";
			var lbl = document.getElementById("lblEmail");
			lbl.firstChild.nodeValue="*";
		}
	} else {
		errorMessage = errorMessage + "You MUST enter an e-mail address to register at this site.\n\n";
		var lbl = document.getElementById("lblEmail");
		lbl.firstChild.nodeValue="*";
	}
	if(document.registerForm.intrests.value.length >= 10000) {
		errorMessage = errorMessage + "You have too much text in the 'My Intrests' field.  Keep it under 10,000 chracters.\n\n";
	}
	
	if(document.registerForm.description.value.length >= 10000) {
		errorMessage = errorMessage + "You have too much text in the 'About Me' field.  Keep it under 10,000 chracters.\n\n";
	}
	
	if (errorMessage == "") {
		document.registerForm.btnSubmit.value="Sending...";
		document.registerForm.submit();
	} else {
		alert("Please correct the following errors:\n\n" + errorMessage);
	}
}
function forgotGetError()
{
	var error=getcookie("forgotMessage");
	setcookie("forgotMessage","",0);

	if(error != "" && error != "undefined")
	{
		var out = "";
		for (i = 0; i < error.length; i++) {
			if (error.charAt(i) != "+") {
				out += error.charAt(i);
			} else {
				out += " ";
			}
		}
		return "<p class=\"errors\">"+out+"</p>";
	} else {
		return "";
	}
}
function forgotSubmitForm()
{
	document.forgotForm.submit();
}
function resendGetError()
{
	var error=getcookie("resendMessage");
	setcookie("resendMessage","",0);
	
	if(error != "" && error != "undefined")
	{
		var out = "";
		for (i = 0; i < error.length; i++) {
			if (error.charAt(i) != "+") {
				out += error.charAt(i);
			} else {
				out += " ";
			}
		}
		return "<p class=\"errors\">"+out+"</p>";
	} else {
		return "";
	}
}
function resendSubmitForm()
{
	document.resendForm.submit();
}
function articleGetUser()
{
	var userName=getcookie("user");
	if(userName != "" && userName != "undefined") {
		return "<label class=\"submitArticlePageUser\">Submitter: " + userName + "</label>";
	} else {
		return "<label class=\"submitArticlePageUser\">Submitter: Anonymous</label>&nbsp;&nbsp;<a href=\"javascript:articleLogIn();\">[ Log In ]</a>&nbsp;";
	}
}
function sendArticle()
{
	var errorMessage = "";
	if(document.articleForm.article.value.length >= 10000) {
		errorMessage = errorMessage + "There is too much text in this article.  Keep it under 10,000 characters.\n\n";
	}
	
	if (errorMessage == "") {
		document.articleForm.btnSubmit.value="Sending...";
		document.articleForm.submit();
	} else {
		alert("Please correct the following errors:\n\n" + errorMessage);
	}
}
function articleLogIn() {
	setcookie("showpage","submitarticle.php",100000);
	document.location="login.php";
}
function contactSendMessage()
{
	var errorMessage = "";
	if(document.contactForm.message.value.length >= 10000) {
		errorMessage = errorMessage + "There is too much text in this message.  Keep it under 10,000 characters.\n\n";
	}
	
	if (errorMessage == "") {
		document.contactForm.btnSubmit.value="Sending...";
		document.contactForm.submit();
	} else {
		alert("Please correct the following errors:\n\n" + errorMessage);
	}
}
function reportUser(userName) {
	window.location="pend.php?user="+userName;
}
function showProfileImage(imageName, imageID) {
	document.getElementById('previewImage' + imageID).setAttribute("src","images/thumbsBig/" + imageName);
	document.getElementById('imageLink' + imageID).setAttribute("href","images/" + imageName);
}
