/**
 * (C) Copyright 2007 Rits. All rights reserved.
 * Use is subject to license terms.
 */

if(typeof Rits == "undefined") {
	var Rits = {};
}

/**
 * Site
 *
 * @category   Rits
 * @package    Rits
 * @copyright  Copyright (c) 2007 Rits Comunicacao & Teconologia. (http://www.rits.com.br) 
 */
Rits.Site = {

	/**
	 * Pool submit
	 */
	poolSubmit: function(element, form, id) {		
		
		var handleSuccess = function(o) {
			if(o.responseText != 'false') {
				$(element).innerHTML = o.responseText;
				Rits.Util.setCookie('pool_vote_'+id, 'true', 30);
			} else {
				alert('Não foi possível votar na enquete. Verifique seu e-mail e senha.');				
			}
			Rits.Ajax.hideOverlay(element);			
		}
		var handleFailure = function(o) {			
			alert('Não foi possível votar na enquete. Por favor tente novamente.');			
			Rits.Ajax.hideOverlay(element);
		}
		var callback = {
			success: handleSuccess,
			failure: handleFailure
		}
		
		form = $(form);
		var answer = null;
		for(var i=0; i<form.elements['ANSWER[]'].length; i++) {
			if(form.elements['ANSWER[]'][i].checked) {
				answer = form.elements['ANSWER[]'][i].value;
			}
		}
		
		if(answer == null) {
			alert('Por favor escolha uma opção.');
			return;
		}		
		
		Rits.Ajax.displayOverlay(element);
		var request = YAHOO.util.Connect.asyncRequest('GET', '/admin/pool/vote/?POO_ID='+id+'&ANSWER='+answer, callback);
	},
	
	initHightlight: function() {
		var barra = $('highlightBarraBackground');		
		$D.setStyle(barra, 'opacity', '0.8');

		
		for(var i=0; i<Rits.Site.highlightTotal; i++) {
			var image = $('highlightImg'+i);			
			var img = new Image();
			img.src = image.src;		
		}
		
		setTimeout('Rits.Site.rotateHighlight()', 6000);
	},
	
	highlightTotal: 0,
	highlightBusy: 0,
	highlightClicked: 0,
	highlightActual: 0,
	
	highlightRotate: 1,
	
	rotateHighlight: function() {
		if(Rits.Site.highlightRotate) {
			var next;
			if(Rits.Site.highlightActual < (Rits.Site.highlightTotal-1)) {
				next = Rits.Site.highlightActual + 1;
			} else {
				next = 0;				
			}
			var image = $('highlightImg'+next);
			if(image.complete) {
				Rits.Site.nextHighlight();
				setTimeout('Rits.Site.rotateHighlight()', 6000);
			} else {
				setTimeout('Rits.Site.rotateHighlight()', 2000);
			}			
		}
	},
	
	clickHighlight: function(type) {
		Rits.Site.highlightRotate = 0;		
		if(type == '+') {
			Rits.Site.nextHighlight();
		} else if(type == '-') {
			Rits.Site.previousHighlight();
		}
	},
	
	nextHighlight: function() {		
		if(Rits.Site.highlightBusy == 0) {
			Rits.Site.highlightBusy = 1;
			if(Rits.Site.highlightActual < (Rits.Site.highlightTotal-1)) {
				Rits.Site.highlightActual++;
			} else {
				Rits.Site.highlightActual = 0;
			}
			Rits.Site.changeHighlight();
		}
	},
	
	previousHighlight: function() {		
		if(Rits.Site.highlightBusy == 0) {
			Rits.Site.highlightBusy = 1;
			if(Rits.Site.highlightActual > 0 ) {
				Rits.Site.highlightActual--;
			} else {
				Rits.Site.highlightActual = Rits.Site.highlightTotal - 1;
			}
			Rits.Site.changeHighlight();
		}
	},
	
	changeHighlight: function() {
		
		var imgActual = $('highlightImg');
		
		var anim = new YAHOO.util.Anim(imgActual, { opacity: { from : 1, to: 0} }, 1, YAHOO.util.Easing.easeIn);
		anim.onComplete.subscribe(function() {			
			var imgActual = $('highlightImg');
			var imgLinkActual = $('highlightImgLink');
			var imgNext = $('highlightImg'+Rits.Site.highlightActual);
			imgActual.src = imgNext.src;
			
			var lnkActual = $('highlightLink');
			var lnkNext = $('highlightLink'+Rits.Site.highlightActual);						
			
			lnkActual.innerHTML = lnkNext.innerHTML;
			lnkActual.href = lnkNext.href;
			imgLinkActual.href = lnkNext.href;
			
			var anim2 = new YAHOO.util.Anim(imgActual, { opacity: { from : 0, to: 1} }, 1, YAHOO.util.Easing.easeOut);
			anim2.onComplete.subscribe(function() {
				Rits.Site.highlightBusy = 0;
			});
			anim2.animate();
		});
		
		anim.animate();
		
	},
	
	clearText: function(e, txt) {
		if(e.value == txt) {
			e.value = '';
		}
	},
	
	recoverText: function(e, txt) {
		if(e.value.length == 0) {
			e.value = txt;
		}
	},
	
	bannerGrow: function(type) {		
		if(type == 'on') {
			$D.setStyle($('bannerGrow'), 'height', '390px');
		} else {
			$D.setStyle($('bannerGrow'), 'height', '54px');
		}
	},
	
	superbannerGrow: function(type) {		
		if(type == 'on') {
			$D.setStyle($('superbannerGrow'), 'height', '270px');
		} else {
			$D.setStyle($('superbannerGrow'), 'height', '90px');
		}
	},
	
	saveCommentary: function(form, layer) {
		
		var url = form.action;
		
		var name = $('COM_NAME');
		
		var email = $('COM_EMAIL');
		
		var description = $('COM_DESCRIPTION');
		
		 
		if(Rits.Validate.isEmpty(name.value)) {
			alert('Por favor preencha seu nome.');
			return false;
		}
		if(!Rits.Validate.isEmpty(email.value) && !Rits.Validate.isEmail(email.value)) {
			alert('O e-mail informado não está no formato correto.');
			return false;
		}
		
		if(Rits.Validate.isEmpty(description.value)) {
			alert('Por favor preencha sua mensagem.');
			return false;
		}
		
		var uploadHandler = {
			upload: function(o) {				
				Rits.Ajax.hideOverlay(layer);
				if(o.responseText == 'true') {				
					alert('Sua mensagem foi enviada com sucesso! Ela será verificada e liberada dentro de instantes.');
					name = $('COM_NAME');
					email = $('COM_EMAIL');
					description = $('COM_DESCRIPTION');
					
					name.value = '';
					email.value = '';
					description.value = '';
					
				} else {
					alert('Não foi possível enviar a mensagem. Por favor tente novamente.');
				}
			}
		};
		Rits.Ajax.displayOverlay(layer);
		Rits.Ajax.submitForm(form, url, uploadHandler);		
	},
	
	playVideo: function() {
		$D.setStyle('layVideoFlash', 'display', 'none');	
		$D.setStyle('layVideoMedia', 'display', '');	
	},
	
	appendElement: function(father, element, limit) {
		var f = $(father);
		var first = $(element+'1');
		var e;
		var div = document.createElement('div');		
		
		var i=1;		
		while(1) {
			if(!$(element+i)){
				break;
			}
			i++;
		}		
		
		if(i > limit) {
			return;
		}
		div.id = element+i;
		div.innerHTML = first.innerHTML.replace(/_1/g, '_'+i);		
		f.appendChild(div);		
	},
	
	sendCommentary: function(layer, form) {
		
		var uploadHandler = {
			upload: function(o) {				
				Rits.Ajax.hideOverlay(layer);
				if(o.responseText == 'true') {					
					alert('Sua mensagem foi enviada para aprovação! Em breve estará no ar.');
					form.COM_NAME.value = '';
					form.COM_EMAIL.value = '';
					form.COM_DESCRIPTION.value = '';
				} else {
					alert('Não foi possível enviar sua mensagem. Por favor tente novamente.');
				} 
			}
		};
		
		var name = form.COM_NAME.value;
		var message = form.COM_DESCRIPTION.value;
				
		if(!(name.length && name != 'Nome:' && message.length && message != 'Mensagem:')) {
			alert('Por favor preencha corretamente o formulário');			
		} else {
		
			var url = '/commentary/save/';
			
			Rits.Ajax.displayOverlay(layer);
			Rits.Ajax.submitForm(form, url, uploadHandler);
		}
		
	},
	
	/**
	 * Search Music submit
	 */
	searchMusicSubmit: function(element, form) {		
		
		var handleSuccess = function(o) {
			if(o.responseText != 'false') {
				$(element).innerHTML = o.responseText;				
			} else {
				alert('Não foi possível fazer a busca no momento.');				
			}
			Rits.Ajax.hideOverlay(element);			
		}
		var handleFailure = function(o) {			
			alert('Não foi possível fazer a busca no momento. Por favor tente novamente.');			
			Rits.Ajax.hideOverlay(element);
		}
		var callback = {
			success: handleSuccess,
			failure: handleFailure
		}
		
		form = $(form);
		var busca = null;
		
		busca = form.SEARCH.value;
		
		if(busca == null) {
			alert('Por favor preencha o campo para a busca.');
			return;
		}		
		
		Rits.Ajax.displayOverlay(element);
		var request = YAHOO.util.Connect.asyncRequest('GET', '/radiocarnatal/music/?search='+escape(busca), callback);
	},
	
	/**
	 * Add Playlist submit
	 */
	addMusicSubmit: function(element, item) {		
		
		var handleSuccess = function(o) {
			if(o.responseText != 'false') {
				$(element).innerHTML = o.responseText;
				$('radio').updatePlaylist();
			} else {
				alert('A música já está na lista.');
			}
			Rits.Ajax.hideOverlay(element);			
		}
		var handleFailure = function(o) {			
			alert('Não foi possível adicionar o item. Por favor tente novamente.');			
			Rits.Ajax.hideOverlay(element);
		}
		var callback = {
			success: handleSuccess,
			failure: handleFailure
		}				
		
		Rits.Ajax.displayOverlay(element);
		var request = YAHOO.util.Connect.asyncRequest('GET', '/radiocarnatal/playlist/add/?musicadd='+item, callback);
	},
	
	/**
	 * remove Playlist submit
	 */
	removeMusicSubmit: function(element, item) {		
		
		var handleSuccess = function(o) {
			if(o.responseText != 'false') {
				$(element).innerHTML = o.responseText;	
				$('radio').updatePlaylist();			
			} 
			Rits.Ajax.hideOverlay(element);			
		}
		var handleFailure = function(o) {			
			alert('Não foi possível remover o item. Por favor tente novamente.');			
			Rits.Ajax.hideOverlay(element);
		}
		var callback = {
			success: handleSuccess,
			failure: handleFailure
		}
		
		Rits.Ajax.displayOverlay(element);
		var request = YAHOO.util.Connect.asyncRequest('GET', '/radiocarnatal/playlist/remove/?musicremove='+item, callback);
	},
	
	
	/**
	 * play Music
	 */
	playMusic: function(element, item) {		
		
		var handleSuccess = function(o) {
			if(o.responseText != 'false') {
				$(element).innerHTML = o.responseText;		
				$('radio').updatePlaylistAndPlay();		
			} 
			Rits.Ajax.hideOverlay(element);			
		}
		var handleFailure = function(o) {			
			alert('Não foi possível tocar a música. Por favor tente novamente.');			
			Rits.Ajax.hideOverlay(element);
		}
		var callback = {
			success: handleSuccess,
			failure: handleFailure
		}
		
		Rits.Ajax.displayOverlay(element);
		var request = YAHOO.util.Connect.asyncRequest('GET', '/radiocarnatal/play/?id='+item, callback);
	},
	
	/**
	 * first Music
	 */
	firstMusic: function(item) {		
		$('radio').playMusic(item);		
	}
	
}
