//*******************//
//validation.js
//*******************//
var newWindow
var timeOut
var newVisitor = (GetCookie("ScreenWidth") == null)?true:false
var enddate=new Date()
enddate.setTime(enddate.getTime()+(60*60*24*1000*1460))

var selectedCountryId
var selectedCountryname
var selectedStateId
var selectedStatename
var seletedItemGroupNo
var selectedGroupname
var selectedCategoryId
var selctedCategoryname
var selectedSubCategoryId
var selectedSubCategoryname 

	

var dateNow=""
var timenow=""
var yearNow = new Date() 

var thisYear=yearNow.getYear()
var mm = yearNow.getMonth()
var dd = yearNow.getDate()
var inputErrorMsg="The following data or fields are incomplete or inaccurate: \n"

if (thisYear< 2000) {
	thisYear=1900+thisYear
   //alert(thisYear)
}
var yyyy=thisYear
dateNow=dd+"/"+mm+"/"+yyyy;
var arrMonthnames = new Array(12)
arrMonthnames[0]="January"
arrMonthnames[1]="February"
arrMonthnames[2]="March"
arrMonthnames[3]="April"
arrMonthnames[4]="May"
arrMonthnames[5]="June"
arrMonthnames[6]="July"
arrMonthnames[7]="August"
arrMonthnames[8]="September"
arrMonthnames[9]="October"
arrMonthnames[10]="November"
arrMonthnames[11]="December"

