﻿if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1 || navigator.userAgent.toLowerCase().indexOf('safari') > -1) {
	document.write('<link  type="text/css" href="/static/css/general_webkit.css" rel="stylesheet" />');
}
(function (e) {
	e.fn.pulse = function (f) {
		return this.each(function () {
			var g = e.extend({}, e.fn.pulse.defaults, f),
			j = g.count,
			i = e(this);

			function h() {
				--j;
				i.fadeOut(g.speed, function () {
					i.fadeIn(g.speed, function () {	
						j ? h() : g.callback()
					})
				})
			}
			h()
		})
	};
	e.fn.pulse.defaults = {
			count: 500,
			speed: 900,
			callback: function () {
				return false
			}
	}
})(jQuery);
$(function () {
	$(".direct .play").pulse();		
});

function efmInit() {

	/* ie
	----------------------------------------------------------------------------------------------------*/
	if ($.browser.msie && navigator.userAgent.toLowerCase().indexOf('msie 7') > -1){lastChild()};

	/* mod frecuencias
	----------------------------------------------------------------------------------------------------*/
	if ($(".mapShell #canvas").length > 0)map_frecs();

	/* mod galeria imagenes
	----------------------------------------------------------------------------------------------------*/
	if ($(".mod_galeria_imagenes").length > 0)mod_galeria_imagenes();

	/* mod galeria videos
	----------------------------------------------------------------------------------------------------*/
	if ($(".mod_galeria_videos").length > 0)mod_galeria_videos();

	/* mod uniform
	----------------------------------------------------------------------------------------------------*/
	// comentarios:
	if ($(".mod_comentarios form .actions input:checkbox").length > 0){
		$(".mod_comentarios form .actions input:checkbox").uniform();
	};

	// tu_clip:
	if ($(".mod_tu_clip").length > 0){$(".mod_tu_clip input:file").uniform()};

	// checkbox_text:
	if ($(".checkbox_text").length > 0){
		$(".checkbox_text input:checkbox").uniform(); 
	};
	
	// mod_login:
	if ($(".mod_login").length > 0){$(".mod_login input:checkbox").uniform()};
	
	// mod_login_lite:
	if ($(".login_lite_form").length > 0){$(".login_lite_form input:checkbox").uniform()};
	
	// mod_compartir:
	if ($(".mod_compartir").length > 0){$(".mod_compartir input:checkbox").uniform()};

	// mod_concursos_trivial:
	if ($(".mod_concursos_trivial").length > 0){$(".mod_concursos_trivial input:radio").uniform()};
	
	/* modales
	----------------------------------------------------------------------------------------------------*/
	if ($(".modal_no_iframe").length > 0)modal_no_iframe();
	if ($(".modal_no_html").length > 0)modal_no_html();
	if (($(".efm_modal").length > 0))efm_modal();

	/* mod calendar
	----------------------------------------------------------------------------------------------------*/
	//if (($(".mod_calendar").length > 0))mod_calendar();
	
	/* mod calendarEventos
	----------------------------------------------------------------------------------------------------*/
	if ($("#mod_calendar_events").length > 0 && typeof(fechas) != "undefined" )mod_calendarEventos();

	/* mod galeria noticias carrusel
	----------------------------------------------------------------------------------------------------*/
	if ($(".mod_galeria_noticias_carrusel").length > 0)mod_galeria_noticias_carrusel();

	/* carruseles
	-------------------------------------------------------------------------------------------------*/
	if ($(".grid_12 > .mod_carrusel").length > 0){$(".grid_12 > .mod_carrusel .visor").scrollable({ size: 6, items: '.grid_12 > .mod_carrusel .visor ul li', loop:true, clickable: false})};
	if ($(".grid_8 > .mod_carrusel").length > 0){$(".grid_8 > .mod_carrusel .visor").scrollable({ size: 4, items: '.grid_8 > .mod_carrusel .visor ul li', loop:true, clickable: false})};
	if ($(".mod_carrusel_cabecera").length > 0)mod_carrusel_cabecera();
	
	if ($(".grid_8 > .mod_playlist").length > 0){$(".grid_8 > .mod_playlist .visor").scrollable({ size: 1, items: '.grid_8 > .mod_playlist .visor ul li', loop:true, clickable: false})};

	/* mod superdestacado multi
	----------------------------------------------------------------------------------------------------*/
	$('.mod_superdestacado_multi').highlighter({autoplay : true, delay : 7000});

	/* Tabs
	----------------------------------------------------------------------------------------------------*/
	if ($(".grid_8 .mod_audios_collection").length > 0)fn_tabs($(".fn_tabs"))
	if ($(".mod_audios_online").length > 0)fn_tabs($(".fn_tabs"))
	if ($(".mod_lo_mas_oido").length > 0)fn_tabs($(".fn_tabs"))
	if ($(".grid_8 .mod_playlist").length > 0)fn_tabs($(".fn_tabs"))
	if ($(".grid_8 .rfm").length > 0)fn_tabs($(".fn_tabs"))
	if ($(".mod_facebook_twitter").length > 0)fn_tabs($(".mod_facebook_twitter .cabecera ul"))
	if ($(".mod_compartir").length > 0)fn_tabs($(".mod_compartir .fn_tabs"))
	
	/* Galería de audios
	----------------------------------------------------------------------------------------------------*/ 
	if ($(".mod_audios_collection").length > 0) {
		$(' .mod_audios_collection li ').bind('click', function(){
			var galleryaudio=$('input[name=gallery]', this).attr('value');
			var player_swf=$('input[name=playerswf]', this).attr('value');
			logBug($('input[name=urlaudio]', this).attr('value'));
			logBug(player_swf);
			eval(player_swf+".variables.xml=$('input[name=urlaudio]', this).attr('value');");
			eval(player_swf+".variables.autoplay='true';");	 
			document.getElementById(galleryaudio).style.width=$('input[name=playerWidth]', this).attr('value') +"px";
			document.getElementById(galleryaudio).style.height=$('input[name=playerHeight]', this).attr('value')+"px";
			document.getElementById(galleryaudio).innerHTML ="";
			eval(player_swf+".write('"+galleryaudio+"')");
			$(this).parent().find('li a').removeClass('active')
			$(this).find('a').addClass('active')
		})
	}

	/* btn_podcast
	----------------------------------------------------------------------------------------------------*/
	if ($(".fn_btn_podcast").length > 0)btn_podcast();

	/* mod_podcast
	----------------------------------------------------------------------------------------------------*/
	if ($(".mod_podcast").length > 0)mod_podcast();

	/* mod_programacion
	----------------------------------------------------------------------------------------------------*/
	if ($('.mod_programacion').length > 0)mod_programacion();

	/* mod buscador
	----------------------------------------------------------------------------------------------------*/
	if (($(".mod_buscador").length > 0)||($(".mod_calendar").length > 0))mod_buscador();

	/* mod_directo
	----------------------------------------------------------------------------------------------------*/
	
	if ($(".mod_directo .enlaces_noticia li").length > 3 && $(".mod_directo .li_cont2").length == 0 ) {
		$(".mod_directo .enlaces_noticia").makeacolumnlists({cols: 2, colWidth: 0, equalHeight: 'ul', startN: 1});
	}
	
	/* mod_concursos_trivial
	----------------------------------------------------------------------------------------------------*/
	if ($(".mod_concursos_trivial").length > 0)mod_concursos_trivial('.mod_concursos_trivial');
	
	/* mod_tuclip
	-------------------------------------------------------------------------------*/
		
		$.validator.messages.required = "Este campo es obligatorio.";
	    $.validator.messages.email = 'Comprueba que el email es correcto .';
	    $.validator.messages.dni = 'Comprueba que el DNI es correcto .';
		$(".mod_tu_clip form:first").validate({
			 errorElement: "span",
		   	 errorClass: "advert",
		     invalidHandler: function(form, validator) {
			   var errors = validator.numberOfInvalids();
			   $('#tuclipEFMResponse').html(
					   "Comprueba que todos los campos son correctos. Te quedan por revisar " + 
					   errors + 
					   " campos."
			   );
			   $('#tuclipEFMResponse').fadeOut(function() {
				   $('#tuclipEFMResponse').fadeIn();
			   });
		    },
		     submitHandler: function(form) {
		    	$(".mod_tu_clip form:first").ajaxSubmit({
					 target: '#tuclipEFMResponse',
					 beforeSubmit: function(){
						 $('#tuclipEFMResponse').html("Enviando...");

					},
					 success: function(){
						   $(".mod_tu_clip form:first").resetForm();
					   },

					error: function(){
						   $(".mod_tu_clip form:first").resetForm();
						   $('#tuclipEFMResponse').html("Error en el envio de los datos.");
					   }
					
				});
				return false;		
		    }
		  });
		
	/* mod_tuclip end
	-------------------------------------------------------------------------------*/

} //efmInit_end

