///////////////////////////////////////////////////////////////////////////////////////////////
//Delete Confirmation
///////////////////////////////////////////////////////////////////////////////////////////////

function DeleteConfirm(URL,PageID,Type,TypeID){

	if (confirm("Are you sure you want to delete?")) {
		if (Type == "News") {
			location = URL + '/cms/submit.asp?PageID='+PageID+'&NewsID='+TypeID+'&SubmitType=DeleteNews'
		} else if (Type == "Meeting") {
			location = URL + '/cms/submit.asp?PageID='+PageID+'&MeetingID='+TypeID+'&SubmitType=DeleteMeeting'
		} else if (Type == "Section") {
			location = URL + '/cms/cmshome.asp?cmsarea=sections&SectionID='+TypeID+'&SubmitType2=DeleteSection'
		} else {
			location = URL + '/cms/submit.asp?PageID='+PageID+'&SubmitType=DeletePage'
		}
	} else {
		return false
	}
}

///////////////////////////////////////////////////////////////////////////////////////////////
//OPEN help Page
///////////////////////////////////////////////////////////////////////////////////////////////
function popUpHelp(openPage,W,H){
	NewWindow=window.open(openPage,"popuphelp","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+W+",height="+H);
}

///////////////////////////////////////////////////////////////////////////////////////////////
//Delete Confirmation
///////////////////////////////////////////////////////////////////////////////////////////////

function DeleteAlert() {
	alert("Please make sure all child pages are deleted before deleting this page.")
}

///////////////////////////////////////////////////////////////////////////////////////////////
//Form validation
///////////////////////////////////////////////////////////////////////////////////////////////

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
   
  return result;

}

function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validDate(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var elems = formField.value.split("/");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
 			var day = parseInt(elems[0],10);
			var month = parseInt(elems[1],10);
 			var year = parseInt(elems[2],10);
			result =  allDigits(elems[0]) && (day > 0) && (day < 32) &&
					 allDigits(elems[1]) && (month > 0) && (month < 13) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}
 		
  		if (!result)
 		{
 			alert('Please enter a date in the format DD/MM/YYYY for the "' + fieldLabel +'" field.');
			formField.focus();		
		}
	} 
	
	return result;
}

function checkpassword() {
	
	if (document.Users.Name.value == "") {
		alert("You need to enter a Name")
		return false
	} else {
		Ok = "Yes"
	}
	
	if (document.Users.MembershipNumber.value == "") {
		alert("You need to enter a Membership Number")
		return false
	} else {
		Ok = "Yes"
	}
	
	if (document.Users.Telephone.value == "") {
		alert("You need to enter a Telephone Number")
		return false
	} else {
		Ok = "Yes"
	}
	
	if (document.Users.Birth.value == "") {
		alert("You need to enter a Birth Place")
		return false
	} else {
		Ok = "Yes"
	}
	
	if (document.Users.Email.value == "") {
		alert("You need to enter an Email Address")
		return false
	} else {
		Ok = "Yes"
	}
	
	if (document.Users.Username.value == "") {
		alert("You need to enter a Username")
		return false
	} else {
		Ok = "Yes"
	}

	if (document.Users.Password.value == document.Users.VerifyPassword.value) {
		Ok = "Yes"
	}
	else {
		alert("Your passwords don't match")
		Ok = "No"
	}
	if (document.Users.Password.value.length >= 6) {
		Ok = "Yes"
	}
	else {
		alert("Your passwords needs to be greater than 6 characters")
		Ok = "No"
	}
	if (Ok == "No") {
		return false
	} else {
		return true
	}
}
	
function checkmemnumber() {
	if (document.Users.Name.value == "") {
		alert("You need to enter a Name")
		return false
	}
	if (document.Users.MembershipNumber.value == "") {
		alert("You need to enter a Membership Number")
		return false
		
	}
	if (document.Users.Birth.value == "") {
		alert("You need to enter a Birth Place")
		return false
	}
	if (document.Users.Email.value == "") {
		alert("You need to enter an Email Address")
		return false
	}
	return true
}

function renderTextarea(){
	if (document.mainContent){
		document.mainContent.Content.value = document.mainContent.Content.value.replace(/<textareaTemp/g,"<textarea");
		document.mainContent.Content.value = document.mainContent.Content.value.replace(/<\/textareaTemp>/g,"</textarea>");
	}
}

///////////// Generic Form Wizard Validation //////////
function MM_findObj(n, d) {
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function FWValidation() {
	var objFormWizard = document.forms['formWizard'];
	var i,p,q,nm,test,num,min,max,errors='',args=FWValidation.arguments;
	for (i=0; i<(args.length-2); i+=3) {
		test=args[i+2];
		val=MM_findObj(args[i]);
		
		if (args[i].substring(0,3)=="chk" || args[i].substring(0,3)=="rad"){
			var IsChecked=0;
			for(y=0;y<objFormWizard.elements.length;y++){
				if (objFormWizard[y].name == args[i]){
					if (objFormWizard[y].checked==true){
						IsChecked = 1;
					}
				}
			}
			if (IsChecked == 0 && test.charAt(0) == 'R'){
				nm = args[i].substring(4).replace(/_/g," ");
				errors += '- '+ nm +' is required.\n';
			}
   		} else if (val) {
			nm=val.name.substring(4);
			var elType = val.name.substring(0,3);
			nm=nm.replace(/_/g," ");
			if ((val=val.value)!=""){
				if (test.indexOf('isEmail')!=-1){
					p=val.indexOf('@');
					if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain a valid e-mail address.\n';
	      		} else if (test!='R') {
					num = parseFloat(val);
	        		if (test.indexOf('isNum') != -1){
						if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
					}
	        		if (test.indexOf('inRange') != -1){
						p=test.indexOf(':');
						min=test.substring(8,p);
						max=test.substring(p+1);
						if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
					}
				}
			} else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n';
		}
	}
	if (errors) alert('The following field information is compulsory or incorrect.:\n'+errors);
	document.MM_returnValue = (errors == '');
}
///////////////////////////////////////////////////////

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage(vara, carb, varc, vard) 
{ //v3.0

var i,j=0,x,a=MM_swapImage.arguments; 

document.MM_sr=new Array; 

for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null)
	{
		document.MM_sr[j++]=x; 
			if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];
	}
}