function ValidateDayMonthentry(startOrEnd)
{
	var d,m
	if (startOrEnd==1) {
		d=DDItemSelected(document.forms["form0"].rtstartday)
		m=DDItemSelected(document.forms["form0"].rtstartmonth)
	}
	else {
		d=DDItemSelected(document.forms.form0.rtendday)
		m=DDItemSelected(document.forms.form0.rtendmonth)
	}
	//d=date 
	//if day is over 29 then restrict Feb
	//if day is over 30 then restrict feb,apr,jun,sep,nov
	
	//alert(d)
	//alert(m)
	if (d==0 || d=="" || m==0 || m=="")
		alert ("Both " + ((startOrEnd==1)?"start ":"end") + "day and month should be positive numbers")
	else {
		if (d > ((yyyy % 4 == 0) ? 29:28)) {
			if (m == 2) {
				alert("Invalid " + ((startOrEnd==1)?"start ":"end") + "day-month combination")
			}
			else {
				if (d > 30 ) {
					if (m==2 || m==4 || m==6 || m==9)
						alert("Invalid " + ((startOrEnd==1)?"start ":"end") + "day-month combination")
				}
			}	
		}
	}
}
function NoEntry(hopto)
{
	alert("No editing allowed in this field")
	hopto.focus()
}
function ValidateDateEntry(f) {
	var blnValid,DayNum,MonthNum,YearNum
	blnValid = true
	var ErrorMsg = ""
	//alert(f)
	
	var regex=/[\/-]/
	var ArrDate=f.value.split(regex)
	
	DayNum=ArrDate[0] //f.value.substr(0,2)
	MonthNum=ArrDate[1] //f.value.substr(3,2)
	YearNum=ArrDate[2] //f.value.substr(6,4)
	if (DayNum.toString().length==1) {
		ErrorMsg += ". invalid day - missing lead zero\n"
		DayNum=0
		blnValid = false
	}
	if (MonthNum.toString().length==1) {
		ErrorMsg += ". invalid month - missing lead zero\n"
		MonthNum=0
		blnValid = false
	}
	if (YearNum.toString().length==2) {
		ErrorMsg += ". invalid year - century missing\n"
		YearNum=0
		blnValid = false
	}
	if (MonthNum>12 || MonthNum<1) {
		ErrorMsg += ". incorrect month - must be a number within 1 to 12\n"
		MonthNum=0
		blnValid = false
	}
	if (YearNum<1900 || YearNum>2039) {
		ErrorMsg += ". year - outside valid range\n"
		YearNum=0
		blnValid = false
	}
	if (YearNum==0 || MonthNum==0 || DayNum==0) {
		alert(ErrorMsg +"\n\n[Re-enter the date field]\n")
		f.value=""
	}
	else {
		if (MonthNum==2) {
			if (YearNum % 4==0){
				if (YearNum % 100 ==0) {
					if (YearNum % 400 == 0) {
						if (DayNum > 29) {
							ErrorMsg += ". February has only 29 Days in the Year " + YearNum +"\n"
							DayNum=29
							blnValid = false
						}
					}
					else {
						if (DayNum > 28) {
							ErrorMsg += ". February has only 28 Days in the Year " + YearNum +"\n"
							DayNum=28
							blnValid = false
						}
					}
				}
				else {
					if (DayNum > 29) {
						ErrorMsg += ". February has only 29 Days in the Year " + YearNum +"\n"
						DayNum=29
						blnValid = false
					}
				}
			}
			else {
				if (DayNum > 28) {
					ErrorMsg += ". February has only 28 Days in the Year " + YearNum +"\n"
					DayNum=28
					blnValid = false
				}
			}
		}
		else {
			if (MonthNum==4 || MonthNum==6 || MonthNum==9 || MonthNum==11) {
				if (DayNum > 30) {
					ErrorMsg += ". " + arrMonthnames[MonthNum-1] + " has only 30 days\n"
					DayNum=30
					blnValid = false
				}
			}
			else {
				if (DayNum > 31) {
					ErrorMsg += ". " + arrMonthnames[MonthNum-1] + " has only 31 days\n"
					DayNum=31
					blnValid = false
				}
			}
		}

		if (DayNum < 1) {
			ErrorMsg += ". negative day number\n"
			DayNum=1
			blnValid = false
		}
	

		if (!blnValid){
			alert("Entry Error!\n\n"+ErrorMsg +"\n\n[Re-enter the date field]\n")
			//var corrDate=(DayNum.toString().length==1)?"0"+DayNum.toString():DayNum.toString()+"/"+(MonthNum.toString().length==1)?"0"+MonthNum.toString():MonthNum.toString()+"/"+(YearNum.toString()==2)?"20"+YearNum.toString():YearNum.toString()
			//f.value=""
		}	
	}
	return blnValid
}
function formatCurrency(expr, decplaces)
{
	//raise expr by the power of 10 the power of the no decplaces
	//round t0 an int then conver to a string
	var str=""+Math.round(eval(expr) * Math.pow(10,decplaces))
	while (str.length<= decplaces) {
		str="0"+str
	}
	//where is the dec point?
	var decpoint=str.length-decplaces
	return str.substring(0,decpoint)+"."+str.substring(decpoint,str.length)
}

function cancel()
{	document.forms[0].reset()
	history.back()
}	


function loginValidate() {
	var f=document.forms["logon"]
	if (f.username.value=="" || f.password.value=="") {
		alert("Username and password both must be entered")
	}
	else {
		f.submit()
	}		
}

function setItemGroupSelection(id,name)
{
	selectedItemGroupNo=id
	selctedItemGroupname=name

}

function setItemCategorySelection(id,name)
{
	selectedCategoryId=id
	selctedCategoryname=name

}
function setItemSubCategorySelection(id,name)
{
	selectedSubCategoryId=id
	selctedSubCategoryname=name

}

function convertCmToIn(c)
{
	return c*.3937
}

function convertInToCm(i)
{
	return i*2.54
}

function convertKgToLb(k)
{
	return k*2.2046
}	

function convertLbToKg(lb)
{
	return Math.round(lb*.4536)
}

function bmi(cmHeight,kgWeight)
{
	return (10000*kgWeight)/(cmHeight*cmHeight)
}

