// Support Script (776)
function AddToValidateArray(strElementName)
{
    var strName = strElementName

    if (!document.ValidateArray) 
    {
        document.ValidateArray = new Array
    }

    document.ValidateArray[document.ValidateArray.length] = strName
}

// Support Script (800)
function StripChars(theFilter,theString)
{
	var strOut,i,curChar

	strOut = ""
	for (i=0;i < theString.length; i++)
	{		
		curChar = theString.charAt(i)
		if (theFilter.indexOf(curChar) < 0)	// if it's not in the filter, send it thru
			strOut += curChar		
	}	
	return strOut
}

function AllInRange(x,y,theString)
{
	var i, curChar
	
	for (i=0; i < theString.length; i++)
	{
		curChar = theString.charAt(i)
		if (curChar < x || curChar > y) //the char is not in range
			return false
	}
	return true
}


function reformat (s)
{
    var arg;
    var sPos = 0;
    var resultString = "";

    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) 
           resultString += arg;
       else 
       {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}

function Trim(theString)
{
 var i,firstNonWhite

 if (StripChars(" \n\r\t",theString).length == 0 ) return ""

	i = -1
	while (1)
	{
		i++
		if (theString.charAt(i) != " ")
			break	
	}
	firstNonWhite = i
	//Count the spaces at the end
	i = theString.length
	while (1)
	{
		i--
		if (theString.charAt(i) != " ")
			break	
	}	

	return theString.substring(firstNonWhite,i + 1)

}
// Support Script (649)
function ValidateNumChars()
{	
	var theString = this.getText()
	var MinLength = this.MinLength
	var MaxLength = this.MaxLength
	var msgInvalid = ""

	if (StripChars(" \n\t\r",this.ErrorMsg).length == 0)
	{
				
		if (MinLength == 1 && MaxLength == 1)		
			msgInvalid = "Please enter a value one character long."		
		else if (MinLength > 1 && MaxLength == MinLength)		
			msgInvalid = "Please enter a value " + MinLength + " characters long."				
		else if (MinLength > 0 && MaxLength > 0)		
			msgInvalid = "Please enter a value between\n" + MinLength + " and " + MaxLength + " characters long."		
		else if (MinLength == 1)		
			msgInvalid = "Please enter a value at least one character long."
		else if (MinLength > 1)
			msgInvalid = "Please enter a value at least " + MinLength + " characters long."
		else if (MaxLength == 1)		
			msgInvalid = "Please enter a value no more than one character long."
		else if (MaxLength > 1)
			msgInvalid = "Please enter a value no more than " + MaxLength + " characters long."		
 	else
	 	msgInvalid = this.ErrorMsg	

	}
	else
		msgInvalid = this.ErrorMsg	


	if (StripChars(" \n\r",theString).length == 0)	
		if (!this.Required) return ""		
		else return "Required field.  " + msgInvalid

	theString = Trim(theString)

	if (this.StripSpaces)
		theString = StripChars(" \n\r",theString)

	if (MinLength > 0 && theString.length < MinLength)
		return msgInvalid

	if (MaxLength > 0 && theString.length > MaxLength)
		return msgInvalid

	// we passed the tests
	this.setText(theString)

	return ""
}
// Support Script (810)
function subAwithBinC(a,b,c)
{

	var i = c.indexOf(a);
	var l = b.length;

	while (i != -1)	{
		c = c.substring(0,i) + b + c.substring(i + a.length,c.length);
  i += l
		i = c.indexOf(a,i);
	}
	return c;

}
// Support Script (770)
function Validate(stopOnFailure)
{
	var ErrorMsg = "";
	var i
	var msg
	var tofocus = true;
	var ErrorMsg = "";
	
	// Go through the Validate Array that may or may not exist
	// and call the Validate function for all elements that have one.
	if (document.ValidateArray)
	{
		for (i = 0; i < document.ValidateArray.length; i ++)
		{
			msg = eval( document.ValidateArray[i] + ".Validate()")
			if (msg != "")
			{
				ErrorMsg += "\n\n" + document.ValidateArray[i] + ":  " + msg;
				if (tofocus) 
				{
					eval(document.ValidateArray[i] + ".focus()")
					tofocus = false;
				}
				
				if (stopOnFailure == "1") return ErrorMsg;
			}
  	}
  }
	return ErrorMsg;
}

