	var activePanel = '';
	var a = false;
	var testIndex = 0;
	//////////PANEL/ROW DISPLAY FUNCTIONS//////////
	var tiles = new Array();
	var stopAnimation = 0;
	var animationCycles = 0;
	function animateTiles() {
		//alert(tiles.length);
		animationCycles += 1;
		for(i=0;i<tiles.length;i++) {
			var tileInfo = tiles[i].split("|");
			var tileID = tileInfo[0];
			var tileState = tileInfo[1];
			var tileHeight = tileInfo[2];
			var tileHeightBuffer = tileInfo[3];
			 
			///////TEMP
			/*if(testIndex < 10) {
				if(tileHeightBuffer != null && tileHeightBuffer != 'null') {
					alert(subViewObjHeight);
					testIndex++;
					//a = true;
				}
				//alert(tileID+": "+tileHeight);
			}*/
			///////TEMP
			
			//////////SET PANEL EXPAND LENGTH FROM THE HEIGHT OF SUBVIEW OBJECT (i.e., table, form, etc.) ----->
			var subViewObjDIV = document.getElementById(tileID+'DIV');
			var subViewObjs = subViewObjDIV.childNodes;
			for(j=0;j<subViewObjs.length;j++) {
				if(subViewObjs[j].className && subViewObjs[j].className.match("subViewObj")) {
					var subViewObj = subViewObjs[j];
				}
			}
			
			if(tileHeightBuffer != 'null') {
				var heightBuffer = tileHeightBuffer;
			}
			else {
				var heightBuffer = 70;
			}
			
			if(subViewObj && document.getElementById(subViewObj.id).clientHeight > 40) {
				var subViewObjHeight = document.getElementById(subViewObj.id).clientHeight + parseInt(heightBuffer);
			}
			else {
				if(tileHeight != 'null') {
					var subViewObjHeight = tileHeight - 50;
				}
				else {
					var subViewObjHeight = 100;
				}
			}

			//////////<----- SET PANEL EXPAND LENGTH FROM THE HEIGHT OF SUBVIEW OBJECT (i.e., table, form, etc.)

			//////////SET PANEL EXPAND SPEED ----->
				if(subViewObjHeight > 1000) {
				scrollSpeed = 60;
			}
			else if(subViewObjHeight > 400) {
				scrollSpeed = 40;
			}
			else {
				scrollSpeed = 20;
			}
			//scrollSpeed = Math.round(((subViewObjHeight / 500) * 20));
			//alert(subViewObjHeight);
			//////////<----- SET PANEL EXPAND SPEED
			
						
			if(tileState == 'open') {
				if(parseInt(document.getElementById(tileID+'DIV').style.height) < subViewObjHeight) {
					if(subViewObjHeight > 2000) {
						document.getElementById(tileID+'DIV').style.height = subViewObjHeight+'px';
					}
					else {
						document.getElementById(tileID+'DIV').style.height = parseInt(document.getElementById(tileID+'DIV').style.height) + scrollSpeed + 'px';
					}
				}
				else {
					stopAnimation += 1;
				}			
			}
			else {
				if(parseInt(document.getElementById(tileID+'DIV').style.height) > 26) {
					if(subViewObjHeight > 2000) {
						document.getElementById(tileID+'DIV').style.height = 26+'px';
					}
					else {
						document.getElementById(tileID+'DIV').style.height = parseInt(document.getElementById(tileID+'DIV').style.height) - scrollSpeed + 'px';
					}
				}
				else {
					stopAnimation += 1;
				}
			}
			

		}
		a = true;
		
		//alert(stopAnimation+", "+animationCycles);
		//if(stopAnimation < (stopAnimation * tiles.length)) {
		if(animationCycles < 200) {
			setTimeout("animateTiles()",50);
		}
		//}
	}
	
	function showSubView(target,subViewObjHeight,addHeightBuffer) {
		a = false;
		displayErrorMsgs('none');
		
		if(typeof(target) == 'string') {
			targetObj = target;
		}
		else {
			targetObj = target.id.replace("-A","");	//REMOVE "A" TO ACCOUNT FOR ID OF LINK ELEMENTS
		}
			
		var panelFields = document.getElementById(targetObj+'DIV').getElementsByTagName("INPUT");
		for(i=0;i<panelFields.length;i++) {
			panelFields[i].className = "";
		}
		
		var addTile = 0;
		if(tiles.length > 0) {
			for(i=0;i<tiles.length;i++) {
				if(targetObj.match(tiles[i]) == null) {

				}
				else {
					if(targetObj == tiles[i].split("|")[0]) {
					//if(targetObj.match(tiles[i]) != 0) {  //TEMPORARY FIX FOR PECULIAR ERROR IN WHICH targetObj MATCHES 0 IN tiles[i]
						addTile += 1;
						if(tiles[i].match(/(\|open)/g)) {
							tiles[i] = tiles[i].replace("|open","|closed");
							//alert(document.getElementById(targetObj+'DIV').style.backgroundImage);
							document.getElementById(targetObj+'DIV').className = document.getElementById(targetObj+'DIV').className.replace(/(openDIV)/g, "");
						}
						else {
							if(subViewObjHeight && typeof(subViewObjHeight) == 'number') {
								if(addHeightBuffer && typeof(addHeightBuffer) == 'number') {
									tiles[i] = targetObj+'|open|'+subViewObjHeight+'|'+addHeightBuffer;
								}
								else {
									tiles[i] = targetObj+'|open|'+subViewObjHeight+'|null';
								}
							}
							else {
								if(addHeightBuffer && typeof(addHeightBuffer) == 'number') {
									tiles[i] = targetObj+'|open|null|'+addHeightBuffer;
								}
								else {
									tiles[i] = targetObj+'|open|null|null';
								}
							}
							document.getElementById(targetObj+'DIV').className += ' openDIV';
						}
					}
				}
			}
		}
		else {
			addTile = 0;
			document.getElementById(targetObj+'DIV').className += ' openDIV';			
		}

		if(addTile < 1) {
			if(subViewObjHeight && typeof(subViewObjHeight) == 'number') {
				if(addHeightBuffer && typeof(addHeightBuffer) == 'number') {
					tiles.push(targetObj+"|open|"+subViewObjHeight+'|'+addHeightBuffer);
				}
				else {
					tiles.push(targetObj+"|open|"+subViewObjHeight+'|null');
				}
			}
			else {
				if(addHeightBuffer && typeof(addHeightBuffer) == 'number') {
					tiles.push(targetObj+"|open|null|"+addHeightBuffer);
				}
				else {
					tiles.push(targetObj+"|open|null|null");
				}
			}

			document.getElementById(targetObj+'DIV').className += ' openDIV';
			document.getElementById(targetObj+'DIV').style.height = '26px';
		}
		
		//alert(tiles);
		stopAnimation -= 1;
		animationCycles = 0;
		setTimeout("animateTiles()",50);
	}
	
	
	var menuOn = false;
	function showSubMenu(target,state) {
		if(state == 'block') {
			document.getElementById(target+'MenuUL').style.display = state;
		}
		else {
			if(!menuOn) {
				document.getElementById(target+'MenuUL').style.display = state;
			}
		}
	}
	
	
	function autoShowSubView(target,height) {
		var targetObj = target.form.id.replace("FORM","");
		if(!document.getElementById(targetObj+"DIV").style.height || parseInt(document.getElementById(targetObj+"DIV").style.height) == 26) {
			showSubView(targetObj,height);
		}
	}
	
	
	
	//////////SECONDARTY UI FUNCTIONS//////////
	function displayBusyBox(state,target,offsetY,delaySwitch,text) {
		//DISPLAY/HIDE BUSY BOX
		if(state == 'block') {
			if(!offsetY) {
				offsetY = 0;	
			}
			document.getElementById('busyBox').style.display = state;
			document.getElementById('busyBox').style.top = getCoords(target).y+offsetY+'px';
		}
		else {
			if(delaySwitch) {
				document.getElementById('busyBox').style.display = state;
			}
			else {
				setTimeout("displayBusyBox('none','','',1)",2000);
			}
		}

		//HIDE SELECTS IN IE 6
		if(navigator.appName == "Microsoft Internet Explorer") {
			var majorIEVersion = navigator.appVersion.split("MSIE");
			if(parseInt(majorIEVersion[1]) < 7) {
				if(activePanel && activePanel != '') {
					var activeFormSelects = document.getElementById(activePanel).getElementsByTagName("SELECT");
					for(i=0;i<activeFormSelects.length;i++) {
						if(state == 'block') {
							activeFormSelects[i].style.visibility = 'hidden';
						}
						else {
							if(delaySwitch) {
								activeFormSelects[i].style.visibility = 'visible';
							}
						}
					}
				}
			}
		}
		
		//TRANSFORM/POPULATE BUSY BOX
		if(text) {
			if(text.match(/(successfully)/g)) {
				document.getElementById('busyBoxP').className = 'success';  //innerHTML = '<img src="/account/images/ok_icon.png" border="0" />';
			}
			else {
				document.getElementById('busyBoxP').className = 'wait';  //= '<img src="/account/images/wait_icon.png" border="0" />';
			}
			document.getElementById('busyBoxP').innerHTML = text;
		}
		else {
			document.getElementById('busyBoxP').className = 'wait';
			document.getElementById('busyBoxP').innerHTML = 'Please wait... saving your settings';
		}
	}
	
	function assigncompinfoMenuRollovers() {
		var eventTargets = document.getElementById('compinfoMenu').getElementsByTagName("LI");
		for(i=0;i<eventTargets.length;i++) {

				eventTargets[i].onmouseover = function() {this.className += ' over'};
				eventTargets[i].onmouseout = function() {this.className = this.className.replace(/(over)/g, "")};
		}
	}

	function displayFirstGlance(target,text) {
		var targetMenu = document.getElementById(target+'LI');
		var targetP = document.createElement('p');
		targetP.innerHTML = text;
		targetP.className = 'firstGlance';
		targetMenu.appendChild(targetP);
	}
	
	function displaySubMenu(menuID) {
		if(document.getElementById(menuID+'MenuUL')) {
			document.getElementById(menuID+'MenuUL').style.display = 'block';
		}
	}

	function getCoords(target) {
		coords = { x: 0, y: 0 };
		target = document.getElementById(target);
		while(target.id != 'pge-bodywrap') {  //while(target.offsetParent.id != 'pge-bodywrap') {
			coords.x += target.offsetLeft;
			coords.y += target.offsetTop;
			target = target.offsetParent
		}
		return coords;
	}
	
	function previewWin(URL,width,height,target) {
		//alert("clicked");
		var previewBox = document.getElementById('emailPreviewBox');
		var closeBtn = document.getElementById('closeX');
		previewBox.style.display = 'none';
		closeBtn.style.display = 'none';
		if(URL) {
			previewBox.style.display = 'block';
			closeBtn.style.display = 'block';
			//previewBox.style.width = width;
			//previewBox.style.height = height;
			previewBox.style.left = getCoords(target).x-200+'px';
			previewBox.style.top = getCoords(target).y+-40+'px';
			document.getElementById('emailPreviewIMG').src = URL;
		}
		var popLeft = previewBox.offsetLeft;
		var popTop = previewBox.offsetTop;
		//closeBtn.style.left = (popLeft+previewBox.offsetWidth)-40 +'px';
		//closeBtn.style.top = (popTop)+22 +'px';
		
	}
	

	//////////ATTACH HELP BUBBLES TO INPUTS WITH 'ALT' VALUES
	//setTimeout("assignFieldHelpEvents()",2000);
	function assignFieldHelpEvents() {
		var targetObj = document.getElementById('container');
		var pageForms = targetObj.getElementsByTagName("FORM");
		for(i=0;i<pageForms.length;i++) {
			for(j=0;j<pageForms[i].length;j++) {
				if(pageForms[i].elements[j].getAttribute("alt")) {
					var formID = pageForms[i].elements[j].id;
					var formText = pageForms[i].elements[j].getAttribute("alt");
					//alert(formID+': '+formText);
					
					if(document.attachEvent) {
						document.getElementById(formID).attachEvent("onmouseover",function() { displayHelp('block');});
						document.getElementById(formID).attachEvent("onmouseout",function() { displayHelp(formID,'none',formText);});
						document.getElementById(formID).attachEvent("onfocus",function() { displayHelp(formID,'none',formText,1);});
						document.getElementById(formID).attachEvent("onblur",function() { hideBubble = false; displayHelp(formID,'none',formText,0);});
					}
					else {
						pageForms[i].elements[j].onmouseover = function() { displayHelp('block',0,this);};
						pageForms[i].elements[j].onmouseout = function() { displayHelp('none',0,this);};
						pageForms[i].elements[j].onfocus = function() { displayHelp('none',0,this);};
						pageForms[i].elements[j].onblur = function() { hideBubble = false; displayHelp('none',0,this);};
					}
				}
			}
		}		
	}
		
	
	var prefHideBubble = false;
	var hideBubble = false;
	function displayHelp(state,stickyState,evt) {
		if(window.event) {
			var targetObj = document.getElementById(event.srcElement.id);
			var targetObjText = targetObj.alt;
		}
		else {
			//alert(state+', '+stickyState+', '+evt.id);
			var targetObj = document.getElementById(evt.id);
			var targetObjText = targetObj.alt;
		}
		var helpBubble = document.getElementById('helpBubble');
		if(stickyState) {
			if(stickyState == 1) {
				hideBubble = true;
			}
			else {
				hideBubble = false;
			}
		}
		
		if(state == 'block' && !hideBubble && !prefHideBubble) {
			state = 'block';
		}
		else {
			state = 'none';
		}
		
		helpBubble.style.display = state;

		if(targetObj.size) {
			var offsetX = (targetObj.size*7);
		}
		else {
			var offsetX = 100;
		}

		document.getElementById("helpBubbleP").innerHTML = targetObjText;
		//alert(getCoords(targetObj.id).x+', '+getCoords(targetObj.id).y);
		if(window.event) {
			helpBubble.style.top = getCoords(targetObj.id).y-50+'px';
			helpBubble.style.left = getCoords(targetObj.id).x+offsetX+'px';
		}
		else {
			helpBubble.style.top = document.getElementById(targetObj.id).offsetTop-50+'px';
			helpBubble.style.left = document.getElementById(targetObj.id).offsetLeft+offsetX+'px';
		}
		

	}
	
	function displaySubtitle() {
		var subTitle = document.getElementById("pageTitle");
		document.getElementById("titleH2").innerHTML += "<span class='subTitleArrow'> &gt; </span> <span class='subTitle'>"+subTitle.innerHTML+"</span>";
	}
	
	
	//ADD SUPPORT FOR SELECTS
	//'PAYMENT OPTIONS' PAGE: CONSIDER CLEARING ERROR BOX WHEN SWITCHING BETWEEN FORMS
	function displayErrorMsgs(state,status,msg) {		//ADD EVENT HANDLER TO FIELDS TO REMOVE 'ERROR' CLASS
		//alert(state+', '+status+', '+msg);

		var errorBox = document.getElementById('errorBox');
		if(msg) {
			var messageTextRaw = eval('('+msg+')');
			var messages = "<strong>ALERT: Please correct the following error(s)</strong> <br /><br />";
			var fields = "";
			if(messageTextRaw.errors) {
				displayBusyBox('none','','',1);
				for(i=0;i<messageTextRaw.errors.length;i++) {
					for(j=0;j<messageTextRaw.errors[i].fieldNames.length;j++) {
						if(fields != "") {
							fields += ',';
						}
						fields += messageTextRaw.errors[i].fieldNames[j];
					}
					if(eval(messageTextRaw.errors[i].messageKey)) {
						messages += '- '+eval(messageTextRaw.errors[i].messageKey)+'<br />';
					}
				}
	
			
				if(status == 0) {	//IF TRANSACTION FAILS
					//errorBox.style.background='#f9e6e0';
				}
				else {	//IF TRANSACTION IS SUCCESSFUL
					//errorBox.style.background='#f9e6e0';
				}
				
				if(state == 'block') {
					errorBox.innerHTML = messages;
					//alert(document.getElementById(activePanel.replace("DIV","FORM")).childNodes[0].nodeName);

					if(document.getElementById(activePanel).nodeName != 'FORM') {
						document.getElementById(activePanel).style.height = parseInt(document.getElementById(activePanel).style.height) + 100+'px';
						var errorBoxParent = document.getElementById(activePanel);
						var errorBoxNextSibling = document.getElementById(activePanel.replace("DIV","FORM"));
						errorBoxParent.insertBefore(errorBox,errorBoxNextSibling);
					}
					else {
						var errorBoxParent = document.getElementById(activePanel).parentNode;
						var errorBoxNextSibling = document.getElementById(activePanel);
						errorBoxParent.insertBefore(errorBox,errorBoxNextSibling);
						errorBox.style.marginTop = 20+'px';
					}
					if(fields) {
						var fieldsArray = fields.split(",");
						for(i=0;i<fieldsArray.length;i++) {
							document.getElementById(fieldsArray[i]).className += 'error';
						}
					}
				}
				else {

				}
			}
			else {
				//document.getElementById('busyBox').innerHTML = 'Your settings have been successfully saved';
				displayBusyBox('none','','','','Your settings have been successfully saved');
			}
		}
		
		if(state == 'block') {		//IF SUCCESSFUL - MESSAGE TEXT PASSED, NO ERRORS, ERRORS PREVIOUSLY ENCOUNTERED
			if(!messageTextRaw.errors) {
				state = 'none';
				//MAY NEED TO ADD "SELECT" ELEMENTS TO THIS PROCESS
				var panelFields = document.getElementById(activePanel).getElementsByTagName("INPUT");
				for(i=0;i<panelFields.length;i++) {
					panelFields[i].className = panelFields[i].className.replace(/(error)/g, "");
				}
			}
		}
		else {		//IF SUCCESSFUL - NO MESSAGE TEXT PASSED
			if(errorBox.style.display == 'block') {
				if(document.getElementById(activePanel).nodeName != 'FORM') {
					document.getElementById(activePanel).style.height = parseInt(document.getElementById(activePanel).style.height) - 100+'px';
				}
			}
		}

		errorBox.style.display = state;
	}
	
	function displayShopNowBox(target,merchantName,merchantImg) {
		if(!merchantName.match(/(\$)/g)) {
			if(document.getElementById('shopNowBox').style.display != 'block') {
				document.getElementById('shopNowBox').style.display = 'block';
				if(merchantName.length < 6) {
					var xCoor = 12 * merchantName.length;
				}
				else if(merchantName.length < 18) {
					var xCoor = 8 * merchantName.length;
				}
				else if(merchantName.length < 25) {
					var xCoor = 9 * merchantName.length;
				}
				else {
					var xCoor = 90;
				}
				//alert(target.id+' - X: '+getCoords(target.id).x+', Y: '+getCoords(target.id).y);
				document.getElementById('shopNowBox').style.left = getCoords(target.id).x+(xCoor-25)+'px';
				document.getElementById('shopNowBox').style.top = getCoords(target.id).y-50+'px';
				//alert(merchantName);
				document.getElementById('shopNowLogo').src = '/merchant_images/small/small_'+merchantImg;
			}
			else {
				document.getElementById('shopNowBox').style.display = 'none';
			}
		}
	}
	
	
	//////////FORM SUBMISSION FUNCTIONS//////////
	function submitForm(target,formURL,busyBoxOffsetY) {
		displayErrorMsgs('none');
		if(document.getElementById(target.form.id).parentNode.id == 'container') {
			activePanel = target.form.id;
		}
		else {
			activePanel = document.getElementById(target.form.id).parentNode.id;
		}
		displayBusyBox('block',target.form.id,busyBoxOffsetY,"Please wait... saving your settings");
	
		var urlParams = '';
		for(i=0;i<target.form.length-1;i++) {
			if(i<target.form.length-2) {
				var urlDelimiter = '&';
			}
			else {
				var urlDelimiter = '';
			}
			//EVENTUALLY CONSIDER SUBSTITUTING THE 'ID' ATTRIBUTE WITH 'NAME'
			if(target.form[i].type == 'radio') {
				if(target.form[i].checked) {
					urlParams += target.form[i].id+'='+target.form[i].value+urlDelimiter;
				}
			}
			else {
				urlParams += target.form[i].id+'='+target.form[i].value+urlDelimiter;
			}
		}
		
		//alert(urlParams);
		createRequest();
		var url = '/'+formURL;
		request.open("post",url,true);
		request.onreadystatechange = formResponse;
		request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		request.send(urlParams);
	}
	
	function formResponse() {
		if(request.readyState == 4) {
			if(request.status == 200) {
				displayErrorMsgs('block',0,request.responseText);
			}
		}
	}