﻿// (1) browser vendor:
//     is_nav, is_firefox, is_ie, is_opera, is_hotjava, is_webtv, is_TVNavigator, is_AOLTV
// (2) browser version number:
//     is_major (integer indicating major version number: 2, 3, 4 ...)
//     is_minor (float   indicating full  version number: 2.02, 3.01, 4.04 ...)
// (3) browser vendor AND major version number
//     is_nav2, is_nav3, is_nav4, is_nav4up, is_nav6, is_nav6up, is_gecko, is_firefox0, is_firefox1, is_firefox2, is_ie3,
//     is_ie4, is_ie4up, is_ie5, is_ie5up, is_ie5_5, is_ie5_5up, is_ie6, is_ie6up, is_hotjava3, is_hotjava3up,
//     is_opera2, is_opera3, is_opera4, is_opera5, is_opera5up

// 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_firefox = (agt.indexOf("firefox") != -1);
var is_firefox0 = (agt.indexOf("firefox/0") != -1);
var is_firefox1 = (agt.indexOf("firefox/1") != -1);
var is_firefox2 = (agt.indexOf("firefox/2") != -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_ie5down  = (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));

// DeleteCode: 2009/06/11 a028437
// Note: Not used anymore
// --> var ctlID;

	// --------------------------------------------------------------------------
	// -- Page: Init page functions
	// -- Called By: Overview.master, Wrapper.Master
	// --------------------------------------------------------------------------
	function init() 
	{
		// TestCode:
		// Note: Used for testing cookie code.
		// --> eraseCookie('rdccookie');
		
		// DeleteCode: 2009/06/11 a028437
		// Note: Not used anymore
		// --> var x = readCookie('rdccookie');
		
		// DeleteCode: 2009/06/11 a028437
		// Note: Not used anymore
		// --> var mainmode = document.getElementById? document.getElementById(ctlID): document.all? document.all[ctlID]: null;
		
		// DeleteCode: 2009/06/11 a028437
		// Note: Not used anymore
		// --> var xArrow = document.getElementById? document.getElementById("xlgnArrow"): document.all? document.all["xlgnArrow"]: null;
	}		

	// --------------------------------------------------------------------------
	// -- Cookie: create
	// --------------------------------------------------------------------------
	function createCookie(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	}

	// --------------------------------------------------------------------------
	// -- Cookie: read
	// --------------------------------------------------------------------------
	function readCookie(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}

	// --------------------------------------------------------------------------
	// -- Cookie: erase
	// --------------------------------------------------------------------------
	function eraseCookie(name) {createCookie(name,"",-1);}

	// DeleteCode: 2009/06/11 a028437
	// Note: Not used anymore
	// --> function showhide(eID1, eID2)
	// --> {
	// --> 	if (document.getElementById)
	// --> 	{ 
	// --> 		obj = document.getElementById(eID1); 
	// --> 		obj1 = document.getElementById(eID2); 
	// --> 		if (obj.style.display == "none")
	// --> 		{ 
	// --> 			obj.style.display = ""; 
	// --> 			obj1.style.display = "none"; 
	// --> 		}
	// --> 		else 
	// --> 		{
	// --> 			obj.style.display = "none"; 
	// --> 			obj1.style.display = ""; 
	// --> 		} 
	// --> 	} 
	// --> } 

	// DeleteCode: 2009/06/11 a028437
	// Note: Not used anymore
	// --> function showhideExpand(eID1, eID2)
	// --> {
	// --> 	createCookie('rdccookie',1,365);
	// --> 	showhide(eID1, eID2); 
	// --> } 
		
	// DeleteCode: 2009/06/11 a028437
	// Note: Not used anymore
	// --> function showhideCollapce(eID1, eID2)
	// --> {
	// --> 	createCookie('rdccookie',0,365);
	// --> 	showhide(eID1, eID2); 
	// --> }

	// --------------------------------------------------------------------------
	// -- Online Services: Show/Hide dropdown list
	// --------------------------------------------------------------------------
	function showhideOS(eID)
	{
		if (document.getElementById)
		{ 
			obj = document.getElementById(eID); 
			if (obj.style.display == "none")
			{ 
				obj.style.display = ""; 
			}
			else 
			{
				obj.style.display = "none"; 
			} 
		} 
	} 
		
	// --------------------------------------------------------------------------
	// -- Google: Check if <enter> is pressed
	// --------------------------------------------------------------------------
	function searchCK(btn,event)
	{
		if (event.keyCode == 13)
		{
			event.returnValue=false;
			event.cancel = true;
			googleSubmit();
		}
	}

	// --------------------------------------------------------------------------
	// -- Locator: Check if <enter> is pressed
	// --------------------------------------------------------------------------
	function branchCK(btn,event)
	{
		if (event.keyCode == 13)
		{
			event.returnValue=false;
			event.cancel = true;
			branchSubmit();
		}
	}

	// --------------------------------------------------------------------------
	// -- Online Rates: Check if <enter> is pressed
	// --------------------------------------------------------------------------
	function rateCK(btn,event)
	{
		if (event.keyCode == 13)
		{
			event.returnValue=false;
			event.cancel = true;
			rateSubmit();
		}
	}

	// --------------------------------------------------------------------------
	// -- loadMedia: Used to load images after page has loaded
	// -- Called By: controls/pageBranding.ascx, controls/pageCaseBranding.ascx
	// --------------------------------------------------------------------------
	function loadMedia(divID, width, height, medialoaderFilename, mediaFilename, mediaLoadDelay, altFilename, altURL, requestScheme)
	{
		browsername=navigator.userAgent;
		if (browsername.indexOf("Safari")!=-1) {browsername="Safari"}
		else {browsername="other"};
		
		if (browsername!="Safari"){
		var d = document.getElementById(divID);
		objText = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+ requestScheme +'"://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + width + '" height="' + height +'">'
			+ '<param name="movie" value="' + medialoaderFilename + '" />'
			+ '<param name="quality" value="high" />'
			+ '<param name="wmode" value="transparent" />'
			+ '<param name="allowScriptAccess" value="always">'
			+ '<param name="Flashvars" value="mainAd=' + mediaFilename + '&timer=' + mediaLoadDelay + '" />'
			+ '<embed src="' + medialoaderFilename + '" allowScriptAccess="always" width="' + width + '" height="' + height + '" quality="high" pluginspage="'+ requestScheme +'://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" flashvars="mainAd=' + mediaFilename + '&timer=' + mediaLoadDelay + '" wmode="transparent"></embed>'
			+ '</object>';
			d.innerHTML = objText;
			} else {
			var d = document.getElementById(divID);
			title='';
			objText = '<a href="' + altURL +'" title="' + title + '"><img src="' + altFilename + '" alt="' + title + '" width="' + width + '" height="' + height + '" border="0" /></a>';
			// objText = '<a href="' + altURL +'"><img src="' + altFilename + '" width="' + width + '" height="' + height + '" border="0" /></a>';
			d.innerHTML = objText;
			}
	}

	// --------------------------------------------------------------------------
	// -- loadMediaImg: Used to load images after page has loaded
	// -- Called By: controls/pageBranding.ascx, controls/pageCaseBranding.ascx
	// --------------------------------------------------------------------------
	function loadMediaImg(divID, width, height, medialoaderFilename, mediaFilename, mediaLoadDelay, title)
	{
		var d = document.getElementById(divID);
		objText = '<img src="' + mediaFilename + '" alt="' + title + '" width="' + width + '" height="' + height + '" border="0" />';
		d.innerHTML = objText;
	}

	// --------------------------------------------------------------------------
	// -- loadMediaImg_wHRef: Used to load images after page has loaded
	// -- Called By: controls/pageBranding.ascx, controls/pageCaseBranding.ascx
	// --------------------------------------------------------------------------
	function loadMediaImg_wHRef(divID, width, height, medialoaderFilename, mediaFilename, mediaLoadDelay, href, title, target)
	{
		var d = document.getElementById(divID);
		objText = '<a href="' + href +'" title="' + title + '" target="' + target +'"><img src="' + mediaFilename + '" alt="' + title + '" width="' + width + '" height="' + height + '" border="0" /></a>';
		d.innerHTML = objText;
	}

	// --------------------------------------------------------------------------
	// -- loadContentMedia: Used to load images after page has loaded
	// -- Called By: controls/pageBranding.ascx, controls/pageCaseBranding.ascx
	// --------------------------------------------------------------------------
	function loadContentMedia(divID, width, height, medialoaderFilename, mediaFilename, mediaLoadDelay, altFilename, title)
	{
	 var d = document.getElementById(divID);
	 objText = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + width + '" height="' + height +'">'
		+ '<param name="movie" value="' + medialoaderFilename + '" />'
		+ '<param name="quality" value="high" />'
		+ '<param name="wmode" value="transparent" />'
		+ '<param name="Flashvars" value="mainAd=' + mediaFilename + '&timer=' + mediaLoadDelay + '" />'
		+ '<embed src="' + medialoaderFilename + '" width="' + width + '" height="' + height + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" flashvars="mainAd=' + mediaFilename + '&timer=' + mediaLoadDelay + '" wmode="transparent"></embed>'
		+ '</object>';
		d.innerHTML = objText;
	}

	// --------------------------------------------------------------------------
	// -- Disclosure: Not sure if this is still being used
	// --------------------------------------------------------------------------
	function disclosure(theURL,winName,features,disclosure) {
		window.open(theURL+'?dis='+disclosure,winName,features);
	}


