var dropID = null, timerID = null, docked = true, dragTab = false,navigation, mask, macFlag = false;
var defLeft = 223, defTop = 16, mLeft = 15, mTop = 15;
var macFlag2 = false, defLeft2 = 578, defTop2 = 104, mLeft2 = 50, mTop2 = 2;
var macFlag3 = false, defLeft3 = 578, defTop3 = 104, mLeft3 = 8, mTop3 = 8;
var macFlag4 = false, defLeft4 = 578, defTop4 = 104, mLeft4 = -29, mTop4 = -1;
var macFlag5 = false, defLeft5 = 578, defTop5 = 104, mLeft5 = -50, mTop5 = -1;
var macFlag6 = false, defLeft6 = 578, defTop6 = 104, mLeft6 = 8, mTop6 = 8;
var macFlag7 = false, defLeft7 = 578, defTop7 = 104, mLeft7 = -50, mTop7 = -2;
var macFlag8 = false, defLeft8 = 578, defTop8 = 104, mLeft8 = -10, mTop8 = -15;
var macFlag9 = false, defLeft9 = 578, defTop9 = 104, mLeft9 = 8, mTop9 = 1;
var macFlag10 = false, defLeft10 = 578, defTop10 = 104, mLeft10 = 7, mTop10 = 8;

macFlag = ((navigator.appName.indexOf('Microsoft') >= 0) && (navigator.appVersion.indexOf('Mac') >=0))? true : false;
macFlag2 = ((navigator.appName.indexOf('Netscape') >= 0) && (navigator.appVersion.indexOf('Mac') >=0) && (navigator.appVersion.indexOf('5.0') >=0)&& !(navigator.appVersion.indexOf('Safari') >=0))? true : false;
macFlag3 = ((navigator.appName.indexOf('Netscape') >= 0) && (navigator.appVersion.indexOf('Mac') >=0) && (navigator.appVersion.indexOf('Safari/125.8') >=0) && (navigator.appVersion.indexOf('5.0') >=0))? true : false;
macFlag4 = ((navigator.appName.indexOf('Netscape') >= 0) && (navigator.appVersion.indexOf('Mac') >=0) && (navigator.userAgent.indexOf('Netscape/7.1') >=0) && (navigator.appVersion.indexOf('5.0') >=0))? true : false;
macFlag5 = ((navigator.appName.indexOf('Netscape') >= 0) && (navigator.appVersion.indexOf('Mac') >=0) && (navigator.userAgent.indexOf('Gecko/20040616') >=0) && (navigator.appVersion.indexOf('5.0') >=0))? true : false;
macFlag6 = ((navigator.appName.indexOf('Netscape') >= 0) && (navigator.appVersion.indexOf('Mac') >=0) && (navigator.appVersion.indexOf('Safari/125.1') >=0) && (navigator.appVersion.indexOf('5.0') >=0))? true : false;
macFlag7 = ((navigator.appName.indexOf('Netscape') >= 0) && (navigator.appVersion.indexOf('Mac') >=0) && (navigator.userAgent.indexOf('Firefox/') >=0) && (navigator.appVersion.indexOf('5.0') >=0))? true : false;
macFlag8 = ((navigator.appName.indexOf('Microsoft') >= 0) && (navigator.appVersion.indexOf('Mac') >=0) && (navigator.userAgent.indexOf('Opera') >=0))? true : false;
macFlag9 = ((navigator.appName.indexOf('Netscape') >= 0) && (navigator.appVersion.indexOf('Mac') >=0) && (navigator.appVersion.indexOf('Safari/85.7') >=0) && (navigator.appVersion.indexOf('5.0') >=0))? true : false;
macFlag10 = ((navigator.appName.indexOf('Netscape') >= 0) && (navigator.appVersion.indexOf('Mac') >=0) && (navigator.appVersion.indexOf('Safari/125.9') >=0) && (navigator.appVersion.indexOf('5.0') >=0))? true : false;

