/* Thanks to Bobby Sample at Glendale Community College for this revised JavaScript based on Harry Maugans' tutorial for sliding, collapsible menus. Adjusted by James Walters. */

/*"/" path MUST BE EDITED when this template setup is moved.*/

var PrimarySection = location.pathname.substring(location.pathname.indexOf("/")+1,location.pathname.lastIndexOf("/"));
var PrimaryRef = PrimarySection.substring(0, PrimarySection.indexOf("/"));
var SectionRef = PrimarySection.substring(PrimarySection.indexOf("/")+1, PrimarySection.length);
var Primaries = new Array(7);
Primaries[0]="Home";
Primaries[1]="AccountTools";
Primaries[2]="RegistrationTools";
Primaries[3]="PaymentTools";
Primaries[4]="AdvisingTools";
Primaries[5]="FormsTools";


image1 = new Image();
image1.src = "../graphics/accordionclose.png";
image2 = new Image();
image2.src = "../graphics/accordionopen.png";
image3 = new Image();
image3.src = "../graphics/accordionback.png";


var timerlen = 5;
var slideAniLen = 250;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();
var toggled = "no";

function slidedown(objname,blockheight,linkid){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display != "none")
                return; // cannot slide down something that is already visible
				
		document.getElementById(linkid).style.background = "url(../graphics/accordionclose.png) no-repeat bottom left";
		document.getElementById(linkid).title = "Click to close this menu";


        moving[objname] = true;
        dir[objname] = "down";
        startslide(objname,blockheight,linkid);
}

function slideup(objname,blockheight,linkid){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display == "none")
                return; // cannot slide up something that is already hidden	
				
		document.getElementById(linkid).style.background = "url(../graphics/accordionopen.png) no-repeat bottom left";
		document.getElementById(linkid).title = "Click to re-open this menu";

        moving[objname] = true;
        dir[objname] = "up";
        startslide(objname,blockheight);
}

function startslide(objname,blockheight){
        obj[objname] = document.getElementById(objname);
	
        endHeight[objname] = blockheight;
        startTime[objname] = (new Date()).getTime();

        if(dir[objname] == "down"){
                obj[objname].style.height = "1px";
        }

        obj[objname].style.display = "block";

        timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidetick(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed > slideAniLen)
                endSlide(objname,blockheight)
        else {
                var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
                if(dir[objname] == "up")
                        d = endHeight[objname] - d;

                obj[objname].style.height = d + "px";
        }

        return;
}

function endSlide(objname){
        clearInterval(timerID[objname]);

        if(dir[objname] == "up")
                obj[objname].style.display = "none";

        
		obj[objname].style.height = endHeight[objname] + "px";

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endHeight[objname]);
        delete(obj[objname]);
        delete(dir[objname]);

        return;
}
function toggleSlide(id){
	var objname='sm'+id;
	var linkid='m'+id;
	for (var i = 1; i <= 10; i++) {
		if(document.getElementById('sm'+i)){
			/*if(PrimaryRef!=Primaries[i-1]){*/
			if(document.getElementById('sm'+i).style.display=="block"){
			bh=document.getElementById('sm'+i).offsetHeight;
			slideup('sm'+i,bh,'m'+i);
			/*}*/
			}
		}
	}
	
  if(document.getElementById(objname).style.display == "none"){
    // div is hidden, so let's slide down
	document.getElementById(objname).style.display="block";
	blockheight=document.getElementById(objname).offsetHeight;
	document.getElementById(objname).style.display="none";
    slidedown(objname,blockheight,linkid);
  }else{
    // div is not hidden, so slide up
	/*if((PrimaryRef!=Primaries[id-1])||(toggled=="yes")){*/
	blockheight=document.getElementById(objname).offsetHeight;
    slideup(objname,blockheight,linkid);
	/*}*/
  }
	var toggled="yes";
}
 
function setMenus(){
	if(toggled=="no"){
	var homeql="yes";
	for (var i = 1; i <= 10; i++) {
		if(document.getElementById('sm'+i)){
			var thisprimary = Primaries[i-1];
			if(thisprimary!=PrimaryRef){
			document.getElementById('sm'+i).style.display="none";
			document.getElementById('sm'+i).style.overflow="hidden";
			}
			else{
			var homeql="no";
			document.getElementById('sm'+i).style.display="block";
			document.getElementById('m'+i).style.background = "url(../graphics/accordionclose.png) no-repeat bottom left";
			for (var n = 1; n <= eval('QL'+(i-1)).length; n++) {
				document.getElementById('QL'+eval('QL'+(i-1))[n-1]).style.display="block";
			}
			}
		}
	}
/*	if (homeql=="yes"){
		for (var n = 1; n <= QLHome.length; n++) {
			document.getElementById('QL'+QLHome[n-1]).style.display="block";
		}
	}
	*/if(document.getElementById(SectionRef)){
	document.getElementById(SectionRef).style.background="#4A4D4A";
	}
	if(document.getElementById(SectionRef+'2')){
	document.getElementById(SectionRef+'2').style.background="#4A4D4A";
	}
	if(document.getElementById(SectionRef+'3')){
	document.getElementById(SectionRef+'3').style.background="#4A4D4A";
	}
}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function toggleLayer(whichLayer)
{
if (document.getElementById)
{
// this is the way the standards work
var style2 = document.getElementById(whichLayer).style;
style2.display = style2.display? "":"block";
}
else if (document.all)
{
// this is the way old msie versions work
var style2 = document.all[whichLayer].style;
style2.display = style2.display? "":"block";
}
else if (document.layers)
{
// this is the way nn4 works
var style2 = document.layers[whichLayer].style;
style2.display = style2.display? "":"block";
}
}