// Support Script (772)
// These date functions work for Nav 3 and above.

function getDayName(d)
{   
   var theDay = d.getDay()

   if (theDay == 0) 
            return "Sunday"
   if (theDay == 1) 
            return "Monday"
   if (theDay == 2) 
            return "Tuesday"
   if (theDay == 3) 
            return "Wednesday"
   if (theDay == 4) 
            return "Thursday"
   if (theDay == 5) 
            return "Friday"
   if (theDay == 6) 
            return "Saturday"
}

function getFullYear(d)
{
   var y = d.getYear();

   if (y < 2000) 
   {
        y += 1900
   }

   return y
}

function getMonthName(d)
{
   var theMonth = d.getMonth()
   
   if (theMonth == 0) 
            return "January"
   if (theMonth == 1) 
            return "February"
   if (theMonth == 2) 
            return "March"
   if (theMonth == 3) 
            return "April"
   if (theMonth == 4) 
            return "May"
   if (theMonth == 5) 
            return "June"
   if (theMonth == 6) 
            return "July"
   if (theMonth == 7) 
            return "August"
   if (theMonth == 8) 
            return "September"
   if (theMonth == 9) 
            return "October"
   if (theMonth == 10) 
            return "November"
   if (theMonth == 11) 
            return "December"
}

// A helper function for the other functions in this
// support script

function DateSupportReplaceAwithBinC(aa,bb,cc)
{
 var a = aa + ""
 var b = bb + ""
 var c = cc + ""
	var i = c.indexOf(a);
	var l = b.length;
	while (i != -1)	
 {
		c = c.substring(0,i) + b + c.substring(i + a.length,c.length);
  i += l
		i = c.indexOf(a,i);
	}
	return c;
}


function ReplaceTokensWithTimeDate(strIn, leadingZeroes, zoneDiff)
{
    var strOut = strIn
    var now = new Date()
    var d = new Date(now.getTime() + zoneDiff)

    var theTime = ""
    var theHours
    var theMinutes
    var theSeconds
    var ampm = "am"

    theHours = d.getHours()
    if (theHours >= 12)
    {
        ampm = "pm"
    }
    if (theHours > 12)
    {
         theHours -= 12   
    }

    theMinutes = d.getMinutes()
    if (leadingZeroes, theMinutes < 10)
    {
        theMinutes = "0" + theMinutes
    }
    
    theTime = theHours + ":" + theMinutes + ampm

    theSeconds = d.getSeconds()
    if (leadingZeroes && theSeconds < 10)
    {
        theSeconds = "0" + theSeconds
    }

    strOut = DateSupportReplaceAwithBinC("[monthname]", getMonthName(d), strOut)
    strOut = DateSupportReplaceAwithBinC("[monthnumber]", d.getMonth(d) + 1, strOut)
    strOut = DateSupportReplaceAwithBinC("[dayname]", getDayName(d), strOut)
    strOut = DateSupportReplaceAwithBinC("[daynumber]", d.getDate(), strOut)
    strOut = DateSupportReplaceAwithBinC("[year]", getFullYear(d), strOut)
    strOut = DateSupportReplaceAwithBinC("[time]", theTime, strOut)
    strOut = DateSupportReplaceAwithBinC("[hours]", theHours, strOut)
    strOut = DateSupportReplaceAwithBinC("[minutes]", theMinutes, strOut)
    strOut = DateSupportReplaceAwithBinC("[seconds]", theSeconds, strOut)
    strOut = DateSupportReplaceAwithBinC("[ampm]", ampm, strOut)

    return strOut
}


