// JavaScript Document

/* BEGIN openPopup */
function open_radio(id, url, name, width, height) {
 new Ajax.Request($('baseURL').value, {method: 'get',parameters: '?s=radios&v=radioClick&id=' + id});
 window.open(url,name,'toolbar=0,status=0,resizeable=0,width='+width+',height='+height);
}

function open_tv(id, url, name, width, height) {
 new Ajax.Request($('baseURL').value, {method: 'get',parameters: '?s=tv&v=tvClick&id=' + id});
 window.open(url,name,'toolbar=0,status=0,resizeable=0,width='+width+',height='+height);
}
/* END openPopup */

/* BEGIN externaLinks : to use with <a rel="external">...</a> */
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
/* END externalLinks */

/* BEGIN bookmark */
function bookmark(url,title){
  if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
  	window.external.AddFavorite(url,title);
  } else { 
  	var message = '<big><b>Windows:</b></big><br /> Prima <b>CRTL+D</b> para adicionar aos favoritos.<br /><br />';
	message += '<big><b>Mac:</b></big><br /> <b>Command+D</b> para adicionar aos favoritos.';
  	loadAlertMessageBox('info',message);
  }

  new Ajax.Request($('baseURL').value, {method: 'get',parameters: '?s=statscontrol&type=bookmark'});
}
/* END bookmark */

/* BEGIN go to top */
function stopScroll() {
    	clearTimeout(scrolldelay);
}

function pageScroll() {
    	window.scrollBy(0,-50); // horizontal and vertical scroll increments
		if (window.pageYOffset==0) {
				scrolldelay = setTimeout('pageScroll()',1); // scrolls every 100 milliseconds
				document.getElementById('go-to-top').blur();
				stopScroll();
		} else {
			if (document.documentElement.scrollTop==0 && navigator.appName=='Microsoft Internet Explorer') {
				scrolldelay = setTimeout('pageScroll()',1); // scrolls every 100 milliseconds
				document.getElementById('go-to-top').blur();
				stopScroll();
			}else {
		    	scrolldelay = setTimeout('pageScroll()',1); // scrolls every 100 milliseconds
			}
		}
}
/* END go to top */

/* BEGIN search functions */
function searchBlur(id) {
	var element = document.getElementById(id);
	if (element.value.strip() == '')
		element.value = 'Pesquisar...';
	else
		element.value = element.value.strip();
	element.blur();
}

function searchFocus(id) {
	var element = document.getElementById(id);
	if (element.value=='Pesquisar...')
		element.value = '';
}

function searchClear(id) {
	$('searchInputField').value='';
	$(id).style.display='none';
	$('searchInputField').focus();
}

function searchClearOn(id) {
	var element = document.getElementById(id);
	if (element.value.strip()!='')
		$('searchClear').style.display = 'block';
	else
		$('searchClear').style.display = 'none';		
}

function searchOption(text,liId) {
	var li = $('sOption'+liId);
	var newSearchText = '';
/* STUPID IE */
/*	var allLi = document.getElementsByName('sOption');
	alert(allLi[0]);
	for (i=0; i<allLi.length; i++) {
		allLi[i].className = '';
	}
*/
	for (i=1; i<=6; i++)
		$('sOption'+i).className = '';
		
	li.className = 'selected';
	$('searchTypeText').innerHTML = text;
	switch (text) {
		case 'Artistas' : newSearchText = 'artists'; break;
		case 'Álbuns' : newSearchText = 'albums'; break;
		case 'Faixas' : newSearchText = 'tracks'; break;
		case 'Produtos' : newSearchText = 'products'; break;
		case 'Notícias' : newSearchText = 'news'; break;
		case 'Podcasts' : newSearchText = 'podcasts'; break;
		case 'QAutores' : newSearchText = 'authors'; break;
		case 'Faixas QAutores' : newSearchText = 'authorTracks'; break;
		case 'Passatempos' : newSearchText = 'passatempos'; break;
		case 'Eventos' : newSearchText = 'events'; break;
	}
	$('sType').value = newSearchText;
	Effect.BlindUp('searchOptionsWrapper',{duration:0.2})
}

function searchSubmit(type) {
	if ($('sType').value == '0') {
		loadAlertMessageBox('oops','Para pesquisar escolha o tipo de pesquisa.');
		return false;
	}
	else
	if ($('searchInputField').value.strip() == '' || $('searchInputField').value.strip()=='Pesquisar...') {
		loadAlertMessageBox('oops','Para pesquisar introduza um critério de pesquisa.');
		return false;
	}
	
	if (type==0)
		return true;
	else {
		alert('teste2');
		document.forms[0].submit();
	}
	//$('searchForm').submit();
}
/* END search functions */