function TimeMessage()
{
	var len = 4
	var today=new Date()
	var sec = today.getSeconds()
	var mins=today.getMinutes()
		mins=(mins<10)?"0"+mins:mins
	var hrs=today.getHours()
	var days=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
	var mths=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
	var mssg=(hrs<12)?"Good Morning":(hrs>16)?"Good Evening":"Good Afternoon"
	var dateRightNow=today.getDate()+' '+mths[today.getMonth()]+' '+thisYear
	var timeRightNow=hrs+":"+mins
	var ap=(hrs>11)?"pm ":"am "

	
	return(days[today.getDay()]+' '+dateRightNow+' '+timeRightNow+':'+ap+'<br /><b>'+mssg+'</b>')
}


function currentDate() 
{
	dd=yearNow.getDate()
	mm=yearNow.getMonth()+1
	return(thisYear+"/"+mm+"/"+dd);
}


function isEmpty(s) {
	if (s==null || s=="") {
		return true
	}
	else {
		return false
	}
}

function isEmail(e) {
	if (e==null || e=="" || e.indexOf("@")== -1 || e.indexOf("@")==0 || e.indexOf("@")==e.length) {
		return false;
	}
	else {
		return true;
	}
}

function isNumeric(e) {
	//var theDecimal= false
	var inStr=e.toString()
	
	for (var i=0; i<inStr.length;i++) {
		var theChar=inStr.charAt(i)
		if (theChar <"0" || theChar>"9") {	
			return false
		}	
	}	
	return true;
}

function isCurrency(e) {
	var decimalFound=false,theDecimal= "."
	var inStr=e.toString()
	
	for (var i=0; i<inStr.length;i++) {
		var theChar=inStr.charAt(i)
		if (theChar!=theDecimal) {
			if (theChar <"0" || theChar>"9") {	
				return false
			}
		}	
		else {
		    if (decimalFound)
		       return false
		    else 
		        decimalFound=true
		}
	}	
	return true;
}

function isSignedCurrency(e) {
	var decimalFound=false,theDecimal= ".",isNegative=false,negSign="-"
	var inStr=e.toString()
	
	for (var i=0; i<inStr.length;i++) {
		var theChar=inStr.charAt(i)
		if (theChar!=theDecimal) {
		    if (theChar==negSign) {
		        if (isNegative)
		            return false
		        else
		            isNegative=true
		    }
		    else {        
			    if (theChar <"0" || theChar>"9") {	
				    return false
			    }
			}
		}	
		else {
		    if (decimalFound)
		       return false
		    else 
		        decimalFound=true
		}
	}	
	return true;
}

function isDigit(e) {
	
	inStr=e.toString()
	if (inStr=="") {
		return false
	}	
	for (var i=0; i<inStr.length;i++) {
		var theChar=inStr.charAt(i)
		if (theChar <"0" || theChar>"9") {	
			return false
		}	
	}	
	return true;
}
function NoRightClick(e) 
{
	if(location.hostname.substr(0,5)!="stage") {
		if (document.all) {
			if (event.button == 2) {
				alert("Right click is deactivated on this page");
				return false;
			}
		}
		if (document.layers) {
			if (e.which == 3) {
				alert("Right click is deactivated on this page");
				return false;
			}
		}
	}
}

function isYear(e) {
	if (!isDigit(e)) {
		return false
	}	
	else {
		inStr=e.toString()
		if (inStr.length !=4){
			return false
		}	
		return true	
	}
}
	
