/**********************************************************************/
/*********************** FUNÇÕES DOS CADASTROS ************************/
/**********************************************************************/

// FUNÇÃO PARA HABILITAÇÃO DE NOVO REGISTRO NOS CADASTROS
function novo_registro(pagina){
  if (document.getElementById('cb_cadastro').value == "NOVO")
  {   
	this.location.href = pagina+".php";

  } 
  else if (document.getElementById('cb_cadastro').value != "")
  {
	this.location.href = pagina+".php?CODIGO="+document.getElementById('cb_cadastro').value;
		
  }
}

// VALIDAÇÕES PARA DELETAR PARCEIRO
function deleta_parceiro(cod_parc, nome_banner) {
	
  resposta = confirm ("Tem certeza que deseja excluir esse parceiro?!?");

  if (resposta) {
    location.href = "parceiros.php?XPARCEIRO=" + cod_parc + "&XBANNER=" + nome_banner;
  } 
  
}

// VALIDAÇÕES PARA CADASTRO DE NOVO PARCEIRO 
function valida_novo_parceiro() {
		
	nome = document.getElementById('tx_nome').value;
	if ((nome == ' ') || (nome == ''))
	{
	  alert ("O campo NOME não foi preenchido.");
	  return false;
	}	
	
	url = document.getElementById('tx_url').value;
	if ((url == ' ') || (url == ''))
	{
	  alert ("O campo URL não foi preenchido.");
	  return false;
	}	

	banner = document.getElementById('tx_banner_oculto').value;	
	arq_banner = document.getElementById('arq_banner').value;
	if ((banner == ' ') || (banner == ''))
	{
	  if ((arq_banner == ' ') || (arq_banner == ''))
	  {
	    alert ("Selecione um BANNER para cadastro.");
	    return false;
	  }
	}	

	document.form_cadastro.submit();
	
}

// VALIDAÇÕES PARA CADASTRO DE NOVO ARTISTA 
function valida_novo_artista() {
	
	descricao = document.getElementById('tx_descricao').value;
	if ((descricao == ' ') || (descricao == ''))
	{
	  alert ("O campo NOME não foi preenchido.");
	  return false;
	}	
	
	document.form_cadastro.submit();
	
}

// VALIDAÇÕES PARA DELETAR ARTISTA
function deleta_artista(cod_artista) {
	
  resposta = confirm ("Tem certeza que deseja excluir esse artista e todos os álbuns do mesmo?!?");

  if (resposta) {
    location.href = "artistas.php?XARTISTA=" + cod_artista;
  } 
  
}
// VALIDAÇÕES PARA DELETAR ALBUM NO CADASTRO DE ARTISTA
function deleta_album_artista(cod_album) {
	
  resposta = confirm ("Tem certeza que deseja excluir este álbum?!?");

  if (resposta) {
    location.href = "artistas.php?XALBUM=" + cod_album;
  } 
  
}

// VALIDAÇÕES PARA DELETAR BANNER
function deleta_banner(cod_banner) {
	
  resposta = confirm ("Tem certeza que deseja excluir esse banner?!?");

  if (resposta) {
    location.href = "banners.php?XBANNER=" + cod_banner;
  } 
  
}

// VALIDAÇÕES PARA CADASTRO DE NOVO BANNER
function valida_novo_banner() {
	
	nome = document.getElementById('tx_nome').value;
	if ((nome == ' ') || (nome == ''))
	{
	  alert ("O campo NOME não foi preenchido.");
	  return false;
	}	
	
	url = document.getElementById('tx_url').value;
	if ((url == ' ') || (url == ''))
	{
	  alert ("O campo URL não foi preenchido.");
	  return false;
	}
	
	data_exp = document.getElementById('tx_data_exp').value;
	if ((data_exp == ' ') || (data_exp == ''))
	{
	  alert ("O campo DATA EXPIRAÇÃO não foi preenchido.");
	  return false;
	}		

	/*banner = document.getElementById('tx_banner_oculto').value;
	if ((banner == ' ') || (banner == ''))
	{
	  alert ("Selecione um BANNER para cadastro.");
	  return false;
	}*/	

	document.form_cadastro.submit();
	
}

