var jqscripts = {

	cargar : "",
	cargar_playlist : "",

	/*
	 *  Qué hacer al momento de cargar.
	 */
	init : function() {
		jq('#busqueda_input').focus(function() {
			jq('#busqueda_input').val('');
		});
		if(jqscripts.cargar_playlist.length > 0) {
			window.open("http://www.exafm.com/exacto.php?p="+jqscripts.cargar_playlist,"exacto","menubar=1,resizable=1,width=850,height=703");
		}
		jq('.popupBBEcuador').click();
	},

	/*
	 *  Cambiar ubicación.
	 */
	cambiar_ubicacion : function(redirect) {
		var plaza = '';
        //if(jq('#selector_ubicacion').val() == 'exafm') jq.cookie('voyaMex','exafm',{ path: '/' });//vmc
        jq.cookie('voyaMex',jq('#selector_ubicacion').val(),{ expires: 365, path: '/' });//vmc
		plaza = jq('#selector_ubicacion').val()+'/';
		window.location.href = conf.url+plaza;
	},

	/*
	 *  Cambiar ubication desde el bloqueo de peich.
	 */
	cambiarUbicacion : function(redirect) {
		var plaza = '';
		plaza = redirect + '/';
		window.location.href = conf.url + plaza;
	},


	/*
	 *  Login, logout, estatus.
	 */
	login_devolver_estatus : function() {
		var estatus;
		jq.ajax({
			url      : conf.url_scripts+'login_devolver_estatus.php',
			dataType : 'json',
			async    : false,
			success  : function(response) {
				estatus = response;
			}
		});
		return estatus;
	},

	plazaDevolverEstatus : function() {
		var estatus;
		jq.ajax({
			url      : conf.url_scripts+'plazaDevolverEstatus.php',
			dataType : 'json',
			async    : false,
			success  : function(response) {
				estatus = response;
			}
		});
		return estatus;
	},


	/*
	 * Muestra lateral en Twitter
	 */
	muestraLateralTwitter : function(){
		jq('#interior').removeClass('main mainBlanco').addClass('main2 mainTwitter');
		jq('#tweetsUno').removeAttr("style");
		jq('#tweetsDos').removeAttr("style");
		jq('#ubicacion').attr('style','display:none');
		jq('#radio').attr('style','display:none');
		jq('#registro').attr('style','display:none');
		jq('#espacios').attr('style','display:none');
		jq('#encuesta').attr('style','display:none');
	},


	/*
	 *  Comentarios y compartir por feisbuc.
	 */
	comentarioEnviar : function() {
		if(jq('#comentario_contenido').val().length > 0) {
			jq.ajax({
				url      : conf.url_scripts+'comentarioEnviar.php',
				type     : 'post',
				data     : {
					comentario  : jq('#comentario_contenido').val(),
					contexto    : jq('#contexto').attr('name'),
					contexto_id : jq('#contexto').val(),
					fb_wall     : jq('input[id=publicar_wall]:checked').length
				},
				dataType : 'html',
				success  : function(response) {
					jq('#comentarios_lista').prepend(response);
					jq('#comentario_contenido').val('');
					FB.XFBML.Host.parseDomTree();
					jqscripts.agregarTargetBlankAComentariosDeFeisbuc();
				}
			});
		} else {
			alert('Nos interesa su comentario. De veras.');
		}
	},

	agregarTargetBlankAComentariosDeFeisbuc : function() {
		jq(".FB_Link").attr('target', '_blank');
	},


	/*
	 *  Métodos del Exacto.
	 */
	exactoInit : function() {
		jq('#lista_playlist').sortable({
			stop:function() {
				playerObject.playlistIds = jq('#lista_playlist').sortable('toArray');
			}
		});
		jq('#busqueda_exacto').focus(function() {
			jq('#busqueda_exacto').val('');
		});
		//Fbook.switchLoginLogoutFacebook();
		if(jqscripts.cargar.length > 0) {
			for(var i=0; i < jqscripts.cargar.length; i++) {
				var cancion = jqscripts.cargar[i];
				playerObject.selectable.push(cancion);
				jqscripts.dibujarElementoPlaylist(cancion.cancion_id);
			}
		}
	},

	exactoDevolverBusqueda : function() {
		if(jq('#busqueda_exacto').val().length != 0) {
			jq.ajax({
				url : conf.url_scripts+'exactoDevolverBusqueda.php',
				async    : false,
				data     : {
					busqueda : jq('#busqueda_exacto').val()
				},
				type     : 'post',
				dataType : 'json',
				success  : function(response) {
					jq('#lista_seleccionables').empty();
					jq('#lista_seleccionables').css("top", "0px");
					if(response.length > 0) {
						jq('#lista_seleccionables').empty();
						playerObject.selectable = response;
						for(var i=0; i < response.length; i++) {
							jqscripts.dibujarElementoLista(response[i]);
						}
					} else {
						jq('#lista_seleccionables').html('<li><h2>Tu b&uacute;squeda no produjo resultados</h2></li>');
					}
				},
				error : function (){
					//console.log('error');
				}
			});
		}
	},

	exactoBorrarPlayList : function(){
		jq('#lista_playlist').html('');
		playerObject.flushPlaylist();
		jqscripts.exactoLimpiarCancionActual();
	},

	exactoEliminarElementoPlayList : function(cancion_id) {
		if(playerObject.current == cancion_id) {
			playerObject.player().stop();
			jqscripts.exactoLimpiarCancionActual();
		}
		jq("#"+cancion_id).remove();
		playerObject.removeFromPlaylist(cancion_id);
		playerObject.playlistIds = jq('#lista_playlist').sortable('toArray');

	},

	dibujarElementoLista : function(elemento) {
		var agregar;
		var elemento_li  = jq('<li></li>').attr({
			'class': 'espacioLista',
			'title': elemento.cancion_id
		});
		var elemento_img = jq('<img></img>').attr({
			'src'  : conf.url_fotos + elemento.cancion_foto,
			'alt'  : elemento.cancion_nombre,
			'class': 'floatLeft imagenArtista'
		});
		var elemento_divArtista  = jq('<div></div>').attr('class','artista');
		var artista = '<h2>'+elemento.cancion_interprete+'</h2><p>Canci&oacute;n: '+ elemento.cancion_nombre;
		elemento_divArtista.html(artista);
		var elemento_divAgregar  = jq('<div></div>').attr('class','agregar');

		if(playerObject.isSongInPlaylist(elemento.cancion_id)){
			agregar = '<img src="'+ conf.url_img+'misc/masDeshabilitado.jpg" alt="" name="'+elemento.cancion_id+'" /><p>Agregar a mi Play List</p>';
		}else{
			agregar= '<a href="javascript:jqscripts.dibujarElementoPlaylist('+"'"+elemento.cancion_id+"'"+');"><img src="'+ conf.url_img+'misc/mas.jpg" alt="" name="'+elemento.cancion_id+'" /><p>Agregar a mi Play List</p></a>';
		}

		elemento_divAgregar.html(agregar);
		elemento_li.append(elemento_img);
		elemento_li.append(elemento_divArtista);
		elemento_li.append(elemento_divAgregar);
		jq('#lista_seleccionables').append(elemento_li);
	},

	exactoLimpiarCancionActual : function() {
		jq('#current_foto').attr('src', '/img/misc/transparente.png');
		jq('#current_artista').html('');
		jq('#current_cancion').html('');
		playerObject.current = '';
	},

	dibujarElementoPlaylist : function(cancion_id) {
		jq('li[title='+cancion_id+']').remove();
		var cancion         =  playerObject.getSongFromSelectable(cancion_id);
		var elemento_li     = jq('<li></li>').attr({
			'id'    :cancion.cancion_id,
			'class' : 'item'
		});
		var elemento_imagen = '<a href="javascript:jqscripts.exactoPlayCancion('+"'"+cancion.cancion_id+"'"+');" name="'+cancion.cancion_id+'"><img src="'+conf.url_fotos +cancion.cancion_foto +'" alt="" class="imagenArtista" /></a>';
		var elemento_span   = jq('<span></span>').html('<p><a href="javascript:jqscripts.exactoPlayCancion('+"'"+cancion.cancion_id+"'"+');" name="'+cancion.cancion_id+'" class="amarillo">'+cancion.cancion_interprete+'</a></p>'+
							  '<p><a href="javascript:jqscripts.exactoPlayCancion('+"'"+cancion.cancion_id+"'"+')" class="blanco">'+cancion.cancion_nombre+'</a>'+
							  '<a href="javascript:jqscripts.exactoEliminarElementoPlayList('+"'"+cancion.cancion_id+"'"+');"><img src="'+conf.url_img+'misc/cerrar.png" alt="" style="float:right; margin-left:10px; cursor:pointer" /></a></p>');
		elemento_li.append(elemento_imagen);
		elemento_li.append(elemento_span);
		jq('#lista_playlist').append(elemento_li);
		playerObject.playlist.push(cancion);
		playerObject.playlistIds = jq('#lista_playlist').sortable('toArray');
		playerObject.player().registerEvent('onSongOver','window.jqscripts.exactoNext()');
	},

	exactoPlay : function() {
		if(playerObject.player().getPlayingState() != 'playing') {
			if(playerObject.current != '') playerObject.player().play();
			if(playerObject.playlistIds.length > 0 && playerObject.current == '') jqscripts.exactoPlayCancion(playerObject.playlistIds[0]);
		}
	},

	exactoPlayCancion : function(cancion_id) {
		var cancion = playerObject.getSongFromPlaylist(cancion_id);
		var cancionurl = conf.url_mp3 + cancion.cancion_mp3;

		jq('#current_foto').attr('src',conf.url_fotos+cancion.cancion_foto);
		jq('#current_artista').html(cancion.cancion_interprete);
		jq('#current_cancion').html(cancion.cancion_nombre);

		jq.cookie('myvmc',cancionurl,{'path' : '/'});

		playerObject.playSong(cancion_id);
	},

	exactoPause : function() {
		if(playerObject.player().getPlayingState() == 'playing') {
			playerObject.player().pause();
		} else if(playerObject.player().getPlayingState() == 'paused') {
			playerObject.player().play();
		}
	},

	exactoPrev : function() {
		if(playerObject.playlistIds.length > 1) {
			var position = playerObject.getPosition(playerObject.current);
			var prevPosition = playerObject.playlist.length - 1;
			if(position - 1 >= 0) prevPosition = position - 1;
			var prevSong = playerObject.getSongFromPlaylist(playerObject.playlistIds[prevPosition]);
			jqscripts.exactoPlayCancion(prevSong.cancion_id);
		}
	},

	exactoNext : function() {
		if(playerObject.playlistIds.length > 1) {
			var position = playerObject.getPosition(playerObject.current);
			var nextPosition = 0;
			if(position + 2 <= playerObject.playlist.length) nextPosition = position + 1;
			var nextSong = playerObject.getSongFromPlaylist(playerObject.playlistIds[nextPosition]);
			jqscripts.exactoPlayCancion(nextSong.cancion_id);
		}
	},

	exactoGuardarPlaylist : function(compartir) {
		FB.getLoginStatus(function(respuesta) {
			Fbook.sesion = respuesta.session;
			if(respuesta.status == 'connected') {
				jq.ajax({
					'url'      : conf.url_scripts+'playlistGuardar.php',
					'async'    : false,
					'data'     : {
						'miembro_fbid'       : Fbook.sesion.uid,
						'playlist_nombre'    : 'Playlist de ' + Fbook.sesion.uid,
						'playlist_canciones' : jq('#lista_playlist').sortable('toArray').join(',')
					},
					'type'     : 'post',
					'dataType' : 'text',
					'success'  : function(response) {
						if(playerObject.playlist.length > 0) {
							if(compartir == 'f') {
								alert('Se guardaron los cambios.');
							} else {
								FB.ui({
									method: 'stream.publish',
									message: '\241Ch\351quense mi playlist en EXA!',
									attachment: {
										name: '\241Mi playlist en EXA!',
										href: conf.url+'playlist.php?p='+response
									},
									action_links: [
										{ text: 'Code', href: conf.url+'playlist.php?p='+response }
									],
									user_message_prompt: 'Escribe un mensaje sobre tu playlist:'
								}, function(response) {
									if(response && response.post_id) {
										alert('Se envi\363 tu comentario a tu muro.');
									} else {
										alert('Hubo un error al intentar enviar tu comentario a Facebook.');
									}
								});
							}
						} else {
							if(compartir == 'f') {
								alert('Guardamos tu lista vac\355a.');
							} else {
								alert('No vale la pena compartir una lista vac\355a, \277verdad?');
							}
						}
					}
				});
			} else {
				alert('Inicia sesi\363n antes de continuar.');
				FB.login(function(response) {
					Fbook.switchSesion();
				}, {perms: 'publish_stream,offline_access'});
			}
		});
	},

	exactoCargarPlayList : function(facebook_id) {
		jq.ajax({
			'url'      : conf.url_scripts+'playlistCargar.php',
			'async'    : false,
			'type'     : 'post',
			'data'     : {facebook_id : facebook_id},
			'dataType' : 'json',
			'success'  : function(canciones) {
				if(canciones.length > 0) {
					jq('#lista_playlist').html('');
					playerObject.flushPlaylist();
					for(var i=0; i<canciones.length; i++) {
						var cancion = canciones[i];
						playerObject.selectable.push(cancion);
						jqscripts.dibujarElementoPlaylist(cancion.cancion_id);
					}
				}
			}
		});
	},


	/*
	 *  Este método sirve para iniciarlizar los efectos en la sección de programa
	 */
	iniciaParrilla : function(){
		var d = new Date();
		var dia = d.getDay();
		var weekday=new Array(7);
		weekday[1]="lu";
		weekday[2]="ma";
		weekday[3]="mi";
		weekday[4]="ju";
		weekday[5]="vi";
		weekday[6]="sa";
		weekday[0]="do";
		jq('.dia').hide();
		jq('#'+weekday[dia]).show();
		jq("#semana a[title='"+weekday[dia]+"']").addClass('out');		
		jq('#semana a').click(function(){
			dia = this.title;
			jq('.dia').hide();
			jq('#'+dia).show();
			jq('#semana a').removeClass();
			jq('#semana a').addClass('naranja');
			jq(this).addClass('out');
		});
	},

	/*
	 *  Método para validar los forms de búsqueda en podcasts y en general
	 */
	validaBusqueda : function(){
		jq("#busquedaGeneral").submit(function(){
			if(jq("#cadenaBusquedaGeneral").val() != '') {
				return true;
			} else {
				return false;
			}
		});
		jq("#busquedaPodcast").submit(function(){
			if(jq("#cadenaBusqueda").val() != '') {
				return true;
			} else {
				return false;
			}
		});
	},

	/*
	 *  Dibuja boton de Me gusta
	 */
	iLikeButton : function() {
		var url = jqscripts.urlEncode(document.URL);
		jq('.meGusta').html(function(){
			return '<iframe src="http://www.facebook.com/plugins/like.php?href='+url+'&amp;layout=standard&amp;show_faces=true&amp;width=400&amp;action=like&amp;colorscheme=light&amp;height=25" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:400px; height:25px;" allowTransparency="true"></iframe>';
		});	
	},

	/*
	 *  Transforma un URL al encode que necesita el Ilike del facebook.
	 */
	urlEncode : function(s) {
		return encodeURIComponent(s).replace( /\%20/g, '+' ).replace( /!/g, '%21' ).replace( /'/g, '%27' ).replace( /\(/g, '%28' ).replace( /\)/g, '%29' ).replace( /\*/g, '%2A' ).replace( /\~/g, '%7E' );
	}	

};

