
// ultimate browser sniffer from netscape
// see http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html for docs

// convert all characters to lowercase to simplify testing 
var agt=navigator.userAgent.toLowerCase(); 


    // *** BROWSER VERSION ***
    // Note: On IE5, these return 4, so use is_ie5up to detect IE5.
    var is_major = parseInt(navigator.appVersion);
    var is_minor = parseFloat(navigator.appVersion);

    // Note: Opera and WebTV spoof Navigator.  We do strict client detection.
    // If you want to allow spoofing, take out the tests for opera and webtv.
    var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
    var is_nav2 = (is_nav && (is_major == 2));
    var is_nav3 = (is_nav && (is_major == 3));
    var is_nav4 = (is_nav && (is_major == 4));
    var is_nav4up = (is_nav && (is_major >= 4));
    var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) ||
                          (agt.indexOf("; nav") != -1)) );
    var is_nav6 = (is_nav && (is_major == 5));
    var is_nav6up = (is_nav && (is_major >= 5));
    var is_gecko = (agt.indexOf('gecko') != -1);


    var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    var is_ie3    = (is_ie && (is_major < 4));
    var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
    var is_ie4up  = (is_ie && (is_major >= 4));
    var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
    var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
    var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
    var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
    var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
    var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);

    // KNOWN BUG: On AOL4, returns false if IE3 is embedded browser
    // or if this is the first browser window opened.  Thus the
    // variables is_aol, is_aol3, and is_aol4 aren't 100% reliable.
    var is_aol   = (agt.indexOf("aol") != -1);
    var is_aol3  = (is_aol && is_ie3);
    var is_aol4  = (is_aol && is_ie4);
    var is_aol5  = (agt.indexOf("aol 5") != -1);
    var is_aol6  = (agt.indexOf("aol 6") != -1);

    var is_opera = (agt.indexOf("opera") != -1);
    var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
    var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
    var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
    var is_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
    var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4);

    var is_webtv = (agt.indexOf("webtv") != -1); 

    var is_TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1)); 
    var is_AOLTV = is_TVNavigator;

    var is_hotjava = (agt.indexOf("hotjava") != -1);
    var is_hotjava3 = (is_hotjava && (is_major == 3));
    var is_hotjava3up = (is_hotjava && (is_major >= 3));
				//var is_safari = (agt.indexOf("safari") != -1);
				var is_safari = (agt.indexOf("applewebkit") != -1);
    // *** JAVASCRIPT VERSION CHECK ***
    var is_js;
    if (is_nav2 || is_ie3) is_js = 1.0;
    else if (is_nav3) is_js = 1.1;
    else if (is_opera5up) is_js = 1.3;
    else if (is_opera) is_js = 1.1;
    else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) is_js = 1.2;
    else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) is_js = 1.3;
    else if (is_hotjava3up) is_js = 1.4;
    else if (is_nav6 || is_gecko) is_js = 1.5;
    // NOTE: In the future, update this code when newer versions of JS
    // are released. For now, we try to provide some upward compatibility
    // so that future versions of Nav and IE will show they are at
    // *least* JS 1.x capable. Always check for JS version compatibility
    // with > or >=.
    else if (is_nav6up) is_js = 1.5;
    // NOTE: ie5up on mac is 1.4
    else if (is_ie5up) is_js = 1.3

    // HACK: no idea for other browsers; always check for JS version with > or >=
    else is_js = 0.0;
 

// *** PLATFORM ***
var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
// NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all
//        Win32, so you can't distinguish between Win95 and WinNT.
var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));

// is this a 16 bit compiled version?
var is_win16 = ((agt.indexOf("win16")!=-1) || 
           (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || 
           (agt.indexOf("windows 16-bit")!=-1) );  

var is_win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
                (agt.indexOf("windows 16-bit")!=-1));

