// Support Script (664)
// 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 (668)
function AddToValidateArray(strElementName)
{
    var strName = strElementName

    if (!document.ValidateArray) 
    {
        document.ValidateArray = new Array
    }

    document.ValidateArray[document.ValidateArray.length] = strName
}

// Support Script (739)
function ValidateNonBlank()
{
  var msg = "";
  var val = this.getText();  

  if (StripChars(" \n\t\r",val).length == 0)
  {
    if (Trim(this.ErrorMsg) != "")
      msg = "" + this.ErrorMsg
    else
      msg = "is Required. Please enter an appropriate value."
  }

  return msg;
}

// Support Script (669)
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 (587)
function ValidateDropDown()
{
  msg = "";
  var iPos = this.getSelectedPosition();
  if (iPos<=0)
  {
    msg = "Please make a selection."
  }

  return msg;
}
// Support Script (662)
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;
}

function document_onLoad() {
FirstName.Validate=ValidateNonBlank;
FirstName.ErrorMsg = "is required"
AddToValidateArray("FirstName")
LastName.Validate=ValidateNonBlank;
LastName.ErrorMsg = "is required"
AddToValidateArray("LastName")
Address.Validate=ValidateNonBlank;
Address.ErrorMsg = "is required"
AddToValidateArray("Address")
City.Validate=ValidateNonBlank;
City.ErrorMsg = "is required"
AddToValidateArray("City")
ZipCode.Validate=ValidateNonBlank;
ZipCode.ErrorMsg = "is required"
AddToValidateArray("ZipCode")
Phone.Validate=ValidateNonBlank;
Phone.ErrorMsg = "is required"
AddToValidateArray("Phone")
MoveinDate.Validate=ValidateNonBlank;
MoveinDate.ErrorMsg = "is required"
AddToValidateArray("MoveinDate")
PriceRange.Validate=ValidateNonBlank;
PriceRange.ErrorMsg = "is required"
AddToValidateArray("PriceRange")
ConstructionType.Validate = ValidateDropDown;
AddToValidateArray("ConstructionType")
Bedrooms.Validate = ValidateDropDown;
AddToValidateArray("Bedrooms")
Area.Validate = ValidateDropDown;
AddToValidateArray("Area")
Pet.Validate = ValidateDropDown;
AddToValidateArray("Pet")
Relocating.Validate = ValidateDropDown;
AddToValidateArray("Relocating")
 }
function Form1_onSubmit() {
errorMsg = Validate("0"); // don't stop on first error

if (errorMsg != "")
    alert("" + errorMsg);

return (errorMsg == ""); // false prevents form submission
 }
function _Form1_onSubmit() { if (Form1) return Form1.onSubmit(); }
function SanAntonioTXApartments_onMouseOver() {
playSound1()
 }
function _SanAntonioTXApartments_onMouseOver() { if (SanAntonioTXApartments) return SanAntonioTXApartments.onMouseOver(); }
function San_Antonio_TX_Commercial_onMouseOver() {
playSound1()
 }
function _San_Antonio_TX_Commercial_onMouseOver() { if (San_Antonio_TX_Commercial) return San_Antonio_TX_Commercial.onMouseOver(); }
function San_Antonio_TX_Condos_onMouseOver() {
playSound1()
 }
function _San_Antonio_TX_Condos_onMouseOver() { if (San_Antonio_TX_Condos) return San_Antonio_TX_Condos.onMouseOver(); }
function San_Antonio_TX_Corporate_onMouseOver() {
playSound1()
 }
function _San_Antonio_TX_Corporate_onMouseOver() { if (San_Antonio_TX_Corporate) return San_Antonio_TX_Corporate.onMouseOver(); }
function San_Antonio_TX_Duplexes_onMouseOver() {
playSound1()
 }
function _San_Antonio_TX_Duplexes_onMouseOver() { if (San_Antonio_TX_Duplexes) return San_Antonio_TX_Duplexes.onMouseOver(); }
function San_Antonio_TX_Homes_onMouseOver() {
playSound1()
 }
function _San_Antonio_TX_Homes_onMouseOver() { if (San_Antonio_TX_Homes) return San_Antonio_TX_Homes.onMouseOver(); }
function San_Antonio_TX_Lofts_onMouseOver() {
playSound1()
 }
function _San_Antonio_TX_Lofts_onMouseOver() { if (San_Antonio_TX_Lofts) return San_Antonio_TX_Lofts.onMouseOver(); }
function San_Antonio_TX_Studios_onMouseOver() {
playSound1()
 }
function _San_Antonio_TX_Studios_onMouseOver() { if (San_Antonio_TX_Studios) return San_Antonio_TX_Studios.onMouseOver(); }
function San_Antonio_TX_Townhomes_onMouseOver() {
playSound1()
 }
function _San_Antonio_TX_Townhomes_onMouseOver() { if (San_Antonio_TX_Townhomes) return San_Antonio_TX_Townhomes.onMouseOver(); }
function About_San_Antonio_Apartments_onMouseOver() {
playSound1()
 }
function _About_San_Antonio_Apartments_onMouseOver() { if (About_San_Antonio_Apartments) return About_San_Antonio_Apartments.onMouseOver(); }
function Services_San_Antonio_Apartments_onMouseOver() {
playSound1()
 }
function _Services_San_Antonio_Apartments_onMouseOver() { if (Services_San_Antonio_Apartments) return Services_San_Antonio_Apartments.onMouseOver(); }
function FAQ_San_Antonio_Apartments_onMouseOver() {
playSound1()
 }
function _FAQ_San_Antonio_Apartments_onMouseOver() { if (FAQ_San_Antonio_Apartments) return FAQ_San_Antonio_Apartments.onMouseOver(); }
function Directions_San_Antonio_Apartments_onMouseOver() {
playSound1()
 }
function _Directions_San_Antonio_Apartments_onMouseOver() { if (Directions_San_Antonio_Apartments) return Directions_San_Antonio_Apartments.onMouseOver(); }
function San_Antonio_Apartment_Resources_onMouseOver() {
playSound1()
 }
function _San_Antonio_Apartment_Resources_onMouseOver() { if (San_Antonio_Apartment_Resources) return San_Antonio_Apartment_Resources.onMouseOver(); }
function ImageButton1T115_onMouseOver() {
playSound1()
 }
function _ImageButton1T115_onMouseOver() { if (ImageButton1T115) return ImageButton1T115.onMouseOver(); }
function TodaysDate_Inline(html) {
document.write(ReplaceTokensWithTimeDate(html,parseInt("1"),0))
 }
function _TodaysDate_Inline(html) { if (TodaysDate) return TodaysDate.Inline(html); }