function isPassword(p) {
	if (p==null || p=="" || p.length < 6) {
		//alert("Password must have at least 6 characters or digits")
		return false
	}
	else {
		return true
	}
}
var daysInMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31)
function checkDaysInMonth(y,m,d) {
	leapyr= (y % 4 > 0)?false:true
	daysInMonth[1]=(leapyr)?29:28
	return (d > daysInMonth[m - 1])?false:true	
}		    
		
			
function isValid_DMY_Date(d) {
	//alert("date: " + d)
	if (d.length != 10) {
		return false
	}
	var dd=d.substring(0,2)
	var mm=d.substring(3,5)
	var yyyy=d.substring(6, d.length)
	
	
	if (isEmpty(d)) {
		//alert(d +" " +"Date is empty")
		return false
	}
	if (dd.length >2) {
		//alert("Day part of date must be two digits")
		return false
	}
	
	if (mm.length > 2 || mm < 1 || mm >12) {
		//alert("Month must be two digits and one of 01, 02... to 12")
		return false	
	}
	
	if (yyyy.length !=4) {
		//alert("Year must be 4 digits")
		return false
	}	
	
	if (!checkDaysInMonth(yyyy, mm, dd)) {
		//alert("Wrong date in month")
		return false
	}
	delim1=d.charAt(2)
	delim2=d.charAt(5)
	
	if (delim1 !="/" && delim1 !="-"){
		//alert("Invalid delimiters")	
		return false
	}
	if (delim1 != delim2 ) {
		//alert("Two delimiters are different")	
		return false	
	}	
	else
		return true
}


function PopUpWin(url_n_actions, height, width)
{
	windowOpener(url_n_actions, 'visible', height, width, 10, 10,'','',0,0,0,0,1)
}


function getServerResponse(urlaction,file2read,field2read,return2form,return2field,paraname,paravalue,paratype)
{
	if (paravalue !="")
		windowOpener("include/return2server.asp?action="+ urlaction + "&file2read=" + file2read + "&field2read=" + field2read + "&return2form=" + return2form + "&return2field=" + return2field + "&paraname=" + paraname + "&paravalue=" + paravalue + "&paratype=" + paratype, 'hidden', 1, 1, 10, 10,'','',0,0,0,0,1)
}


function windowOpener(URL, wname, pheight, pwidth, pscrollbars, ptop, pleft, plocation, pdirectories, pstatus, pmenubar, ptoolbar, presizable) {
	sParams = "height=" + pheight + ",width=" + pwidth + ",top=" + ptop + ",left=" + pleft + ",location=" + plocation + ",directories=" + pdirectories + ",status=" + pstatus + ",menubar=" + pmenubar + ",toolbar=" + ptoolbar + ",resizable=" + presizable + ",scrollbars=" + pscrollbars;
	newWindow = window.open(URL, wname, sParams);
	newWindow.focus();
}
function getContextHelp(topic,topicHeading)
{
	helpContextWin=window.open("contexthelp.asp?topic=" + topic + "&content=" + topicHeading , "" , "toolbar=false, status=false, scrollbars, menubar=false, resizable, width=500, height=350")
	helpContextWin.focus()
}
function getHelp(topic,topicHeading)
{
	helpContextWin=window.open("help.asp?topic=" + topic + "&content=" + topicHeading , "" , "toolbar=false, status=false, scrollbars, menubar=false, resizable, width=500, height=450")
	helpContextWin.focus()
}

function PopupMsg(width,height,tit,msg)
{
	helpContextWin=window.open("popupwin.asp?title=" + tit + "&message=" + msg , "" , "toolbar=false, status=false, scrollbars, menubar=false, resizable, width=" + width +", height=" +height)
	helpContextWin.focus()
}

function SetMultiSelectedItems(fieldname,indexList)
{
	var arrSelecteds = indexList.split(",") 
	for (var j=0; j<arrSelecteds.length; j++) {
		for (var i=0; i<fieldname.length; i++){
			//alert(parseInt(arrSelecteds[j]))
			if (parseInt(arrSelecteds[j])== i) {
				var ff= "document.forms['form0']."+fieldname
				eval(ff).options[i].selected=true
			}
		}
	}
}


			
function StateSelector(id,mainFormFieldnameForState) {
	var sURL = "/ssl/bookingsystem/include/getState.asp?id=" + id + "&main_form_field_name="+ mainFormFieldnameForState;
	windowOpener(sURL, "states", 500, 340, "yes", 30, 30, "no", "no", "no", "no", "no", "no");
	return true;
}
function BlurState(nextField) {
	//alert("This is a read-only data - for the selected country. To change select a new country.");
	var f="document.form0."+nextField
	//document.form0.entxt.focus();
	eval(f).focus()
}

