﻿/* 20120119-1743:31 */

// GLOBAL
var tabSelected = "",
	tabPhotosClicked = false,
	ajaxBaseUrl = '',
	metricsLoaded = false,
	modulesArray = [],
	countryPage = window.location.hostname.split("."),

	AD_PLACEHOLDER_SELECTOR_PREFIX = "#tgm-",
	AD_CONTAINER_SELECTOR_PREFIX = "#ctn-tgm-",
	VERTICAL_FLOATED_ADS = ['buttontools', 'bottom', 'textlinks'];

countryPage = countryPage[countryPage.length-1].replace("/", "");

// positionAds
var positionAds = function (selector, positioner) {
	if(!$(positioner).length || !$(selector).length) {
		modMan.log.critical(
			'Erro ao localizar container de origem ou destino para publicidade.\n'+
			'selector de origem: ' + selector + '\n'+
			'selector de destino: ' + positioner
		);
		return;
	}
	$(selector).css("top",$(positioner).offset().top);
}

var placeAds = function(){
	try {
		if(VERTICAL_FLOATED_ADS.length){
			window.setTimeout(function(){
				for(var i = 0, currentTag; currentTag = VERTICAL_FLOATED_ADS[i]; i++){
					if($(AD_PLACEHOLDER_SELECTOR_PREFIX + currentTag).length && $(AD_CONTAINER_SELECTOR_PREFIX + currentTag).length)  {
						modMan.log.checkpoint('Reposicionando ad ' + currentTag);
						positionAds(AD_CONTAINER_SELECTOR_PREFIX + currentTag, AD_PLACEHOLDER_SELECTOR_PREFIX + currentTag);
					} else modMan.log.warning('Não foi possível encontrar a peça <strong>' + currentTag + '</strong> para reposicioná-la. <br/>Placeholder: ' + !!($(AD_PLACEHOLDER_SELECTOR_PREFIX + currentTag).length) + ' » Container: ' + !!($(AD_CONTAINER_SELECTOR_PREFIX+ currentTag).length));
				}
			}, 100);
		}
	} catch(e){
		modMan.log.critical('[Erro encontrado na placeAds] » ' + e.message);
	}
}

var getMetricsTypeParam = function(tabSelected){
	tabSelected = tabSelected || '';
	var type = '';

	switch(tabSelected) {
		case "itm-article":
			type = "NOT";
			break;
		case "itm-video":
			type = "VID";
			break;
		case "itm-info":
			type = "IFG";
			break;
		case "itm-photos":
			type = "GAL";
			break;
		default:
			type = "NOT";
	}

	return type;
}

// Font resize
var fontResize = function(selector) {
	var resize = function(element) {
		var range = 20;

		var indexSize = $(selector).find(".ctn-fontsize a").index(element);
		var newSize = indexSize * range + 80;

		// Active
		$(selector).find(".ctn-fontsize a").removeClass("act");
		element.addClass("act");

		// Adjust size
		$(selector).find(".fontsize").each(function() {
			$(this).css("font-size",newSize+"%");
		});
	}

	$(selector).find(".ctn-fontsize a").click(function(evt) {
		resize($(this));
		evt.preventDefault();
	});
}


// Pages
var navigationPages = function() {

	var $articleContainer = $("#article"),
		$anchor = $("a[name='header']"),
		$controls = $articleContainer.find(".pages"),
		$previousButton = $controls.find("a:first"),
		$nextButton = $controls.find("a:last"),
		$navigationLevel = $controls.find("strong"),

		anchorPositionX = ($anchor.length) ? $anchor.offset().top : 0,
		currentPage = 1,
		TOTAL_PAGES = $navigationLevel.find("span").html(),
		OF = modMan.globals.page.lang == 'en' ? ' of ' : ' de ';

	var navigate = function(action) {
		$articleContainer.find(".p"+currentPage).hide();
		currentPage = currentPage+action;
		$articleContainer.find(".p"+currentPage).show();

		$navigationLevel.html(currentPage + OF + TOTAL_PAGES);

		// Class prev/next button
		if (currentPage == 1) $previousButton.removeClass("p").addClass("p-off");
		else $previousButton.removeClass("p-off").addClass("p");

		if (currentPage == TOTAL_PAGES) $nextButton.removeClass("n").addClass("n-off");
		else $nextButton.removeClass("n-off").addClass("n");
	}

	// navigation controls
	$controls.click(function(evt) {
		var target = evt.target;

		if(target.tagName == "A" && !(/-off$/).test(target.className)){
			if ($(target).hasClass("p")) navigate(-1);
			if ($(target).hasClass("n")) navigate(1);

			// scroll to anchor position
			scrollTo(0, anchorPositionX);
		}

		modMan.tools.metrics.regTraffic();

		placeAds();

		evt.preventDefault(); // prevent default behavior
	});
}();