// NOTE: Reliable detection of Win98 may not be possible. It appears that:
//       - On Nav 4.x and before you'll get plain "Windows" in userAgent.
//       - On Mercury client, the 32-bit version will return "Win98", but
//         the 16-bit version running on Win98 will still return "Win95".
var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
var is_win32 = (is_win95 || is_winnt || is_win98 || 
                ((is_major >= 4) && (navigator.platform == "Win32")) ||
                (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));

var is_os2   = ((agt.indexOf("os/2")!=-1) || 
                (navigator.appVersion.indexOf("OS/2")!=-1) ||   
                (agt.indexOf("ibm-webexplorer")!=-1));

var is_mac    = (agt.indexOf("mac")!=-1);
var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) || 
                           (agt.indexOf("68000")!=-1)));
var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) || 
                            (agt.indexOf("powerpc")!=-1)));
// pick stylesheet based on browser
//alert(is_mac && is_ie)
// if windows + nav 6
if (is_win && is_nav6up) {
	document.write('<style type="text/css" media="all">@import "Styles.css";</style>');
	}
// windows + navigator
else if (is_win && is_nav) {
	document.write('<style type="text/css" media="all">@import "Styles.css";</style>');
	}
// windows + opera
else if (is_win && is_opera) {
	document.write('<style type="text/css" media="all">@import "Styles.css";</style>');
	}
// windows + ie
else if (is_win && is_ie5_5up) {
	document.write('<style type="text/css" media="all">@import "Styles.css";</style>');
	}
	// windows + ie (hopefully ie 6)
else if (is_win && is_ie5) {
	document.write('<style type="text/css" media="all">@import "Styles.css";</style>');
	}
// mac + safari
else if (is_mac && is_safari) {
	document.write('<LINK REL=stylesheet HREF="style-mac.css" TYPE="text/css">');
}
// mac + nav6 
else if (is_mac && is_nav6up) {
	document.write('<LINK REL=stylesheet HREF="style-mac.css" TYPE="text/css">');
	}
// mac + navigator
else if (is_mac && is_nav) {
	document.write('<LINK REL=stylesheet HREF="style-mac.css" TYPE="text/css">');
	}
// mac + ie
else if (is_mac && is_ie) {
	document.write('<LINK REL=stylesheet HREF="style-mac.css" TYPE="text/css">');}
	// everybody else
else {
	document.write('<LINK REL=stylesheet HREF="style-mac.css" TYPE="text/css">');
	}

// popup an error window if agent is less than 5.0 
if ((is_mac && is_ie4) || (is_mac && is_nav4) || (is_win && is_ie4) || (is_win && is_nav4) && (getCookie("hide_upgrade_window") != "true")) {
	createWindow("/upgrade_your_browser.html","upgrade_me","statusbar,menubar,height=400,width=470,resizable");
}