// VALIDAÇÕES PARA CADASTRO DE NOVO BANNER
function valida_nova_enquete() {
	
	id = document.getElementById('tx_id').value;
	if ((id == ' ') || (id == ''))
	{
	  alert ("O campo ID não foi preenchido.");
	  return false;
	}	
	
	titulo = document.getElementById('tx_titulo').value;
	if ((titulo == ' ') || (titulo == ''))
	{
	  alert ("O campo TITULO não foi preenchido.");
	  return false;
	}
	
	id_opcao1 = document.getElementById('tx_id_opcao1').value;
	id_opcao2 = document.getElementById('tx_id_opcao2').value;
	id_opcao3 = document.getElementById('tx_id_opcao3').value;
	
	tx_opcao1 = document.getElementById('tx_tx_opcao1').value;
	tx_opcao2 = document.getElementById('tx_tx_opcao2').value;
	tx_opcao3 = document.getElementById('tx_tx_opcao3').value;

    if ( (id_opcao1 == '') || (id_opcao2 == '') || (id_opcao3 == '') || (tx_opcao1 == '') || (tx_opcao2 == '') || (tx_opcao3 == '') )
	{
	  alert ("Preencha o ID e RESPOSTA de pelo menos 3 opções.");
	  return false;
	}		

	document.form_cadastro.submit();
	
}

// VALIDAÇÕES PARA DELETAR REGISTRO SIMPLES
function deleta_registro(codigo, janela) {
	
  resposta = confirm ("Tem certeza que deseja excluir esse registro?!?");

  if (resposta) {
    location.href = janela+".php?XDELETA=" + codigo;
  } 
  
}


// FUNCOES DO CADASTRO DE COMENTARIOS
function CarregaAlbuns( ComboValor, div_destino )
{ 
  // Nova requisição AJAX do prototype
  new Ajax.Request('../ajax/get_combo_albuns.php?CODIGO=' + ComboValor.value,
  {
    method     : 'get',
    onCreate:function()
    {
      $(div_destino).innerHTML = 'Carregando...';
    }, // onCreate
    onComplete : function(transport)
    {
      if(transport.status==200)
      {
        $(div_destino).innerHTML = transport.responseText; 
      } // transport.status
    } // onComplete
  }); // ajax Request    
  
} 

function FiltraCmt(artista, album)
{
  
  if (artista == 0) {
	artista = document.getElementById('cb_artistas').value;	
  }

  if (album == 0) {  
	album = document.getElementById('cb_albuns').value;
  }
  
  location.href = "comentarios.php?COD_ARTISTA=" + artista + "&COD_ALBUM=" + album;

}

function DeletaCmt(artista, album, codigo_excluir)
{
  
  if (artista == 0) {
	artista = document.getElementById('cb_artistas').value;	
  }

  if (album == 0) {  
	album = document.getElementById('cb_albuns').value;
  }  
  
  location.href = "comentarios.php?COD_ARTISTA=" + artista + "&COD_ALBUM=" + album + "&XCOMENT=" + codigo_excluir;

}

function ResponderCmt(artista, album, codigo_editar)
{
   
  location.href = "comentarios.php?COD_ARTISTA=" + artista + "&COD_ALBUM=" + album + "&RESPONDER=" + codigo_editar;

}
/*****************************************************/


/************ FUNÇÕES DO CADASTRO DE ÁLBUNS **********/

function GetValorControle(idControle)
{
	var c = $(idControle);
	
	return c.value;
}

function SetValorControleText(idControle, valor)
{
    var c = $(idControle);    
    c.value = valor;
}

function FormataDataFromBD(strDataBd)
{
	var ano = strDataBd.substring(0, 4);
	var mes = strDataBd.substring(5, 7);
	var dia = strDataBd.substring(8, 10);

	return dia + "/" + mes + "/" + ano;
}


function SetValorTextFromXml(idControleText, xmlParser, xmlTagName, isDate)
{
    if (isDate == null)
        isDate = false;
        
	var valor = pegaValor(xmlParser.getElementsByTagName(xmlTagName)[0]);
	
	if (isDate == true)
		SetValorControleText(idControleText, FormataDataFromBD(valor));
	else
	    SetValorControleText(idControleText, valor);
}

function SetTxtArtistaSite(texto)
{
    SetValorControleText('txtArtistaSite', texto);
}

function SetTxtArtistaDesc(texto)
{
    SetValorControleText('txtArtistaDesc', texto);
}


function SetTxtAlbumDesc(texto)
{
    SetValorControleText('txtAlbumDesc', texto);
}


