	NS = (document.layers);
	IE = (document.all);

	function pageSizeChange()
	{
		try
		{
			document.frmMain.Action.value = '';
			document.frmMain.submit();
		}
		catch (e)
		{
		}
	}

	function submitOnEnter(e) 
	{ // This takes over the enter key in the specified field
	   if((NS && e.which == 13) || (IE && window.event.keyCode == 13)) {
		  document.myForm.submit();
		  return false; // cancel the enter (Dings in Netscape)
	   }
	}

	function dateStamp()
	{
		var arrMonths = new Array("Jan.","Feb.","March","April","May","June","July","August","Sept.","Oct.","Nov.","Dec.");
		var arrDays = new Array("Sun.","Mon.","Tues.","Wed.","Thurs.","Fri.","Sat.");
		var datToday = new Date();
		
		strDate = arrDays[datToday.getDay()] + ', ' + arrMonths[datToday.getMonth()] + ' ' + datToday.getDate() + ', ' + datToday.getFullYear();
		document.write(strDate);	
	}

   function sendToClipboard(s)
   {
      if( window.clipboardData && clipboardData.setData )
      {
         clipboardData.setData('Text', s);
      }
      else
      {
         alert("Internet Explorer required");
      }
   }


	function popIt()
	{
		var url = arguments[0];
		var width  = 400;
		var height = 400;
		var windowName = 'marypopit';
		
		if (arguments.length > 1)
		{
			windowName = arguments[1];
		}
		
		if (arguments.length > 2)
		{
			width = arguments[3];
		}
		
		if (arguments.length > 3)
		{
			height = arguments[2];
		}
		
		var left = (screen.availWidth/2) - (width/2);
		var top = (screen.availHeight/2) - (height/2);
		var features = 'resizable=yes,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,fullscreen=no,dependent=yes';
		features = features + ',width=' + width + ',height=' + height;
		features = features + ',top=' + top + ',left=' + left;
		
		var child = window.open(url, name, features);
		
		if (child != null)
		{
			child.opener = window;
		}
	}

	function replace(Expression, Find, Replace)
	{
		var temp = Expression;
		var a = 0;
	
		for (var i = 0; i < Expression.length; i++) 
		{
			a = temp.indexOf(Find);
			if (a == -1)
				break
			else
				temp = temp.substring(0, a) + Replace + temp.substring((a + Find.length));
		}
	
		return temp;
	}

 function isValidEmailAddress(email) 
	{
		var at="@"
		var dot="."
		var lat=email.indexOf(at)
		var lstr=email.length
		var ldot=email.indexOf(dot)
		if (email.indexOf(at)==-1)
		{
		   return false
		}

		if (email.indexOf(at)==-1 || email.indexOf(at)==0 || email.indexOf(at)==lstr)
		{
		   return false
		}

		if (email.indexOf(dot)==-1 || email.indexOf(dot)==0 || email.indexOf(dot)==lstr)
		{
		    return false
		}

		 if (email.indexOf(at,(lat+1))!=-1)
		 {
		    return false
		 }

		 if (email.substring(lat-1,lat)==dot || email.substring(lat+1,lat+2)==dot)
		 {
		    return false
		 }

		 if (email.indexOf(dot,(lat+2))==-1)
		 {
		    return false
		 }
		
		 if (email.indexOf(" ")!=-1)
		 {
		    return false
		 }

 		 return true					
	}

	function centerWindow(url, name, height, width, features)
	{
		var left = (screen.availWidth/2) - (width/2);
		var top = (screen.availHeight/2) - (height/2);
		
		return window.open(url,name, 'width=' + width + ',height=' + height + ',left=' + left + ', top=' + top + ',' + features);
	}

	function validateInteger(control, lowLimit, highLimit)
	{

		var s = trim(control.value);
		
		if (s.length == 0)
		{
			return false;
		}
		else
		{
			if (isInteger(s) == false)
			{
				return false;
			}
		}
		
		alert('lowLimit: ' + lowLimit);
	
	}
	
	function validateMoney(control, lowLimit, highLimit)
	{

		var s = trim(control.value);
		
		if (s.length == 0)
		{
			return false;
		}
		else
		{
			if (isFloat(s) == false)
			{
				return false;
			}
		}
		
		alert('lowLimit: ' + lowLimit);
		return true;	
	}
		
	function validateDate(control, lowLimit, highLimit)
	{
		s = Trim(control.value);
		if (s.length == 0)
		{
			alert('You must provide an expiration date for the coupon)');
			return false;		
		}
		else
		{
			if (isDate(s) == false)
			{
				alert('Invalid expiration date.  Use mm/dd/yyyy format.')
				return false;
				
			}
		}
		
		return true;
	}


	function formatCurrency(num) 
	{
		num = num.toString().replace(/\$|\,/g,'');

		if(isNaN(num))
		{
			num = "0";
		}
		
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num*100+0.50000000001);
		cents = num%100;
		num = Math.floor(num/100).toString();
		
		if (cents < 10) 
		{
			cents = "0" + cents;
		}
		
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		{
			num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
		}
		return (((sign)?'':'-') +  num + '.' + cents);
	}	

	function containsHTML(s)
	{
		if (s.indexOf('>') > 0)
		{
			return true;
		}

		if (s.indexOf('<') > 0)
		{
			return true;
		}

		if (s.indexOf('&gt;') > 0)
		{
			return true;
		}

		if (s.indexOf('&lt;') > 0)
		{
			return true;
		}
		
		return false;

	}
	