function checkCardInput()
{
	var m, f=document.forms['ccpay0']
	m=""  
	r=radioButtonSelected(f.EPS_CARDtype)
	if (r=="")
		m+=". a cardtype must be selected\n"
	if (isEmpty(f.EPS_CARDNUMBER.value) || (f.EPS_CARDNUMBER.value).length<12 || (f.EPS_CARDNUMBER.value).length>18)
		m+=". cardnumber input is not valid\n" 
	if (isEmpty(f.EPS_nameONCARD.value))
		m+=". name on card is empty or invalid\n"
	if (m != "")
		alert("The following fields are incorrect or empty:\n\n"+ m)
	else {
		f.submit()	
	}	
}

function checkRequestSelected()
{
	var f=document.forms["form0"]
	for (var i=0; i < f.inewrequest.length; i++) {
		if (f.inewrequest[i].checked) {
			break
		}
	}
	if (i == 0) {
		alert("This data is required if you selected 'relates to a previous ticket'")    
		f.inewrequest[i].focus()
	}	
}

function radioButtonSelected(f) //f=field
{
	var r
	f=eval(f)
	for (var i=0; i < f.length; i++) {
		if (f[i].checked) {
			r=f[i].value
			break
		}
	}
	return r
}

function isDDSelected(fldname)
{
    fldname=eval(fldname)
	return (fldname[fldname.selectedIndex].value != "")?true:false
}

function DDItemSelected(fldname)
{
	fldname=eval(fldname)
	return fldname[fldname.selectedIndex].value
}

function SetDDLSelectedIndex(fldname,newvalue)
{
	// sets a new selectedIndex where value=newvalue
	fldname=eval(fldname)
	for (x=0;x<fldname.options.length;x++) {
		if (fldname.options[x].value==newvalue) {
			fldname.options[x].selected=true
			break
		}
	}
}			
function radioOptionNoSelected(f) //f=field
{
	f=eval(f)
	for (var i=0; i < f.length; i++) {
		if (f[i].checked) {
			break
		}
	}
	return i
}

function uncheckRadioOption(f) //f=field
{
	f=eval(f)
	//alert(f)
	for (var i=0; i < f.length; i++) {
		f[i].checked=false
	}
}





function validateStaffDetails(checkOnly,mode) 
{
	var frm, a,b,c,d,t, m
	m=""
	frm=document.forms["form0"]
	
	t=frm.Username.value
	a=frm.Staffname.value
	b=frm.IsActive.value
	d=frm.IsAdministrator.value
	c=frm.Password.value
	
	if (isEmpty(a))
		m+= ". full name empty\n"
	if (isEmpty(t))
		m+= ". username empty\n"
	if (isEmpty(c))
		m+= ". password empty\n"
	if (isEmpty(b))
		m+= ". isActive empty\n"
	if (isEmpty(b))
		m+= ". isAdminsitrator empty\n"
	if (m != "")
		alert("The following fields are incorrect or empty:\n\n"+ m)
	else {
			
		if (!checkOnly)
			frm.submit()
		else
			alert("S U C C E S S \n\nEverything checks fine!")
			
	}	
}




var censoredObjectionable
var swear ="@ .COM .NET .ORG .TV .BIZ HOTMAIL YAHOO REDifFMAIL VSNL OZEMAIL TPG TELSTRA.COM OPTUS.COM TELPACifIC FUCK SHIT ASSHOLE NIGGER IDIOT CUNT CUM SLUT KUNT ARSE KAFFIR HONKY WETBACK"
var arrSwear