function getCookie(Name){ 
var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
if (document.cookie.match(re)) //if cookie found
return document.cookie.match(re)[0].split("=")[1] //return its value
return ""
}

function setCookie(name, value, days){
var expireDate = new Date()
//set "expstring" to either future or past date, to set or delete cookie, respectively
var expstring=expireDate.setDate(expireDate.getDate()+parseInt(days))
document.cookie = name+"="+value+"; expires="+expireDate.toGMTString()+"; path=/";
}

function rememberForm(formid){ //Main remember form values object
this.formref=document.getElementById(formid)? document.getElementById(formid) : document.forms[formid]
this.cookiename=formid
this.persistdays=180 //days to persist form values
this.fields=new Array()
this.cookiestr=""
var forminstance=this

rememberForm.dotask(this.formref, function(){forminstance.savevalues()}, "submit") //save form values onsubmit
rememberForm.dotask(window, function(){forminstance.recallvalues()}, "load") //populate form with saved values onload (body)
}

rememberForm.prototype.getfield=function(attr){ //get form field based on its ID or name attribute
var fieldref=document.getElementById(attr)? document.getElementById(attr) : this.formref[attr]
return fieldref
}

rememberForm.prototype.persistfields=function(){ //get form fields to persist values for
for (var i=0; i<arguments.length; i++){
this.fields[i]=this.getfield(arguments[i])
this.fields[i].fname=arguments[i] //store name or id of field in custom property
}
}