function nnEventTrack(_nnClickURL) {
	var _nnCI = "es-europafm";
	var _nnCG = "0";
	var _nnCC = "uk"; 
	var _nnLP = location.protocol.indexOf('https')>-1?'https:':'http:';
	var _nnRP = escape(window.location);
	var _nnND = _nnLP + '//secure-' + _nnCC + '.imrworldwide.com/';
	var _nnPixel = new Image(1,1);
	var _nnParams = "rnd=" + (new Date()).getTime() + "&ci=" + _nnCI + "&cg=" + _nnCG;
	_nnParams += "&si=" + escape(_nnClickURL) + "&rp=" + _nnRP;	
	_nnPixel.src = _nnND + "cgi-bin/m?" + _nnParams;
}



/*	hack lastChild para ie>=6
	----------------------------------------------------------------------------------------------------*/
	function lastChild(){
		$(".last_ie li").last().addClass("lastChild");
	}

/*	Tabs para mods
	----------------------------------------------------------------------------------------------------*/
	function fn_tabs(target){
		current_mod = $('.grid_8 .mod_lo_mas_oido, .grid_8 .mod_audios_collection, .mod_playlist')
		current_mod.find('.contenido_white > div:first-child ul.section').makeacolumnlists({cols: 2, colWidth: 0, equalHeight: 'ul', startN: 1});
		current_mod.find('.contenido_white > div:first-child ul.section').removeClass('section');
		if ($(".listado_canciones ul.section li").length > 10) {
			current_mod.find('.listado_canciones ul.section').makeacolumnlists({cols: 2, colWidth: 0, equalHeight: 'ul', startN: 1});
			current_mod.find('.listado_canciones ul.section').removeClass('section');
		}
		linkable = target.find('li a');
		linkable.bind('click', function(){
			href = $(this).attr('href').split('#')[1];
			current_element = $(this).parent();
			parent_element = current_element.parent().parent();
			current_element.parent().find('.active').removeClass('active');
			current_element.addClass('active');
			parent_element.find('.contenido_white > div').hide();
			parent_element.find('.contenido_white div' + '.' + href).show();
			parent_element.find('.contenido_white div' + '.' + href + ' ul.section').makeacolumnlists({cols: 2, colWidth: 0, equalHeight: 'ul', startN: 1});
			parent_element.find('.contenido_white div' + '.' + href + ' ul.section').removeClass('section');
			//cases:
			if ($(linkable).attr('title') == 'Facebook' || $(linkable).attr('title') == 'Twitter'){ //mod_facebook_twitter
				current_element_index = current_element.index()
				parent_element.parent().find('.tablones > div').hide();
				parent_element.parent().find('.tablones > div:eq(' + current_element_index + ')').show();
			}
			if (target = $('.mod_compartir .fn_tabs')){
				parent_element.find('.fn_tabsLay').hide();
				parent_element.find('#' + href).show();
			}
		})
	}