function verifyText(Text)
{
	var t, arrText, arrSwear, x, n
	//Get the Arrays
	censoredObjectionable=false
	t = Text.value.toUpperCase()
	//alert(t)
	//if (swear==''){
	//	swear='<%=CensoreWords%>'
		arrSwear = swear.split(" ")
	//}	
	//alert(swear)
	//arrSwear = swear.split(" ")
	for (x=0; x<arrSwear.length; x++) { 	//Check if it is profane or includes any contact address
		if (t.indexOf(arrSwear[x]) > 0) {
			//arrText[x] = "[Censored]"
			alert("Note that you may not use rude, affronting or objectionable "
			+"words or an email address or url according to "
			+"the terms and conditions. Your text has the following "
			+"unacceptable word or phrase:\n\n" + arrSwear[x] 
			+"\n\nPlease drop item(s) not accepted or your profile may not be saved.\n" )
			censoredObjectionable=true
			return false
		}
	}
	return true
	//CensoreText = Join(Text, " ")
}
function getCookieVal(offset) {
	var endstr=document.cookie.indexOf(";",offset);
	if (endstr == -1)
		endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset,endstr));
}

function GetCookie(name) {
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i,j)==arg) {
			return getCookieVal(j);
		}
		i = document.cookie.indexOf(" ",i) +1;
		if (i == 0) break;
	}
	if (name=="Logon") { 
		return "Visitor"; 
	} 
	else {
		return null;
	}
}


function SetCookie( name, value, expires, path, domain, secure) {
	document.cookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expires.toGMTString() :"") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "")+
	((secure) ? "; secure" : "");
}

function DeleteCookie( name, path, domain) {
	if (GetCookie(name)) {
		document.cookie = name + "=" +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "")+
		"; expires= Thu, 01-Jan-1970 00:00:01 GMT";
	}
}



function showDiv(divname,startDiv,maxDivs)
{
	hideAllDivs(startDiv,maxDivs);
	document.getElementById(divname).style.visibility="visible";
}
		
function hideAllDivs(minDivNo,maxDivisions)	
{
	for (var i=minDivNo;i<=maxDivisions;i++) {
		document.getElementById("d"+i.toString()).style.visibility="hidden";
	}
}

function FixQuotesJs(str)
{
	var sAphost = /'/g
	var dAphost = /"/g
	str.replace(sAphost,"\'")
	str.replace(dAphost,'\"')
	return(str)
}


//if (newVisitor ==true) {
	DeleteCookie("ScreenWidth")
	SetCookie("ScreenWidth", screen.availWidth, enddate)
//}
//alert(GetCookie("ScreenWidth"))








/////////////////////////////////////////////
//------------- specific data -----------////
/////////////////////////////////////////////






function checkVisibility()
{
	var f=document.forms['form1'];
	if (f.PayMethod.selectedIndex>2)
		document.getElementById("PaymentDiv").style.visibility="visible";
	else
		document.getElementById("PaymentDiv").style.visibility="hidden";
}

function ToggleActivate(tblname)
{
	var f=document.forms["form0"]
	
	
	switch(tblname) {
		case "tblBins":{
			f.IsActive.value^=1
			break;	
			}
		case "tblRegions":{
			f.IsActive.value^=1
			break;	
			}
		case "tblLocalities":{
			f.IsActive.value^=1
			break;	
			}
		case "tblPriceMatrices":{
			f.PMIsActive.value^=1
			break;	
			}
		case "tblStaff":{
			f.IsActive.value^=1
			break;	
			}
	}
	f.submit()
}

function orderSubmit()
{
	var m=""
	var f=document.forms['form1'];
	
	if (!f.PayMethod.selectedIndex>0) {
		m+=". Payment method empty\n"
	}
	if (f.PayMethod.selectedIndex>2) {
		if (isEmpty(f.CCHolder.value))
			m+=". Cardholder name empty\n"
		if (isEmpty(f.CCNumber.value))
			m+=". Card number empty\n"
		if (!f.ExpiryMonth.selectedIndex>0)
			m+=". Expiry month empty\n"
		if (!f.ExpiryYear.selectedIndex>0)
			m+=". Expiry Year empty\n"
	}
	else {
		m+=""
	}
	if (!f.Terms.checked)
		m+=". No tick on the Terms & Conditions box\n\n"
	
	if (m!="")
		alert("Correct the following errors:\n\n" + m)
	else	
		f.submit()
}	

