// JavaScript Document

function validate_required(field,alerttxt)
{
	with (field) {
		if (value==null||value=="") {
			alert(alerttxt);
			return false;
		}
		else {
			return true
		}
	}
}

function valArticle(thisform)
{
	with (thisform)
	{
		if (validate_required(txtTitle,"You must provide a title.")==false) {
			txtTitle.focus();
			return false;
		}
		else if (validate_required(txtTags,"You must provide at least one tag.")==false) {
			txtTags.focus();
			return false;
		}
		else if (validate_required(txtDisplayname,"You must provide a display name.")==false) {
			txtDisplayname.focus();
			return false;
		}
		else if (validate_required(ddAvatar,"You must select an avatar.")==false) {
			ddAvatar.focus();
			return false;
		}
	}
}


function valComment(id)
{
	if (validate_required(document.getElementById("txtName" + id),"You must provide a name.")==false) {
		document.getElementById("txtName" + id).focus();
		return false;
	}
	
	if (validate_required(document.getElementById("txtEmail" + id),"You must provide an email address. (We will never use this to spam you!)")==false) {
		document.getElementById("txtEmail" + id).focus();
		return false;
	}
	
	if (validate_required(document.getElementById("txtComments" + id),"You must provide comments.")==false) {
		document.getElementById("txtComments" + id).focus();
		return false;
	}
	
	return true;
}


function valNewAvatar(thisform)
{
	with (thisform)
	{
		if (validate_required(fFile,"You must provide an avatar file.")==false) {
			fFile.focus();
			return false;
		}
		else if (validate_required(txtDescription,"You must provide a description for your avatar.")==false) {
			txtDescription.focus();
			return false;
		}
		
		return true;
	}
}

function valAccountInfo(thisform)
{
	with (thisform)
	{
		if (validate_required(txtUpdateEmail,"You must provide an email address.")==false) {
			txtUpdateEmail.focus();
			return false;
		}
		else if (validate_required(txtUpdateConfirmEmail,"You must confirm your email address.")==false) {
			txtUpdateConfirmEmail.focus();
			return false;
		}
		else if (txtUpdateEmail.value != txtUpdateConfirmEmail.value) {
			alert("Your email and confirmation do not match.");
			txtUpdateConfirmEmail.value = "";
			txtUpdateConfirmEmail.focus();
			return false;
		}
		else if (validate_required(txtUpdatePassword,"You must provide a password of at least 6 characters.")==false) {
			txtUpdatePassword.focus();
			return false;
		}
		else if (txtUpdatePassword.value.length < 6) {
			alert("You must provide a password of at least 6 characters.");
			txtUpdatePassword.value = "";
			txtUpdatePassword.focus();
			return false;
		}
		else if (validate_required(txtUpdateConfirmPassword,"You must confirm your password.")==false) {
			txtUpdateConfirmPassword.focus();
			return false;
		}
		else if (txtUpdatePassword.value != txtUpdateConfirmPassword.value) {
			alert("Your password and confirmation do not match.");
			txtUpdateConfirmPassword.value = "";
			txtUpdateConfirmPassword.focus();
			return false;
		}
		
		return true;
	}
}

// CONTACT FORM
function valContactForm(thisform)
{
	with (thisform)
	{
		if (validate_required(txtName,"You must provide your name.")==false) {
			txtName.focus();
			return false;
		}
		else if (validate_required(txtEmail,"You must provide a valid email address.")==false) {
			txtEmail.focus();
			return false;
		}
		else if (echeck(txtEmail.value)==false) {
			txtEmail.focus();
			return false;
		}
		else if (validate_required(txtMessage,"You must provide a message.")==false) {
			txtMessage.focus();
			return false;
		}
	}
}

function echeck(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	
	if (str.indexOf(at)==-1){
	   alert("You must provide a valid email address.")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("You must provide a valid email address.")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    alert("You must provide a valid email address.")
	    return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    alert("You must provide a valid email address.")
	    return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    alert("You must provide a valid email address.")
	    return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    alert("You must provide a valid email address.")
	    return false
	 }
		
	 if (str.indexOf(" ")!=-1){
	    alert("You must provide a valid email address.")
	    return false
	 }

	 return true					
}