/**
 * DHTML date validation script. 
 */
 
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function isFloat(s)
{
	var i;
	
	if (s.length == 0)
	{
		return false;
	}

    for (i = 0; i < s.length; i++)
	{   
        // Check that current character is number or a decimal point
        var c = s.charAt(i);
		
        if ( ( (c < "0") || (c > "9")) && c != "." && c != "-") return false;
    }
	
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr)
{
	var daysInMonth = DaysArray(12);
	var pos1=dtStr.indexOf(dtCh);
	var pos2=dtStr.indexOf(dtCh,pos1+1);
	var strMonth=dtStr.substring(0,pos1);
	var strDay=dtStr.substring(pos1+1,pos2);
	var strYear=dtStr.substring(pos2+1);
	strYr=strYear;

	if (strYr.length == 2)
	{
		strYr = "20" + strYr;
	}
	
	if (strDay.charAt(0)=="0" && strDay.length>1) 
	{
		strDay=strDay.substring(1);
	}
	
	if (strMonth.charAt(0)=="0" && strMonth.length>1) 
	{
		strMonth=strMonth.substring(1);
	}
	
	for (var i = 1; i <= 3; i++) 
	{
		if (strYr.charAt(0)=="0" && strYr.length>1) 
		{
			strYr=strYr.substring(1);
		}
	}

	month=parseInt(strMonth);
	day=parseInt(strDay);
	year=parseInt(strYr);
	
	if (pos1==-1 || pos2==-1)
	{
//		alert("1");
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12)
	{
//		alert("2");
		return false;
	}
	if (strDay.length < 1 || day < 1 || day > 31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month])
	{
//		alert("3");
		return false;
	}
	if (strYear.length < 2 || year==0 || year<minYear || year>maxYear)
	{
//		alert("4");
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false)
	{
//		alert("5");
		return false
	}
	
	return true;
}

function ValidateForm(){
	var dt=document.frmSample.txtDate
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }

   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
	function trim(inputString) 
	{
	   if (typeof inputString != "string") { return inputString; }
	   
	   var retValue = inputString;
	   var ch = retValue.substring(0, 1);
	   
	   // Check for spaces at the beginning of the string
	   while (ch == ' ') 
	   { 
	      retValue = retValue.substring(1, retValue.length);
    	  ch = retValue.substring(0, 1);
	   }
	   
	   // Check for spaces at the end of the string
	   ch = retValue.substring(retValue.length-1, retValue.length);
	
	   while (ch == ' ') 
	   { 
	      retValue = retValue.substring(0, retValue.length-1);
	      ch = retValue.substring(retValue.length-1, retValue.length);
	   }

		// Note that there are two spaces in the string - look for multiple spaces within the string	   
	   while (retValue.indexOf('  ') != -1) 
	   { 
			retValue = replace(retValue, '  ', ' ');
			// retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
	   }
	   
	   return retValue; // Return the trimmed string back to the user

	} // Ends the "trim" function

	function isValidImageFilename(s)
	{
	
		// Get the period
		var k = s.indexOf('.');
		
		// If no extension, fail
		if (k == -1)
		{
			return false;
		}
		
		// Get the extension
		var ext = s.substring(k+1).toLowerCase();
		
		// If no extension, fail
		if (ext.length == 0) 
		{
			return false;
		}
		
		// See if it's a valid extension
		if (ext == 'jpg' || ext == 'gif' || ext == 'png')
		{
			return true;		
		}
	
		return false;
	}

//
// Sample Code that uses the following function
// The <% = ctr %> is necessary when scrolling through a record set
// Toggle trigger:
// <% while not rs.eof
// 		ctr = ctr + 1 %>
// 		<input class="toggleButton" type="button" name="btnDetails" value=" + " onClick="toggleDetails(this, 'details<% = ctr %>');">
// 		<div id="details<% = ctr %>" style="display:none;">Toggled Content Here</div>
// <% 	rs.movenext
// 	  wend %>
	function toggleDetails(toggleControl, name)
	{
		var z = document.getElementById(name);
		
		if (z.style.display == 'block')
		{
			z.style.display = 'none';
			
			if (toggleControl != null)
			{
				toggleControl.value = '+';
			}
		}
		else
		{
			z.style.display = 'block';

			if (toggleControl != null)
			{
				toggleControl.value = '-';
			}
		}
	}
	
	// 
	// Toggles a checkbox array on/off
	//
	function toggleCheckboxes(master, slaveName)
	{

	  // Get the control
	  var checked = master.checked;
	  var checkboxGroup = document.frmMain[slaveName];

	  // If there is no checkbox, get out
	  if (checkboxGroup == null)
	  {
		return;
	  }

	  // See if it's an array
	  if (checkboxGroup.length == null)
	  {
	  	checkboxGroup.checked = checked;
	  }
	  else
	  {
		  for (var c = 0; c < checkboxGroup.length; c++)
		  {
	   	   checkboxGroup[c].checked = checked;
		  }
	  }

	}

	function getPageOffsetLeft(el) 
	{

  		var x;

  		// Return the x coordinate of an element relative to the page.
  		x = el.offsetLeft;
  		if (el.offsetParent != null) 
		{
    		x += getPageOffsetLeft(el.offsetParent);
		}
  		return x;
	}

	function getPageOffsetTop(el) 
	{

  		var y;

  		// Return the x coordinate of an element relative to the page.

  		y = el.offsetTop;
  		if (el.offsetParent != null) 
		{
    		y += getPageOffsetTop(el.offsetParent);
    	}

  		return y;
	}