/*	mod galeria imagenes
    ----------------------------------------------------------------------------------------------------*/
	function mod_galeria_imagenes() {
		var total;
		if ($(".mod_galeria_imagenes").length > 0) {
			var mod_galeria_img = $(".mod_galeria_imagenes .visor").scrollable({
				size: 7, 
				items: '.visor ul li',
				loop:true,
				api: true,
				onReload: function(){
					total = this.getItems().length;
					var wrap = $(this.getRoot().closest('.mod_galeria_imagenes'));
					$('.contador .total', wrap).html(total);
					$('.contador .actual', wrap).html(1);
					$('.carrusel .visor ul > li:first', wrap).addClass('now');
					//set height for main photo wrapper first time
					$('.principal', wrap).css('height', $('.principal .contenido', wrap).height()+'px');
				}
			});

			//refresh counter with actual page
			var refreshCounterImage = function(target){
				var actual = target.index()+1;
				if (actual==total) {
					$('.principal .nextPage').addClass('disabled');
				}else{
					$('.principal .nextPage').removeClass('disabled');
				}
				if (actual==1) {
					$('.principal .prevPage').addClass('disabled');
				}else{
					$('.principal .prevPage').removeClass('disabled');
				}
				var wrap = target.closest('.mod_galeria_imagenes');
				$('.contador .actual', wrap).html(actual);
				updateMainAreaImage(target, wrap, actual);
			};

			//set new content in the main area and sets height
			var updateMainAreaImage = function(target, wrap, actual_index){
				var full_img = $('.principal .contenido img', wrap);
				var main_content = $('.principal .contenido', wrap);
				main_content.fadeOut(500, function(){
					full_img.attr('src', $('img', target).attr('rel')).load(function(){
						var info = $('.info ', target);
						var actions = $('ul ', target);
						$('.principal .contenido .info ', wrap).html(info.html())
						$('.principal .contenido ul ', wrap).html(actions.html())

						$('.principal .contenido', wrap).fadeIn(function(){
							$('.principal', wrap).stop().animate({height: $('.principal .contenido', wrap).height()+'px' },400);
						});
					});
				}) 
			}
			//update counter when slide moves
			$('.mod_galeria_imagenes .visor li:not(.now)').live('click', function(e){
				refreshCounterImage($(this));
				$(this).siblings().removeClass('now');
				$(this).addClass('now');
			})

			//seek to correspondent item when navigation arrows are clicked
			$('.mod_galeria_imagenes .principal a.browse').bind('click', function(){
				if ($(this).hasClass('nextPage')) {
					var target = parseInt(mod_galeria_img.getClickIndex())+1;
					nnEventTrack(pageUrlNielsenImagenes + '/galeriaimagenessiguiente');
				}else{
					var target = parseInt(mod_galeria_img.getClickIndex())-1;
					nnEventTrack(pageUrlNielsenImagenes + '/galeriaimagenesanterior');
				}
				var galeria_wrapImage = $(this).closest('.mod_galeria_imagenes');
				mod_galeria_img.click(target);
				$('.carrusel .visor ul > li:eq('+(target)+')', galeria_wrapImage).addClass('now').siblings().removeClass('now')
				refreshCounterImage($('.carrusel .active', galeria_wrapImage));
			})
		};
	};


	  /* mod galeria videos
	----------------------------------------------------------------------------------------------------*/
	function mod_galeria_videos(){
		if ($(".mod_galeria_videos").length > 0) {
			var mod_galeria_videos = $(".mod_galeria_videos .visor").scrollable({
				size: 7, 
				items: '.visor ul li',
				loop:true,
				api: true,
				onReload: function(){
					var total = this.getItems().length
					var wrap = $(this.getRoot().closest('.mod_galeria_videos'));
					$('.contador .total', wrap).html(total);
					$('.contador .actual', wrap).html(1);
					$('.carrusel .visor ul > li:first', wrap).addClass('now');
					//set height for main photo wrapper first time
					$('.principal', wrap).css('height', $('.principal .contenido', wrap).height()+'px');
				}
			});

			//refresh counter with actual page
			var refreshCounter = function(target){
				var actual = target.index()+1;
				var wrap = target.closest('.mod_galeria_videos');
				logBug("wrap="+wrap);
				logBug("actual="+$('.contador .actual', wrap));
				$('.contador .actual', wrap).html(actual);
				updateMainArea(target, wrap, actual);
			};

			//set new content in the main area and sets height
			var updateMainArea = function(target, wrap, actual_index){
				var xml = $('img', target).attr('rel');
				var player = $('input[name=gallery]', target).attr('value');
				var contentPk = $('input[name=contentPk]', target).attr('value');
				var pagePk = $('input[name=pagePk]', target).attr('value');
				var section = $('input[name=section]', target).attr('value');
				//logBug('player='+player);
				//logBug('xml='+xml);
				//logBug('player='+document.getElementById(player));
				var player_swf='player_'+player;
			
				eval(player_swf+".variables.xml='"+xml+"';");
				//eval(player_swf+".variables.autoplay='true';");	 
				// document.getElementById(galleryaudio).style.width=$('input[name=playerWidth]', this).attr('value') +"px";
				//document.getElementById(galleryaudio).style.height=$('input[name=playerHeight]', this).attr('value')+"px";
				document.getElementById('embed_'+player).innerHTML ="";
				eval(player_swf+".write('"+'embed_'+player+"')");

     	
     	
				//document.getElementById(player).setXML(xml);
				var info = $('.info ', target);
				logBug("info="+info);
     	
				if($('.principal .contenido .info ', wrap).length>0){
					// Columan de 8
					logBug("info="+$('.principal .contenido .info ', wrap));
					$('.principal .contenido .info ', wrap).html(info.html());
				}else if($('.title').length>0){
					logBug('tile='+$('.title'));
					// Columan de 4-5
					$('.title').html(info.html());
				}
			}
			//update counter when slide moves
			$('.mod_galeria_videos .visor li:not(.now)').live('click', function(e){
				refreshCounter($(this));
				$(this).siblings().removeClass('now');
				$(this).addClass('now');
			})

			//seek to correspondent item when navigation arrows are clicked
			$('.mod_galeria_videos .principal a.browse').bind('click', function(){
				//nnEventTrack(urlPageNielsenVideo);
				if ($(this).hasClass('nextPage')) {
					var target = parseInt(mod_galeria_videos.getClickIndex())+1;
				}else{
					var target = parseInt(mod_galeria_videos.getClickIndex())-1;
				}
				var galeria_wrap = $(this).closest('.mod_galeria_videos');
				mod_galeria_videos.click(target);
				$('.carrusel .visor ul > li:eq('+(target)+')', galeria_wrap).addClass('now').siblings().removeClass('now')
				refreshCounter($('.carrusel .active', galeria_wrap));
			})
		};
	};

