//For Step1
function fnValidateDataStep1(oForm)
{
	var oDenonimation		= oForm.sltDenomination;
	var oEmail				= oForm.txtEmail;
	var oTerms				= oForm.chkTerm;
	
	if(oDenonimation.value == '')
	{
		window.alert('Please Select Prize Bond Denomination');
		oDenonimation.focus();
		return;
	}
	
	if(oEmail.value == '')
	{
		window.alert('Please Enter Email Address');
		oEmail.focus();
		return;
	}
	
	if(!EmailCheck(oEmail))
	{
		//window.alert('Invalid Email Address! Please Enter Valid Email Address');
		//oEmail.focus();
		//oEmail.select();
		return;
	}
	
	if(!oTerms.checked)
	{
		window.alert('Please Agree With Our Terms Of Services');
		return;
	}
	
	oForm.submit();
}


//For Step 2
function fnValidateList(oForm,this_url)
{
	var oSelect = oForm.sltList;
	if (oSelect.value == '')
	{
		alert("Please Select Draw Number");
		oSelect.focus();
		return false;
	}
	
	//window.open(this_url+'components/com_prizebond/files/' + oSelect.value);
	window.open('../files/' + oSelect.value);
}

function fnAddBondNumber(oForm)
{
	var oRangeFrom		= oForm.RangeFrom;
	var oRangeTo		= oForm.RangeTo;
	var oStartRanges	= document.getElementById('StartRanges');
	var oEndRanges		= document.getElementById('EndRanges');

	if( (oRangeFrom.value.length !=6 ) || (isNaN(oRangeFrom.value)) )
	{
		alert("Invalid Range! PrizeBonds Number Contains Six Digits");
		oRangeFrom.focus();
		return;
	}
	
	if( oRangeTo.value.length == 0)
	{
		oRangeTo.value = oRangeFrom.value
	}
	
	if((oRangeTo.value.length != 6) || (isNaN(oRangeTo.value)) )
	{
		alert("Invalid Range! PrizeBonds Number Contains Six Digits");
		oRangeTo.focus();
		return;
	}
	
	if( oRangeTo.value < oRangeFrom.value )
	{
		alert("Invalid End Range")
		oRangeTo.focus();
		return;
	}
	
	var startRange		= new String();
	var endRange		= new String();
	startRange			= startRange + oRangeFrom.value;
	endRange			= endRange + oRangeTo.value;
	var ranges			= parseFloat(oStartRanges.length);
	
	var startOpt					= new Option(startRange,startRange);
	var endOpt						= new Option(endRange,endRange);
	oStartRanges.options[ranges]	= startOpt;
	oEndRanges.options[ranges]		= endOpt;
	
	oRangeFrom.value				= "";
	oRangeTo.value					= "";
	
}
	
function fnClearAll(oForm)
{
	var oStartRanges	= document.getElementById('StartRanges');
	var oEndRanges		= document.getElementById('EndRanges');
	var len				= oStartRanges.length;
	for(i=0; i<len ; i++)
	{
		oStartRanges.options[0]		= null;
		oEndRanges.options[0]		= null;
	}
	document.frmNewBonds.reset();
}

function fnValidateDataStep2(oForm)
{
	var oStartRanges	= document.getElementById('StartRanges');
	var oEndRanges		= document.getElementById('EndRanges');
	var oDrawNo			= oForm.drawno;
	if(oStartRanges.length == 0)
	{
		alert("Please first click on 'Add' button to add Bond Number(s)");
	}
	else
	{
		if (oDrawNo.value == "")
		{
			alert("Select a Draw No.");
			oDrawNo.focus();
			return;
		}	
		else
		{
			fnSelectAllValues(oStartRanges);
			fnSelectAllValues(oEndRanges);
			//fnShowMessage(oForm);
			oForm.submit();
		}
	}
}

function fnShowMessage(oForm)
{
	var oStartRanges	= document.getElementById('StartRanges');
	var oEndRanges		= document.getElementById('EndRanges');
	var oDiv			= window.document.getElementById('divEnterBonds');
	var oDivMessage		= window.document.getElementById('divMessage');
	
	//oDiv.style.display			= 'none';
	oDivMessage.style.display	= 'block';
	oDivMessage.style.left		= '200px';
	oDivMessage.style.top		= '300px';
	fnSelectAllValues(oStartRanges);
	fnSelectAllValues(oEndRanges);
	//oForm.hdnFocus.focus();
}

function fnSelectAllValues(oSelect)
{
	for(var counter = 0; counter < oSelect.length; counter++)
	{
		oSelect.options[counter].selected = true;
	}
}	

function fnRemoveOption(oForm)
{
	var oStartRanges	= document.getElementById('StartRanges');
	var oEndRanges		= document.getElementById('EndRanges');
	if (fnCheckSelect(oForm))
	{
		oEndRanges.options[oStartRanges.selectedIndex] = null;
		oStartRanges.options[oStartRanges.selectedIndex] = null;
	}
	else
	{
		alert("Please select a range.");
		document.frmNewBonds.StartRanges.focus();
	}
}

function fnCheckSelect(oForm)
{
	for (i=0; i < oForm.StartRanges.length; i++)
	{
		if (oForm.StartRanges.options[i].selected)
		{
			return true;
		}
	}
	return false;
}


// Utalities Functions
function fnPopupWindow(sURL, sWidth, sHeight)
{
	sStatus			= 'no';
	sToolbar		= 'no';
	sScrollbars		= 'yes';
	sTitlebar		= 'no';
	sMenubar		= 'no';
	sResizable		= 'yes';
	if(!sWidth)
		sWidth		= '640';
	if(!sHeight)	
		sHeight		= '480'
	sDirectories	= 'no';
	sLocation		= 'no';

	window.open(sURL,'win2','status='+sStatus+',toolbar='+sToolbar+',scrollbars='+sScrollbars+',titlebar='+sTitlebar+',menubar='+sMenubar+',resizable='+sResizable+',width='+sWidth+',height='+sHeight+',directories='+sDirectories+',location='+sLocation+''); 
}

function fnValidateValue(oEvent, oInput, oAction)
{
	var sValidChars = '0123456789';
	for(var counter = 0; counter < sValidChars.length; counter++)
	{
		if(sValidChars.indexOf(oInput.value.charAt(counter)) == -1)
		{
			oInput.value = oInput.value.substring(0, oInput.value.length - 1);
		}	
	}
}

function EmailCheck(email)
{
	if(email.value=='')
	{
		alert("Enter Email Address");
		email.focus();            
		return false;
	}
	if( !this.isCharsInBag( email.value, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._@-" ))
	{
		alert("Invalid Email Address");
		email.focus();            
		return false;
	}
	
	if(email.value != '')
	{
		var str=email.value;	
		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		var sdot=str.indexOf(dot,ldot+1);
	
		if (str.indexOf(at)==-1)
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}
	
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}
	
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}
	
		if (str.indexOf(at,(lat+1))!=-1)
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}
	
		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}
	
		if (str.indexOf(dot,(lat+2))==-1)
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}

		if (str.substring(ldot+1)=='')
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}

		if (str.substring(sdot+1)=='')
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}
	
		if (str.indexOf(" ")!=-1)
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}
		
		if(str.lastIndexOf(".") == str.length-1)
		{
			alert("Invalid Email Address");
			email.focus();            
			return false;
		}
	}//end of if
	return true;
}

function isCharsInBag (s, bag)
{
	var i;
	// Search through string's characters one by one.
	// If character is in bag, append to returnString.
	
	for (i = 0; i < s.length; i++)
	{
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) return(false);
	}
	return true;
}	