/* BEGIN form functions */
function linkBlur(id) {
	var element = document.getElementById(id);
	if (element.value.indexOf('http://')==-1 && element.value!='')
		element.value = 'http://'+element.value;
}

function linkFocus(id) {
	var element = document.getElementById(id);
	if (element.value.indexOf('http://')!=-1)
		element.value = element.value.replace('http://','');
}

function timeBlur(id) {
	var element = document.getElementById(id);
	if (element.value=='')
		element.value = '00';
	if (element.value.length==1)
		element.value = '0'+element.value;
}

function timeFocus(id) {
	var element = document.getElementById(id);
	if (parseInt(element.value)==0)
		element.value = '';
}

function priceBlur(id) {
	var element = document.getElementById(id);
	if (element.value=='')
		element.value = '0';
}

function priceFocus(id) {
	var element = document.getElementById(id);
	if (parseInt(element.value)==0)
		element.value = '';
}

function priceDecimalBlur(id) {
	var element = document.getElementById(id);
	if (element.value=='')
		element.value = '00';
	if (element.value.length==1)
		element.value = '0'+element.value;
}

function priceDecimalFocus(id) {
	var element = document.getElementById(id);
	if (parseInt(element.value)==0)
		element.value = '';
}

function onlyNumbers(e) {
	var key;
	var keychar;
	
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	
	// control keys
	if ((key==null) || (key==0) || (key==8) ||
		(key==9) || (key==13) || (key==27) )
	   return true;
	
	// numbers
	else if (("0123456789").indexOf(keychar) > -1)
	   return true;
	
	else
	   return false;
}

function notSpaces(e) {
	var key;
	var keychar;
	
	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	
	// control keys
	if ((key==null) || (key==0) || (key==8) ||
		(key==9) || (key==13) || (key==27) )
	   return true;
	
	// numbers
	else if (!((" ").indexOf(keychar) > -1))
	   return true;
	
	else
	   return false;
}

function textCharsLimit(textId,charsLimit,spanId) {
	var span = document.getElementById(spanId);
	var textarea = document.getElementById(textId);
	if (textarea.value.length > charsLimit) 
		textarea.value = textarea.value.substring(0, charsLimit);
	else
		span.innerHTML = charsLimit - textarea.value.length;
}

function inputBlur(elem) {
	elem.style.backgroundColor = "#FFF";
	elem.style.color = "#7B7979";
	elem.style.borderColor = "#CCC";
}

function inputFocus(elem) {
	elem.style.backgroundColor = "#E7FAB2";
	elem.style.color = "#709A00";
	elem.style.borderColor = "#AEEE00";
}

function inputTextBlur(id,text) {
	var element = document.getElementById(id);
	if (element.value.strip() == '')
		element.value = text;
	else
		element.value = element.value.strip();
	element.blur();
}

function inputTextFocus(id,text) {
	var element = document.getElementById(id);
	if (element.value==text)
		element.value = '';
}
/* END form functions */

/* BEGIN other functions */
function htmlspecialcharsToString(str) {
	while (str.indexOf('&amp;')!=-1)
		str = str.replace('&amp;','&');
	while (str.indexOf('&quot;')!=-1)
		str = str.replace('&quot;','"');
	while (str.indexOf('&#039;')!=-1)
		str = str.replace('&#039;',"'");
	while (str.indexOf('&lt;')!=-1)
		str = str.replace('&lt;','<');
	while (str.indexOf('&gt;')!=-1)
		str = str.replace('&gt;','>');
	return str;
}
/* END other functions */

/* BEGIN polls functions */
function pollOptionOver(optValue) {
	var pollOptionInput = document.getElementById('pollOption');
	var pollOption = parseInt(pollOptionInput.value,10);

	if (pollOption!=optValue)
		document.getElementById('imgPollOption'+optValue).src = 'img/layout/radioBTHover.gif';
}

function pollOptionOut(optValue) {
	var pollOptionInput = document.getElementById('pollOption');
	var pollOption = parseInt(pollOptionInput.value,10);

	if (pollOption!=optValue)
		document.getElementById('imgPollOption'+optValue).src = 'img/layout/radioBTOff.gif';
}

function pollOptionClick(optValue) {
	var pollOptionInput = document.getElementById('pollOption');
	var pollOption = parseInt(pollOptionInput.value,10);
	
	if (pollOption!=optValue) {
		document.getElementById('imgPollOption'+optValue).src = 'img/layout/radioBTOn.gif';
		if (pollOption!=0) document.getElementById('imgPollOption'+pollOption).src = 'img/layout/radioBTOff.gif';
		pollOptionInput.value = optValue;		
	}
}