/*	mod carrusel cabecera
    ----------------------------------------------------------------------------------------------------*/
	function mod_carrusel_cabecera() {
		$('.mod_carrusel_cabecera .visor ul').find('li:first a').addClass('active')
		$('.mod_carrusel_cabecera .visor ul li a').parent().parent().find('li a').each(function(){
			$(this).click(function() {
			$('.mod_carrusel_cabecera .visor ul li a').removeClass('active')
			$(this).addClass('active')
			});
		});
		$('.mod_carrusel_cabecera .visor').scrollable({ size: 5, items: '.visor ul li', loop:true, clickable: false});
	};



/* mod galeria noticias carrusel
	----------------------------------------------------------------------------------------------------*/
	function mod_galeria_noticias_carrusel() {
		$(".mod_galeria_noticias_carrusel .visor").scrollable({ size: 3, items: 'li', loop:true, onReload: function(){
			var total = this.getItems().length;
			var wrap = $(this.getRoot().closest('.mod_galeria_noticias_carrusel'));
			$('.contador span:last', wrap).html(total);
		}});

		$('.mod_galeria_noticias_carrusel .visor li a').bind('click', function(e){
			//nnEventTrack(/*pageUrlNielsenImagenes + */'/galeriasimagenes');
			e.preventDefault();
			var target = $(this).closest('li');
			var title = $('span', target).html();
			var wrap = target.closest('.mod_galeria_noticias_carrusel')
			var n = target.index()+1;

			$('.title2', wrap).html(title);
			$('.contador .actual', wrap).html(n);

			$('.destacada a', wrap).attr('href', $('a', target).attr('href'));

			var full_img = $('.destacada img', wrap);
			full_img.fadeOut('normal', function(){
				$('.destacada img', wrap).attr('src', $('img', target).attr('rel')).fadeIn('normal');
			})
		})
	}