ypSlideOutMenu.Registry = []
ypSlideOutMenu.aniLen = 200
ypSlideOutMenu.hideDelay = 100
ypSlideOutMenu.minCPUResolution = 10
function ypSlideOutMenu(id, dir, left, top, width, height)
{
this.ie = document.all ? 1 : 0
this.ns4 = document.layers ? 1 : 0
this.dom = document.getElementById ? 1 : 0
if (this.ie || this.ns4 || this.dom) {
this.id = id
this.dir = dir
this.orientation = dir == "left" || dir == "right" ? "h" : "v"
this.dirType = dir == "right" || dir == "down" ? "-" : "+"
this.dim = this.orientation == "h" ? width : height
this.hideTimer = false
this.aniTimer = false
this.open = false
this.over = false
this.startTime = 0
this.gRef = "ypSlideOutMenu_"+id
eval(this.gRef+"=this")
ypSlideOutMenu.Registry[id] = this
var d = document
d.write('<style type="text/css">')
d.write('#' + this.id + 'Container { visibility:hidden; ')
d.write('left:' + left + 'px; ')
d.write('top:' + top + 'px; ')
d.write('overflow:hidden; }')
d.write('#' + this.id + 'Container, #' + this.id + 'Content { position:absolute; ')
d.write('width:' + width + 'px; ')
d.write('height:' + height + 'px; ')
d.write('clip:rect(0 ' + width + 'px' + ' ' + height + 'px' + ' 0); ')
d.write('}')
d.write('</style>')
this.load()
}
}
ypSlideOutMenu.prototype.load = function() {
var d = document
var lyrId1 = this.id + "Container"
var lyrId2 = this.id + "Content"
var obj1 = this.dom ? d.getElementById(lyrId1) : this.ie ? d.all[lyrId1] : d.layers[lyrId1]
if (obj1) var obj2 = this.ns4 ? obj1.layers[lyrId2] : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2)
var temp
if (!obj1 || !obj2) window.setTimeout(this.gRef + ".load()", 100)
else {
this.container = obj1
this.menu = obj2
this.style = this.ns4 ? this.menu : this.menu.style
this.homePos = eval("0" + this.dirType + this.dim)
this.outPos = 0
this.accelConst = (this.outPos - this.homePos) / ypSlideOutMenu.aniLen / ypSlideOutMenu.aniLen 
if (this.ns4) this.menu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
this.menu.onmouseover = new Function("ypSlideOutMenu.showMenu('" + this.id + "')")
this.menu.onmouseout = new Function("ypSlideOutMenu.hideMenu('" + this.id + "')")
this.endSlide()
}
}
ypSlideOutMenu.showMenu = function(id)
{
var reg = ypSlideOutMenu.Registry
var obj = ypSlideOutMenu.Registry[id]
if (obj.container) {
obj.over = true
for (menu in reg) if (id != menu) ypSlideOutMenu.hide(menu)
if (obj.hideTimer) { reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer) }
if (!obj.open && !obj.aniTimer) reg[id].startSlide(true)
}
}
ypSlideOutMenu.hideMenu = function(id)
{
var obj = ypSlideOutMenu.Registry[id]
if (obj.container) {
if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
obj.hideTimer = window.setTimeout("ypSlideOutMenu.hide('" + id + "')", ypSlideOutMenu.hideDelay);
}
}
ypSlideOutMenu.hide = function(id)
{
var obj = ypSlideOutMenu.Registry[id]
obj.over = false
if (obj.hideTimer) window.clearTimeout(obj.hideTimer)
obj.hideTimer = 0
if (obj.open && !obj.aniTimer) obj.startSlide(false)
}
ypSlideOutMenu.prototype.startSlide = function(open) {
this[open ? "onactivate" : "ondeactivate"]()
this.open = open
if (open) this.setVisibility(true)
this.startTime = (new Date()).getTime() 
this.aniTimer = window.setInterval(this.gRef + ".slide()", ypSlideOutMenu.minCPUResolution)
}
ypSlideOutMenu.prototype.slide = function() {
var elapsed = (new Date()).getTime() - this.startTime
if (elapsed > ypSlideOutMenu.aniLen) this.endSlide()
else {
var d = Math.round(Math.pow(ypSlideOutMenu.aniLen-elapsed, 2) * this.accelConst)
if (this.open && this.dirType == "-") d = -d
else if (this.open && this.dirType == "+") d = -d
else if (!this.open && this.dirType == "-") d = -this.dim + d
else d = this.dim + d
this.moveTo(d)
}
}
ypSlideOutMenu.prototype.endSlide = function() {
this.aniTimer = window.clearTimeout(this.aniTimer)
this.moveTo(this.open ? this.outPos : this.homePos)
if (!this.open) this.setVisibility(false)
if ((this.open && !this.over) || (!this.open && this.over)) {
this.startSlide(this.over)
}
}
ypSlideOutMenu.prototype.setVisibility = function(bShow) { 
var s = this.ns4 ? this.container : this.container.style
s.visibility = bShow ? "visible" : "hidden"
}
ypSlideOutMenu.prototype.moveTo = function(p) { 
this.style[this.orientation == "h" ? "left" : "top"] = this.ns4 ? p : p + "px"
}
ypSlideOutMenu.prototype.getPos = function(c) {
return parseInt(this.style[c])
}
ypSlideOutMenu.prototype.onactivate = function() { }
ypSlideOutMenu.prototype.ondeactivate = function() { }

			//This sets the size and position of each drop-down - left, top, width, height.
		new ypSlideOutMenu("menu1", "down",772, 25, 214, 250),
		new ypSlideOutMenu("menu2", "down",450, 30, 214, 350),
		new ypSlideOutMenu("menu3", "down",450, 30, 214, 350)
			
		//new ypSlideOutMenu("solutions_menu1", "right", 45, 95, 400, 30)
