var blnCancelClicked = false;
var rgMC=new Array(12);
rgMC[0]=31;
rgMC[1]=28;
rgMC[2]=31;
rgMC[3]=30;
rgMC[4]=31;
rgMC[5]=30;
rgMC[6]=31;
rgMC[7]=31;
rgMC[8]=30;
rgMC[9]=31;
rgMC[10]=30;
rgMC[11]=31;
	
	
function  fnPrintPage() 
{
	if (confirm("Do you want to print the form? \n Press OK to print the form. \n Press Cancel if you have already printed the form and want to continue."))
	{
		window.print();  
		return false;
	}
	else
	{
		return true;
	}
}

function ValidateAllInputFields(frmForm)
{		
	var blnSelected = false;
	
	if (false == blnCancelClicked)
	{
		for(i=0; i < frmForm.length;i++)
		{			
			if ("true" == frmForm.elements[i].required)
			{	
				if 	(0 == frmForm.elements[i].type.indexOf("select",0))				
				{
					// VERIFY SELECT
						
					// What is the value of the selected option
																
					if (-1 == frmForm.elements[i].options[frmForm.elements[i].selectedIndex].value)
					{
						alert(frmForm.elements[i].alertname + " is a required, please select an option.");
						frmForm.elements[i].focus();
						return false;
					}
			
				} 
				else if (0 == frmForm.elements[i].type.indexOf("checkbox",0))	
				{						
					// VERIFY CHECKBOXES ** might be an array **
						
					var strCboName;
					blnSelected = false;
						
					strCboName = frmForm.elements[i].name;
						
					for (k=0;k < frmForm.length; k++)
					{
						if (strCboName == frmForm.elements[k].name)
						{
							if ( true == frmForm.elements[k].checked)
							{
								blnSelected = true;
								break;
							}
						}
					}

					if (false == blnSelected)
					{
						alert(frmForm.elements[i].alertname + " is required, please check at least one option");
						frmForm.elements[i].focus();
						return false;
					}	
				}
				else
				{
					// VERIFY OTHER FORM TYPES e.g. text or text area
						
					if ("" == frmForm.elements[i].value)
					{
						var alertName = frmForm.elements[i].alertname;
						alert(alertName + " is required, please enter a value")	
						frmForm.elements[i].focus();
						return false;
					}
						
				}
				
			}
				
			if ("true" ==frmForm.elements[i].numeric)
			{				
				if (isNaN(frmForm.elements[i].value))
				{
					var alertName = frmForm.elements[i].alertname;
					frmForm.elements[i].value = "0";
					alert(alertName + " is a numeric, please enter a number");	
					frmForm.elements[i].focus();
					return false;
				}
				
				if ("true" == frmForm.elements[i].zeroorgreater) 
				{
					if ( 0 > frmForm.elements[i].value)
					{
						var alertName = frmForm.elements[i].alertname;
						frmForm.elements[i].value = "0";
						alert(alertName + " has to be greater than 0, please enter zero or a number greater than 0.");	
						frmForm.elements[i].focus();
						return false;
					}
				}
			}
		
			
			if (("true" == frmForm.elements[i].filename) || ("true" == frmForm.elements[i].illegalchars))
			{					
			  if  ( (frmForm.elements[i].value.indexOf('\'') != -1) ||
					(frmForm.elements[i].value.indexOf('\"') != -1) ||
					(frmForm.elements[i].value.indexOf(' ')  != -1) ||
					(frmForm.elements[i].value.indexOf('£')  != -1) ||
					(frmForm.elements[i].value.indexOf('$')  != -1) || 
					(frmForm.elements[i].value.indexOf('%')  != -1) ||
					(frmForm.elements[i].value.indexOf('^')  != -1) ||
					(frmForm.elements[i].value.indexOf('&')  != -1) ||
					(frmForm.elements[i].value.indexOf('*')  != -1) ||
					(frmForm.elements[i].value.indexOf('(')  != -1) ||
					(frmForm.elements[i].value.indexOf(')')  != -1) ||
					(frmForm.elements[i].value.indexOf('+')  != -1) ||
					(frmForm.elements[i].value.indexOf('=')  != -1) ||
					(frmForm.elements[i].value.indexOf('{')  != -1) ||
					(frmForm.elements[i].value.indexOf('}')  != -1) ||
					(frmForm.elements[i].value.indexOf('[')  != -1) ||
					(frmForm.elements[i].value.indexOf(']')  != -1) ||
					(frmForm.elements[i].value.indexOf(';')  != -1) ||
					(frmForm.elements[i].value.indexOf('#')  != -1) ||
					(frmForm.elements[i].value.indexOf('~')  != -1) ||
					(frmForm.elements[i].value.indexOf('<')  != -1) ||
					(frmForm.elements[i].value.indexOf('>')  != -1) ||
					(frmForm.elements[i].value.indexOf('>')  != -1) ||
					(frmForm.elements[i].value.indexOf(',')  != -1) ||
					(frmForm.elements[i].value.indexOf('?')  != -1) ||
					(frmForm.elements[i].value.indexOf('|')  != -1) ||
					(frmForm.elements[i].value.indexOf('!')  != -1) ||
					(frmForm.elements[i].value.indexOf('..') != -1) ) 
				{
					var alertName = frmForm.elements[i].alertname;
					frmForm.elements[i].value = "123";
					if ("true" == frmForm.elements[i].illegalchars)
						alert(alertName + " contains illegal characters, please use letters only. Don't include spaces.");	
					else
						alert(alertName + " contains illegal characters, please use letters or numbers only. Don't include spaces in the filename.\n\nPlease rename the file on your computer without illegal characters and try again.");	
					
					frmForm.elements[i].focus();
					return false;
				}		
			}	
			
			if ("true" == frmForm.elements[i].imagefiletype)
			{	
			  if ("" != frmForm.elements[i].value)
			  {
				if ((frmForm.elements[i].value.indexOf('.gif') == -1) &&
				    (frmForm.elements[i].value.indexOf('.GIF') == -1) &&
					(frmForm.elements[i].value.indexOf('.jpg') == -1) &&
					(frmForm.elements[i].value.indexOf('.JPG') == -1) &&
					(frmForm.elements[i].value.indexOf('.JPEG') == -1) &&
					(frmForm.elements[i].value.indexOf('.jpeg') == -1) )
				{
					var alertName = frmForm.elements[i].alertname;
					frmForm.elements[i].value = "0";
					alert(alertName + " is an unrecognised image format, please save as either a GIF image (.gif) or as a JPEG (.jpg or .jpeg)");	
					frmForm.elements[i].focus();
					return false;
				}
			  }		
			}			
		}
	}
	
	blnCancelClicked = false;
	
	return true;
}