/*	mod_superdestacado_multi
	----------------------------------------------------------------------------------------------------*/
	(function($) {
		$.fn.highlighter = function(options) {
			var opts = $.extend({}, $.fn.highlighter.defaults, options);
			$.fn.highlighter.options = opts;
			return this.each(function() {
				var target = $(this);
				opts.target = target;
				var list_items = $(opts.list_items+' a', target);
				var viewport = $(opts.viewport, target);
				var banners = $(opts.full_items, opts.viewport);
				ribbon = $(target).find('.antetitulo_orange')
				ribbon_text = $(target).find('.visor div:first .hide').text()
				ribbon_href = $(target).find('.navi a.active').attr('href');
				var other_banners = banners.not(':first');
				element = $(target).find('.visor > div:first .relative')
				enter_text(ribbon, ribbon_text, ribbon_href, element)
				$('.info',other_banners).css('left', '-270px');
				$(list_items[0]).parent().addClass('active');
				list_items.bind('click', function(e, target){
					e.preventDefault();
					//reset setInterval if user click on tab
					if (typeof(target) == 'undefined' ) {
						window.clearInterval(opts.autoplay_timer);
					}
					if($(this).closest('li').is('.active') !== true){
						var new_banner = $(banners[list_items.index(this)]);
						list_items.parent().removeClass('active');
						$(this).parent().addClass('active');
						$(this).parent().focus().blur();
						current_index = $(this).parent().index();
						ribbon_text = $(this).parent().parent().parent().parent().find('.visor > div:eq(' + current_index + ') .copy .hide').text();
						ribbon_href = $(this).attr('href');
						element = $(this).parent().parent().parent().parent().find('.visor > div:eq(' + current_index + ') .relative')
						enter_text(ribbon, ribbon_text, ribbon_href, element, current_index)
						if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1 || navigator.userAgent.toLowerCase().indexOf('safari') > -1) {
							$('.info', banners.not(':hidden')).animate({left: '-270px'},'slow');
							banners.has(':visible').fadeOut('normal');
							new_banner.fadeIn('normal');
							$('.info', new_banner).animate({left: '0px'},'slow');
						}else{
							$('.info', banners.not(':hidden')).animate({left: '-270px'},'slow');
							banners.has(':visible').fadeOut('normal', function(){
								new_banner.fadeIn('normal',function(){
									$('.info', new_banner).animate({left: '0px'},'slow');
								});
							});
						}
					}
				}).bind('mouseover', function(){
					window.clearInterval(opts.autoplay_timer);
				}).bind('mouseout', function(){
					opts.autoplay_handler();
				})
				function enter_text(ribbon, ribbon_text, ribbon_href, element, current_index){
					$(ribbon).text(ribbon_text)
					$(ribbon).attr('href', ribbon_href)
					ribbon_long = $(ribbon).text().length
					if ( ribbon_long > 30) {
						lines = Math.ceil(ribbon_long / 30);
						element_padding = lines * 10 + 55;
						$(element).css('padding-top', element_padding)
					}
				}
				if (opts.autoplay === true){
					opts.autoplay_handler = function(){
						opts.autoplay_timer =  window.setInterval(function(){
							var next = $('a', $(opts.list_items+'.active', opts.target).next());
							if(next.length > 0){
								next.trigger('click', true);
							}else{
								$('a', $(opts.list_items+':first', opts.target)).trigger('click', true);
							}
						}, opts.delay);
					}
					opts.autoplay_handler();
				}
			});
		};

		// plugin defaults
		$.fn.highlighter.defaults = {viewport: ".visor", list_items: 'ul li', full_items: '> div', delay: 1000 , autoplay : true };
	})(jQuery);

	/* btn_podcast
	----------------------------------------------------------------------------------------------------*/
	function btn_podcast(){
		$(".fn_btn_podcast").click(function(e) {
			e.preventDefault();
			$(this).parent().find('.podcast_lay').fadeIn(200, function(){
				var link_copy = $(this).find('.fn_link_copy');
				var input_copy = $(this).find('.fn_input_copy');
				$(link_copy).zclip({
					path:'/static/js/ZeroClipboard.swf',
					copy:function(){
						return $(input_copy).val();
					},
					afterCopy:function(){
						$(link_copy).text('LISTO!').addClass('copied');
					}
				});
				$('.close').click(function() {
					$(".podcast_lay").hide();
					return false
				})
			});
		});
		$(".podcast_lay").mouseup(function() {
			return false
		});
		$(document).mouseup(function(e) {
			if($(e.target).parent(".fn_btn_podcast").length==0) {
				$('.fn_link_copy').text('COPIAR').removeClass('copied')
				$(".podcast_lay").hide();
			}
		});
	};

	/* mod_podcast
	----------------------------------------------------------------------------------------------------*/
	function mod_podcast(){
		$('.fn_link_copy').each(function() {
			var link_copy = $(this).parent().find('.fn_link_copy');
			var input_copy = $(link_copy).parent().parent().find('.fn_input_copy');
			$(link_copy).zclip({
				path:'/static/js/ZeroClipboard.swf',
				copy:function(){
					return $(input_copy).val();
				},
				afterCopy:function(){
					$(link_copy).text('LISTO!').addClass('copied');
				}
			});
		})
	}

