var jukebox;
var jukeboxReady = false;
var jukeboxTimer = 0;
var resumeJukebox = false;;
var player;


window.addEvent('domready', function(){
	
	//external links
	$$('a[rel=external]').set('target', '_blank');
	
	
	//jukebox
	jukebox = new Swiff('/_common/swf/mp3Player.swf', {
		id: 'mp3Player',
		container: 'jukebox',
		version: 8,
		width: '100%',
		height: '100%',
		params: {
			wMode: 'opaque',
			bgcolor: '#000000'
		}
	});
		
	if($('jukebox')){
		var track = new Element('div', {
			'class': 'trackInfoContainer'
		}).inject($(document.body));
		
		new Element('div', {
			'id': 'trackInfo',
			'class': 'trackInfo fckContent'
		}).inject(track).slide('hide');
		
		//mute link
		var muteLink = new Element('a', {
			'href': '#',
			'text': 'Pause the music',
			'styles': {
				'float': 'right',
				'display': 'block',
				'height': 1,
				'width': 1,
				'overflow': 'hidden',
				'text-indent': '-1000em'
			},
			'events': {
				'click': function(e){
					new Event(e).stop();
					pauseJukebox();
				}
			}
		}).inject($('jukebox'), 'before');
		
		var playLink = new Element('a', {
			'href': '#',
			'text': 'Play the music',
			'styles': {
				'float': 'right',
				'display': 'block',
				'height': 1,
				'width': 1,
				'overflow': 'hidden',
				'text-indent': '-1000em'
			},
			'events': {
				'click': function(e){
					new Event(e).stop();
					playJukebox();
				}
			}
		}).inject($('jukebox'), 'before');
	}
		
	//flash slides
	if($('flashSlides')){
		new Swiff('/_common/swf/homepageSlides.swf', {
			id: 'homepageSlides',
			container: 'flashSlides',
			version: 8,
			width: '100%',
			height: '100%',
			params: {
				wMode: 'opaque',
				bgcolor: '#000000'
			}
		});
	}
	
	//content nav
	if($$('.contentNav')[0]){
		var slider = $$('.contentNav .navItems')[0];
		slider.slide('show');
		var tab = $$('.contentNav .tabs li')[0];
		tab.setStyle('cursor', 'pointer').addClass('open');
		tab.addEvent('click', function(e){
			if(this.hasClass('open')){
				slider.slide('out');
			}else{
				slider.slide('in');
			}
			this.toggleClass('open');
		});
	}
	
	var txtResize = new textResizeDetector();
	
	new flashText('h2', {font: '/_common/swf/titles.swf', size: 24, resizer: txtResize});
	new flashText('h1', {font: '/_common/swf/titles.swf', size: 28, resizer: txtResize});
	
	
	
	if($('dropListArea')){
		var pro = $$('.requestProspectus')[0];
		var undergrad = pro.getElement('.undergrad');
		var postgrad = pro.getElement('.postgrad');
		var diplomas = pro.getElement('.diplomas');
		var startYear = pro.getElement('.startyear');
		var hear = pro.getElement('.hear');
		var hearAlt = pro.getElement('.hearAlt');
		
		
		var otherCountry = $$('.othercountry')[0];
		$('dropListCountry').addEvent('change', function(){
			if(this.value == ''){
				otherCountry.setStyle('display', 'block');
			}else{
				otherCountry.setStyle('display', 'none');
			}
		});
		$('dropListCountry').fireEvent('change');
		
		var otherHear = $$('.otherhear')[0];
		$('dropListHearAbout').addEvent('change', function(){
			if(this.value == ''){
				otherHear.setStyle('display', 'block');
			}else{
				otherHear.setStyle('display', 'none');
			}
		});
		
		$('dropListHearAboutAlt').addEvent('change', function(){
			if(this.value == ''){
				otherHear.setStyle('display', 'block');
			}else{
				otherHear.setStyle('display', 'none');
			}
		});
		
		function hideOptions(){
			undergrad.setStyle('display', 'none');
			postgrad.setStyle('display', 'none');
			diplomas.setStyle('display', 'none');
			startYear.setStyle('display', 'none');
			hearAlt.setStyle('display', 'none');
			hear.setStyle('display', 'block');
			$('dropListHearAbout').fireEvent('change');
		}
		hideOptions();
		
		$('dropListArea').addEvent('change', function(e){
			hideOptions();
			switch(this.value) {
				case '1':
					startYear.setStyle('display', 'block');
					break;
				case '2':
					undergrad.setStyle('display', 'block');
					startYear.setStyle('display', 'block');
					break;
				case '3':
					postgrad.setStyle('display', 'block');
					startYear.setStyle('display', 'block');
					break;
				case '4':
					diplomas.setStyle('display', 'block');
					startYear.setStyle('display', 'block');
					break;
				case '5':
					hear.setStyle('display', 'none');
					hearAlt.setStyle('display', 'block');
					$('dropListHearAboutAlt').fireEvent('change');
					break;
				case '6':
					startYear.setStyle('display', 'block');
					break;
				case '7':
					startYear.setStyle('display', 'block');
					break;
			}
			$('everyyear').fireEvent('click');
		});
		$('dropListArea').fireEvent('change');
		
		$('everyyear').addEvent('click', function(){
			if(this.checked){
				startYear.setStyle('display', 'none');
			}else{
				if($('dropListArea').get('value') != '5'){
					startYear.setStyle('display', 'block');
				}
			}
		});
		
	}
	
	
	new multiBox('mb', {
		overlay: new overlay(),
		openFromLink: false
	});
	
	$(document.body).setStyle('visibility', '');
});