/**********************************
End of drop down menus
**********************************/

// the following two functions are the rollover image swaps in the search.inc file

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

//end of search.inc rollover functions

/* function or opening a popup window */

function createWindow(cUrl,cName,cFeatures) {
	var xWin = window.open(cUrl,cName,cFeatures);
	xWin.focus();
}


		
		function emailCheck (emailStr) 
		{

		/* The following variable tells the rest of the function whether or not
		to verify that the address ends in a two-letter country or well-known
		TLD.  1 means check it, 0 means don't. */

		var checkTLD=1;

		/* The following is the list of known TLDs that an e-mail address must end with. */

		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

		/* The following pattern is used to check if the entered e-mail address
		fits the user@domain format.  It also is used to separate the username
		from the domain. */

		var emailPat=/^(.+)@(.+)$/;

		/* The following string represents the pattern for matching all special
		characters.  We don't want to allow special characters in the address. 
		These characters include ( ) < > @ , ; : \ " . [ ] */

		var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

		/* The following string represents the range of characters allowed in a 
		username or domainname.  It really states which chars aren't allowed.*/

		var validChars="\[^\\s" + specialChars + "\]";

		/* The following pattern applies if the "user" is a quoted string (in
		which case, there are no rules about which characters are allowed
		and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
		is a legal e-mail address. */

		var quotedUser="(\"[^\"]*\")";

		/* The following pattern applies for domains that are IP addresses,
		rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
		e-mail address. NOTE: The square brackets are required. */

		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

		/* The following string represents an atom (basically a series of non-special characters.) */

		var atom=validChars + '+';

		/* The following string represents one word in the typical username.
		For example, in john.doe@somewhere.com, john and doe are words.
		Basically, a word is either an atom or quoted string. */

		var word="(" + atom + "|" + quotedUser + ")";

		// The following pattern describes the structure of the user

		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

		/* The following pattern describes the structure of a normal symbolic
		domain, as opposed to ipDomainPat, shown above. */

		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

		/* Finally, let's start trying to figure out if the supplied address is valid. */

		/* Begin with the coarse pattern to simply break up user@domain into
		different pieces that are easy to analyze. */

		var matchArray=emailStr.match(emailPat);

		if (matchArray==null) {

		/* Too many/few @'s or something; basically, this address doesn't
		even fit the general mould of a valid e-mail address. */

		alert("The email address is incorrect (check @ and .'s)");
		return false;
		}
		var user=matchArray[1];
		var domain=matchArray[2];

		// Start by checking that only basic ASCII characters are in the strings (0-127).

		for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
		alert("This email address contains invalid characters.");
		return false;
		}
		}
		for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
		alert("Ths domain name in the email address contains invalid characters.");
		return false;
		}
		}

		// See if "user" is valid 

		if (user.match(userPat)==null) {

		// user is not valid

		alert("The email address is not valid.");
		return false;
		}

		/* if the e-mail address is at an IP address (as opposed to a symbolic
		host name) make sure the IP address is valid. */

		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null) {

		// this is an IP address

		for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) {
		alert("Destination IP address is invalid!");
		return false;
		}
		}
		return true;
		}

		// Domain is symbolic name.  Check if it's valid.
		 
		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
		alert("The email address is not valid.");
		return false;
		}
		}

		/* domain name seems valid, but now make sure that it ends in a
		known top-level domain (like com, edu, gov) or a two-letter word,
		representing country (uk, nl), and that there's a hostname preceding 
		the domain or country. */
