﻿/* 20090820-1359 */
/**
* Shared functions
******/

// Open Popup
/*
 * PARAMETERS
 * - url (URL of the popup)
 * - name (Name of the popup)
 * - w (Width)
 * - h (Height)
 * - scrolling (no = 0 / yes = 1)
 */
function openPopup(url,name,w,h,scrolling) {
	var leftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	var topPosition = (screen.height) ? (screen.height-h)/2 : 0;
	var settings = "height="+h+",width="+w+",top="+topPosition+",left="+leftPosition+",scrollbars="+scrolling+",resizable=0";
	return window.open(url,name,settings);
}

// Popup editorial
function abre(url,janela,larg,alt,scroll){
	if (!scroll) { scroll='auto' }
	window.open(url,janela,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars="+scroll+",resizable=no,copyhistory=no,width="+larg+",height="+alt);
}


/**
* Apps behaviors
******/
// TerraTV / Sonora
var behaviorsTerratvSonora = function() {
	$(".mod-terratvsonora .tabs").tabs();

	// Terratv
	var objTerratv = $(".ctn-terratv");
	objTerratv.find("ol li").hide();
	objTerratv.find("ol li:first").show();
	objTerratv.find(".ctn-terratv-controls em").html("1 / "+objTerratv.find("ol li").size());
	
	// Next
	objTerratv.find(".lnk-next").click(function() {
		var objVisible = objTerratv.find("ol li:visible").hide();
		objVisible.next().show();
		if (objVisible.next().size() > 0) {
			objVisible.next().show();
		} else {
			objTerratv.find("ol li:first").show();
		}
		// Counter
		objTerratv.find(".ctn-terratv-controls em").html((objTerratv.find("ol li").index(objTerratv.find("ol li:visible"))+1)+" / "+objTerratv.find("ol li").size());
		return false;
	});
	
	// Prev
	objTerratv.find(".lnk-previous").click(function() {
		var objVisible = objTerratv.find("ol li:visible").hide();
		if (objVisible.prev().size() > 0) {
			objVisible.prev().show();
		} else {
			objTerratv.find("ol li:last").show();
		}
		// Counter
		objTerratv.find(".ctn-terratv-controls em").html((objTerratv.find("ol li").index(objTerratv.find("ol li:visible"))+1)+" / "+objTerratv.find("ol li").size());
		return false;
	});
}

// TerraTV
var behaviorsTerratv = function() {
	var objTerratv = $(".mod-terratv");
	objTerratv.find("ol li").hide();
	objTerratv.find("ol li:first").show();
	objTerratv.find(".ctn-terratv-controls em").html("1 / "+objTerratv.find("ol li").size());
	
	// Next
	objTerratv.find(".lnk-next").click(function() {
		var objVisible = objTerratv.find("ol li:visible").hide();
		objVisible.next().show();
		if (objVisible.next().size() > 0) {
			objVisible.next().show();
		} else {
			objTerratv.find("ol li:first").show();
		}
		// Counter
		objTerratv.find(".ctn-header em").html((objTerratv.find("ol li").index(objTerratv.find("ol li:visible"))+1)+" / "+objTerratv.find("ol li").size());
		return false;
	});
	
	// Prev
	objTerratv.find(".lnk-previous").click(function() {
		var objVisible = objTerratv.find("ol li:visible").hide();
		if (objVisible.prev().size() > 0) {
			objVisible.prev().show();
		} else {
			objTerratv.find("ol li:last").show();
		}
		// Counter
		objTerratv.find(".ctn-header em").html((objTerratv.find("ol li").index(objTerratv.find("ol li:visible"))+1)+" / "+objTerratv.find("ol li").size());
		return false;
	});
}

// Featured photos
var behaviorsFeaturedPhotos = function() {
	var timeZoom = null;
	$(".mod-featuredmedia").find(".lnk-thumb").mouseover(
		function() {
			obj = $(this).parents("li");
			obj.zoomImageThumb(1);
			timeZoom = setTimeout(function() {obj.zoomImageThumb(0);},200);
		}
	);
	$(".mod-featuredmedia").find(".lnk-zoomhit").hover(
		function() {
			clearTimeout(timeZoom);
		},
		function() {
			$(this).parents("li").zoomImageThumb(0);
		}
	);
	
	$(".mod-featuredmedia").find('ul a').click(function(evt){
		if(modMan.tools.isNewGalleryUrl(evt.target.href)) return true;
		evt.preventDefault();
		modMan.tools.openPopup(evt.target.href,"FeaturedPhoto",800,600,0);
	});
}

// Audience pulse vertical
var behaviorsAudiencePulseVertical = function() {
	// identificando containers de galerias com ids (embora não devessem estar replicados...)
	$(".mod-audience_pulse_ver:first").find("div[id*='tab-photos']").click(function(evt){
		var target = evt.target,
			href = null;
		
		for( var i = 0; i < 2; i++){
			if(target.href && !target.src) {
				href = target.href;
				break;
			} else target = target.parentNode;
		}
		if(target.href){
			// Função provisória para detectar novas galerias
			if(modMan.tools.isNewGalleryUrl(target.href)) return true;
			
			evt.preventDefault();				
			modMan.tools.openPopup(target.href,"AudiencePhoto",800,600,0);			
		}
	});
	
	$(".mod-audience_pulse_ver .ctn-ads-particles").css("top",($(".mod-audience_pulse_ver .tab-content:visible .mod-noticias").offset()["top"]-$(".mod-audience_pulse_ver").offset()["top"]+41)+"px");
	$(".mod-audience_pulse_ver .combobox").combobox();
	$(".mod-audience_pulse_ver .scrolling").scrolling();
	$(".mod-audience_pulse_ver .cmb-value").initClickOut();
	$(".mod-audience_pulse_ver .tabs").tabs();
	

	
	$(".mod-audience_pulse_ver .lnk-videos, .mod-audience_pulse_ver .lnk-photos, .mod-audience_pulse_ver .lnk-series").mouseup(function() {
		$("."+$(this).attr("class")).click();
		$(".mod-audience_pulse_ver .ctn-ads-particles").css("top",($(".mod-audience_pulse_ver .tab-content:visible .mod-noticias").offset()["top"]-$(".mod-audience_pulse_ver").offset()["top"]+41)+"px");
	});
}

// Audience pulse horizontal
var behaviorsAudiencePulseHorizontal = function() {
	$(".mod-audience_pulse_hor .tabs").tabs();

	$(".mod-audience_pulse_hor a.lnk-thumb").mouseover(
		function() {
			obj = $(this);
			obj.parent().zoomImageThumb(1);
		}
	);
	$(".mod-audience_pulse_hor li").hover(
		function() {
		},
		function() {
			obj = $(this);
			obj.zoomImageThumb(0);
		}
	);

	$(".mod-audience_pulse_hor #tab-photos a").click(function(){
		// Função provisória para detectar novas galerias
		if(modMan.tools.isNewGalleryUrl($(this).attr("href"))) return true;

		openPopup($(this).attr("href"),"AudiencePhoto",800,600,0);
		return false;
	});
}

// Shortcuts
var behaviorsShortcuts = function() {
	$(".mod-shortcuts .combobox").combobox();
	$(".mod-shortcuts .scrolling").scrolling();
	$(".mod-shortcuts .clickout, .cmb-value").initClickOut();
}

// Football Directory
var behaviorsFootballDirectory = function() {
	$(".mod-football-directory .combobox").combobox();
	$(".mod-football-directory .scrolling").scrolling();
	$(".mod-football-directory .clickout, .cmb-value").initClickOut();
	$(".mod-football-directory .tabs").tabs();
}

// Communities
var behaviorsCommunities = function() {
	if ($(".mod-communities").find(".mosaic li").size() > 0) {
		$(".mod-communities").find(".mosaic li").hover(
			function() {
				$(this).zoomImageThumb(1);
			},
			function() {
				$(this).zoomImageThumb(0);
			}
		);
	}
}

// Poll
var behaviorsPoll = function() {
	var recipient = $('.mod-poll');
	recipient.find(".btn-vote").click(function() {
		openPopup("","popupPoll","264","349",0);
		recipient.find("form").get(0).submit();
		return false;
	});

	$.checkboxRadiobutton(recipient);
}

// Clock
var behaviorsClock = function(countryCode){
	var RECIPIENT = $('.mod-clock'),
		countryCode = countryCode || "BR";
	
	
	var usa = (countryCode == 'US') ? true : false,
		interval = 0,
		timeOutMethod = false,
		considerCurrentGMT = false,
		sufix = false,
		sep = "h";
	
	var sync = function(){
		if(!window['syncClock']) window['syncClock'] = this.constructor;
		
		var date = (considerCurrentGMT) ? new Date() : new Date().toGMT(countryCode);
		//var date = new Date();
		
		interval = 60 - parseInt(date.getSeconds());
		var hours = date.getHours();
		var minutes = date.getMinutes();
		
		
		if(countryCode != 'BR') sep = "doispontos";
		if (usa){
			if(parseInt(hours)>12) {
				hours = parseInt(hours) - 12;
				sufix = "pm";
			} else {
				sufix = "am";
			}
		}
		if(parseInt(hours)<10) hours = '0'+ parseInt(hours);
		if(parseInt(minutes)<10) minutes = '0'+parseInt(minutes);
		
		var h1 = hours.toString().substr(0,1),
			h2 = hours.toString().substr(1,1),
			m1 = minutes.toString().substr(0,1),
			m2 = minutes.toString().substr(1,1);

		var HTML = ''+
		'<span class="clock-'+h1+'">'+h1+'</span>'+
		'<span class="clock-'+h2+'">'+h2+'</span>'+
		//'<span class="clock-'+sep+'">'+(/[^\d]/).exec(modMan.tools.adjustTime(date))+'</span>'+
		'<span class="clock-'+sep+'">h</span>'+
		'<span class="clock-'+m1+'">'+m1+'</span>'+
		'<span class="clock-'+m2+'">'+m2+'</span>';
		
		if(usa) {
			if(!considerCurrentGMT) HTML += '<span class="clock-'+sufix+' et">'+sufix+'</span><span class="clock-et">ET</span>';
			else HTML += '<span class="clock-'+sufix+'">'+sufix+'</span>';
		}
		RECIPIENT.find('.clock').html(HTML);
		
		if(!window['timeOutMethod']) clearInterval(window['timeOutMethod']);
		
		window['timeOutMethod'] = setTimeout("window['syncClock']();",interval *1000);
	}
	new sync();
}
	
// More News
var behaviorsMoreNews = function (){
	$('.mod-morenews').tabs();
	
	behaviorsClock();
};