// Layers
var createLayer = function(url,callback) {
	var info_service = (window.terra_info_service) ? window.terra_info_service['itm-article'] || terra_info_service : '';
	if(modMan && modMan.globals.page.country == "US" && info_service && info_service.match(/PubUS/i)) url = '/shared_tpl/' + url;
	else if(modMan && info_service && info_service.match(/PubMX|Pubv7/i)) url = '/' + url;

	if (info_service.match(/Pubv7/i)) {
		url = url.replace(/printing\.html$/, 'printing_'+modMan.globals.page.lang+'.html');
	}

	$(".ctn-over").remove();
	$.ajax({
		url: url,
		cache: false,
		success: function(html){
			$("#trr-ctn-body").prepend(html);

			// Close layer
			$(".ctn-over .lnk-close").click(function(evt) {
				$(".ctn-over").remove();

				evt.preventDefault(); // prevent default behavior
			});

			if (typeof(callback) != "undefined") callback();
		}
	});
};

// Printing
$(".ico-print").click(function(evt) {
	createLayer("printing.html",function() {
		// Position
		$(".ctn-print").css("top",$(".mod-content:eq(1)").offset().top+"px");

		//  Title
		$(".ctn-print .mod-content").before($(".mod-title").clone());

		// Content
		$(".col-left-full .printing").each(function() {
			$(".ctn-print .mod-content").append($(this).clone());
		});

		// Mirror content classes inside the printable div
		$(".ctn-print .mod-content:eq(0)").attr('class', $(".mod-content:eq(1)").attr('class'));

		// Remove links
		$(".ctn-print .contextlink").each(function() {$(this).replaceWith("<span>"+$(this).text()+"</span>");});

		// Links
		$(".ctn-print .mod-links li a").each(function() {
			$(this).after("<cite>"+$(this).attr("href")+"</cite>");
		});

		// Bottom
		$(".ctn-bottom span").html($(".ctn-print .mod-title a strong").html());
		$(".ctn-bottom strong").html(window.location.href);
		if ($("#article").size() > 0) {
			$(".ctn-bottom .txt-gallery").hide();
		} else {
			$(".ctn-bottom .txt-article").hide();
		}

		if ($(".img-article").size() > 0) {
			$.checkboxRadiobutton($(".ctn-print"));
		} else {
			$(".ctn-commands label, input").hide();
		}
		fontResize(".ctn-print");
		$.include(["_js/jquery.jqdnr.js","_js/jquery.wheel.js","_js/jquery.elementposition.js","_js/jquery.scrolling.js"], function(){
			$(".ctn-print .scrolling").scrolling();
		});

		// Print
		$(".ctn-print .btn-print").click(function() {
			window.print();
			return false;
		});

		// Show hide photo
		$(".ctn-print .chk-replace, .ctn-print input:checkbox + label").mouseup(function() {
			// objCheckbox
			var objCheckbox = null;
			if ($(this).is("label")) {
				objCheckbox = $(this).prev();
			} else {
				objCheckbox = $(this).next();
			}

			if (objCheckbox.attr("checked")) {
				$(".ctn-print .img-article").show();
			} else {
				$(".ctn-print .img-article").hide();
			}
		});
	});

	modMan.tools.metrics.regEvent('Imprimir'); // hit metrics

	evt.preventDefault(); // prevent default behavior
});

fontResize(".col-left-full");