/*	modals
	----------------------------------------------------------------------------------------------------*/
	function efm_modal() {
		$('.efm_modal').click(function(e) {
			e.preventDefault();
			if ($(this).find('.efm_modal_lay').length == 0) {
				href = $(this).attr('href');
				cl = $(this).attr('class');
				$('<div class="efm_modal_overlay ' + cl + '"><div class="efm_modal_lay"><a class="close"></a><iframe src="' + href + '"></iframe></div></div>').appendTo('body');
				var overlay_2 = $('.efm_modal_overlay');
				overlay_2.removeClass('efm_modal');
				modal_lay = $('.efm_modal_lay');
				close_lay = overlay_2.find('.close');
				modal_lay.hide();
				setTimeout(function () {
					modal_lay.fadeIn(500)
				}, 200)
				overlaywidth = overlay_2.width();
				iframewidth = overlay_2.find('iframe').width();
				position_def = ((overlaywidth/2) + (iframewidth/2)) - 25
				cssObj = {
					'left' : position_def + 'px',
					'top' : '10px',
					'z-index' : modal_lay.css('z-index') + 100
				}
				close_lay.css(cssObj).click(function(e) {
					e.preventDefault();
					$(this).parent().parent().fadeOut()
				})
			}
		})
	}
	
	function modal_no_iframe(){
		$(".modal_no_iframe").overlay({
			mask: 'black',
			onBeforeLoad: function() {
				var wrap = this.getOverlay().find(".contentWrap");
				wrap.load(this.getTrigger().attr("href"));
			}
		});
	};

	function modal_no_html(){
		$('.modal_no_html').bind('click', function(e){
			e.preventDefault();
			target = $(this);
			rel = $(target).attr('rel');
			close = $(target).find('.close');
			exposeMask_width = $(rel).find('.exposeMask').width();
			contentWrap_width = $(rel).find('.contentWrap').width();
			position_def = ((exposeMask_width/2) + (contentWrap_width/2)) - 25;
			$(rel).find('.contentWrap').css('left', position_def - 200);
			$(rel).fadeIn('slow');
		})
		$('.modal_no_html_lay .close').bind('click', function(){
			$(this).parent().parent().parent().fadeOut('slow');
		})
	}
	
	/* mod_calendarEventos
	-----------------------------------------------------------------------------------------------------*/
	
	function mod_calendarEventos() {
		var $lastDate = fechas[fechas.length-1];
		var $dp = $('.turn-me-into-datepicker').datePicker({
			inline:true,
			dateFormat:'ddMMyy',
			startDate:formatDate(fechas[0]),
			endDate:formatDate(fechas[(fechas.length-1)]),
		    constrainInput: true,
		    renderCallback:calendarCallback
		});
		$dp.bind(
			'dateSelected',
			function(e, selectedDate, $td){
				var fecha=new Date(selectedDate);
				var fecha_YYYY=fecha.getFullYear();
				var fecha_MM=(fecha.getMonth()+1);
				if (fecha_MM < 10){ 
					fecha_MM="0"+fecha_MM; 
				}
				var fecha_DD=fecha.getDate();
				if (fecha_DD < 10){ 
					fecha_DD="0"+fecha_DD; 
				}
				var miFechaPedida=new String(fecha_YYYY);
				miFechaPedida +=fecha_MM; 
				miFechaPedida +=fecha_DD; 
				for(i=0;i<fechas.length;i++){
					if(fechas[i]==miFechaPedida){						
						efm_modal_eventos("/eventosefm/" + fecha_YYYY + "/" + fecha_MM  +"/" + fecha_DD+ "/", "modal modal_conditions");						
                    	}
				}
			}
		);
	};
	
	var calendarCallback = function($td, thisDate, month, year) {
		var fecha = dateFormat(thisDate,"yyyymmdd");
		if(fecha>=fechas[0] && fecha<=fechas[(fechas.length-1)]){
			var disabled = true;
			for(i=0;i<fechas.length;i++){
				if(fecha==fechas[i]){
					disabled = false;
					$td.addClass("event")
					break;
				}
			}
			if(disabled){
				$td.addClass("disabled")
			}
		}
	}
	
	var dateFormat = function () {
		var	token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
			timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
			timezoneClip = /[^-+\dA-Z]/g,
			pad = function (val, len) {
				val = String(val);
				len = len || 2;
				while (val.length < len) val = "0" + val;
				return val;
			};

		// Regexes and supporting functions are cached through closure
		return function (date, mask, utc) {
			var dF = dateFormat;

			// You can't provide utc if you skip other args (use the "UTC:" mask prefix)
			if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) {
				mask = date;
				date = undefined;
			}

			// Passing date through Date applies Date.parse, if necessary
			date = date ? new Date(date) : new Date;
			if (isNaN(date)) throw SyntaxError("invalid date");

			mask = String(dF.masks[mask] || mask || dF.masks["default"]);

			// Allow setting the utc argument via the mask
			if (mask.slice(0, 4) == "UTC:") {
				mask = mask.slice(4);
				utc = true;
			}

			var	_ = utc ? "getUTC" : "get",
				d = date[_ + "Date"](),
				D = date[_ + "Day"](),
				m = date[_ + "Month"](),
				y = date[_ + "FullYear"](),
				H = date[_ + "Hours"](),
				M = date[_ + "Minutes"](),
				s = date[_ + "Seconds"](),
				L = date[_ + "Milliseconds"](),
				o = utc ? 0 : date.getTimezoneOffset(),
				flags = {
					d:    d,
					dd:   pad(d),
					ddd:  dF.i18n.dayNames[D],
					dddd: dF.i18n.dayNames[D + 7],
					m:    m + 1,
					mm:   pad(m + 1),
					mmm:  dF.i18n.monthNames[m],
					mmmm: dF.i18n.monthNames[m + 12],
					yy:   String(y).slice(2),
					yyyy: y,
					h:    H % 12 || 12,
					hh:   pad(H % 12 || 12),
					H:    H,
					HH:   pad(H),
					M:    M,
					MM:   pad(M),
					s:    s,
					ss:   pad(s),
					l:    pad(L, 3),
					L:    pad(L > 99 ? Math.round(L / 10) : L),
					t:    H < 12 ? "a"  : "p",
					tt:   H < 12 ? "am" : "pm",
					T:    H < 12 ? "A"  : "P",
					TT:   H < 12 ? "AM" : "PM",
					Z:    utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
					o:    (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
					S:    ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
				};

			return mask.replace(token, function ($0) {
				return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
			});
		};
	}();
	
	// Some common format strings
	dateFormat.masks = {
		"default":      "ddd mmm dd yyyy HH:MM:ss",
		shortDate:      "m/d/yy",
		mediumDate:     "mmm d, yyyy",
		longDate:       "mmmm d, yyyy",
		fullDate:       "dddd, mmmm d, yyyy",
		shortTime:      "h:MM TT",
		mediumTime:     "h:MM:ss TT",
		longTime:       "h:MM:ss TT Z",
		isoDate:        "yyyy-mm-dd",
		isoTime:        "HH:MM:ss",
		isoDateTime:    "yyyy-mm-dd'T'HH:MM:ss",
		isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
	};

	// Internationalization strings
	dateFormat.i18n = {
		dayNames: [
			"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
			"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
		],
		monthNames: [
			"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
			"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
		]
	};

	// For convenience...
	Date.prototype.format = function (mask, utc) {
		return dateFormat(this, mask, utc);
	};