// This function takes the name of an edit box and a 
// flag that says whether or not to pad single digit 
// minutes and seconds with a zero.  It provides a 
// real time clock in an edit box.
//
function SetTimeText(strElementName, blnLeadingZeroes, zoneDiff)
{
  var theObj = eval(strElementName)

  theObj.setText(ReplaceTokensWithTimeDate(theObj.ContentString,blnLeadingZeroes, zoneDiff))
  setTimeout("SetTimeText('" + strElementName + "'," + blnLeadingZeroes + "," + zoneDiff + ")",1000)
}

// Returns a JavaScript Date object
// Expected format of date is 8/17/1998
// Expected format of time is 12:02am or 1:09pm
// Gives an error message if format is wrong.
//
function MakeDate(strDate, strTime)
{

 var tempDate = new Date(strDate)
 var strFormatted = getMonthName(tempDate) + " " + tempDate.getDate() + ", " + getFullYear(tempDate)

	var colonPos = strTime.indexOf(":")
	var ampmPos = strTime.indexOf("am")
	if (ampmPos == -1)
		ampmPos = strTime.indexOf("AM")
    if (ampmPos == -1)
		ampmPos = strTime.indexOf("pm")
	if (ampmPos == -1)
		ampmPos = strTime.indexOf("PM")

	// assume format of time is okay
	var theHours = strTime.substring(0,colonPos)
	var theMinutes = strTime.substring(colonPos + 1, ampmPos)
	var ampm = strTime.substring(ampmPos, strTime.length)
	ampm = ampm.toUpperCase()

	if (ampm == "PM")
	{
		if (theHours != "12")
		{
			theHours += 12
		}
	}
	else
	{
		if (theHours == "12")
		{
			theHours = "0"
		}
	}

	var outDate = new Date(strFormatted + " " + theHours + ":" + theMinutes)
	return outDate
}

// Support Script (650)
function ValidateEMail()
{
   var msg = "";
   var val = this.getText();
   var msgInvalid = "Please enter a valid e-mail address\n(a valid e-mail address contains the @ character)";

  	var theLen = StripChars(" ",val).length
	  if (theLen == 0)	
		  if (!this.Required) return ""		
		  else return "Required field.  " + msgInvalid

   if (val.indexOf("@",0) < 0) 
   {
      msg = msgInvalid 
   }
   return msg;
}

function document_onLoad() {
UserName.focus();
if (String(Login.getValue("login"))!= "undefined" && String(Login.getValue("login"))!= "")
  SavePassword.setState(parseInt("1"))
UserName.setText(HiddenUsername.getText())
Password.setText(Hiddenpassword.getText())
var style = "MMM/DD/YYYY";
var d = new Date();

if (style == "MM/DD/YY") {
  var date_string = (d.getMonth()+1) + "/" + d.getDate() + "/" + d.getYear();
  }
  else if (style == "MM/DD/YYYY") {
  var date_string = (d.getMonth()+1) + "/" + d.getDate() + "/" + d.getFullYear();
  }
  else if (style == "MM-DD-YY") {
  var date_string = (d.getMonth()+1) + "-" + d.getDate() + "-" + d.getYear();
  }
  else if (style == "MM-DD-YYYY") {
  var date_string = (d.getMonth()+1) + "-" + d.getDate() + "-" + d.getFullYear();
  }
  else if (style == "DD/MM/YY") {
  var date_string = d.getDate() + "/" + (d.getMonth()+1) + "/" + d.getYear();
  }
  else if (style == "DD/MM/YYYY") {
  var date_string = d.getDate() + "/" + (d.getMonth()+1) + "/" + d.getFullYear();
  }
  else if (style == "Month Day, Year") {
  var date_string = getMonthName(d) + " " + d.getDate() + ", " + d.getFullYear();
  }
  else if (style == "Day of week, Month Day, Year") {
  var date_string = getDayName(d) + " " + getMonthName(d) + " " + d.getDate() + ", " + d.getFullYear();
  }
  else if (style == "MMM-DD-YYYY") {
  var date_string = getShortMonthName(d) + "-" + d.getDate() + "-" + d.getFullYear();
  }
  else if (style == "Locale") {
  var date_string = d.toLocaleString();
  }
  else {
  var date_string = d.toGMTString();
  }

today.setText(date_string);
email_password.Validate = ValidateEMail;
email_password.Required = Number("0");
AddToValidateArray("email_password")
if (String(Login.getValue("user"))!="null")
  HiddenUsername.setText(Login.getValue("user"));
 }