function LimpaForm()
{
  	SetValorControleText('CODIGO', '');  
    SetValorControleText('COVER', '');  
    SetValorControleText('DATARELEASE', '');
	SetValorControleText('GENERO', '');
	SetValorControleText('TIPO', '');
	SetValorControleText('QUALIDADE', '');
	SetValorControleText('DURACAO', '');	
	SetValorControleText('VISUALIZAR', '');
	SetValorControleText('TAMANHO', '');
	SetValorControleText('SERVER1', '');
	SetValorControleText('SERVER2', '');
	SetValorControleText('SERVER3', '');	
    SetValorControleText('URL1', '');
	SetValorControleText('URL2', '');
	SetValorControleText('URL3', '');
	SetValorControleText('URL4', '');
	SetValorControleText('URL5', '');
	SetValorControleText('URL6', '');
	SetValorControleText('URL7', '');	
	SetValorControleText('URL8', '');
	SetValorControleText('URL9', '');	
	SetValorControleText('URL10', '');
	SetValorControleText('URL11', '');
	SetValorControleText('URL12', '');
	SetValorControleText('URL13', '');
	SetValorControleText('URL14', '');
	SetValorControleText('URL15', '');	
	SetValorControleText('PASSWORD', '');
	SetValorControleText('AUTOR', '');	
	SetValorControleText('INFOS', '');
	SetValorControleText('TRACKLIST', '');

  var cbxVisu = $('VISUALIZAR');
  var cbxGen = $('GENERO');
	var cbxTipo = $('TIPO');
	
	cbxVisu.options.selectedIndex = 0;
	cbxGen.options.selectedIndex = 0;
	cbxTipo.options.selectedIndex = 0;
}



function MostraEscondeDivAlbuns(bMostra)
{
	var divAlbuns = $('divAlbuns');

	if (bMostra == true)
		divAlbuns.style.visibility = "visible";
	else
		divAlbuns.style.visibility = "hidden";
}

function MostraEscondeInputText(sNomeControle, bMostra, bLimpa)
{
	var c = $(sNomeControle);

	if (bMostra == true)
		c.style.visibility = "visible";
	else
		c.style.visibility = "hidden";
		
	if (bLimpa == true)
		c.value = '';		
}

function MostraEscondeTextAlbumDesc(bMostra, bLimpa)
{
	MostraEscondeInputText('txtAlbumDesc', bMostra, bLimpa);
}

function MostraEscondeTextArtistaDesc(bMostra, bLimpa)
{
	MostraEscondeInputText('txtArtistaDesc', bMostra, bLimpa);
}

function MostraEscondeTextArtistaSite(bMostra, bLimpa)
{
	MostraEscondeInputText('txtArtistaSite', bMostra, bLimpa);
}

function LimpaCombo(combo)
{
	combo.options.length = 0;
}

function CriaOption(valor, texto)
{
	// Cria novo item na combo
	var novoItem = document.createElement("option");
	
	// Atribui valor
	novoItem.value = valor;
	
	// Atribui texto
	novoItem.text = texto;

	return novoItem;
}

function AdicionaFinalCombo(combo, novoOption)
{
	combo.options.add(novoOption, combo.options.length);
}


// Retorna os valoes do no
function pegaValor(no)
{
	if (no.childNodes.length > 0)
	{
		return no.firstChild.nodeValue; //Tem filho
	}
	else
	{
		try
		{
			return no.nodeValue;
		}
		catch(e)
		{
			return "";
    }
	}
}

//Chama a Janela de visualização dos comentários 
function viscomentarios()
{
	var UrlAlbum = $('cbAlbuns');  
    
    if (UrlAlbum.value > 0)
	{
      UrlAlbum = "../album/comentarios.php?CODIGO="+UrlAlbum.value;	
      window.open(UrlAlbum);		
	} else {
	  window.alert('É preciso salvar ou selecionar um álbum.');
	}
}

// Deleta a Postagem Solicitada
function DeletaPostCad()
{
  codigo = document.getElementById('CODIGO').value;

  if ((codigo == ' ') || (codigo == '')) {
    return false;
	  
  } else {
	location.href = "albuns.php?XALBUM=" + codigo;
  }
    
}

function FormataProperCase(texto){

  texto = texto.toLowerCase().replace(/^(.)|\s(.)/g, function($1) { return $1.toUpperCase(); });
  return texto;
}

function FormataTracklist()
{
	// Captura o valor do campo
	var txtTracklist = $('TRACKLIST');
	var txtTracklistAux = txtTracklist.value;
	
	// ProperCase
    // txtTracklistAux = FormataProperCase(txtTracklistAux);
  
    // Replaces  
    var string_busca = '(00:';
    var string_troca = '(';	
    var pos = txtTracklistAux.indexOf(string_busca);
   
    while (pos > -1){
	  txtTracklistAux = txtTracklistAux.replace(string_busca, string_troca);
	  pos = txtTracklistAux.indexOf(string_busca);
	}
   
    while (pos > -1){
	  txtTracklistAux = txtTracklistAux.replace(string_busca, string_troca);
	  pos = txtTracklistAux.indexOf(string_busca);
	}	
	
  	  	
	// Repassa o valor para o campo
	txtTracklist.value = txtTracklistAux;
}

