//Copyright Chris Tausanovitch 2007

selected = "name"
fields = new Array("name","bio","news","resume","video","writing","portfolio","links","contact","bird")

inprogress=1

addLoadEvent(loadup)

function loadup() {
	Morph("name",{'style':{'top':'150px'}})
	setStyle("namepanel",{'opacity':1})
        setStyle("namecontent",{'visibility':'visible'})
	//Opacity("namepanel",to=1)
	slideDown("namepanel",{afterFinish: function() {
		Opacity("namecontent",to=1)
		inprogress=0
		}})
	panel = {}
	panel['namepanel'] = getElement('namepanel') 
	panel['biopanel'] = getElement('biopanel')
	panel['newspanel'] = getElement('newspanel')
	panel['resumepanel'] = getElement('resumepanel')
	panel['linkspanel'] = getElement('linkspanel')
        panel['videopanel'] = getElement('videopanel')
        panel['portfoliopanel'] = getElement('portfoliopanel')
        panel['contactpanel'] = getElement('contactpanel')
        panel['writingpanel'] = getElement('writingpanel')
	}

function changepage(elem) {
	if (elem != selected && inprogress !=1) {
		inprogress=1
		//This section moves things around to accomodate a new box size/shape
		//We use MochiKit for animations
		panelwidth = parseInt(getStyle(elem + "panel","width"))
		panelheight = parseInt(getStyle(elem + "panel","height"))
		buttonwidth = parseInt(getStyle(elem,"width"))

		removeElementClass(elem + "label","unselected")
		removeElementClass(selected,"selected")
		addElementClass(elem,"selected")
		addElementClass(selected + "label","unselected")

		Opacity(selected + "panel",{'to':0,afterFinish: function() {			
			Morph(panel[elem + "panel"],{'style':{'marginLeft':-(panelwidth + buttonwidth)/2 + buttonwidth + "px"},
			beforeSetup: function() {	
				for (i in fields) {
					Morph(fields[i],{'style':{'marginLeft':(-(panelwidth + buttonwidth)/2) + "px"}})
				}
				},
			afterFinish : function() {
				//setStyle(panel[elem + "panel"],{'height':0,'opacity':1})
				//Morph(panel[elem + "panel"],{'style':{'height':panelheight + "em"},afterFinish: function() {
				Opacity(elem + "panel")
				Opacity(elem + "content")
				//	}})
				selected = elem
				inprogress=0
			},
			beforeStart: function() {
				setStyle(selected + "content",{'opacity':0})
				setStyle(selected + "content",{'visibility':'hidden'})
				setStyle(selected + "panel",{'z-index':0})
			        setStyle(elem + "content",{'visibility':'visible'})
				for (i in fields) {
					Morph(fields[i],{'style':{'marginLeft':(-(panelwidth + buttonwidth)/2) + "px"}})
				}
				setStyle(elem + "panel",{'z-index':20})
		    }
			})
		}})
	}
}

function mouseon(elem) {
	addElementClass(elem,"over")
}

function mouseoff(elem) {
	removeElementClass(elem,"over")
}