rememberForm.prototype.savevalues=function(){ //get form values and store in cookie
for (var i=0; i<this.fields.length; i++){
if (this.fields[i].type=="text")
this.cookiestr+=this.fields[i].fname+":"+escape(this.fields[i].value)+"#"
}
if (typeof this.togglebox!="undefined"){ //if "remember values checkbox" is defined
this.persistdays=(this.togglebox.checked)? this.persistdays : -1 //decide whether to save form values
this.cookiestr=(this.togglebox.checked)? this.cookiestr+"toggleboxid:on;" : this.cookiestr
}
else //if checkbox isn't defined, just remove final "#" from cookie string
this.cookiestr=this.cookiestr.substr(0, this.cookiestr.length-1)+";"
setCookie(this.cookiename, this.cookiestr, this.persistdays)
}

rememberForm.prototype.saveUsername=function(oField, oValue, oRememberMe){ //get form values and store in cookie
	this.cookiestr+=oField+":"+escape(oValue)+"#"
	this.persistdays=(oRememberMe)? this.persistdays : -1 //decide whether to save form values
	this.cookiestr=(oRememberMe)? this.cookiestr+"toggleboxid:on;" : this.cookiestr
	setCookie(this.cookiename, this.cookiestr, this.persistdays)
}

rememberForm.prototype.recallvalues=function(){ //populate form with saved values
var cookievalue=getCookie(this.cookiename)
if (cookievalue!=""){ //parse cookie, where cookie looks like: field1:value1#field2:value2...
var cookievaluepair=cookievalue.split("#")
for (var i=0; i<cookievaluepair.length; i++){
if (cookievaluepair[i].split(":")[0]!="toggleboxid" && this.getfield(cookievaluepair[i].split(":")[0]).type=="text"){
this.getfield(cookievaluepair[i].split(":")[0]).value=unescape(cookievaluepair[i].split(":")[1]);
}
else{ //else if name in name/value pair is "toggleboxid"
this.togglebox.checked=true;
this.setfocusbox.focus();
}
}
}
else{
this.fields[0].focus();
}
}

rememberForm.prototype.addtoggle=function(attr){
this.togglebox=this.getfield(attr)
}

rememberForm.prototype.addsetfocus=function(attr){
this.setfocusbox=this.getfield(attr)
}

//Call this function if you wish to clear the user's cookie of any saved values for this form instantly
rememberForm.prototype.clearcookie=function(){
setCookie(this.cookiename, "", -1)
}

rememberForm.dotask=function(target, functionref, tasktype){
var tasktype=(window.addEventListener)? tasktype : "on"+tasktype

if (target.addEventListener)
target.addEventListener(tasktype, functionref, false)
else if (target.attachEvent)
target.attachEvent(tasktype, functionref)
}


	// DeleteCode: 2009/06/11 a028437
	// Note: Not used anymore
	// --> function resetLogin()
	// --> {
	// --> 	var	userField = !dom ? document.all[ "OnlineID" ] : document.getElementById( "OnlineID" );
	// --> 	if (userField.value == '') {
	// --> 	userField.value = 'Enter Login ID'
	// --> 	}
	// --> }
