//*******************//
//validation.js
//*******************//
//Copyright:Sitemarvel Pty. Ltd. Reproduction without permission is strictly prohibited.
//Developer: Nikhil Das
//begin animation css
var minPx=6
var maxPx=58
var sizeDir="up"
var clrArray = new Array(16)
clrArray[0]="#000000"
clrArray[1]="#003300"
clrArray[2]="#006600"
clrArray[3]="#009900"
clrArray[4]="#00bb00"
clrArray[5]="#00ff00"
clrArray[6]="#000033"
clrArray[7]="#000066"
clrArray[8]="#000099"
clrArray[9]="#0000bb"
clrArray[10]="#0000ff"
clrArray[11]="#330000"
clrArray[12]="#660000"
clrArray[13]="#990000"
clrArray[14]="#bb6633"
clrArray[15]="#ffbb99"
function animateTextPanel()
{
	var i=parseInt(document.getElementById('vg1').style.fontSize)
	sizeDir=(i==minPx)?"up":((i==maxPx)?"dn":sizeDir)
	if (sizeDir=="up") {i++} else {i--}
	document.getElementById('vg1').style.overflow="hidden"
	document.getElementById('vg1').style.fontSize=i+"px"
	//document.getElementById('vg1').style.backgroundColor=clrArray[i%14]
	document.getElementById('vg1').style.color=clrArray[i % 16]
	
	moveTextPanel()
}
function moveTextPanel()
{
	setTimeout("animateTextPanel()",250)
}
//end animation css


//------------------------------------------------
//the 2nd playbutton
var oStage
var imgArrayName
var nPics   //no of images
var imgH  //px Height
var imgW //px width
var dirV   // 0 = top -> bottom; 1 = bottom -> top
var dirH  // 0 = left -> right; 1 = right -> left
var oImage
var currImgNdx=0

function doSlides(divName, w, h, dv, dh, arrImg,imgId)
{
	oStage=document.getElementById(divName)
	oImage=document.getElementById(imgId)
	imgArrayName=arrImg
	nPics=imgArrayName.length
	//alert("No of Pics... = " + nPics)
	imgW=w
	imgH=h 
	dirV=dv
	dirH=h
	startSlideShow()
}

function displayPics()
{
	var dx, dy //vertical and horizontal movement in pixels
	dx=imgW/4
	dy=imgH/4

	if (currImgNdx<nPics-1) {
		currImgNdx++
	}
	else {
		currImgNdx=0
	}
	// get new image
	//oImage.style.visibility="hidden"
	oImage.src=imgArrayName[currImgNdx]
	// start and position images
	oStage.style.overflow="hidden"
	if (dirV==0 && dirH==0) { 
		// top-left->bottom-right
		oStage.style.width=dx
		oStage.style.height=dy
		//oImage.style.visibility="visible"
		getRest(2000)
/*
		oImage.style.left=dx*3*-1
		oImage.style.top=dy*3*-1
		getRest(4000)
		
		oImage.style.left=dx*2*-1
		oImage.style.top=dy*2*-1
		getRest(4000)

		oImage.style.left=dx*-1
		oImage.style.top=dy*-1
		getRest(4000)
		
		oImage.style.left=0
		oImage.style.top=0 */

	}

	//if (dirV && dirH) { // 
		
 	startSlideShow()
	
}

function startSlideShow()
{
	
	setTimeout("displayPics()",3000)
}


function getRest(ns) {
	for (i=0; i<ns; i++) {
	//
	}
}

//-------------------------------



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

function getQueryString(strQs)
{
	var readFrom, ret=""
	if (strQs!="") {
		var arrQueryStrings = new Array()
		var qryStr=unescape(location.search)
	
		arrQueryStrings=qryStr.split("&")
		for (var i=0;i<arrQueryStrings.length;i++) {
			if (arrQueryStrings[i].indexOf(strQs)!=-1) 	{
				readFrom=arrQueryStrings[i].indexOf("=")+1
				ret=arrQueryStrings[i].substr(readFrom)
				break
			}
		}
	}
	return(ret)		
}
if (top!=self){
  top.location=location
}

function UserHelp(topic) {
	tgtUrl="/help.asp?topic=" + topic
	newWindow = window.open(tgtUrl,"", "toolbar=yes, scrollbars=yes status=no, menubar=no, resizable=yes, width=450, height=450");
	newWindow.focus();
}


//begin animation css
var maxA=686,maxB=556
var min=185
var logoDir
if (logoDir=="")
{
	logoDir="dn"
}
function animateBanner()
{
	var i=parseInt(document.getElementById('Logo').style.left)
	var j=parseInt(document.getElementById('Prods').style.left) //i=location counter for A and j for B
	
	logoDir=(i==min)?"up":((i==maxA)?"dn":logoDir)
	if (logoDir=="dn") {
		i=i-1
		j=(j<maxB)?j+1:maxB
	}
	else
	{
		i=i+1
		j=(j>min)?j-1:min
	}
	document.getElementById('Logo').style.left=i
	document.getElementById('Prods').style.left=j
	moveThings()
}
function moveThings()
{
	if (activeDHTML_TopPanel)
		setTimeout("animateBanner()",30)
}
//end animation css