/*
		if (checkTLD && domArr[domArr.length-1].length!=2 && 
		domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alert("The recipient's email address must end in a well-known domain or two letter " + "country.");
		return false;

		}
*/
		// Make sure there's a host name preceding the domain.

		if (len<2) {
		alert("The email address is missing a hostname.");
		return false;
		}
		// If we've gotten this far, everything's valid!
		return true;
		}

		//  End



	//validates password and comfirm password
	function emailCheck2(strEM1, strEM2) {
	var invalid = " "; // Invalid character is a space
	var minLength = 4; // Minimum length
	var em1 = strEM1;
	var em2 = strEM2;

	// check for a value in both fields.
	if (em1 == '' || em2 == '') {
		alert('Please enter your password twice.');
		return false;
	}

	if (em1 != em2) {
		alert ("Your email and confirm email are not the same. Please re-enter your email.");
		return false;
	}
	else {
		return true;
		}
	}
	//  End 

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }

  // 

function zipcodeUSACheck(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         alert ("USA zip codes must be numeric.");
         blnResult = false;
         }
      }

   return blnResult;
   }

  // 

function phoneCheck(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789()- ";
   var strChar;
   var blnResult = true;

//alert("hello");
	if ((strString.length <= 9)) {
		alert ("The phone number is the wrong length.  Make sure you included an area code.");
		blnResult = false;
	}


   if (strString.length == 0) return false;

	 //  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++)
	{
		strChar = strString.charAt(i);
		
		if (strValidChars.indexOf(strChar) == -1)  
		{
			alert ("The phone number contains illegal characters.");
			blnResult = false;
		}
	}
      
	  return blnResult;
   }

  // 


	//validates password and comfirm password
	function passwordCheck2(strPW1, strPW2) {
	var invalid = " "; // Invalid character is a space
	var minLength = 4; // Minimum length
	var pw1 = strPW1;
	var pw2 = strPW2;

	// check for a value in both fields.
	if (pw1 == '' || pw2 == '') {
		alert('Please enter your password twice.');
		return false;
	}
	// check for minimum length
	if (pw1.length < minLength) {
		alert('Your password must be at least ' + minLength + ' characters long. Try again.');
		return false;
	}
	
	// check for spaces
	if (pw1.indexOf(invalid) > -1) {
		alert("Sorry, spaces are not allowed.");
		return false;
	}
	
	else {
		if (pw1 != pw2) {
			alert ("Your password and confirm password are not the same. Please re-enter your password.");
			return false;
		}
		else {
			return true;
			}
		}
	}
	//  End 

	function trim(inputString) {
		// 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.
		if (typeof inputString != "string") { return inputString; }
		var retValue = inputString;
		var ch = retValue.substring(0, 1);
		while (ch == " ") { // Check for spaces at the beginning of the string
		retValue = retValue.substring(1, retValue.length);
		ch = retValue.substring(0, 1);
		}
		ch = retValue.substring(retValue.length-1, retValue.length);
		while (ch == " ") { // Check for spaces at the end of the string
		retValue = retValue.substring(0, retValue.length-1);
		ch = retValue.substring(retValue.length-1, retValue.length);
		}
		while (retValue.indexOf(" ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
		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 SetElement(ElementID,strProperty,strValue)
	{
		var strProperty = strProperty;
		var ElementID = ElementID;
		var strValue = strValue;
		
		if(strProperty == 'value')
		{
			if(document.getElementById)
			{
				document.getElementById(ElementID).value = strValue;
			}
			else if (document.all)
			{
				document.all[ElementID].value = strValue;
			}
			else if (document.layers)
			{
				document.layers[ElementID].value = strValue;
			}
		}
		else if (strProperty == 'innerHTML')
		{
			if (document.getElementById)
			{
				document.getElementById(ElementID).innerHTML = strValue;
			}
			else if (document.all)
			{
				document.all[ElementID].innerHTML = strValue;
			}
			else if (document.layers)
			{
				document.layers[ElementID].innerHTML = strValue;
			}
		}
		else if (strProperty == 'disabled')
		{
			if (document.getElementById)
			{
				document.getElementById(ElementID).disabled = strValue;
			}
			else if (document.all)
			{
				document.all[ElementID].disabled = strValue;
			}
			else if (document.layers)
			{
				document.layers[ElementID].disabled = strValue;
			}
		}
		else if (strProperty == 'display')
		{
			if (document.getElementById)
			{
				document.getElementById(ElementID).style.display = strValue;
			}
			else if (document.all)
			{
				document.all[ElementID].style.display = strValue;
			}
			else if (document.layers)
			{
				document.layers[ElementID].style.display = strValue;
			}
		}
		else if (strProperty == 'alt')
		{
			if (document.getElementById)
			{
				document.getElementById(ElementID).alt = strValue;
			}
			else if (document.all)
			{
				document.all[ElementID].alt = strValue;
			}
			else if (document.layers)
			{
				document.layers[ElementID].alt = strValue;
			}
		}
		else if (strProperty == 'href')
		{
			if (document.getElementById)
			{
				document.getElementById(ElementID).href = strValue;
			}
			else if (document.all)
			{
				document.all[ElementID].href = strValue;
			}
			else if (document.layers)
			{
				document.layers[ElementID].href = strValue;
			}
		}
		else if (strProperty == 'selectedIndex')
		{
			if (document.getElementById)
			{
				document.getElementById(ElementID).selectedIndex = strValue;
			}
			else if (document.all)
			{
				document.all[ElementID].selectedIndex = strValue;
			}
			else if (document.layers)
			{
				document.layers[ElementID].selectedIndex = strValue;
			}
		}
		else if (strProperty == 'src')
		{
			if (document.getElementById)
			{
				document.getElementById(ElementID).src = strValue;
			}
			else if (document.all)
			{
				document.all[ElementID].src = strValue;
			}
			else if (document.layers)
			{
				document.layers[ElementID].src = strValue;
			}
		}
	}


	function GetElementValue(ElementID,strProperty)
	{
		var ElementID = ElementID;
		var strProperty = strProperty;
		var strValue = '';

		if(strProperty == '')
		{
			if(document.getElementById)
			{
				strValue = document.getElementById(ElementID);
			}
			else if (document.all)
			{
				strValue = document.all[ElementID];
			}
			else if (document.layers)
			{
				strValue = document.layers[ElementID];
			}
		}
		
		else if(strProperty == 'value')
		{
			if(document.getElementById)
			{
				strValue = document.getElementById(ElementID).value;
			}
			else if (document.all)
			{
				strValue = document.all[ElementID].value;
			}
			else if (document.layers)
			{
				strValue = document.layers[ElementID].value;
			}
		}
		
		else if(strProperty == 'innerHTML')
		{
			if(document.getElementById)
			{
				strValue = document.getElementById(ElementID).innerHTML;
			}
			else if (document.all)
			{
				strValue = document.all[ElementID].innerHTML;
			}
			else if (document.layers)
			{
				strValue = document.layers[ElementID].innerHTML;
			}
		}
		
		else if(strProperty == 'checked')
		{
			if(document.getElementById)
			{
				strValue = document.getElementById(ElementID).checked;
			}
			else if (document.all)
			{
				strValue = document.all[ElementID].checked;
			}
			else if (document.layers)
			{
				strValue = document.layers[ElementID].checked;
			}
		}
		
		else if(strProperty == 'innerHTML.length')
		{
			if(document.getElementById)
			{
				strValue = document.getElementById(ElementID).innerHTML.length;
			}
			else if (document.all)
			{
				strValue = document.all[ElementID].innerHTML.length;
			}
			else if (document.layers)
			{
				strValue = document.layers[ElementID].innerHTML.length;
			}
		}
		
		return strValue;
	}

