var nav_expand = new Array();
var nav_collapse = new Array();
var nav_length = new Array(130,90,65,105,65,80,80,125,90,40);
var cat_lengths = new Array(5,3,3,3,3,3,3,4,3,1);
var selected_cat_index = 0;
var selected_page_index = 0;
var myPanel;
var myPanelVisible = false;

function $(id){
	return document.getElementById(id);
	//return element
}

function $$(id){
	return document.getElementById(id).style;
	//return element style
}

function hover(element) {
	element.style.cursor = "pointer";
}

function unhover(element) {
	element.style.cursor = "auto";
}

function navhover(element) {
	element.style.cursor = "pointer";
	var cat_index = getElementCatIndex(element);
	var page_index = getElementPageIndex(element);
	if(cat_index != selected_cat_index || page_index != selected_page_index) {
		element.style.backgroundColor = '#eee';
		element.style.color = '#6cabd8';
	} 
}

function navunhover(element) {
	element.style.cursor = "auto";
	var cat_index = getElementCatIndex(element);
	var page_index = getElementPageIndex(element);
	if(cat_index != selected_cat_index || page_index != selected_page_index) {
		element.style.backgroundColor = 'transparent';
		element.style.color = '#fff';
	} 
}

function getElementCatIndex(element) {
	var id = element.getAttribute("id");
	var u_pos = id.lastIndexOf('_');
	var page_index = id.substring(4,u_pos);
	return page_index;
}

function getElementPageIndex(element) {
	var id = element.getAttribute("id");
	var u_pos = id.lastIndexOf('_');
	var cat_index = id.substring(u_pos+1, id.length);
	return cat_index;
}

function clearCategories() {
	for (var n=0; n < cat_lengths.length; n++) {
		for (var m=0; m < cat_lengths[n]; m++) {
			$$('nav_' + n + '_' + m).backgroundColor = 'transparent';
			$$('nav_' + n + '_' + m).color = '#fff';
		}
	}
}

function rollover(element) {
	var element_id = element.getAttribute("id");
	element.src = 'img/' + element_id + "_over.png";
}

function rollout(element) {
	var element_id = element.getAttribute("id");
	element.src = 'img/' + element_id + "_out.png";
}

function openStudentPackage() {
	myPanel.show();
}

function hideStudentPackage() {
	if(myPanelVisible) myPanel.hide();
	myPanelVisible = myPanel.cfg.getProperty("visible");
}

function doPrint() {
	openStudentPackage();
	window.print();
}

function forceFullLength(minHeight) {
  var myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) { //Non-IE
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode'
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible
    myHeight = document.body.clientHeight;
  }

	//alert(myHeight);
	if (myHeight > minHeight) $$('main_content').height = (myHeight - 146) + 'px';
}


function createXMLHttpRequestObject() {
  // xmlHttp will store the reference to the XMLHttpRequest object
  var xmlHttp;
  // try to instantiate the native XMLHttpRequest object
  try
  {
    // create an XMLHttpRequest object
    xmlHttp = new XMLHttpRequest();
  }
  catch(e)
  {
    // assume IE6 or older
    try
    {
      xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
    }
    catch(e) { }
  }
  // return the created object or display an error message
  if (!xmlHttp)
    alert("Error creating the XMLHttpRequest object.");
  else 
    return xmlHttp;
}

function loadExternalData(source_url,target_id){
	$(target_id).innerHTML = "<div class=\"loader\"><img src=\"img/loader21.gif\" border=\"0\"><br />loading...</div>";
	var httpobject = createXMLHttpRequestObject();
	var url=source_url;
 	var params = "";

	httpobject.open("POST", url , true);
	httpobject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpobject.setRequestHeader("Content-length", params.length);
	httpobject.setRequestHeader("Connection", "close");

	httpobject.onreadystatechange = function() {//Call a function when the state changes.
		if((httpobject.readyState == 4 && httpobject.status == 200) || navigator.userAgent.indexOf('Safari') > 0) {
			$(target_id).innerHTML=httpobject.responseText;
		}
	}

	httpobject.send(params);
	
}

function openEHL() {
	var new_win = window.open('http://www.bankofamerica.com/help/equalhousing_popup.cfm','BankOfAmerica','width=500, height=800, status')
}


function openNav(index) {
	goTo(index,0);
	for (var j=0; j < nav_expand.length; j++) {
		if (j != index) {
			$$('subnav_header_' + j).color = "#ffffff";
			nav_collapse[j].animate();
		} else {
			$$('subnav_header_' + j).color = "#1b2b36";
			nav_expand[j].animate();
		}
		updateSeperators(index);
	}
}