function ValidaFormCadastroAlbuns()
{
	var cbArtista = $('cbArtista');
	var txtArtista = $('txtArtistaDesc');	
	var cbAlbum = $('cbAlbuns');
	var txtAlbum = $('txtAlbumDesc');
	var txtDataRel = $('DATARELEASE');
	var txtTamanho = $('TAMANHO');
	var txtCapa = $('COVER');	
  //	var txtUrl = $('URL1');
	var txtTracklist = $('TRACKLIST');			

    if (cbArtista.value == -1)

    {
		alert ("É preciso selecionar um artista ou então escolher o item \"" + strOutro + "\".");
		cbArtista.focus();
		return false;
	}
	else if (cbArtista.value == codOutro && txtArtista.value == "")
    {
		alert ("Obrigatório preenchimento do campo artista se o item \"" + strOutro + "\" foi selecionado.");
		txtArtista.focus();
		return false;
	} 
	

	if (cbAlbum.value == -1)
	{
		alert ("É preciso selecionar um álbum ou então escolher o item \"" + strOutro + "\".");
		cbAlbum.focus();
		return false;
	}	
	else if (cbAlbum.value == codOutro && txtAlbum.value == "")
	{
		alert ("Obrigatório preenchimento do campo álbum se o item \"" + strOutro + "\" foi selecionado.");
		txtAlbum.focus();
		return false;
	}	

	if (txtCapa.value == '')
	{
		alert ("O campo Capa do Álbum não foi preenchido.");
		txtCapa.focus();
		return false;
	}


	if (txtDataRel.value == '')
	{
		alert ("O campo Data do Release não foi preenchido.");
		txtDataRel.focus();
		return false;
	}
	
	if (txtTamanho.value == '')
	{
		alert ("O campo Tamanho Aprox. do Release não foi preenchido.");
		txtTamanho.focus();
		return false;
	}
	
	if (txtTracklist.value == '')
	{
		alert ("O campo Tracklist não foi preenchido.");
		txtTracklist.focus();
		return false;
	}	


	
	return true;	
}

/* FUNÇÕES QUE RECEBEM O RETORNO DA SELEÇÃO DO ARTISTA */ 
function PrencheForm()
{    
    var cod_album = document.getElementById('cbAlbuns').value;
	var desc_album = document.getElementById('cbAlbuns').options[document.getElementById('cbAlbuns').selectedIndex].text;

    // Guarda nome do album no campo hidden
    SetValorControleText('hdnNomeAlbum', desc_album);
	
	LimpaForm();
	
	MostraEscondeTextAlbumDesc(false, true);
	
	if (cod_album > -1)
	{

        MostraEscondeTextAlbumDesc(true, true);

		SetTxtAlbumDesc(desc_album);
	
		var url = "../ajax/get_album_details.php"	
		var pars = "COD_ALBUM=" + cod_album;
		pars += "&sid=" + Math.random();
	
		// Requisição Ajax, usando a biblioteca prototype.
		var myAjax2 = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: MostraDetalhesAlbum});
		
	}
	else if (cod_album == codOutro)
	{
		MostraEscondeTextAlbumDesc(true, true);
	}
}

function MostraAlbuns(comboArtista) 
{ 

	// Pega o valor da combo
	var cod_art = comboArtista.value;
	var desc_art = comboArtista.options[comboArtista.selectedIndex].text;

    // Guarda nome do artista no campo hidden
    SetValorControleText('hdnNomeArtista', desc_art);

	// Pega a combo de albuns
	var comboAlbuns = $('cbAlbuns');
		
	// Limpo a combo
	LimpaCombo(comboAlbuns);

	LimpaForm();
	
	MostraEscondeTextArtistaDesc(false, true);
	MostraEscondeTextArtistaSite(false, true);
	MostraEscondeTextAlbumDesc(false, true);
	
	if (cod_art > 0)
	{
		MostraEscondeTextArtistaDesc(true, true);	
		SetTxtArtistaDesc(desc_art);
		
		MostraEscondeTextArtistaSite(true, true);
		
		// Adiciono um item dizendo que está carregando...
		AdicionaFinalCombo(comboAlbuns, CriaOption('-1', 'Carregando...'));
		
		var url = "../ajax/get_lista_albuns.php"	
		var pars = "COD_ART=" + cod_art
		pars += "&sid=" + Math.random();
	       
		// Requisição Ajax, usando a biblioteca prototype.
	    var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onComplete: MostraRespostaAlbuns});
	}
	else if (cod_art == codOutro)
	{
		AdicionaFinalCombo(comboAlbuns, CriaOption(codOutro, strOutro));
		
		MostraEscondeTextArtistaDesc(true, true);
		MostraEscondeTextArtistaSite(true, true);
		MostraEscondeTextAlbumDesc(true, true);

	}
}

