/***
*
***/
var domReady = function(){
		document.id('java_off').destroy()
		var getpageindex = function() {
				var pg = -1;
				var uri = new URI()
				switch(uri.get("file").split(".")[0]){
						case "":
								pg = 0
						break;
						case "index":
								pg = 0
						break;
						case "tour":
								pg = 1
						break;
						case "history":
								pg = 2
						break;
						case "listen":
								pg = 3
						break;
						case "video":
								pg = 4
						break;
						case "archive":
								pg = 6
						break;
						case "newsletter":
								pg = 7
						break;
				}
				return pg
		}
		var pgalign = function(){
				var newy = ((window.innerHeight - document.id("container").getStyle("height").toInt())/3).limit(0,300)
				document.id("container").setStyle("top",newy)
		}
		pgalign()
		var em = new EventManager()
		em.pushEvents(window,"resize",function(){pgalign()}.bind(this))
		this.menu = new MenuHandler('#menu a',{active:'#fff',hover:'#444',initial_index:getpageindex(),fileType:"php"})
		this.menu.addLinks('.pagelinks','pageLinks')
		this.menu.addEvent('PAGE_REQUEST',function(){
				this.collage.fadeAll("out")
				var old = this.page_content
				var oldtl = this.tl_content
				var uri = new URI(this.menu.requestRef)
				if (oldtl && uri.get('file') != "timeline.php" ) {
						var dumptl = function(){
								oldtl.destroy()
						}
						oldtl.fade(0)
						dumptl.delay(475)
						this.tl_content = null;
				}	
				if (old) {
						var dump = function(){
								old.destroy()
						}
						old.fade(0)
						dump.delay(500)
				}		
		}.bind(this))
		this.menu.addEvent('PAGE_LOADED',function(){
				newpage(true)		
		}.bind(this))
		this.menu.addEvent('ERROR',function(){
				newpage(true)		
		}.bind(this))
		var newpage = function(isevent) {
				if (isevent) {
						this.page_content = this.menu.page.getElement("[class='content_box']")
						if (!this.tl_content) {
								this.tl_content = this.menu.page.getElement("[id='timeline_container']")
								var isnew = true	
						} else {
								var isnew = false	
						}
						this.new_collage = this.menu.page.getElement("[id='collage']")
						if (this.page_content) {
								this.page_content.fade("hide")
								document.id("main").grab(this.page_content)
								if (document.id('tl_content')) console.log("bobadb");
								this.page_content.fade(1)
								newcontent = this.page_content
						} else {
								newcontent = new Element("div")
						}
				} else {
						newcontent = document
						this.page_content = $$(".content_box")[0]
				}
				if (this.tl_content && isnew) {
						document.id("main").grab(this.tl_content)
						this.menu.addLinks('.tl_anchor','tlLinks')
						reposeTimeLine()
				}
				if (newcontent.getElementById("video_box")) videoPlayer()
				else audioPlayer()
				if (document.id("playlist") && this.player_controls) addplaylist()
				if (newcontent.getElements(".pager")) addpagers(newcontent)
				if (this.menu.currentRef){
						var uri = new URI(this.menu.currentRef)
						var pagename = uri.get('file').split(".")[0]
						if (pagename == "video" && this.player_controls) this.player_controls.stopPlayer()
						if (pagename == "index" || pagename == "" || pagename == null || pagename == "listen"){
								this.collage.fadeAll("in")
								this.collage.slideOn("main")
						} else if (pagename == "timeline") {
								this.collage.fadeCurrent()
								this.collage.slideOff()
								var uvar = uri.getData('image')
								if (uvar){
										var left = - document.id(uvar).getStyle('left').toInt() + 50
										this.collage.newBlocks("#"+uvar,left)
								} else {
										this.collage.fadeAll()
										this.collage.slideOff()
								}
						} else {		
								if (!this.collage.isFaded) this.collage.fadeAll("out")
								this.collage.slideOff()
								pagename = pagename +"_image"
								var pgimg = document.id(pagename)
								if (pgimg) {
										var left = pgimg.get('title').toInt()
								} else {
										var left = 0
								}
								this.collage.newBlocks("#"+pagename,left)		
						}
				} else {
						this.collage.fadeAll()
						this.collage.slideOff()
				}
				addforms()
		}
		var setcollage = function() {
				var cwidth = document.id('collage').get('title').toInt()
				var minleft = Browser.Engine.trident ? - cwidth + 500 : -cwidth + window.innerWidth.toInt() - 200
				this.collage = new LightCollage("collage",".collage_image",{off_opacity:.1,maxLeft:200,minLeft:minleft})
				this.collage.addSlideButtons("<div id='larrow_top'></div><div id='larrow_bottom'></div>","<div id='rarrow_top'></div><div id='rarrow_bottom'></div>","main")
				if (this.menu.currentRef && this.menu.currentRef.split(".")[0] != "index") this.collage.fadeAll("out")
		}
		//
		//  inital setup
		//
		var init = function(){
				setcollage()
				newsTicker()
				newpage()
		}
		//
		// media players
		//
		var audioPlayer = function(){
				if (this.vplayer) {
						this.vplayer.stop()
						this.vplayer.killAll()
						this.vplayer = null;
						document.id("audio_controls").empty()
				}
				if (!this.player){
						var playlist = []
						$$('.player_song').each(function(elm){
								var song = new Hash({
										path:elm.getElement('.path').get('html'),
										name:elm.getElement('.name').get('html'),
										year:elm.getElement('.year').get('html')
								})
								playlist.push(song)
						})
						this.player = new AudioHandler("audio_container",playlist,{autoPlay:true})
						if (!this.player.failed){
								this.player_controls = new MediaControls(this.player,{autoPlay:true})
								document.id("audio_controls").empty()
								this.player_controls.playButtons("audio_controls","<img src='artwork/media_play.gif'>","<img src='artwork/media_pause.gif'>")
								//this.player_controls.muteButtons("audio_controls","<img src='artwork/media_mute.gif'>","<img src='artwork/media_unmute.gif'>")
								this.player_controls.stopButton("audio_controls","<img src='artwork/media_stop.gif'>")
								this.player_controls.prevNextButtons("audio_controls","<img src='artwork/media_prev.gif'>","<img src='artwork/media_next.gif'>")
								this.player_controls.progressBar("audio_controls")
								//this.player_controls.volumeScrubber("audio_controls")
								this.player_controls.addInfo(true,false,false,false,"audio_controls")
								this.player_controls.addTimer("audio_controls")
								this.player_controls.updateInfo()        
								this.player_controls.updateMeta()
						} else {
								this.player = false
								this.player_controls = false
						}
				}
		}
		var newsTicker = function(){
				if (document.id("latest_news")) var ticker = new NewsTicker("#latest_news a") 
		}
		var addplaylist = function(){
				var player_list = new MediaList("playlist",this.player,["name","year"])
		}
		//
		// page elements
		//
		var addpagers = function(newcontent){
				newcontent.getElements(".pager").each(function(pgr){
						var pager = new Pager(pgr.getElements(".page"),{type:"horizontal"})
						if (pager.numPages > 1) {
								pager.addPrevNext("artwork/prev.gif","artwork/next.gif",pgr.getParent().getElement(".content_footer"))
								pager.addPager("artwork/normal.gif","artwork/current.gif",pgr.getParent().getElement(".content_footer"))
								if (newcontent.getElements(".content_header").length > 1) {
										pager.addHeaders(newcontent.getElements(".content_header"))								
								}
						}
				})
		}
		var addforms = function(){
				if ($$(".post_form")){
					$$(".post_form").each(function(elm){
						var frm = new UploadHandler(elm)
						frm.addLoader("artwork/ajax-loader.gif")
						frm.setEmail(["email"])
					}.bind(this))
				}
		}
		var reposeTimeLine = function(){
				if (Browser.Engine.trident) return
				var ratio = window.innerWidth/1000
				$$('.tl_main').each(function(elm){
						elm.setStyle('left',elm.getStyle('left').toInt() * ratio)
				})
				$$('.tl_anchor').each(function(elm){
						elm.setStyle('left',elm.getStyle('left').toInt() * ratio)
				})
		}
		//
		// run
		//
		init()
}