function updateSeperators(index) {
	for (var k=0; k < nav_expand.length - 1; k++) {
		$$('separator_' + k).borderTop = "1px #ffffff dotted";
	}
	
	if (index == 0) $$('separator_0').borderTop = "1px #ffffff solid";
	else if (index == nav_expand.length - 1) $$('separator_' + (index - 1)).borderTop = "1px #ffffff solid";
	else {
		$$('separator_' + (index - 1)).borderTop = "1px #ffffff solid";
		$$('separator_' + (index)).borderTop = "1px #ffffff solid";
	}
}

function goTo(cat_index,page_index) {
	loadExternalData(cat_index + '_' + page_index + '.html','main_content');
	selected_cat_index = cat_index;
	selected_page_index = page_index;
	clearCategories();
	$$('nav_' + cat_index + '_' + page_index).backgroundColor = '#fff';
	$$('nav_' + cat_index + '_' + page_index).color = '#6cabd8';
	
	if (cat_index == 0 && page_index == 0) $$('content_container').height = '1500px';
	else if (cat_index == 0 && page_index == 4) $$('content_container').height = '1500px';
	else if (cat_index == 1 && page_index == 0) $$('content_container').height = '1500px';
	else $$('content_container').height = 'auto';
}

function swapImgRestore() { //v3.0
  var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

function findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function swapImage() { //v3.0
  var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function init() {
	myPanel = new YAHOO.widget.Panel("dlg", { 
		fixedcenter: false,
		context: new Array("overlay_container","tl","tl"),
		constraintoviewport: true,  
		modal:true,
		underlay:"shadow",  
		close:false,
		visible:false,  
		draggable:false} ); 
		myPanel.setBody("<div id=\"student_package_container\"><div id=\"closer\" onmouseover=\"hover(this);\" onmouseout=\"unhover(this);\"><a>close x</a></div><img src=\"img/student-package-header.jpg\" border=\"0\" id=\"student_package_header\" alt=\"The Student Package. Everything you need to put The Morris Code in action and start banking right\">\r<ul id=\"student_package_list\">\r\t<li>CampusEdge&reg; Checking<sup>1</sup>\r\t\t<ul class=\"campusedge\">\r\t\t\t<li>No minimum balance required</li>\r\t\t\t<li>Free Bank of America Debit Card</li>\r\t\t\t<li>Your first overdraft fee refunded, just because</li>\r\t\t\t<li>And a Stuff Happens&reg; card<sup>2</sup> to help you out of a jam</li>\r\t\t</ul>\r\t<li>Online Banking service with Mobile Banking\r\t\t<p>Check your balance, pay your bills, transfer funds and set up text or email alerts to help prevent fees.<sup>3</sup></p>\r\t</li>\r\t<li>Savings Account with Keep the Change&reg;\r\t\t<p>Your Savings Account is free of the monthly maintenance fee when you enroll in Keep the Change&reg; and make your first debit card purchase.<sup>4</sup>\r\t</li>\r</ul>\r\r<div id=\"student_package_left\">\r<img src=\"img/student-package-18-over.jpg\" border=\"0\" alt=\"18 and over\">\r<p>You can open<br />your account online in minutes.</p>\r<a href=\"http://www.bankofamerica.com/deposits/checksave/index.cfm?template=apply&ch_bag=CHST&sa_bag=SARE&offer_code=CAMPUS&cm_re=DEP-StudentBanking\" target=\"_new\"><img src=\"img/student-package-open-now.jpg\" border=\"0\" alt=\"Open Now\"></a>\r</div>\r<img src=\"img/student-package-divider.jpg\" border=\"0\" id=\"student_package_divider\" alt=\"\">\r<div id=\"student_package_right\">\r<img src=\"img/student-package-under-18.jpg\" border=\"0\" alt=\"Under 18\">\r<p>Print this info, grab your drivers license<br />and student ID, and head to the nearest<br />banking center with a parent.</p>\r<a href=\"pdf/TheStudentPackage_TMC.pdf\"><img src=\"img/student-package-print.jpg\" border=\"0\" alt=\"Print\"></a>\r</div>\r</div>");

	myPanel.cfg.setProperty("x","60");
	myPanel.cfg.setProperty("y","60");
	myPanel.render();
	
	YAHOO.util.Event.on('equal-housing-lender', 'click', function() { openEHL(); });
	YAHOO.util.Event.on('button_package', 'click', function() { openStudentPackage(); });
}


YAHOO.util.Event.onDOMReady(init);