function showDiv(divId,startDiv,maxDivs)
{
	hideAllDivs(startDiv,maxDivs);
	document.getElementById(divId).style.visibility="visible";
}
		
function hideAllDivs(minDivNo,maxDivs)	
{
	for (var i=minDivNo;i<=maxDivs;i++) {
		document.getElementById("d"+i.toString()).style.visibility="hidden";
	}
}



function showAsSelected(menuItem)
{
	//alert(menuItem)
	document.getElementById(menuItem).style.color="#ffffff"
	document.getElementById(menuItem).style.background="#f08000"
}

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);
	
}
dateNow=currentDate();
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 || 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 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 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 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 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 DDValueSelected(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
	}
}
/* proofing online visitor is not a form submit bot */
var botProofString
var grafxFontArr=new Array(36)
grafxFontArr[0]="0.gif"
grafxFontArr[1]="1.gif"
grafxFontArr[2]="2.gif"
grafxFontArr[3]="3.gif"
grafxFontArr[4]="4.gif"
grafxFontArr[5]="5.gif"
grafxFontArr[6]="6.gif"
grafxFontArr[7]="7.gif"
grafxFontArr[8]="8.gif"
grafxFontArr[9]="9.gif"
grafxFontArr[10]="a.gif"
grafxFontArr[11]="b.gif"
grafxFontArr[12]="c.gif"
grafxFontArr[13]="d.gif"
grafxFontArr[14]="e.gif"
grafxFontArr[15]="f.gif"
grafxFontArr[16]="g.gif"
grafxFontArr[17]="h.gif"
grafxFontArr[18]="i.gif"
grafxFontArr[19]="j.gif"
grafxFontArr[20]="k.gif"
grafxFontArr[21]="l.gif"
grafxFontArr[22]="m.gif"
grafxFontArr[23]="n.gif"
grafxFontArr[24]="o.gif"
grafxFontArr[25]="p.gif"
grafxFontArr[26]="q.gif"
grafxFontArr[27]="r.gif"
grafxFontArr[28]="s.gif"
grafxFontArr[29]="t.gif"
grafxFontArr[30]="u.gif"
grafxFontArr[31]="v.gif"
grafxFontArr[32]="w.gif"
grafxFontArr[33]="x.gif"
grafxFontArr[34]="y.gif"
grafxFontArr[35]="z.gif"

function proofUserEntry(frm,entry)
{
	if (entry != botProofString) {
		frm.ovs.value=""
		alert("Verification string entered does not match the one displayed.")
	}
	else {
		frm.vfd.value=frm.ovs.value + frm.ftype.value
	}
}

function printGrafxNumber(nmb)
{
	var asciiCode,ndx,grafxHtml=""
	for (x=0;x<6;x++) {
		asciiCode=nmb.charCodeAt(x)
		if (asciiCode > 96) 
			ndx=asciiCode-87 // take 96 and add 10
		else
			ndx=asciiCode-48
		grafxHtml=grafxHtml+'<img src="/images/grafx/'+grafxFontArr[ndx]+'" width="30" height="30" alt="">'
	}
	document.write(grafxHtml)	
}

function genrateAlphaNumericRandomString()
{
	var chr,ndx,ANRString=""
	for (x=0;x<6;x++) {
		ndx=Math.round(Math.random()* 35)
		chr=grafxFontArr[ndx].charAt(0)
		ANRString=ANRString+chr
	}
	botProofString=ANRString
}
function isHuman(f)
{
	f.vfd.value=botProofString +'<%=checkASPValue4This%>'
}

/* eop: proofing online visitor is not a form submit bot */



function submitMemberDetails()
{
	var v = 0 ,f, fn
	f = document.forms['form0']

	msg = ""
	fn=f.ovs.value
	if (fn!= botProofString) {
		f.ovs.value=""
		v++;
		msg += "Verification string does not match with the one displayed.\nThis form cannot be processed."
	}
	else {
		f.vfd.value=f.ovs.value + f.ftype.value
		fn=f.first_name.value
		if (isEmpty(fn)) {
			v++;
			msg += "\nFirst Name empty"
		}
		fn=f.last_name.value
		if (isEmpty(fn)) {
			v++;
			msg += "\nLast Name empty"
		}
		fn=f.email.value
		if (!isEmail(fn)) {
			v++;
			msg += "\nIncorrect or empty email address"
		}
		fn=f.pwd.value
		if (isEmpty(fn) || fn!=f.pwd2.value) {
			v++;
			msg += "\nPassword mismatch or empty"
		}
		fn=f.referralno.value
		if (isEmpty(fn)) {
			v++;
			msg += "\nReferral No. empty"
		}
		fn=f.quantity.value
		if (isEmpty(fn)) {
			v++;
			msg += "\nNo. of trees you want remains empty"
		}
	
	}
	if (v > 0) {
		alert(inputErrorMsg +"\n" + msg)	
	}
	else {
		f.submit();
	}
}
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()
	}		
}


