var whitespace = " \t\n\r";	

function isNotNull(aFieldValue) {
	var foundChar= false;
	if(aFieldValue.length != 0)
	{
		for (var i=1; i<=aFieldValue.length && foundChar==false;i++)
		{
			if (aFieldValue.substr(i-1,1) != " ")
			{
				foundChar=true;
			}
		}
		return(foundChar);
	}
	else
		return false;
}

	function isValidEmail (emailStr) {
		return validateEmail(emailStr);
	}

	function validateEmail (emailStr) {

		var emailPat=/^(.+)@(.+)$/


		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"

	
		var validChars="\[^\\s" + specialChars + "\]"


		var quotedUser="(\"[^\"]*\")"


		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/


		var atom=validChars + '+'


		var word="(" + atom + "|" + quotedUser + ")"

		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")

		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


		var matchArray=emailStr.match(emailPat)
		if (matchArray==null) {
		 
			return false
		}
		var user=matchArray[1]
		var domain=matchArray[2]

		
		if (user.match(userPat)==null) {
		
			return false
		}

		
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			
			  for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
				
				return false
				}
			}
			return true
		}

	
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			
			return false
		}

	
		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if (domArr[domArr.length-1].length<2) {
		 
		   return false
		}
		if(domArr[domArr.length-1].length>3){
		   if(!((domArr[domArr.length-1].toLowerCase()=="aero")||(domArr[domArr.length-1].toLowerCase()=="coop")||(domArr[domArr.length-1].toLowerCase()=="info")||(domArr[domArr.length-1].toLowerCase()=="museum")||(domArr[domArr.length-1].toLowerCase()=="name"))){
		       return false;
		   }
		}

		
		if (len<2) {
		 
		   return false
		}

		
		return true;
	}


function trim(strText) {
	if (strText==null){
		strText = "";
	}
	while (strText.substring(0,1) == ' ')
		strText	= strText.substring(1, strText.length);
	while (strText.substring(strText.length-1,strText.length) == ' ')
		strText	= strText.substring(0, strText.length-1);
	return strText;
}

function leftTrim(str) {
	var i=0;
	len = str.length;
	for(i=0;i<len;i++)
	{
		if(whitespace.indexOf(str.charAt(i)) == -1) break;
	}
	str = str.substr(i);
	return str;
}

function rightTrim(str) {
	var i = 0;
	len = str.length;
	for(i=len-1;i >= 0;i--)
	{
		if(whitespace.indexOf(str.charAt(i)) == -1) break;
	}
	if( i != len-1 ) str = str.substr(i);
	return str;
}	

function isAlpha(aFieldValue) {
	var fieldValueString = aFieldValue + "";
	for (var i = 0; i < fieldValueString.length; i++)
	{
		if(fieldValueString.charCodeAt(i) == 60 || fieldValueString.charCodeAt(i) == 62)
		{
			return false;
		}
	}
	return true;
}

function isInteger(aFieldValue) {
	var fieldValueString = aFieldValue + "";
	for (var i = 0; i < fieldValueString.length; i++)
	{
		if (fieldValueString.charAt(i) < "0" || fieldValueString.charAt(i) > "9")
		{
			return false;
		}
	}
	return true;
}

function getRadioValue(radio)
{
	for (i= 0; i < radio.length; i++)
	{
		if (radio[i].checked == true)
			return(radio[i].value);
	}
	return("");
}

function isValidDate(dateStr) {
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; 
	var matchArray = dateStr.match(datePat); 
	if (matchArray == null) 
	{
		return false;
	}
	day = matchArray[3]; 
	month = matchArray[1];
	year = matchArray[4];
	if (month < 1 || month > 12) 
	{ 
		return false;
	}
	if (day < 1 || day > 31) 
	{
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) 
	{
		return false;
	}
	if (month == 2) { 
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	if (day>29 || (day==29 && !isleap)) 
	{
		return false;
	   }
	}
	return true;
}