function selectItemRequired(itemList)
{
	if ("-1" == itemList.options[itemList.selectedIndex].value)
	{
		alert(itemList.alertname + " is required, please select an option.");
		itemList.focus();
		return false;
	}
}

function select2ItemsRequired(itemList1, itemList2)
{

	if (false == selectItemRequired(itemList1))
	{
		return false;
	}
	
	if (false == selectItemRequired(itemList2))
	{
		return false;
	}	
	
	return true;
}

function select3ItemsRequired(itemList1, itemList2, itemList3)
{

	if (false == selectItemRequired(itemList1))
	{
		return false;
	}
	
	if (false == selectItemRequired(itemList2))
	{
		return false;
	}	

	if (false == selectItemRequired(itemList3))
	{
		return false;
	}	
	
	return true;
}

function SetNumberOfDays(SelectedMonthIndex, DayList)
{
	var i;	
	var myNewOption;
		
	for(i = 0; i <= DayList.length; i++)
	{
		DayList.options[i] = null;
	} 

	for(i = 0; i < rgMC[SelectedMonthIndex -1]; i++)
	{
		myNewOption = new Option(i+1,i+1);
		DayList.options[i] = myNewOption;
	} 
}

function OpenSSPopupWindow(varFileName)
{
	window.open(varFileName,"SSPopUp","width=660,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=0,left=0");
}

function OpenMapPopupWindow(varFileName)
{
	window.open(varFileName,"MapPopUp","width=570,height=430,toolbar=yes,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=0,left=0");
}

function fnVerifyPassword(objPassword)
{
  var _alpha = objPassword.value.search(/[a-z]|[A-Z]/);
  var _numer = objPassword.value.search(/\d/);
  
  if (objPassword.value.length < 7) 
  {
    alert("Your password must be at least 7 characters long.");
    objPassword.focus();
	return false;	
  }
  if (_alpha==-1)
  {
    alert("Your password requires at least one character a-z or A-Z");
    objPassword.focus();
	return false;
  }
  if (_numer==-1)
  {
    alert("Your password requires at least one number 0-9");
    objPassword.focus();
	return false;
  }
}