function Form1_onSubmit() 
{
	if ( document.getElementsByName('email_password').item(0).value == '') 
	{
		return false;
	}
}

function _Form1_onSubmit() { return Form1.onSubmit(); }


function Form2_onSubmit() 
{
	if ( ( document.getElementsByName('UserName').item(0).value == '' || document.getElementsByName('Password').item(0).value == '' ) ) 
	{
		return false;
	}
}

function _Form2_onSubmit() { return Form2.onSubmit(); }

function ImageButton3_onClick() {
var addChar = "?" 
var j
var okToSubmit = false;

if ("".length > 1)
{
    Form1.setAction(subAwithBinC(" ", "%20", ""));
}

// execute the onSubmit() event handler and try to 
// determine if it already validated the form
Result = Form1.onSubmit();

//   If there is no onSubmithander the return value is null
//   If there is a validation handler it returns true to submit
//   or false to not submit
if (Result==null)  // there is no validation already defined
{
    if ("0" == "1")
    {
        Result = Validate("0"); // don't stop on first error
        if (Result == "") okToSubmit = true;
        else alert("The form could not be submitted:" + Result);
    }
    else okToSubmit = true;
}
else // there is a validation already defined
{
    if (Result==true)
        okToSubmit = true;
}

if (okToSubmit) 
{
    // We have to
    // put the source in the query string so the generic database contracts
    // still work.

    // NOTE: this only works if the method of the form is POST


    act = Form1.getAction();
    if (act.indexOf("?") != -1)
    {    
        addChar = "&"
    }

    act += addChar + "ImageButton3=1"
    Form1.setAction(act);


    Form1.submit();
}
if (SavePassword.getState())
{
    Login.setValue("user",UserName.getText());
}
else
{
    Login.expire("user");
}
 }
function _ImageButton3_onClick() { if (ImageButton3) return ImageButton3.onClick(); }
function ImageButton1_onClick() {
var addChar = "?" 
var j
var okToSubmit = false;

if ("".length > 1)
{
    Form1.setAction(subAwithBinC(" ", "%20", ""));
}

// execute the onSubmit() event handler and try to 
// determine if it already validated the form
Result = Form1.onSubmit();

//   If there is no onSubmithander the return value is null
//   If there is a validation handler it returns true to submit
//   or false to not submit
if (Result==null)  // there is no validation already defined
{
    if ("1" == "1")
    {
        Result = Validate("0"); // don't stop on first error
        if (Result == "") okToSubmit = true;
        else alert("The form could not be submitted:" + Result);
    }
    else okToSubmit = true;
}
else // there is a validation already defined
{
    if (Result==true)
        okToSubmit = true;
}

if (okToSubmit) 
{
    // We have to
    // put the source in the query string so the generic database contracts
    // still work.

    // NOTE: this only works if the method of the form is POST


    act = Form1.getAction();
    if (act.indexOf("?") != -1)
    {    
        addChar = "&"
    }

    act += addChar + "ImageButton1=1"
    Form1.setAction(act);


    Form1.submit();
}
 }
function _ImageButton1_onClick() { if (ImageButton1) return ImageButton1.onClick(); }


