// JavaScript Document
//Check Registration Form
function checkregform ( form )
{
	  var alphanumExp = /^[0-9a-zA-Z]+$/;
	  var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
  // ** START **
  
	  if (form.user.value == "") {
		alert( "Please enter your your username!" );
		form.user.focus();
		return false ;
	  }
	  if (form.user.value != form.user.value.match(alphanumExp)) {
		alert( "Your username is not Alpha-Numeric!" );
		form.user.focus();
		return false ;
	  }
	  
	  if (form.email.value == "") {
		alert( "Please enter your email address!" );
		form.email.focus();
		return false ;
	  }
	  if (form.email.value != form.email.value.match(emailExp)) {
		alert( "You must specify a valid email address!" );
		form.email.focus();
		return false ;
	  }
	  
	  if (form.pass.value == "") {
		alert( "You must enter your password!" );
		form.pass.focus();
		return false ;
	  }
	  if (form.pass.value != form.pass.value.match(alphanumExp)) {
		alert( "Your password is not Alpha-Numeric!" );
		form.pass.focus();
		return false ;
	  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
  // ** END **
  return true ;
}

//Check Forgotten Password Form
function checkforform ( form )
{
	  var alphanumExp = /^[0-9a-zA-Z]+$/;
  // ** START **
  
	  if (form.user.value == "") {
		alert( "Please enter your your username!" );
		form.user.focus();
		return false ;
	  }
	  if (form.user.value != form.user.value.match(alphanumExp)) {
		alert( "Your username is not Alpha-Numeric!" );
		form.user.focus();
		return false ;
	  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
  // ** END **
  return true ;
}

//Check Login Form
function checkloginform ( form )
{
	  var alphanumExp = /^[0-9a-zA-Z]+$/;
  // ** START **
  
	  if (form.user.value == "") {
		alert( "Please enter your your username!" );
		form.user.focus();
		return false ;
	  }
	  if (form.user.value != form.user.value.match(alphanumExp)) {
		alert( "Your username is not Alpha-Numeric!" );
		form.user.focus();
		return false ;
	  }
	  
	  if (form.pass.value == "") {
		alert( "You must enter your password!" );
		form.pass.focus();
		return false ;
	  }
	  if (form.pass.value != form.pass.value.match(alphanumExp)) {
		alert( "Your password is not Alpha-Numeric!" );
		form.pass.focus();
		return false ;
	  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check Avatar Upload Form
function checkavform ( form )
{

	if(!document.avatarupload.delav.checked){

	  // ** START **
	  
		  if (form.av.value == "") {
			alert( "Please select a valid image file! \n(.jpg)" );
			form.av.focus();
			return false ;
		  }
		  
			if(!/(\.jpg|\.jpeg)$/i.test(form.av.value)) {
				alert("Please select a valid image file! \n(.jpg)");
				form.av.focus();
				return false;
			}
				alert("The file(s) you have selected are now being uploaded");
				toggleDetail('up_prog',3);
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
	}
	return true ;
	
}

//Text Limiter
var count = "255";
function limiter(){
	var tex = document.form.biog.value;
	var len = tex.length;
	
		if( len > count){
				alert( "You have used up the "+count+" chracters for your biography!" );
				tex = tex.substring(0,count);
				document.form.biog.value =tex;
				document.form.biog.focus;
				return false;
		}
		
		document.form.limit.value = count-len;
}

//Check User Profile Form
function checkproform ( form )
{
	  var alphanumExp = /^[0-9a-zA-Z]+$/;
	  var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	  
	  var bioglimit = "255";
	  var bioglength = form.biog.length;
  // ** START **
	  
	  if (form.email.value == "") {
		alert( "Please enter your email address!" );
		form.email.focus();
		return false ;
	  }
	  if (form.email.value != form.email.value.match(emailExp)) {
		alert( "You must specify a valid email address!" );
		form.email.focus();
		return false ;
	  }
	  
	  if (form.firstname.value != "") {
		  if (form.firstname.value != form.firstname.value.match(alphanumExp)) {
			alert( "Your firstname is not valid, please remove it or make sure it is alpha numeric!" );
			form.firstname.focus();
			return false ;
		  }
		  
		  if (form.surname.value == "") {
			alert( "Please enter your surname!" );
			form.surname.focus();
			return false ;
		  }
		  if (form.surname.value != form.surname.value.match(alphanumExp)) {
			alert( "Your surname is not valid, please make sure it is alpha numeric!" );
			form.surname.focus();
			return false ;
		  }
	  }

	  if (form.pass.value == "") {
		alert( "You must enter your password!" );
		form.pass.focus();
		return false ;
	  }
	  if (form.pass.value != form.pass.value.match(alphanumExp)) {
		alert( "Your password is not Alpha-Numeric!" );
		form.pass.focus();
		return false ;
	  }
	  
	  if (form.newpass.value != "") {
		  if (form.newpass.value != form.newpass.value.match(alphanumExp)) {
			alert( "Your new password is not valid, please remove it or make sure it is alpha numeric!" );
			form.newpass.focus();
			return false ;
		  }
		  
		  if (form.c_newpass.value == "") {
			alert( "Please confirm your new password!" );
			form.c_newpass.focus();
			return false ;
		  }
		  if (form.c_newpass.value != form.newpass.value) {
			alert( "Your new password does not match its confirmation!" );
			form.c_newpass.focus();
			return false ;
		  }
	  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check Admin Profile Form
function checkadminproform ( form )
{
	  var alphanumExp = /^[0-9a-zA-Z]+$/;
	  var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	  var userlength = document.form.user.value.length;
	  
	  var bioglimit = "255";
	  var bioglength = form.biog.length;
  // ** START **
	  
	  if (form.user.value == "") {
		alert( "Please enter a username!" );
		form.user.focus();
		return false ;
	  }
		  if (userlength <= 3) {
			alert( "The firstname is not valid, please make sure it more than 3 characters!" );
			form.user.focus();
			return false ;
		  }
		  if (form.user.value != form.user.value.match(alphanumExp)) {
			alert( "The firstname is not valid, please make sure it is alpha numeric!" );
			form.user.focus();
			return false ;
		  }
	  
	  if (form.email.value == "") {
		alert( "Please enter an email address!" );
		form.email.focus();
		return false ;
	  }
	  if (form.email.value != form.email.value.match(emailExp)) {
		alert( "You must specify a valid email address!" );
		form.email.focus();
		return false ;
	  }
	  
	  if (form.firstname.value != "") {
		  if (form.firstname.value != form.firstname.value.match(alphanumExp)) {
			alert( "The firstname is not valid, please remove it or make sure it is alpha numeric!" );
			form.firstname.focus();
			return false ;
		  }
		  
		  if (form.surname.value == "") {
			alert( "Please enter a surname!" );
			form.surname.focus();
			return false ;
		  }
		  if (form.surname.value != form.surname.value.match(alphanumExp)) {
			alert( "The surname is not valid, please make sure it is alpha numeric!" );
			form.surname.focus();
			return false ;
		  }
	  }

	  if (form.pass.value == "") {
		alert( "You must enter a password!" );
		form.pass.focus();
		return false ;
	  }
	  if (form.pass.value != form.pass.value.match(alphanumExp)) {
		alert( "The password is not Alpha-Numeric!" );
		form.pass.focus();
		return false ;
	  }
	  
	  if (form.newpass.value != "") {
		  if (form.newpass.value != form.newpass.value.match(alphanumExp)) {
			alert( "The new password is not valid, please remove it or make sure it is alpha numeric!" );
			form.newpass.focus();
			return false ;
		  }
		  
		  if (form.c_newpass.value == "") {
			alert( "Please confirm the new password!" );
			form.c_newpass.focus();
			return false ;
		  }
		  if (form.c_newpass.value != form.newpass.value) {
			alert( "The new password does not match its confirmation!" );
			form.c_newpass.focus();
			return false ;
		  }
	  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check Admin IP Form
function checkadminipform ( form )
{
	  var ipExp = /^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/;
	  
  // ** START **
	  
	  if (form.ip.value == "") {
		alert( "Please enter a valid IP ADDRESS!" );
		form.ip.focus();
		return false ;
	  }
	  if (!ipExp.test(form.ip.value)) {
		alert( "Please enter a valid IP ADDRESS!" );
		form.ip.focus();
		return false ;
	  }
  // ** END **
  return true ;
}

//Check Site Upload Form
function checksiteform ( form )
{
	  var alphanumExp = /^[0-9a-zA-Z\-\_\s]+$/;
	  var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	  var linkExp= /^(http:\/\/[A-Za-z0-9\.\-]{3,}\.[A-Za-z\.]{3,10}\/)([A-Za-z0-9\_\-\&\=\/\?]{0,100})$/;	  
  // ** START **
	  
	  if (form.title.value == "") {
		alert( "Please enter your website's name!" );
		form.title.focus();
		return false ;
	  }
	  if (form.title.value != form.title.value.match(alphanumExp)) {
		alert( "Please make sure your website's name is alpha numeric!" );
		form.title.focus();
		return false ;
	  }
	  
	  if (form.site_link.value == "") {
		alert( "Please make sure your website's URL is valid!\n(http://yoursitename.com/)" );
		form.site_link.value = "http://";
		form.site_link.focus();
		return false ;
	  }
	  if (!linkExp.test(form.site_link.value)) {
		alert( "Please make sure your website's URL is valid!\n(http://yoursitename.com/)" );
		form.site_link.focus();
		return false ;
	  }
	  
	if(!document.form.delav.checked){
				
		  if (form.av.value != "") {
		  
			if(!/(\.jpg|\.jpeg)$/i.test(form.av.value)) {
				alert("Please select a valid image file! \n(.jpg)");
				form.av.focus();
				return false;
			}
				alert("The file(s) you have selected are now being uploaded");
				toggleDetail('up_prog',3);
				form.avup.value = "yes";
				return true;
		  } else {
				form.avup.value = "no";
		  }
	} else {
		form.avup.value = "no";
	}
	  toggleDetail('proc',1);
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check Feature Upload Form
function checkfeatureform ( form )
{
	var linkbegin= /^(http:\/\/[A-Za-z0-9\.\-]{3,}\.[A-Za-z\.]{3,10}\/)([A-Za-z0-9\_\-\&\=\/\?]{0,100})$/;
	  // ** START **
		  if (form.title.value == "") {
			alert( "Please give your feature a title!" );
			form.title.focus();
				return false;
		  }
		  
			  if (form.url.value != "") {
				if ( !linkbegin.test(form.url.value) ) {
					alert( "Please specify a valid URL! \n(http://www.yourlink.com/)" );
					form.url.focus()
					return false;
				}
			  }
				
		  if (form.av.value == "") {
				alert( "Please select a valid image file! \n(.jpg)" );
				form.av.focus();
				return false;
		  }
		  
			if(!/(\.jpg|\.jpeg)$/i.test(form.av.value)) {
				alert("Please select a valid image file! \n(.jpg)");
				form.av.focus();
				return false;
			}
			if ( document.form.av.value != "" ) {	
				alert("The file(s) you have selected are now being uploaded");
				toggleDetail('up_prog',3);
			}
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
	return true ;
	
}

//Check Blog Form
function checkblogform ( form )
{

  // ** START **
	  
		  if (form.title.value == "") {
			alert( "Please give your blog a title!" );
			form.title.focus();
			return false ;
		  }
		  if (form.text.value == "") {
			alert( "Please enter some text into your blog!" );
			form.text.focus();
			return false ;
		  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check Email Form
function checkemailform ( form )
{

  // ** START **
	  
		  if (form.title.value == "") {
			alert( "Please give your email a subject!" );
			form.title.focus();
			return false ;
		  }
		  if (form.text.value == "") {
			alert( "Please enter some text into your email!" );
			form.text.focus();
			return false ;
		  }
		  if (form.senderemail.value == "") {
				var answer = confirm("There is currently no email address associated to this account!\n\nDo you want to add one now?")
				if (answer)
				{
					window.location = "?function=e268443e43d93dab7ebef303bbe9642f&mode=d445af6ff723ac6da265f6ec2ce20db9";
				}
			return false ;
		  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check News Form
function checknewsform ( form )
{

  // ** START **
	  
		  if (form.title.value == "") {
			alert( "Please give your news a title!" );
			form.title.focus();
			return false ;
		  }
		  if (form.text.value == "") {
			alert( "Please enter some text into your news!" );
			form.text.focus();
			return false ;
		  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check Events Form
function checkeventsform ( form )
{

  // ** START **
	  
		  if (form.title.value == "") {
			alert( "Please give your event a title!" );
			form.title.focus();
			return false ;
		  }
		  if (form.text.value == "") {
			alert( "Please enter some text into your event description!" );
			form.text.focus();
			return false ;
		  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check About Form
function checkaboutform ( form )
{

  // ** START **
	  
		  if (form.title.value == "") {
			alert( "Please give your entry a title!" );
			form.title.focus();
			return false ;
		  }
		  if (form.subtitle.value == "") {
			alert( "Please give your entry a subtitle!" );
			form.subtitle.focus();
			return false ;
		  }
		  if (form.age.value == "") {
			alert( "Please enter your age at the time this entry is based!\n\n(e.g ,21 - 90)" );
			form.age.focus();
			return false ;
		  }
		  if (form.year.value == "") {
			alert( "Please enter the year(s) this entry is based in!\n\n(e.g ,1999 - 2004)" );
			form.year.focus();
			return false ;
		  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check Works Form
function checkworksform ( form )
{

	var opuscheck= /(((DCuW\.\s)|(Op\.\s))([0-9\?]{1,2})|((DCuW\.\s)|(Op\.\s))([0-9\?]{1,2})(\,\s)(No\.\s)([0-9\?]{1,2}))|(Unknown)/;
	var datecheck= /(^([A-Za-z]{3,9}\s[0-9]{2,4}){0,1}(\s\-\s[A-Za-z]{3,9}\s[0-9]{2,4}){0,1}$)|(Unfinished)|(Continuous)/;
	  // ** START **
	  	  if (form.type.value == "work") {
			  if (form.title.value == "") {
				alert( "Please give your work a valid title!" );
				form.title.focus();
				return false ;
			  }
			  
				if ( document.form.opus.value == "" ) {
					alert( "Please specify an opus number!" );
					document.form.opus.focus();
					return false ;
				} else {
					
					if ( !opuscheck.test(document.form.opus.value) ) {
						alert( "Please specify a valid opus number! \n\nDCuW. [?], No. [?] (Unpublished)\n(Op. [?], No. [?])" );
						document.form.opus.focus();
						return false ;
					}
					
				}
				
				if ( document.form.date.value == "" ) {
					alert( "Please specify the date this work was written!" );
					document.form.date.focus();
					return false ;
				} else {
					
					if ( !datecheck.test(document.form.date.value) ) {
						alert( "Please specify a valid date!\n(e.g December 1987)" );
						document.form.date.focus();
						return false ;
					}
					
				}
			if ( document.form.av.value != "" | document.form.midi.value != "" | document.form.mp3.value != "" | document.form.pdf.value != "" ) {	
				alert("The file(s) you have selected are now being uploaded");
				toggleDetail('up_prog',3);
			}
		
		  } else { 
		  
			  if (form.title.value == "") {
				alert( "Please give your suite a valid title!" );
				form.title.focus();
				return false ;
			  }
					if ( !opuscheck.test(document.form.opus.value) ) {
						alert( "Please specify a valid opus number! \n\nDCuW. [?], No. [?] (Unpublished)\n(Op. [?], No. [?])" );
						document.form.opus.focus();
						return false ;
					}
					
				if ( document.form.date.value == "" ) {
					alert( "Please specify the date this work was written!" );
					document.form.date.focus();
					return false ;
				} else {
					
					if ( !datecheck.test(document.form.date.value) ) {
						alert( "Please specify a valid date!\n(e.g December 1987)" );
						document.form.date.focus();
						return false ;
					}
					
				}
			  
			  if (form.text_short.value == "") {
				alert( "Please give your suite a valid description!" );
				form.text_short.focus();
				return false ;
			  }
		  
		  }
		  
	
	  toggleDetail('proc',1);
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}

//Check Video Form
function checkvideoform ( form )
{

	  // ** START **

			  if (form.title.value == "") {
				alert( "Please give your video a valid title!" );
				form.title.focus();
				return false ;
			  }
			  
			  if (form.ytlink.value == "") {
				alert( "Please give your video a valid YouTube link code!" );
				form.ytlink.focus();
				return false ;
			  }
			  
			  if (form.text.value == "") {
				alert( "Please give your video a valid description!" );
				form.text.focus();
				return false ;
			  }
			  
	if(!document.form.delav.checked){

		  if (form.av.value != "") {
		  
			if(!/(\.jpg|\.jpeg)$/i.test(form.av.value)) {
				alert("Please select a valid image file! \n(.jpg)");
				form.av.focus();
				return false;
			}
		
		  }
	}
			if ( document.form.av.value != "" ) {	
				alert("The file(s) you have selected are now being uploaded");
				toggleDetail('up_prog',3);
			}
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
	return true ;
	
}

//Check Store Item Form
function checkstoreitemform ( form )
{
	  var numExp = /^[0-9]+$/;
  // ** START **
  
	  if (form.title.value == "") {
		alert( "Please enter the item title!" );
		form.title.focus();
		return false ;
	  }
	  if (form.price1.value != form.price1.value.match(numExp)) {
		alert( "You must specify a valid price!" );
		form.price1.focus();
		return false ;
	  }

	  if (form.price2.value != form.price2.value.match(numExp)) {
		alert( "You must specify a valid price!" );
		form.price2.focus();
		return false ;
	  }
			if ( document.form.av.value != "" ) {	
				alert("The file(s) you have selected are now being uploaded");
				toggleDetail('up_prog',3);
			}
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
  // ** END **
  return true ;
}

//Check Forum Form
function checkforumform ( form )
{

  // ** START **
	  
		  if (form.subject.value == "") {
			alert( "Please give your poast a subject!" );
			form.subject.focus();
			return false ;
		  }
		  if (form.text.value == "") {
			alert( "Please enter some text into your post!" );
			form.text.focus();
			return false ;
		  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}


//Check Comments Form
function checkcommentform ( form )
{

  // ** START **
	  
		  if (form.title.value == "") {
			alert( "Please give your comment a title!" );
			form.title.focus();
			return false ;
		  }
		  if (form.text.value == "") {
			alert( "Please enter some text into your comment!" );
			form.text.focus();
			return false ;
		  }
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
// ** END **
  return true ;
}
//Check Site Config Form
function checksiteconfigform ( form )
{
	  var alphanumExp = /^[0-9a-zA-Z\|\.\-\\]+$/;
	  var phonenumExp = /^(\+)[0-9]{9,15}$/;
	  var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
  // ** START **
  
	  if (form.title.value == "") {
		alert( "Please enter your your username!" );
		form.user.focus();
		return false ;
	  }
	  if (form.title.value != form.user.value.match(alphanumExp)) {
		alert( "Your username is not Alpha-Numeric!" );
		form.user.focus();
		return false ;
	  }
	  
	  if (form.email.value == "") {
		alert( "Please enter your email address!" );
		form.email.focus();
		return false ;
	  }
	  if (form.email.value != form.email.value.match(emailExp)) {
		alert( "You must specify a valid email address!" );
		form.email.focus();
		return false ;
	  }
	  
	  if (form.root.value == "") {
		alert( "You must enter your server root location!" );
		form.root.focus();
		return false ;
	  }
	  if (form.root.value != form.root.value.match(alphanumExp)) {
		alert( "Your must enter a valid server root location!" );
		form.root.focus();
		return false ;
	  }
	  
	  if (form.phone.value == "") {
		alert( "You must enter your site's contact number!" );
		form.root.focus();
		return false ;
	  }
	  if (form.phone.value != form.root.value.match(alphanumExp)) {
		alert( "Your must enter a valid contact number!\n\n(+44 0000 000 000)" );
		form.root.focus();
		return false ;
	  }
	  
	  if (form.c_year.value == "") {
		alert( "You must enter a site copyright year!" );
		form.c_year.focus();
		return false ;
	  }
	  
	  if (form.c_holder.value == "") {
		alert( "You must enter your copyright holder!" );
		form.c_holder.focus();
		return false ;
	  }
	  if (form.c_holder.value == "") {
		alert( "You must enter a valid copyright holder!" );
		form.c_holder.focus();
		return false ;
	  }
	  
	  toggleDetail('proc',1)
	  form.submit.value = "Thank You!";
	  form.submit.disabled = true;
  // ** END **
  return true ;
}

function validateimage(fld) {
	if(!/(\.jpg|\.jpeg)$/i.test(fld.value)) {
		alert("Invalid image file type.\n\nIMAGE - (.jpeg, .jpg)");
		fld.form.reset();
		fld.focus();
		return false;
	}
}
function validatemidi(fld) {
	if(!/(\.mid)$/i.test(fld.value)) {
		alert("Invalid midi file.\n\nMIDI - (.mid)");
		fld.form.reset();
		fld.focus();
		return false;
	}
}
function validatemp3(fld) {
	if(!/(\.mp3)$/i.test(fld.value)) {
		alert("Invalid mp3 file.\n\nMP3 - (.mp3)");
		fld.form.reset();
		fld.focus();
		return false;
	}
}
function validatepdf(fld) {
	if(!/(\.pdf)$/i.test(fld.value)) {
		alert("Invalid pdf file.\n\nPDF - (.pdf)");
		fld.form.reset();
		fld.focus();
		return false;
	}
}