/* mod_calendar
	-----------------------------------------------------------------------------------------------------*/
	
	var testCallback = function($td, thisDate, month, year) {
		logBug(thisDate.getTime()+">="+convertToDateObject(fechas[0]).getTime() +"&&"+ thisDate.getTime()+"<="+convertToDateObject(fechas[(fechas.length-1)]).getTime());
		if(thisDate.getTime()>=convertToDateObject(fechas[0]).getTime() && thisDate.getTime()<=convertToDateObject(fechas[(fechas.length-1)]).getTime()){
			var disabled = true;
			for(i=0;i<fechas.length;i++){
				if(thisDate.getTime()==convertToDateObject(fechas[i]).getTime()){
					disabled = false;
					break;
				}
			}
			if(disabled){
				$td.addClass("disabled")
			}
		}
	}
	
	function mod_calendar() {
		var $dp = $('.turn-me-into-datepicker').datePicker({
			inline:true,
			dateFormat:'ddMMyy',
			//startDate:formatDate(fechas[0]),
			//endDate:formatDate(fechas[(fechas.length-1)]),
		    constrainInput: true,
		    renderCallback:testCallback
		})
		$dp.dpSetSelected(getCurrentDate());
		$dp.bind(
			'dateSelected',
			function(e, selectedDate, $td){
				var fecha=new Date(selectedDate);
				var fecha_YYYY=fecha.getFullYear();
				var fecha_MM=(fecha.getMonth()+1);
				if (fecha_MM < 10){ 
					fecha_MM="0"+fecha_MM; 
				}
				var fecha_DD=fecha.getDate();
				if (fecha_DD < 10){ 
					fecha_DD="0"+fecha_DD; 
				}
				var miFechaPedida=+fecha_YYYY+fecha_MM+fecha_DD; 
				for(i=0;i<fechas.length;i++){
                    if(fechas[i]==miFechaPedida){
                            window.location.href = programIndex + sectionUrl + "_" + miFechaPedida + ".html";
                    }
				}
			}
		);
	};
	
	function convertToDateObject(d){
		return new Date(d.substring(0,4),(parseInt(d.substring(4,6))-1),d.substring(6,8))		
	}
	
	function formatDate($date){
		if(isNaN($date)){
		return null
		}
		return $date.substring(6,8) + "/" + $date.substring(4,6) + "/" + $date.substring(0,4)
	}
	
	function zeroFill($e){
		if($e<10){
			$e = "0" + $e
		}
		return $e;		
	}
	
	function getCurrentDate(){
		var $url = window.location.href;
		var $index = $url.lastIndexOf(".html");
		if($index==-1){
			return null
		}
		var $dateStr = $url.substring($index-8,$index)
		var $date = formatDate($dateStr);
		return $date;
	}
	
	function mod_calendar_bulletin() {
		$('.date-pick').datePicker({disabled:true});
		var $today = new Date();
		var $endDate = zeroFill($today.getDate()) + "/" + zeroFill(($today.getMonth()+1)) + "/" + $today.getFullYear();
		var $dp = $('.turn-me-into-datepicker')
		.datePicker({
				inline:true,dateFormat:'ddMMyy',
				startDate:startDate,
				endDate:$endDate
		})
		if(getCurrentDate()!=null){
			$dp.dpSetSelected(getCurrentDate());
		}else{
			$dp.dpSetSelected($endDate);
		}
		$dp.bind(
			'dateSelected',
			function(e, selectedDate, $td){
				var fecha=new Date(selectedDate);
				var fecha_YYYY=fecha.getFullYear();
				var fecha_MM=(fecha.getMonth()+1);
				if (fecha_MM < 10){ 
					fecha_MM="0"+fecha_MM; 
				}
				var fecha_DD=fecha.getDate();
				if (fecha_DD < 10){ 
					fecha_DD="0"+fecha_DD; 
				}
				var miFechaPedida=+fecha_YYYY+fecha_MM+fecha_DD;
				if(formatDate(miFechaPedida) == $endDate){
					window.location.href = "./";
				}else{
					window.location.href = "boletines_" + miFechaPedida + ".html";
				}
			}
		);
	};


/*	mod_programacion
	----------------------------------------------------------------------------------------------------*/
	function mod_programacion() {
		$.ajax({
			type: 'GET',
			url: /mobileDevice/ + 'efmGrid.xml',
			dataType: "xml",
			context: document.body,
			success: function(xml){
				$(xml).find('programa').each(function(){
					columna = $(this).parent().parent().attr('dayOfWeek');
					nombre_programa = '<p>' + $(this).find('nombre__programa').text() + '</p>';
					hora_init = $(this).find('horaInicio').text().split(':')[0];
					hora_fin = $(this).find('horaFin').text().split(':')[0];
					media_hora_init = $(this).find('horaInicio').text().split(':')[1];
					media_hora_fin = $(this).find('horaFin').text().split(':')[1];
					if (hora_fin < hora_init){hora_fin = parseInt(hora_fin) + 24};
					duracion = (hora_fin - hora_init) * 2;
					if (media_hora_init >= 30){duracion = duracion - 1};
					if (media_hora_fin >= 30){duracion = duracion +1};
					alt_init = ($('.mod_programacion .horario li').height())+1;
					alt_calculada = (duracion)*alt_init;
					padding = (alt_calculada/2)-10;
					alt_def = alt_calculada - padding -1; // eliminar -1 si no lleva margen
					if (duracion == 1){alt_def = alt_calculada}
					style = {
						'height' : alt_def,
						'padding-top' : padding
					}
					programa = $(nombre_programa).css(style)

					// build:
					$('<li></li>').html(programa).appendTo('.mod_programacion ul.dia_' + columna).addClass('height_' + alt_calculada);
				})
			}
		})
	};