function playerReady() {
	player = $('player');
	//player.addViewListener("PLAY","playerStatus");
	player.addModelListener("STATE", "stateChange");
}

function stateChange(obj){
	//console.log(obj.newstate);
	if(obj.newstate == 'PLAYING'){
		getJukeboxStatus();
		pauseJukebox();
	}
	if(obj.newstate == 'COMPLETED'){
		if(resumeJukebox){
			playJukebox();
		}
	}
}

function playerStatus(){
	if(player.getConfig().state != 'PLAYING'){
		pauseJukebox();
	}
}

function pauseJukebox(){
	if(jukeboxReady){
		clearTimeout(jukeboxTimer);
		Swiff.remote(jukebox.toElement(), 'pauseJukebox', 0); 
	}else{
		jukeboxTimer = setTimeout(pauseJukebox, 50);
	}
}

function playJukebox(){
	if(jukeboxReady){
		clearTimeout(jukeboxTimer);
		Swiff.remote(jukebox.toElement(), 'playJukebox', 0); 
	}else{
		jukeboxTimer = setTimeout(playJukebox, 50);
	}
}

function getJukeboxStatus(){
	if(jukeboxReady){
		clearTimeout(jukeboxTimer);
		if(Swiff.remote(jukebox.toElement(), 'jukeboxStatus', 0) == 'playing'){
			resumeJukebox = true;
		} 
	}else{
		jukeboxTimer = setTimeout(jukeboxStatus, 50);
	}
}

function jukeboxLoaded(){
	//console.log('jukebox ready')
	jukeboxReady = true;
}

function hideTrackInfo(){
	$('trackInfo').slide('out');
}

function showTrackInfo(id){
	new Request({
		url: '/musictrackinfo.axd?id=' + id,
		method: 'GET',
		onSuccess: function(text, xml){
			$('trackInfo').set('html', xml.getElementsByTagName('desc').item(0).firstChild.data);
			new Element('div', {'class':'close'}).inject($('trackInfo'), 'top').addEvent('click', function(){$('trackInfo').slide('out');});
			$('trackInfo').slide('in');
		}
	}).send({'id':id});
}