function initDrop() {
	navigation = new Div("navigation");
	mask = new Div("mask");
	
	checkDrop();
	restoreDrop();
}
function checkDrop() {
	if (!docked) {
		re.setSrc("drag", "/images/nav_drop_hd_bg_left.gif");
		re.setSrc("dragRight", "/images/nav_drop_hd_bg_right.gif");	
		re.setSrc("detach", "/images/1x1black.gif");
		re.setOn("navigation");
	}
}
function showDrop()	{
	if (docked) {
		clearTimeout(timerID);
		if (dropID != null) clearTimeout(dropID);
		navigation.moveTo(defLeft + main.getLeft() + ((macFlag)? mLeft : 0) + ((macFlag2)? mLeft2 : 0) + ((macFlag3)? mLeft3 : 0) + ((macFlag4)? mLeft4 : 0) + ((macFlag5)? mLeft5 : 0) + ((macFlag6)? mLeft6 : 0) + ((macFlag7)? mLeft7 : 0) + ((macFlag8)? mLeft8 : 0) + ((macFlag9)? mLeft9 : 0) + ((macFlag10)? mLeft10 : 0),defTop + main.getTop() + ((macFlag)? mTop : 0) + ((macFlag2)? mTop2 : 0) + ((macFlag3)? mTop3 : 0) + ((macFlag4)? mTop4 : 0) + ((macFlag5)? mTop5 : 0) + ((macFlag6)? mTop6 : 0) + ((macFlag7)? mTop7 : 0) + ((macFlag8)? mTop8 : 0) + ((macFlag9)? mTop9 : 0) + ((macFlag10)? mTop10 : 0));
		//navigation.moveTo(223 + main.getLeft(),16 + main.getTop());
	}
	navigation.setVisible(true);
}

function hideDrop() {
	if (docked) 
		dropID = setTimeout("navigation.setVisible(false); re.setOff('navigation');",500);
}

function releaseDrop(e) {
	if (docked) {
		docked = false;
		if (dropID != null) clearTimeout(dropID);
		checkDrop();
		navigation.setTop(navigation.getTop() + 20);
	} else 
		return false;//startDrag(e);
}

function attachDrop() {
	if (docked) {
		return false;
	} else {
		docked = true;
		re.setSrc("drag", "/images/nav_drop_nav.gif");
		re.setSrc("dragRight", "/images/1x1.gif");
		re.setSrc("detach", "/images/nav_drop_release.gif");
		showDrop();
		timerID = setTimeout("hideDrop();",100);
	}
}

function dragDrop() {
	if (!docked) startDrag()
}

function restoreDrop() {
	var c = document.cookie, values = c.split(";");

	for (var i=0; i < values.length; i++) {
	    if ( (values[i].indexOf("docked=") >= 0) ||
	    (values[i].indexOf("menuX=") >= 0) ||
	    (values[i].indexOf("menuY=") >= 0) 
	    ) 
	    { 
		    eval(values[i]);
	    }
	}
	if (!docked) {
	   navigation.moveTo(menuX, menuY);
	   checkDrop();
	   navigation.setVisible(true);
	}
}

function saveDrop() {
	document.cookie = "docked=" + docked + ";path=/; domain=.wesleyan.edu;";;
	document.cookie = "menuX=" + navigation.getLeft() + "; path=/; domain=.wesleyan.edu;";
	document.cookie = "menuY=" + navigation.getTop() + "; path=/; domain=.wesleyan.edu;";;
}

window.onunload = saveDrop;

//drag code
if (document.all) document.onmousedown = startDrag; 

function startDrag(){			
	//if (!docked) mask.setVisible(true);
	document.onmouseup = endDrag; 
	document.onmousemove = drag;
	
	if (document.layers) {
		document.captureEvents(Event.MOUSEUP | Event.MOUSEMOVE | Event.MOUSEDOWN); 
		dragTab = true;
	}
	else  if((document.all) && (!docked)) { 
		var X = event.x, Y = event.y;
		if (( X > navigation.getLeft()) && (X < (navigation.getLeft() + mask.getWidth())) && (Y > navigation.getTop()) && (Y < (navigation.getTop() + mask.getHeight()))) dragTab = true;
	}
	//document.onselectstart = function() { return false;}
			
	return true;
}

function endDrag() {
	dragTab = false;
	document.onselectstart = null;
	document.onmousemove = null;
	mask.setVisible(false);
	
	if (document.layers) document.releaseEvents(Event.MOUSEUP | Event.MOUSEMOVE | Event.MOUSEDOWN);
		
	return false;
}
		
function drag(layer) {
	if (dragTab) navigation.moveTo(getX(layer)-50,getY(layer));
}

getY = function(layer){ return ((document.layers)? layer.pageY : (document.all)? event.y : -1);}
getX = function(layer){ return ((document.layers)? layer.pageX : (document.all)? event.x : -1);}