/*	mod_buscador
	----------------------------------------------------------------------------------------------------*/
	function mod_buscador() {
		$("form[id^='gs']").submit(function(event){
			event.preventDefault();
			submitQuery(event.target);
		});
		$('.date-pick').datePicker({disabled:true});
		$('.turn-me-into-datepicker')
		.datePicker({inline:true,dateFormat:'ddMMyy'}).bind(
			'dateSelected',
			function(e, selectedDate, $td){
				var fecha=new Date(selectedDate);
				var fecha_YYYY=fecha.getFullYear();
				var fecha_MM=(fecha.getMonth()+1);
				if (fecha_MM < 10){ 
					fecha_MM="0"+fecha_MM; 
				}
				var fecha_DD=fecha.getDate();
				if (fecha_DD < 10){ 
					fecha_DD="0"+fecha_DD; 
				}
				var miFechaPedida=fecha_DD+""+fecha_MM+""+fecha_YYYY; 
				$("form :input").val("");
				$("#date1").val(miFechaPedida);
				$("#date2").val(miFechaPedida);
				$("form#gsres").find("#termino").val("antena3.com");
				$("form#gsres").submit();
			}
		)
	}

	function efm_modal_eventos(url, estilo) {	
		href = url;
		cl = estilo;
		$('<div class="efm_modal_overlay ' + cl + '"><div class="efm_modal_lay"><a class="close"></a><iframe src="' + href + '"></iframe></div></div>').appendTo('body');						
		var overlay_2 = $('.efm_modal_overlay');
		overlay_2.removeClass('efm_modal');
		modal_lay = $('.efm_modal_lay');
		close_lay = overlay_2.find('.close');
		modal_lay.hide();
		setTimeout(function () {
			modal_lay.fadeIn(500)
		}, 200)
		overlaywidth = overlay_2.width();
		iframewidth = overlay_2.find('iframe').width();
		position_def = ((overlaywidth/2) + (iframewidth/2)) - 25
		cssObj = {
			'left' : position_def + 'px',
			'top' : '10px',
			'z-index' : modal_lay.css('z-index') + 100
		}
		close_lay.css(cssObj).click(function(e) {
			e.preventDefault();
			$(this).parent().parent().fadeOut()
		})
	}

	function goNextHtml(siguiente) {
		$.ajax({
			dataType: "html",
			url: siguiente,
			success: function(data) {
				$("div#mod_artistas_paginado").html($(data).html());	
			},
			error: function()  {}
		});
	}
	/* Funciones ranking de artistas */
	function goPreviousHtml(anterior) {
		$.ajax({
			dataType: "html",
			url: anterior,
			success: function(data){
				$("div#mod_artistas_paginado").html($(data).html());	
			},
			error: function() {}
		});
	}

/*	mod_buscador
	----------------------------------------------------------------------------------------------------*/

	function mod_concursos_trivial(target) {
		pregunta_total = $(target).find('.pregunta').length
		contador_total = $(target).find('.numero_pregunta .total')
		participado = true					// condicion si has participado ya
		if (participado == true){
			$('.fn_participa').bind('click', function(){
//				var login_conectado = testSessionOnClient();
				href = $(this).attr('href')		// url de login
				cl = 'mod_concursos_trivial_login';
				lay_current = $(this).parent().parent().parent()
				lay_next = lay_current.next()
				//if ($('.mod_concursos_trivial form #logado').val() == 'false'){
				$.ajax({	
					async: false,
					cache: false,
					  type: "GET",
					  dataType: "jsonp", 
					  
					   url: "" + restDomain + "getCookies.action", 		   
					   success: function(data) {			   
						   var galletas = data.respuesta;	
						   conectado = getCookie_('zona3_user_login', galletas);
						   if (conectado == null){
								abre_popup();
								return false;
							} else {
								pasa_pantalla();
								numero_pregunta();
								return false;
							}
					   	}
					   });//jsonp
				
			})
		} else {
			$(target).find('.fn_participa').hide()
			$(target).find('.intro .red').show()
		}
		
		$('.fn_pregunta').bind('click', function(){
			lay_current = $(this).parent().parent().parent()
			lay_next = lay_current.next()
			checked = $(this).parent().parent().parent().find("input:checked").length
			if (checked > 0){
				pasa_pantalla();
			} else {
				alert('Selecciona una opcion')
			}
			numero_pregunta();
		})
		$('.pregunta:last-child .fn_pregunta').bind('click', function(){
			lay_current = $(this).parent().parent().parent().parent().parent().parent()
			lay_next = lay_current.next()
			checked = $(this).parent().parent().parent().find("input:checked").length
			if (checked > 0){
				pasa_pantalla();
			} else {
				alert('Selecciona una opcion')
			}
			numero_pregunta();
			$('#concurso').submit();
		})
		
		function conectado(data){
			
		}
		// mtds:
		function abre_popup() {
			$('<div class="efm_modal_overlay ' + cl + '"><div class="efm_modal_lay"><a class="close"></a><iframe src="' + href + '"></iframe></div></div>').appendTo('body');						
			var overlay_2 = $('.efm_modal_overlay');
			overlay_2.removeClass('efm_modal');
			modal_lay = $('.efm_modal_lay');
			close_lay = overlay_2.find('.close');
			modal_lay.hide();
			setTimeout(function () {
				modal_lay.fadeIn(500)
			}, 200)
			overlaywidth = overlay_2.width();
			iframewidth = overlay_2.find('iframe').width();
			position_def = ((overlaywidth/2) + (iframewidth/2)) - 25
			cssObj = {
				'left' : position_def + 'px',
				'top' : '10px',
				'z-index' : modal_lay.css('z-index') + 100
			}
			close_lay.css(cssObj).click(function(e) {
				e.preventDefault();
				$(this).parent().parent().fadeOut()
			})
		}
		function pasa_pantalla() {
			lay_current.hide()
			lay_next.show()
		}
		function numero_pregunta() {
			$(contador_total).text(pregunta_total)
		}
	}
	
$(document).ready(function(){
	efmInit();
});