function getErrorResult(form,errorString,errStr){
	var error = false;
	if(isNotNull(errorString)) {
		alert(errorString);
		error = true;
		var errMsg=errStr.replace(/#/gi,"\n  ")
		errStringArr = errStr.split('|');

		//
		var elem;
		for (var i = 0; i < form.elements.length; i++){ 
			elem = form.elements[i];
			if (elem.name == errStringArr[0])
			{
				if(elem.style.display != "none" && elem.type != "hidden"){
					elem.focus();
					break;
				}
			}
		}
		// 
		for (var i = 0; i < form.elements.length; i++) 
		{
			elem = form.elements[i];
			for(var j = 0; j < errStringArr.length; j++)
			{
				if (elem.name == errStringArr[j])
				{
					elem.style.background="#FF9900";
					break;
				}
				else
				{
					if(elem.tagName.toUpperCase()=="INPUT" || elem.tagName.toUpperCase()=="TEXTAREA"||
						elem.tagName.toUpperCase()=="SELECT"){
						//elem.style.background="white";
						if (elem.type == "radio" || elem.type =="checkbox"){
							elem.style.background="";
						}
						else{
							elem.style.background="white";
						}
					}
					
				}
			}		
		}
	}

    return (!error);
}

function checkStateZip(postcode, state)
{
	var pcd = parseInt(postcode, 10);
	if(state == "ACT")
	{
		if(!((299 >= pcd && pcd >= 200) || (2618 >= pcd && pcd >= 2600) ||
			 (2920 >= pcd && pcd >= 2900) || pcd == 2620))
		{
			return false;
		}
	}
	if(state == "NT")
	{
		if(!(899 >= pcd && pcd >= 800)) 
		{
			return false;
		}
	}
	if(state == "NSW")
	{
		if(!((2599 >= pcd && pcd >= 1000) || pcd == 2151 || 
			 (2620 >= pcd && pcd >= 2619) || (2899 >= pcd && pcd >= 2621) || 
			 (2999 >= pcd && pcd >= 2921)))
		{
			return false;
		}
	}
	if(state == "VIC")
	{
		if(!((3999 >= pcd&& pcd >= 3000) || (8999 >= pcd && pcd >= 8000))) 
		{
			return false;
		}
	}
	if(state == "QLD")
	{
		if(!((4999 >= pcd && pcd >= 4000) || (9799 >= pcd && pcd >= 9000))) 
		{
			return false;
		}
	}
	if(state == "SA")
	{
		if(!(5999 >= pcd && pcd >= 5000)) 
		{
			return false;
		}
	}
	if(state == "WA")
	{
		if(!(6999 >= pcd && pcd >= 6000)) 
		{
			return false;
		}
	}
	if(state == "TAS")
	{
		if(!(7499 >= pcd && pcd >= 7000)) 
		{
			return false;
		}
	}
	return true;
}
function isAlphaName(aFieldValue) {
		var fieldValueString = aFieldValue + "";
		for (var i = 0; i < fieldValueString.length; i++)
		{	
			if(fieldValueString.charCodeAt(i) == 60 || fieldValueString.charCodeAt(i) == 62)
			{
				return false;
			}else if ((fieldValueString.charAt(i) >= "0")&&(fieldValueString.charAt(i) <= "9")){
				return false;
			}
		}
		return true;
}

function isNotEighting(dd,mm,yyyy){
	var t1 = new Date();				
	var yearcurr = t1.getFullYear();	
	var daycuur = t1.getDate();			
	var moncuur = t1.getMonth()+1;						
	var maxyear = yearcurr - 18;
	if (yyyy>maxyear){
		return true;
	}else if (yyyy == maxyear&&(mm>moncuur||(mm==moncuur&&dd>daycuur))){
		return true;
	}
	return false;
}

function min1900(yyyy){
	var minyear = 1900;
	if (yyyy<minyear){
		return true;
	}
	return false;
}

function amountValidate(incomingString)
{
	incomingString = trim(incomingString);
	if(incomingString.length == 0 ||incomingString.search(/[^0-9\.\,]/g) != -1)
	{
		return false;
	}
	else if(incomingString.lastIndexOf(".") != -1&&incomingString.lastIndexOf(",") > incomingString.lastIndexOf("."))
	{
		return false;
	} 
	else
	{
		var dotIndex = incomingString.indexOf('.');
		if(dotIndex != -1)
		{
			var plus = incomingString.substring(dotIndex+1);
			if(plus.indexOf('.') != -1)
			{
				return false;
			}
			return true;
		}
		else
		{	
			return true;
		}
	}
}

function isNumber(incomingString)
{
	incomingString = incomingString+"";
	if(trim(incomingString).length == 0 || incomingString.search(/[^0-9]/g) != -1 )
	{
		return false;
	}
	else
		return true; 
}

function commaSepr(incomingString)
{
	incomingString = incomingString.replace(/,/g , "");
	if(incomingString.length <=3)
		return incomingString;
	var firstCommaIndex = incomingString.length % 3;
	
	var retVal = "";
	if(firstCommaIndex != 0)
	retVal = incomingString.substring(0 , firstCommaIndex) + ",";
	
	for(var i = firstCommaIndex ;i<incomingString.length ; i = i + 3)
	{
		var sub = incomingString.substring(i , i + 3);
	
		retVal += sub;
		if(i + 3 <incomingString.length)
			retVal += ",";
		
	}
	return retVal;
}
function trim2(strText) {
	if (strText==null){
		strText = "";
	}
	while (strText.substring(0,1) == ' ')
		strText	= strText.substring(1, strText.length);
	while (strText.substring(strText.length-1,strText.length) == ' ')
		strText	= strText.substring(0, strText.length-1);
	return strText;
}

function isAlphaNum(strCheck) {
	var bolValid = true;
	var strLen = strCheck.length;
	for (var iCount = 0;  iCount < strLen; iCount++){
		ch = strCheck.charAt(iCount);
		if (ch == "." || ch == "<" || ch == ">") {
			bolValid = false;
			break;
		}
	}
	return bolValid;
}


function validationTFN(t1,t2,t3){
	var tfn = t1+t2+t3;
	var validatTFN =  new Array(1,2,5,3,6,4,8,7,10);
	var sum = 0;
	for(var i=0;i<9;i++){
		var tfnfactor = tfn%10;
		tfn = (tfn-tfnfactor) /10;
		sum = sum + tfnfactor*validatTFN[i];		
	}
	var sumv = sum%11;
	if (sum==0||sumv!=0){
		return false;
	}	
	return true;
}

function pageprint(){
  if ((navigator.userAgent.indexOf('MSIE')> 0)){
		/*alert('ie')*/
		iframe.focus();
    iframe.print();
	}else{
		/*alert('not ie')*/
		document.getElementById('iframe').contentWindow.print();
	}
}
