/**
 * Global javascript functions and actions that are used and performed on
 * every page on the site
 **/

var KroneGlobal = new Class({
	/**
	* @constructor
	*/
	initialize: function() {
		this.checkBrowserWidth();
		this.initVoting();

		this.initBildLinkBox();

		this.updateScrollBox();
		this.changeScrollBox();

		this.updateSongBox();
		this.changeSongBox();
	},
	
	checkBrowserWidth: function() {
		//console.log('screen:'+screen.width+' browser:'+size.x);
		if (screen.width && screen.width<920) {
			//this.setNarrow();
		} else {
			this.setWide();
		}
	},

	setWide: function() {
		var centerpad = '1.8em';
		elContainer = $('alles');
		elContainer.setStyle('width','98.4em');
		$('zentrierer').setStyle('width','94.2em');
		$('zentrierer').setStyle('padding-left',centerpad);
		$('zentrierer').setStyle('padding-right',centerpad);
		elContainer.getElement('div.top').setStyle('width','94.2em');
		$('footer').setStyle('width','94.2em');
		elContainer.getElements('div.box_content').addClass('box_content_wide');
		elContainer.getElements('div.box_content_left').addClass('box_content_left_wide');
		elContainer.getElements('div.box_content_right').addClass('box_content_right_wide');
		elContainer.getElements('div.navi').addClass('navi_wide');
		elContainer.getElements('div.countdown').addClass('countdown_wide');
	},

	setNarrow: function() {
		elContainer = $('alles');
		elContainer.setStyle('width','76.5em');
		$('zentrierer').setStyle('width','76.5em');
		$('zentrierer').setStyle('padding-left','0');
		$('zentrierer').setStyle('padding-right','0');
		elContainer.getElement('div.top').setStyle('width','76.5em');
		$('footer').setStyle('width','72.5em');
		elContainer.getElements('div.box_content').removeClass('box_content_wide');
		elContainer.getElements('div.box_content_left').removeClass('box_content_left_wide');
		elContainer.getElements('div.box_content_right').removeClass('box_content_right_wide');
		elContainer.getElements('div.navi').removeClass('navi_wide');
		elContainer.getElements('div.countdown').removeClass('countdown_wide');
	},
	
	initVoting: function() {
		var elModules = $$('.voting_block');
		if (!elModules || elModules.length<=0) {
			return;
		}
		
		for (i = 0; i < elModules.length; i++) {
			elModule = elModules[i];
			elHead = elModule.getElement('.collapsable-header');
			elContent = elModule.getElement('.collapsable-content');
			
			// oeffnen.schliessen link in head
			elHeadContainer = elHead.getElement('div.head');
			elAnchor = new Element('a', {
				'href': '#',
				'title': 'Dieses Modul aufklappen',
				'class': 'headlink',
				'html': '',
				'events': {
					'click': this.toggleCollapseSendungenModule.bindWithEvent(this)
				}
			});
			elAnchor.wraps(elHeadContainer);
			//alert(elContent.getElements('input').getProperty('checked'));

			elRadio = elContent.getElements('input');
			for (j = 0; j < elRadio.length; j++) {
				if (elRadio[j].getProperty('checked') == true) {
					//alert('checked'+elRadio[j].getProperty('checked')+' - '+elRadio[j].getProperty('value'));
					var elCollapsable = elRadio[j].getParent().getParent('.voting_block');
					var elContent = elCollapsable.getElement('.collapsable-content');
					var elHead = elCollapsable.getElement('.collapsable-header');
					var elClickedLine = elRadio[j].getParent('.line');
					elHead.addClass('checked');
					elContent.getElements('div.line').removeClass('act');
					elClickedLine.addClass('act');
				}
			}

			// input button function
			elInput = elContent.getElements('input').addEvent('click', function(){
				var reqAdd = new Request({
					'url': '/intern/remember.jsp',
					'method': 'get'
				}).send(this.get('name')+"="+this.get('value'));
				var elCollapsable = this.getParent().getParent('.voting_block');
				var elContent = elCollapsable.getElement('.collapsable-content');
				var elHead = elCollapsable.getElement('.collapsable-header');
				var elClickedLine = this.getParent('.line');
				elHead.addClass('checked');
				elContent.getElements('div.line').removeClass('act');
				elClickedLine.addClass('act');
			});

			elContent.getElements('div.voting_player').addClass('inv');
			var myFx = new Fx.Slide(elContent);
			myFx.hide();
		}
	},

	toggleCollapseSendungenModule: function(evt) {
		evt.stop(); // Prevents default action of the event
		var el = $(evt.target); // evt.target is not extended by default
		var elCollapsable = el.getParent().getParent('.voting_block');
		var elContent = elCollapsable.getElement('.collapsable-content');
		var elHead = elCollapsable.getElement('.collapsable-header');
		var elAnchor = elHead.getElement('a');

		var myFx = new Fx.Slide(elContent);
		
		if (elCollapsable.hasClass('collapsed')) {
			elHead.removeClass('act');
			elAnchor.set('title', 'Modul aufklappen');
			elCollapsable.removeClass('collapsed');
			elContent.getElements('div.voting_player').addClass('inv');
			myFx.slideOut();
		} else {
			elHead.addClass('act');
			elAnchor.set('title', 'Modul zuklappen');
			elCollapsable.addClass('collapsed');
			elContent.getElements('div.voting_player').removeClass('inv');
			myFx.slideIn();
		}
	},

	/*	//SCROLLBOX	*/

	updateScrollBox: function(){
		
		var elContainer = $('alles');
		var elScrollbox = elContainer.getElements('div.scrollbox');

		if(elScrollbox.length != 0) {
			var elBox = elScrollbox.getElement('div.line');
			var elBoxes = elBox.getAllNext();
			for (i = 0; i < elBoxes.length; i++) {
				var iBox = elBoxes[i];
				iBox.removeClass('act');
			}
		}
	},

	changeScrollBox: function(){
		
		var elContainer = $('alles');
		var elScrollbox = elContainer.getElements('div.scrollbox');
		var elBoxes = elScrollbox.getElements('div.line');

		for (i = 0; i < elBoxes.length; i++) {
			elBoxes[i].addEvents({
				'mouseover': function(){
					elScrollbox.getFirst('div.line').removeClass('act');
					this.addClass('act');
				},
				'mouseout': function(){
					this.removeClass('act');
					elScrollbox.getFirst('div.line').addClass('act');
				}
			});
		}
	},


	/*	//SONG BOX	*/

	updateSongBox: function(){
		
		var elContainer = $('alles');
		var elSongbox = elContainer.getElements('div.song_box');

		if(elSongbox.length != 0) {
			var elSong = elSongbox.getElement('div.line');
			elSong.addClass('akt');
			var elSongs = elSong.getAllNext();
			for (i = 0; i < elSongs.length; i++) {
				var iSong = elSongs[i];
				iSong.removeClass('akt');
				iSong.set('title', 'Player öffnen');
			}
		}
	},

	changeSongBox: function(){
		
		var elContainer = $('alles');
		var elSongbox = elContainer.getElements('div.song_box');

		var elSongs = elSongbox.getElements('div.line');

		for (i = 0; i < elSongs.length; i++) {
			elSongs[i].addEvents({
				'click': function(){
					this.getParent().getChildren().removeClass('akt');
					this.getParent().getChildren().set('title', 'Player öffnen');
					this.addClass('akt');
					this.erase('title');
					return false;
				}
			});
		}
	},

	initBildLinkBox: function(){
	
		var elContainer = $('alles');
		var elBildLink = elContainer.getElement('div.bild_box');
		if (elBildLink != null) {
			var elBilder = elBildLink.getElements('img');
		}
		if (!elBilder || elBilder.length<=0) {
			return;
		}
		var elLinks = elBildLink.getParent().getElements('div.link_box a');

		for (i = 0; i < elBilder.length; i++) {
			elBilder[i].addEvents({
				'mouseover': function(){
					this.addClass('lbhighbild');
					var num = this.getProperty('id').substring(6,7);
					elContainer.getElementById('lblink'+num).addClass('lbhighlink');
				},
				'mouseout': function(){
					this.removeClass('lbhighbild');
					var num = this.getProperty('id').substring(6,7);
					elContainer.getElementById('lblink'+num).removeClass('lbhighlink');
				}
			});
		}
		for (i = 0; i < elLinks.length; i++) {
			elLink = elLinks[i];
			elLink.addEvents({
				'mouseover': function(){
					this.addClass('lbhighlink');
					var num = this.getProperty('id').substring(6,7);
					elContainer.getElementById('lbbild'+num).addClass('lbhighbild');
				},
				'mouseout': function(){
					this.removeClass('lbhighlink');
					var num = this.getProperty('id').substring(6,7);
					elContainer.getElementById('lbbild'+num).removeClass('lbhighbild');
				}
			});
		}

	},

	resize: function(klein,gross){
		var elBilder = $('alles').getElements('div.lupenbild');
		for (i = 0; i < elBilder.length; i++) {
			if (elBilder[i].getElement('img').get('src') == klein || elBilder[i].getElement('img').get('src') == gross) {
				var elLupenBlock= elBilder[i];
			}
		}
		var elBild = elLupenBlock.getElement('img');
		
		if (elBild.getProperty('src') == klein) {
			elLupenBlock.setStyle('width', 550);
			elLupenBlock.getChildren('p').setStyle('width', 520);
			var twBild = new Fx.Morph(elBild, {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
			twBild.start({
				'height': 315,
				'width': 550
			});
			elBild.set('src', gross);
			elLupenBlock.getElement('div.lupe img').set('src', '/img/icons/lupe_minus.gif');
		} else {
			elLupenBlock.setStyle('width', 240);
			elLupenBlock.getChildren('p').setStyle('width', 190);
			var twBild = new Fx.Morph(elBild, {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
			twBild.start({
				'height': 135,
				'width': 240
			});
			elBild.set('src', klein);
			elLupenBlock.getElement('div.lupe img').set('src', '/img/icons/lupe_plus.gif');
		}
		return false;

	}

});

window.addEvent('domready', function() {
	this.KroneGlobal = new KroneGlobal();
});


function validateVote() {
	valid = true;
	if ( document.votingform.answer.value == "") {
		alert("Bitte beantworte die Anti-Spam-Frage.");
		valid = false;
	}
	return valid;
}

function validateWin() {
	valid = true;
	if (document.votingform.email.value == "") {
		alert("Bitte gib deine E-Mailadresse an.");
		valid = false;
	}
	return valid;
}

function popQuiz(ziel) {
	quizFenster = window.open(ziel, 'quiz', 'width=600,height=540,toolbar=no,location=no,menubar=no');
	quizFenster.focus();
	return false;
}

function popWebradio(ziel) {
	if (ziel == null) {
		ziel="http://www.einslive.de/multimedia/livestream_popup/player_stream_select.html";
	}
	webradioFenster = window.open(ziel, 'quiz', 'width=546,height=206,toolbar=no,location=no,menubar=no');
	webradioFenster.focus();
	return false;
}

function addZero(time) {
	if (time<10) {
		time = "0"+time;
	}
	return time;
}

function clock() {
	var date = new Date("december,03,2009");
	var description = "1Live Krone";
	var now = new Date();
	var diff = date.getTime() - now.getTime();
	var days = Math.floor(diff / (1000 * 60 * 60 * 24));

	var hours = Math.floor(((diff-days) / (1000 * 60 * 60 ))-(days*24)); 
	var minutes = Math.floor(((diff-days-hours) / (1000 * 60 ))-(days*24*60+hours*60));
	var seconds = Math.floor(((diff-days-hours-minutes) / (1000 ))-(days*24*60*60+hours*60*60+minutes*60));
	
	// gibts die krone um 20 uhr? dann hier mal 4 stunden abziehen, ACHTUNG, wer den wert veraendert, muss auch die 20- in #86 aendern!
	hours = hours-4;

	if(hours<0){
		var elContainer = $('alles');
		var elCountdown = elContainer.getElements('div.countdown');
		elCountdown.setStyle('display','none');
		hours=hours+24;
		var countdown = hours+":"+addZero(minutes)+":"+addZero(seconds);
	}else{
		var countdown = hours+":"+addZero(minutes)+":"+addZero(seconds);
	}
	/*var countdown = "00:00:00";*/	
	$('clockdown').set('html', countdown);
	window.setTimeout("clock()", 1000);

}