var $articleContainer = $("#article");
if(!$articleContainer.length) modMan.tools.metrics.regTraffic();
else {
	$(".col-left-full .tabs").tabs();

	// Author + About info > V6 Compliance
	var misplacedTag = $("#SearchKey_Text1 dl");
	if (misplacedTag.length){
		var missplacedHTML = misplacedTag.html() || null,
			authorInformationTag = $('dl.author:first');
		if(missplacedHTML) {
			authorInformationTag.html(missplacedHTML);
			misplacedTag.remove();
		}
		if(!authorInformationTag.find('dt').length){
			authorInformationTag.html("<dt>&nbsp;</dt><dd>&nbsp;</dd>");
		}
	}

	// Tabs events
	$(".col-left-full .tab-list li a").click(function() {
		tabSelected = $(this).attr("class").split(" ")[0];

		// Hit metrics
		if(!window.trrMetrics){ // old way (trecho mantido para facilitar a implementação em produção)
			if(metricsLoaded) modMan.tools.metrics.regTraffic({terra_info_type:getMetricsTypeParam(tabSelected)});
			else {
				modMan.tools.metrics.regTraffic({
					terra_info_service : (window.terra_info_service || {})[tabSelected] || window.terra_info_service,
					terra_info_channel: (window.terra_info_channel || {})[tabSelected] || window.terra_info_channel,
					terra_info_channeldetail: (window.terra_info_channeldetail || {})[tabSelected] || window.terra_info_channeldetail,
					terra_info_type: (window.terra_info_type || {})[tabSelected] || getMetricsTypeParam(tabSelected),
					terra_info_id: (window.terra_info_id || {})[tabSelected] || window.terra_info_id,

					terra_stats_regCLK: (window.terra_stats_regCLK || {})[tabSelected] || window.terra_stats_regCLK,
					terra_stats_idCrtfc: (window.terra_stats_idCrtfc || {})[tabSelected] || window.terra_stats_idCrtfc,
					terra_stats_uv_c: (window.uv_c || window.terra_stats_uv_c || {})[tabSelected] || window.terra_stats_uv_c || window.uv_c
				});
				metricsLoaded = true;
			}
		} else {

			var tabName = tabSelected.match(/article|video|photos|info$/) || 'article',
				metricsDeclarationScope = (window.trrMetrics && window.trrMetrics[tabName]) ? window.trrMetrics[tabName] : window;

			// Hit metrics
			modMan.tools.metrics.regTraffic({
				terra_info_service: metricsDeclarationScope.terra_info_service || '',
				terra_info_channel: metricsDeclarationScope.terra_info_channel || '',
				terra_info_channeldetail: metricsDeclarationScope.terra_info_channeldetail || '',
				terra_info_type: metricsDeclarationScope.terra_info_type || '',
				terra_info_id: metricsDeclarationScope.terra_info_id || '',

				terra_stats_regCLK: metricsDeclarationScope.terra_stats_regCLK || '',
				terra_stats_idCrtfc: metricsDeclarationScope.terra_stats_idCrtfc || '',
				terra_stats_uv_c: metricsDeclarationScope.terra_stats_uv_c || metricsDeclarationScope.uv_c || ''
			});
		}

		// Create / destroy video
		var objLink = $(this);
		$(".ctn-video").each(function() {
			// Destroy
			if ($(this).find("iframe").size() > 0) {
				$(this).prepend('<a href="'+$(".ctn-video iframe").attr("src")+'"></a>');
				$(this).find("iframe").remove();
			}
		});

		// Create
		$(objLink.attr("href").replace("#t","#")).find(".ctn-video").prepend('<iframe height="386" frameborder="0" width="480" scrolling="no" src="'+$(objLink.attr("href").replace("#t","#")).find(".ctn-video a").attr("href")+'">');
		$(objLink.attr("href").replace("#t","#")).find(".ctn-video a").remove();

		// Show hide divAnnotatio
		/*
		if ($(this).hasClass("itm-article")) {
			$("#divAnnotatio").show();
			$("#divAnnotatio").next().show();
		} else {
			$("#divAnnotatio").hide();
			$("#divAnnotatio").next().hide();
		}
		*/

		// Show hide tgm-buttontools
		var deployPlaceHolder = $("#tgm-buttontools"),
			deployConainer = $("#ctn-tgm-buttontools");
		if(deployPlaceHolder.length && !deployConainer.length && tabSelected == "itm-article"){
			$(document).ready(function(){
				var containerTag = document.createElement('div');
					containerTag.id = "ctn-tgm-buttontools";
					containerTag.className = "ctn-tgm-advertising";
					containerTag.innerHTML = "<!-- AD tgm-buttontools PLACEHOLDER -->";

				$('#trr-ctn-advertising').append(containerTag);
				reloadADS(["buttontools"]);

				placeAds();
				deployConainer = $("#ctn-tgm-buttontools");
			});
		}
		if(deployConainer.length){
			if ($(this).hasClass("itm-article")) {
				$("#ctn-tgm-buttontools").show();
			} else {
				$("#ctn-tgm-buttontools").hide();
			}
		}

		// Place Ads
		placeAds();
	});

	// Photos
	var setPhotos = function() {

		objGalleryModule = (
			{
				id:"modPhotoGallery",
				selector:'.mod-photos',
				loadSkin:false,
				params:{
					type:"gallery",
					mediaType:"photo",
					autoplay:false,
					carousel:false,
					effects:true,
					onImageLoad:function(imageSrc, loadedImagesNumber){
						placeAds();

						if(loadedImagesNumber > 1) modMan.tools.metrics.regTraffic();
					}
				}
			}
		);

		if ((/#tphotos/).test(document.location)) {
			modulesArray.push(objGalleryModule);
		} else {
			modMan.load([objGalleryModule]);
		}

		$('.col-left-full .tab-list a.itm-photos').unbind("click",setPhotos);
	}
	$('.col-left-full .tab-list a.itm-photos').bind("click",setPhotos);

	// Start
	$(".col-left-full .tab-list li.selected a").click();

	// Aux tabs
	$(".nav .cross a").click(function() {
		$(".tab-list ."+$(this).attr("class")).trigger("click");
		window.scrollTo(0,0);
	});

}

if ($(".col-left-full .combolist").size() > 0) {
	$(".col-left-full .combolist").combobox();
	$(".col-left-full .combolist .scrolling").scrolling();
	$(".col-left-full .combolist .clickout, .col-left-full .combolist .cmb-value").initClickOut();
}

if ($(".mod-latestnews").size() > 0) {
	$(".mod-latestnews").tabs();
}

// MODMAN
if (typeof(modMan) != "undefined"){

	if($('.mod-gallery').length) {
		modulesArray.push(
			{
				id:"modPhotoGallery",
				selector:'.mod-gallery',
				loadSkin:false,
				params:{
					onImageLoad:function(imageSrc, loadedImagesNumber){
						placeAds();

						if(loadedImagesNumber > 1) modMan.tools.metrics.regTraffic();
					},
					type:"gallery",
					mediaType:"photo",
					autoplay:false,
					carousel:false,
					effects:true
				}
			}
		);
	}

	if($('.mod-photoslist').length) {
		modulesArray.push(
			{
				id:"modPhotoGallery",
				selector:'.mod-photoslist',
				loadSkin:false,
				params:{
					type:"list",
					mediaType:"photo",
					autoplay:true,
					carousel:true,
					effects:true,
					onImageLoad:function(imageSrc, loadedImagesNumber){
						placeAds();

						if(loadedImagesNumber > 1) modMan.tools.metrics.regTraffic();
					}
				}
			}
		);
	}

	if($('.mod-videoslist').length) {
		modulesArray.push(
			{
				id:"modPhotoGallery",
				selector:'.mod-videoslist',
				loadSkin:false,
				params:{
					type:"list",
					mediaType:"video",
					autoplay:true,
					carousel:true,
					effects:true,
					onImageLoad:function(imageSrc, loadedImagesNumber){
						placeAds();
						if(loadedImagesNumber > 1) modMan.tools.metrics.regTraffic();
					}
				}
			}
		);
	}

	if($(".mod-poll").length){
		modulesArray.push(
			{
				id:"modPoll",
				selector:'.mod-poll',
				loadSkin:false
			}
		);
	}


	if($(".mod-audience_pulse_ver").length){
		modulesArray.push(
			{
				id:"modAudiencePulseVertical",
				selector:'.mod-audience_pulse_ver:first',
				loadSkin:false
			}
		);
	}

	if($(".mod-clock").length){
		modulesArray.push(
			{
				id:"modClock",
				selector:'.mod-clock',
				skinName:"default",
				loadSkin:false
			}
		);
	}

	/* TABS MOD-035-TERRATV | MOD-066-SONORA */
	var selectedId = "modTerraTv";
	if (window.showsonoradefault) { selectedId = "modSonora"; }
	if ($('.mod-terratvsonora .ctn-modules .mod-terratv').length){ $('.mod-terratvsonora .ctn-modules .mod-terratv').remove(); }
	
	country = modMan.globals.page.country;
	withSonora = function (country) {
	
		if (typeof window.showsonora == 'boolean') {
			return window.showsonora;
		}
		
		acceptSonora = {
			AR: false,
			BR: true,
			CO: false,
			CL: false,
			US: false,
			EC: false,
			MX: true,
			PE: false,
			VE: true
		};
		return (acceptSonora[country] === undefined) ? false : acceptSonora[country];
	};
	if ($('.mod-terratvsonora .ctn-modules').length && withSonora(country)) {
		modulesArray.push(
			{
				id:"modMulti",
				selector:'.mod-terratvsonora',
				loadSkin:false,
				params:{
					selectedModId: selectedId,
					modules:[
					{
						id:"modTerraTv",
						loadSkin:true,
						skinName:"multi_abas",
						params:{
							width:296,
							height:222,
							request_url: (window.Feeds && window.Feeds.terraTV) ?  window.Feeds.terraTV : "http://s1.trrsf.com.br/carousel/br/terratv/br_diversao_terratv.js"
						}
					},
					{
						id:"modSonora",
						loadSkin:true,
						skinName:"2010",
						params:{
							request_url: (window.Feeds && window.Feeds.sonora) ?  window.Feeds.sonora : null
						}
					}
					]
				}
			}
		);
	} else {
		modulesArray.push(
			{
				id:"modMulti",
				selector:'.mod-terratvsonora',
				loadSkin:false,
				params:{
					modules:[
					{
						id:"modTerraTv",
						loadSkin:true,
						skinName:"multi_abas",
						params:{
							width:296,
							height:222,
							request_url: (window.Feeds && window.Feeds.terraTV) ?  window.Feeds.terraTV : "http://s1.trrsf.com.br/carousel/br/terratv/br_diversao_terratv.js"
						}
					}
					]
				}
			}
		);
	}
	/* END TABS MOD-035-TERRATV | MOD-066-SONORA */

	modMan.start({
		configs:{
			//baseURL:((/hlg\./).exec(document.location)) ? "http://hlg.trrsf.com.br/atm/2/core/" : 'http://s2.trrsf.com/atm/2/core/',
			baseURL:'http://s2.trrsf.com/atm/2/core/',
			pageLang:'es',
			pageCountry:window.pais || 'auto',
			lazyLoad:false,
			transitionEffects:false
		},
		modules:modulesArray
	});
}

// Reload ADS
var reloadADS = function(arrADS) {
	if(!arrADS.length) modMan.log.critical('Parâmetro incorreto transmitido à função "reloadADS". O objeto deve ser do tipo Array. Valor atual: <strong>' + typeof(arrADS)+'</strong>.');

	var CONTAINER_SELECTOR_PREFIX = '#ctn-tgm-',
		PLACEHOLDER_SELECTOR_PREFIX = '#tgm-',

		PROXY_TEMPLATE_URL = (/BR/i).test(modMan.globals.page.country) ? 'http://s1.trrsf.com.br/atm/2/core/_tpl/' : 'http://s1.trrsf.com/atm/2/core/_tpl/';

		PROXY_TEMPLATE_URL += 'advertising.html';

	var framedAdUrlTPL = PROXY_TEMPLATE_URL+"?tag="+tgmKey+"&area=#area#&site="+(window.site || '')+"&zone="+(window.zone || '');

	var constructor = function(){
	
		window.et_tile = 1;
	
		while(arrADS.length){
			var currentArea = arrADS.shift(),
				$container = $(CONTAINER_SELECTOR_PREFIX + currentArea),
				$placeholder = $(PLACEHOLDER_SELECTOR_PREFIX + currentArea);

			if($container.length && $placeholder.length){
				var $framedAdElement = $container.find('iframe:first');

				if($framedAdElement.length) $framedAdElement.attr("src",framedAdUrlTPL.replace("#area#",currentArea));
				else $container.html('<iframe src="'+framedAdUrlTPL.replace("#area#",currentArea)+'" scrolling="no" width="'+$placeholder.width()+'" height="'+$placeholder.height()+'" allowtransparency="yes" frameborder="0"></iframe>');
			} else {
				modMan.log.warning('Não foi possível localizar a publicidade com os seletores <strong>'+CONTAINER_SELECTOR_PREFIX + currentArea+'</strong> ou <strong>'+PLACEHOLDER_SELECTOR_PREFIX + currentArea+'</strong>.');
			}
		}
	}

	return constructor();
}

$(".lst-photos a, .col-left-full .tab-list li a, .nav .controls a:eq(1), .nav .controls a:eq(2)").click(function() {
	var adsList = ["top", "right", "pbuttons1", "pbuttons2", "header"];

	var tgmDeployContainer = $('#ctn-tgm-buttontools');
	if(tgmDeployContainer.length && $(this).hasClass('itm-article')) adsList.push("buttontools");

	window.setTimeout(function(){
		reloadADS(adsList);
	},700);
});

// contentSharer
var contentSharer = (function() {
	var topToolbar = {
			selector : "#contentSharerResult",
			container : $("#contentSharerResult")
		},
		 middleToolbar = {
                selector : "#contentSharerResult3",
                container : $("#contentSharerResult3"),
                instance: null
        },
		bottomTollbar = {
			selector : "#contentSharerResult2",
			container : $("#contentSharerResult2")
		};

	if (!topToolbar.container.length && !bottomTollbar.container.length) {
		modMan.log.checkpoint('Não foi possível localizar o elemento container para o módulo de contentSharer');
		return null;
	}

	return function (commentsOn) {
		var metricsValues = modMan.tools.metrics.getCurrentValues(),
			commonConfigs = {
				//wsUrl : "http://ranking.trans-hlg01.terra.com.br",
				wsUrl : "http://ranking.wsv.terra.com",
				country : modMan.globals.page.country.toLowerCase(),
				locale :  modMan.globals.page.locale || "pt-BR",

				socialData : {
					networksList : ['facebook', 'twitter', 'email', 'facebooklike','googlePlusOne'], // all, facebook, twitter, orkut, email, facebooklike, comment
					title : document.title,
					url : $("link[rel=canonical]")[0] ? $("link[rel=canonical]").attr("href") : location.href,
					description : window.annotatio_objectDescription || '',
					image : window.annotatio_imgThumbPath || ''
				},

				rankData : {
					application : 'Pubv6',
					groupPath : window.Terra_info_channel || window.annotatio_groupPath || metricsValues.terra_info_channel || '',
					objectId : metricsValues.terra_info_id || 'teste_webdev',
					objectDescription : window.annotatio_objectDescription || '',
					rankType : "RESTRICTVALUED",
					restrictedRange : 5,
					type : (metricsValues.terra_info_type == 'GAL') ? 'GAL' : 'NOT',
					uri : location.href
				},

				advertisingData : {
					tag : window.tgmKey || '',
					area : "sharearticle",
					site : window.site || '',
					zone : window.zone || ''
				}
			},
			commonHandlers = {
				onLog : function(data){ // data.type && data.message
					//modMan.log.checkpoint('[contentSharer] ' + data.type + ' >>>> ' + data.message);
				},
				onLoad : function(){
					placeAds();
				},
				onShare : function(data){
					// Receive a object with a network data that has shared
					//alert('shared' + data.network);
				},
				metrics : function(data){
					//alert('hit metrics on event ' + data.event);
				}
			};

		/*if (commentsOn) {
			commonConfigs.socialData.networksList.push('comment');
		}*/

		if (modMan.globals.page.country === 'BR') {
			commonConfigs.socialData.networksList.push('orkut');
		}

		try {
			$.include([
				'http://s1.trrsf.com.br/transversais/content_share/v2/_js/trr_sharer.js',
				'http://s1.trrsf.com.br/transversais/content_share/v2/themes/atm/_css/default.css'
			], function() {
				if (topToolbar.container.length) {
					modMan.log.checkpoint('Carregando instância "top" do contentSharer.');

					topToolbar.instance = new TrrSharer.SharerInterface({});

					topToolbar.instance.contentShareCreate({
						socialData : {
							title : commonConfigs.socialData.title,
							url : commonConfigs.socialData.url,
							description : commonConfigs.socialData.description,
							image : commonConfigs.socialData.image,
							networks : {
								show :  ["facebook","twitter","email","googlePlusOne", "facebooklike"],
								facebooklike : {
									showfaces : false
								}
							},
							advertisingData : commonConfigs.advertisingData,
							handlers : commonHandlers
						},
						config : {
							tplPath : "default-top",
							elemResult : topToolbar.selector,
							country : commonConfigs.country,
							locale :  commonConfigs.locale
						}
					});
				}
				 if (middleToolbar.container.length) {
                    modMan.log.checkpoint('Carregando instância "top" do contentSharer.');
                    
                    middleToolbar.instance = new TrrSharer.SharerInterface({});

                    middleToolbar.instance.contentShareCreate({
                        socialData : {
                            title : commonConfigs.socialData.title,
                            url : commonConfigs.socialData.url,
                            description : commonConfigs.socialData.description,
                            image : commonConfigs.socialData.image,
                            networks : {
                                show : ["twitter", "facebook"]
                            },
                            advertisingData : commonConfigs.advertisingData,
                            handlers : commonHandlers
                        },  
                        config : {
                            tplPath : "default-middle",
                            elemResult : middleToolbar.selector,
                            country : commonConfigs.country,
                            locale :  commonConfigs.locale
                        }
                    });                 
                }
				
				if (bottomTollbar.container.length) {
					modMan.log.checkpoint('Carregando instância "bottom" do contentSharer.');

					bottomTollbar.instance = new TrrSharer.SharerInterface({});

					bottomTollbar.instance.contentShareCreate({
						socialData : {
							title : commonConfigs.socialData.title,
							url : commonConfigs.socialData.url,
							description : commonConfigs.socialData.description,
							image : commonConfigs.socialData.image,
							networks : {
								show : commonConfigs.socialData.networksList,
								facebooklike : {
									showfaces : true
								}
							},
							advertisingData : commonConfigs.advertisingData,
							handlers : commonHandlers
						},
						config : {
							//tplPath : "http://transversais2.dsv-ws03.terra.com.br/content_sharer/themes/atm/_tpl/contentSharerTemplate.htm",
							//tplPath : "http://dsk22586.terrabr.corp.terra.com.br/content-sharer/repo/themes/atm/_tpl/content-sharer-top-bar.html",
							//tplPath : "http://mainsite.int.dsv-webdev01-poa.terra.com.br/entregas/20101223-1000/content-sharer/themes/atm/_tpl/content-sharer-top-bar.html",
							tplPath : "default-bottom",
							elemResult : bottomTollbar.selector,
							country : commonConfigs.country,
							locale :  commonConfigs.locale
						}
					});
				}
			});
		}
		catch (e) {
			e.message = "[Erro na configuração da API do contentSharer] » " + e.message;
			throw e;
		}
		finally {
			contentSharer = null;
		}
	};
}());

// ANNOTATIO

window.showBanner = function(selector) {
	window.setTimeout(function(){
		var $selector = $(selector);
		if (modMan.globals.page.country == "BR") {
			$selector.attr("src","http://s1.trrsf.com.br/atm/3/core/_tpl/advertising.html?tag="+tgmKey+"&area=comments&site="+(typeof(site)!="undefined"?site:"")+"&zone="+(typeof(zone)!="undefined"?zone:""));
		} else {
			$selector.attr("src","http://s1.trrsf.com/atm/3/core/_tpl/advertising.html?tag="+tgmKey+"&area=comments&site="+(typeof(site)!="undefined"?site:"")+"&zone="+(typeof(zone)!="undefined"?zone:""));
		}
	},1000);
};

var $annotatioContainer = $("#divAnnotatio");
if (!$annotatioContainer.length || !window.TrrTransversais || !window.TrrTransversais.AnnotatioInterface) {
	if (!$annotatioContainer.length) {
		modMan.log.critical('Não foi possível localizar o elemento container para o módulo de comentários');
	}
	else if (!window.TrrTransversais || !window.TrrTransversais.AnnotatioInterface) {
		modMan.log.critical('Não foi possível localizar o objeto <strong>TrrTransversais.AnnotatioInterface</strong>. Por favor, verifique se o include correspondente foi realizado.');
	}

}
else {	
	if (contentSharer) {
		contentSharer();
	}
	try { // extra care
		modMan.log.checkpoint('Carregando sistema de comentários.');
		
		var annotatio = new function(){

			var annotatioInstance = null,
				metricsValues = modMan.tools.metrics.getCurrentValues(),
				stfBaseUrl = (modMan.globals.page.country == 'BR') ? 'http://s2.trrsf.com.br/' : 'http://s2.trrsf.com/',
				tplDirName = 'v' + ((/\d\.\d/).exec(TrrTransversais.Annotatio.version) || '2.1'),
				tplUrl = stfBaseUrl + 'transversais/comments/' + tplDirName + '/templates/templateFull.htm',
				contextParams = {
					//"application": metricsValues.terra_info_service || '',
					"application": 'Pubv6',
					"objectId": metricsValues.terra_info_id || 'teste_webdev',
					"objectType" : (metricsValues.terra_info_type == 'GAL') ? 'GAL' : 'NOT',
					"pageSize": 10,
					"pageNum": 1,
					"orderby": "datedesc",
					"uri" : $("link[rel=canonical]")[0] ? $("link[rel=canonical]").attr("href") : location.href,
					"groupPath" : window.Terra_info_channel || window.annotatio_groupPath || metricsValues.terra_info_channel || '',
					"objectDescription" : window.annotatio_objectDescription || '',
					"imgThumbPath" : window.annotatio_imgThumbPath || '',
					"absDescription" : window.annotatio_absDescription || ''
				},
				interfaceParams = {
					 lang : modMan.globals.page.locale || "pt-BR",
					 wsUrl : "http://comments.wsv.terra.com",
					 callback : {
						load : function (data) {
							try {
								if (contentSharer) {
									contentSharer((data && (data.return_code === 0 || data.return_code === 5203 )));
								}
							}
							catch (e) {
								modMan.log.critical('[Erro encontrado na função associada ao evento "load" do sistema de comentários] » ' + e.message);
							}
							finally {
								placeAds();
							}

						},
						init : function (data) {

							try {

								if (data.return_code === 0 || data.return_code === 5203) {

									// Popula divs que necessitem do total de comentarios
									var arrTotalComments = ["dd-total-comments"]; // ID´s dos elementos que serão receberão o total de comentários
									for (var a=0, current; a < arrTotalComments.length; a++) {
										current = document.getElementById(arrTotalComments[a]);
										if (current) {
											current.innerHTML = data.total_comments;
										}
									}
								
									if ($('.total-comments').length){																		
										$('.total-comments').html(data.total_comments.toString());
										$('.dt-total-comments-off').removeClass('dt-total-comments-off');
									}

								}
								else {
									modMan.log.warning('[Comments] » Sistema de comentários inativo (configuração editorial, via interface de administração).');
								}
							}
							catch (e) {
								modMan.log.critical('[Erro encontrado na função associada ao evento "init" do sistema de comentários] » ' + e.message);
							}
							finally {
								placeAds();
							}
						},
						replies : function() {
							placeAds();
						}
					 }
				};

			var load = function(){
				if(!annotatioInstance) annotatioInstance = new TrrTransversais.AnnotatioInterface(interfaceParams);
				annotatioInstance.mountTransversal(tplUrl,"divAnnotatio",contextParams);
			}

			this.reload = load;

			// constructor >>
				$(document).ready(function(){
					// double-check for wrong templates
					if(window.tpl) return modMan.log.critical('Annotatio instanciado via tag SCRIPT contida no template. Cancelando chamada do deployment.js');

					// double-check for affectedAds
					if(!VERTICAL_FLOATED_ADS.length) modMan.log.warning('Nenhuma publicidade será reposicionada pelo sistema de comentários.' );

					load();

					// Attach comment triggers
					var $jumpToTabTrigger = $('.col-left-full ol a:first')
					$(".mod-socialize .itm-comment a, a.btComment").unbind('click').click(function(evt) {

						modMan.tools.metrics.regEvent('Comentar'); // hit metrics

						if(!$articleContainer.is(':visible')) $jumpToTabTrigger.trigger('click'); // return to article's tab

						// scroll to anchor position (comments)
						//var anchor = $("a[name='"+this.href.match(/[^#]*$/)+"']"),
						var anchor = $annotatioContainer,
							anchorPositionX = (anchor.length) ? anchor.offset().top : 0;

						scrollTo(0, anchorPositionX);

						try{ annotatioInstance.showModalForm('insert'); }catch(e){} // opens Annotatio's new message layer

						evt.preventDefault(); // prevent default behavior
					});
				});
			// constructor <<
		}

	} catch(e) {
		e.message = "[Erro na configuração do API do Annotatio] » " + e.message;
		throw e;
	}
}

modFBActivity = new function() {
	var fbContainer = $("#fb-activity"),
		SETTINGS,
		lazyLoader = new modMan.tools.LazyLoader();
	
	fbContainer.css('height', '300px');
	
	SETTINGS = { url: {
		pt: "http://www.facebook.com/plugins/activity.php?locale=pt_BR&amp;width=300&amp;height=300&amp;header=true&amp;colorscheme=light&amp;linktarget=_blank&amp;border_color&amp;font&amp;recommendations=false&amp;appId=133313286762998&amp;site=",
		es: "http://www.facebook.com/plugins/activity.php?locale=es_ES&amp;width=300&amp;height=300&amp;header=true&amp;colorscheme=light&amp;linktarget=_blank&amp;border_color&amp;font&amp;recommendations=false&amp;appId=133313286762998&amp;site=", 
		en: "http://www.facebook.com/plugins/activity.php?locale=en_US&amp;width=300&amp;height=300&amp;header=true&amp;colorscheme=light&amp;linktarget=_blank&amp;border_color&amp;font&amp;recommendations=false&amp;appId=133313286762998&amp;site="
		
	}};
	
	this.create = function() {
		if (fbContainer.length) {
			fbContainer.append('<iframe src="' + SETTINGS.url[modMan.globals.page.lang]  + document.domain + '" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:300px; height:300px;" allowTransparency="true"></iframe> ');
		}
		return undefined;
	}
	
	lazyLoader.set(fbContainer, function () {
		modFBActivity.create();
	});
}

$(".ctn-fontsize a, .col-left-full .tab-list li a, .mod-audience_pulse_ver .tab-list:first li a").bind('click', function() {
	placeAds();
});

var $sendMailTrigger = $('#sendMailTrigger');
if($sendMailTrigger.length){
	$sendMailTrigger.one('click', function(evt){

		var target = evt.target,
			tagNameLimitEXP = /^(a|li)$/i;

		while(!target.tagName.match(tagNameLimitEXP)) {
			target = target.parentNode;
		}

		if(target.href){
			evt.preventDefault();

			modMan.load([
				{
					id:'sendMail',
					selector:$sendMailTrigger,
					loadSkin:false,
					params:{
						onLoad:function(commandsOBJ){
							commandsOBJ.toggleLayer();
						},
						onToggle:function(){

						}
					}
				}
			]);

			evt.stopPropagation();
		}
	});
}

/***** CONTEXTLINK TEMP *****/
$(".contextlink").click(function() {
	var element = $(this);
	createLayer("context-links.html",function() {
		// Position
		$(".mod-contextlinks").css({
			"left":element.offset().left+"px",
			"top":element.offset().top+element.height()+"px"
		});
	});
	return false;
});

$(document).ready(function() { placeAds();} );
$(window).load(function(){ placeAds(); });