function validateBinDetails(checkOnly,mode) 
{
	var f,p,m
	f=document.forms["form0"]
	m="" 

	if (isEmpty(f.Description.value))
		m+=". Description not entered\n"
	if (isEmpty(f.SizeCode.value))
		m+=". Size code not entered\n"
	
	if (m != "")
		alert("The following fields are incorrect or empty:\n\n"+ m)
	else {
		if (!checkOnly)
		   f.submit()
		else
		   alert("S U C C E S S \n\nEverything checks fine!")
	}	
}

function validateRegionDetails(checkOnly,mode) 
{
	var f,p,m,w = "The following fields are optional, but desirable:\n\n"
	f=document.forms["form0"]
	m="" 
	if (isEmpty(f.Region_Description.value))
		m+=". Region is empty\n"
	if (isEmpty(f.Region_Description.value))
		w+=". Description not entered, but then it is optional\n"
	if (m != "")
		alert("The following fields are incorrect or empty:\n\n"+ m +"\n\Warning!\n" +w)
	else {
		if (!checkOnly)
		   f.submit()
		else
		   alert("S U C C E S S \n\nEverything checks fine!")
	}	
}


function validateSuburbDetails(checkOnly,mode) 
{
	var f,p,m
	f=document.forms["form0"]
	m="" 
	p=f.PCode.value
	if (isEmpty(f.Region.value))
		m+=". Region\n"
	if (isEmpty(p) || p.length!=4)
		m+=". Postcode\n"
	if (isEmpty(f.Locality.value))
		m+=". Locality\n"
	if (isEmpty(f.State.value))
		m+=". State\n"
	if (isEmpty(f.DeliveryOffice.value))
		m+=". Delivery Office\n"
	if (isEmpty(f.PreSortNdx.value))
		m+=". Presort Index\n"
	if (isEmpty(f.ParcelZone.value))
		m+=". Parcel Zone\n"
	if (isEmpty(f.BSPNo.value))
		m+=". BSP No.\n"
	if (isEmpty(f.BSPName.value))
		m+=". BSP Name\n"
	if (isEmpty(f.Category.value))
		m+=". Category\n"
	
	if (m != "")
		alert("The following fields are incorrect or empty:\n\n"+ m)
	else {
		if (!checkOnly)
		   f.submit()
		else
		   alert("S U C C E S S \n\nEverything checks fine!")
	}	
}

function validateQuoteDetails(checkOnly,mode) 
{
	var f,p,m
	
	f=document.forms["form0"]
	
	//xxx=DDItemSelected(f.xxx)
	//xxx=radioOptionNoSelected(f.xxx)
	//bool=isDDSelected(xxx)
	m="" 
	if (!isDDSelected(f.Title))
		m+=". Title not selected\n"
	if (isEmpty(f.FirstName.value))
		m+=". Firstname not entered\n"
	if (isEmpty(f.LastName.value))
		m+=". Lastname not entered\n"
	if (isEmpty(f.ContactPhone.value))
		m+=". Contact phone not entered\n"
	if (!isDDSelected(f.BinSize))
		m+=". Bin size not selected\n"
	if (isEmpty(f.Suburb.value))
		m+=". Suburb not selected\n"
	if (isEmpty(f.DateRequired.value) || f.DateRequired.value==dateNow)
		m+=". Required date not selected or is for today\n"
	
	if (m != "")
		alert("The following fields are incorrect or empty:\n\n"+ m)
	else {
		if (!checkOnly){
		   f.submit()
		}
		else
			alert("S U C C E S S \n\nEverything checks fine!")
	}	
}