function MostraDetalhesAlbum(req)
{  
	var xmlParser = req.responseXML;   	

	//SetValorTextFromXml('TITULO', xmlParser, 'titulo');
    SetValorTextFromXml('CODIGO', xmlParser, 'codigo');
    SetValorTextFromXml('DATARELEASE', xmlParser, 'data_release', true);
	SetValorTextFromXml('COVER', xmlParser, 'cover');	
    SetValorTextFromXml('TAMANHO', xmlParser, 'tamanho');
	SetValorTextFromXml('SERVER1', xmlParser, 'server1');
	SetValorTextFromXml('SERVER2', xmlParser, 'server2');
	SetValorTextFromXml('SERVER3', xmlParser, 'server3');	
    SetValorTextFromXml('URL1', xmlParser, 'url1');
	SetValorTextFromXml('URL2', xmlParser, 'url2');
	SetValorTextFromXml('URL3', xmlParser, 'url3');
	SetValorTextFromXml('URL4', xmlParser, 'url4');
	SetValorTextFromXml('URL5', xmlParser, 'url5');	
	SetValorTextFromXml('URL6', xmlParser, 'url6');	
	SetValorTextFromXml('URL7', xmlParser, 'url7');	
	SetValorTextFromXml('URL8', xmlParser, 'url8');	
	SetValorTextFromXml('URL9', xmlParser, 'url9');	
	SetValorTextFromXml('URL10', xmlParser, 'url10');
	SetValorTextFromXml('URL11', xmlParser, 'url11');
	SetValorTextFromXml('URL12', xmlParser, 'url12');
	SetValorTextFromXml('URL13', xmlParser, 'url13');
	SetValorTextFromXml('URL14', xmlParser, 'url14');
	SetValorTextFromXml('URL15', xmlParser, 'url15');	
	SetValorTextFromXml('PASSWORD', xmlParser, 'senha');
	SetValorTextFromXml('AUTOR', xmlParser, 'autor');	
	SetValorTextFromXml('INFOS', xmlParser, 'infos');
	SetValorTextFromXml('TRACKLIST', xmlParser, 'tracklist');	
	SetValorTextFromXml('GENERO', xmlParser, 'cod_genero');
	SetValorTextFromXml('TIPO', xmlParser, 'cod_tipo');
	SetValorTextFromXml('QUALIDADE', xmlParser, 'cod_qualidade');
	SetValorTextFromXml('DURACAO', xmlParser, 'duracao');	
	SetValorTextFromXml('VISUALIZAR', xmlParser, 'visualizar');
}

function MostraRespostaAlbuns(req)
{  
	var obj = req.responseXML;

	// Pega a combo
	var comboAlbuns = $('cbAlbuns');

	// Pega todos os albuns
	var albunsArray = obj.getElementsByTagName("album");
	
	// Pega o MySpace do artista
	var site = pegaValor(albunsArray[0].getElementsByTagName("site")[0]);
	if (site != null) {
      SetTxtArtistaSite("http://www."+site);
	  SetValorControleText('hdnSiteArtista', "http://www."+site);	  
	}

	// Limpo a combo
	LimpaCombo(comboAlbuns);
	
	if (albunsArray.length == 0)
	{
		AdicionaFinalCombo(comboAlbuns, CriaOption(codOutro, strOutro));
		MostraEscondeTextAlbumDesc(true, true);		
	}
	else
	{
		// Crio uma opção em branco...
		AdicionaFinalCombo(comboAlbuns, CriaOption('-1', ''));

		// Percorre o arquivo XML paara extrair os dados
		for(var i = 0; i < albunsArray.length; i++)
		{
			var item = albunsArray[i];
			
			// contéudo dos campos no arquivo XML
			var codigo	= pegaValor(item.getElementsByTagName("codigo")[0]);
			var titulo	= pegaValor(item.getElementsByTagName("titulo")[0]);
		
			AdicionaFinalCombo(comboAlbuns, CriaOption(codigo, titulo));
		}
		
		AdicionaFinalCombo(comboAlbuns, CriaOption(codOutro, strOutro));	
	}
	
}

/*****************************************************/