function vote() {
	var pollOptionInput = $('pollOption');
	var pollOption = parseInt(pollOptionInput.value,10);
	var idPollOption = parseInt($('pollOption'+pollOption).value,10);

	if (!overacting) {
		var params = '&pollOption=' + encodeURIComponent(idPollOption);
		overacting = true;
		loadAlertLoadingBox();
	
		new Ajax.Request($('baseURL').value+'?s=polls&v=vote', {
						 method: 'post',
						 parameters : params,
						 onSuccess: function(transport) {
								var response = transport.responseText;
								overacting = false;
								closeAlertLoadingBox();								
								if (response=='error') {
									loadAlertMessageBox('error','Já respondeu a este inquérito.');
								}else{
									$('pollResultsList').innerHTML = response;
									loadAlertMessageBox('success','Obrigado pelo seu voto.');
								}
								pollShowVotes(0);
						}
		});
	}else{
		loadAlertOveractingBox();
	}
}

function getPollResults(poll) {
	if (!overacting) {
		var params = '&poll=' + encodeURIComponent(poll);
		overacting = true;
		loadAlertLoadingBox();
	
		new Ajax.Request($('baseURL').value+'?s=polls&v=getPollsResult', {
						 method: 'post',
						 parameters : params,
						 onSuccess: function(transport) {
								var response = transport.responseText;
								overacting = false;
								closeAlertLoadingBox();								
								if (response=='error') {

								}else{
									$('resultsList').innerHTML = response;
									$('lastPollTitle').innerHTML = $('poll'+poll).innerHTML;
									$('pollsView').style.display = 'none';
									$('activePollResults').style.display = 'none';
									$('lastPolls').style.display = 'none';
									$('lastPollResults').style.display = 'block';
								}
						}
		});
	}else{
		loadAlertOveractingBox();
	}
}

function pollShowVotes(id) {
	if (id==0) {
		$('pollsView').style.display = 'none';
		$('activePollResults').style.display = 'block';
	}else{
	}
}

function showPolls(id) {
	if (id==0) {
		$('activePollResults').style.display = 'none';
		$('lastPolls').style.display = 'none';
		$('lastPollResults').style.display = 'none';
		$('pollsView').style.display = 'block';
	}else
	if (id==1) {
		$('lastPollResults').style.display = 'none';
		$('pollsView').style.display = 'none';
		$('activePollResults').style.display = 'none';
		$('lastPolls').style.display = 'block';
	}
}
/* END polls functions */

/* BEGIN starsVote */
function starsVoteOver(n) {
	var value = n;
	if (value==0) $('star0').className = 'starCrossOver';

	for (var i=1; i<=5; i++) {
		if (i <= n)
			$('star'+i).className = 'starFull';
		else
			$('star'+i).className = 'starEmpty';
	}
}

function starsVoteOut() {
	var value = parseInt($('starsVoteValue').value);
	$('star0').className = 'starCross';
	for (var i=1; i<=5; i++) {
		if (i <= value)
			$('star'+i).className = 'starFull';
		else
			$('star'+i).className = 'starEmpty';
	}
}

function starsVoteClick(n) {
	if (!overacting) {
		var url = $('baseURL').value+'?s=vote';
		var params = '';
		params += '&v=' + encodeURIComponent($('starsVoteType').value);
		params += '&i=' + encodeURIComponent($('starsVoteItem').value);
		params += '&vt=' + encodeURIComponent(n);
	
		overacting = true;
		loadAlertLoadingBox();
		
		new Ajax.Request(url, {
						 method:'get',
						 parameters: params,
						 onSuccess: function(transport) {
								var response = transport.responseText;
								
								overacting = false;
								closeAlertLoadingBox();

								if (response=='error') {
									loadAlertMessageBox('oops','Precisa de ser um <b>utilizador registado</b> e <b>entrar</b> para deixar o seu voto.');							
								}else{
									if (n==0)
										loadAlertMessageBox('success','O seu voto foi <b>removido</b> com sucesso.');								
									else
										loadAlertMessageBox('success','O seu voto foi <b>adicionado</b> com sucesso.');
	
									$('starsVoteValue').value = n;
									starsVoteOut();
									if (response != ' ') {
										$('showStars').innerHTML = response;
									}
								}
						}
		});
	}else{
		loadAlertOveractingBox();
	}
}
/* END starsVote */