$(document).ready( function() {
	$.get("/inc/whatshot.inc",  function(data){
	    $('#header-container').append(data);
	});
    $("#top ul.nav li a[href*='" + pagedescriptor.getSiteMeta().top_site_name + "']").addClass('on');
    //login top links
    $('#right-head ul').append(createLoginLogout());
    accountInfo.init();
    fox.widgets.tabs.init();    
    $('.generic-list, .composite').find('h2 span.icon.newfreeform').replaceWith('<img alt="newfreeform" class="icon newfreeform" src="' + pagedescriptor.getSiteMeta().static_asset_all_img + '/interactive.jpg"/>').end().end();
   
});

fox.widgets.tabs = {

     init: function() {
        $('.composite.tabbed .tabs')
            .find('li a').each(function(index){            	  
            	if ($(this).hasClass("active")) {
                    return;
                }
                $(this).bind('click', function(e){
                    var active =  $(this).closest('li').siblings('.active').is(".active");
                    if (!active) 
                    {
                        return false;
                    }
                    var $removeclass = $(this).closest('li').siblings('.active');
                    $removeclass.siblings('.composite-body').hide();
                    var $compositebody = $(this).closest('.tabs').siblings('.composite-body');
                    fox.widgets.tabs.toggleContent($compositebody.children());
                    $(this).closest('li').addClass('active');
                    $removeclass.removeClass('active');
                    return false;
                });
          }).end()
        .end();
    },
    toggleContent: function($tabs){
    	$tabs.siblings('.composite-item').toggleClass('active');    			
    }                
};

fox.widgets.accordion = {
		
		init: function(){
			$("#video-main").accordion({
		        event: "mouseover",
		        header: "li.title",
		        active: 0,
		        change: function(event, ui) {
		          	var target = $(ui.newContent);            
		        }
		    });
		}
};

/*Preload events*/
fox.site.loadEvent = function(componentId){
	if ( $(componentId).is('.accordia') ){
		fox.widgets.accordion.init();
	}
}

function increasefont(){
	var ptext = $('div.bodytext');
	$(ptext).addClass('largertext');
	return false;
}

function decreasefont(){
	var ptext = $('div.bodytext');
	$(ptext).removeClass('largertext');
	return false;
}

/*loomia*/
function parseLoomia(data) {
	var mrContent = new Array();
	jQuery.each(data.recs, function(i,item){
		mrContent.push(createLinklistItem(i, item));
		if ( i == 4 ) return false;
	});
	jQuery('#link_list_most_read').html(mrContent.join(''));
}

function createLinklistItem(i, item){
	var itemContent = new Array();
	if(i === 0){
	   itemContent.push('<li class="first">');
	}else{
	   itemContent.push('<li>');	
	}
	itemContent.push('<div class="primary set primary-set"><a href="' + item.link + '">' + item.title + '</a>');
    itemContent.push('<p><span class="publish-date">' +  utils.formatUTCDate(eval(item.pubdate)) + '</span></p></div>');
    itemContent.push('<p class="more set more-set"><a href="' + item.link + '">&#187;</a></p></li>');
    return itemContent.join('');
}

var comment = new Object();

/*
 * The function will keep a ref to the jQuery Container that should be filled when the ajax call is returned.
 * This is like an Ajax event that includes a ref to the original jQuery container.
 */
comment.getCount = function(vcmId, jQueryContainer){
	
	 var event = new AjaxGetEvent({jQueryContainer:jQueryContainer}, 
			 
			 function(data, eventdata){
		 
			        var doc = ParseXML(data);   
				   	var status = $(doc).find('status').attr('code'); 
					if (status != 'error'){  
						var count = $(doc).find('collab-object').attr('totalCommentCount');  
						count = formatNumber(count,0,',','','','','-','');
						var href = eventdata.jQueryContainer.attr('href');	
					    if(href != null){	        		
					      href = href+"\/?storytab=story-comments";
					      eventdata.jQueryContainer.attr('href', href);	
					    }
				      	eventdata.jQueryContainer.html('<span class="result">' + count + '</span> <span class="label">Comments</span> ');			
		            }else{               
		            	eventdata.jQueryContainer.html('<span class="result"></span> <span class="label">No Comments</span>');
		            	eventdata.jQueryContainer.addClass("no-comments");
	                }  
					eventdata.jQueryContainer.removeClass("loading");
			 }
	 );
	 
	 event.get("/vcs/read/getNumberOfComments",{object:vcmId},'text');

};

/*Loomia*/
/*
var L_VARS = {};
L_VARS.publisher_key=1566965288;
L_VARS.guid=window.location.href;
L_VARS.anchor="loomia_display";
var anchor=document.getElementsByTagName("head")[0];
var script= document.createElement("script");
script.src="http://widget-cache.loomia.com/js/onewidget_clix.js";
anchor.appendChild(script);
*/

/*Story*/
var story = new Object();
story.init = function(){
	var imagePath =pagedescriptor.getSiteMeta().static_asset_img;
	var site = pagedescriptor.getSiteMeta().top_site_name;
	if (site == 'opinion') {
		site = 'Opinion';
	}
	var channel = pagedescriptor.getSiteMeta().channel;
	var imgAllPath = $('#img-all-path').text();
	var vcmId = $('#story-vcmId').text();
	var storyTitle = $('#story-title').text();
	var storyDek = $('#story-dek').text();
	var storyUrl = $('#story-url').text();
	var objectType = "STORY";
	this.perpage= '10';
	this.pagenum='1';
	this.sort ='ASCN'; //DESC
	vcs_service.init(imgAllPath, imagePath, site, channel, vcmId, storyTitle, storyDek, storyUrl, objectType);
	if($(".story-container").length > 0){
		story.initDetailPanel();
		story.initCommenting();
	}
	story.fontArray = new Array('smalltext','mediumtext','largertext');
	story.fontState = 0; // index to fontArray
	createShareThisMultiLink($("#up-share-share"));
    createShareThisMultiLink($("#down-share-share"));
    createShareThisMultiLink($("#up-share-email"), 'email');
    createShareThisMultiLink($("#down-share-email"), 'email');
};
story.initDetailPanel = function(){
	var container = $('#pane-browse-story-detail .bodytext');
	
	if($('#otherMedia').children().length > 0 && container.find('p').text().length > 4000){
		var otherMedia = '<div class="related vertical">'+$('#otherMedia').html()+'</div>';
		container.find('p:nth-child(3)').after(otherMedia);
		$('#otherMedia').remove();
	}
	
	
	$('.story-container .tabbed .tabs li a').click(function(){		
		var tabTitle = $(this).attr('title');		
		var tabLink = $('.story-container .tabs li a[title*='+tabTitle+']');
	    story.switchTab(tabLink);
		if (tabTitle=='story-comments') {
			vcs_service.getComments(story.perpage, story.pagenum, story.sort);
		}
		return false;
	});
	$(".recomended-count").click(function () { 
	  vcs_service.recommend(this);
	  return false; 
    });
	if($('.recomended-count').length > 0){
		vcs_service.getRecommendCount();  
	}	
};

story.initCommenting = function(){
	var obj = this;
	
	if($("#pane-browse-story-comments").length > 0){
		
	    //deep link to comments tab
		tabIndex = story.getQuery('storytab');
		if (tabIndex=='story-comments'){
			story.switchToCommentTab();
			vcs_service.getComments(story.perpage, story.pagenum, story.sort);			
		}

	    $(".join-discussion, .leave-a-comment").click(function () {
	    	story.switchToCommentTab(); 
	    	$.scrollTo('#begin-comment-form'); 
	       	if (tabIndex!='story-comments'){			
				vcs_service.getComments(story.perpage, story.pagenum, story.sort);			
			}
	    	var timeoutListener = new Object();	    	
	    	function checkCommentsLoaded() {
	    		if ($(".comments-left .discussion").size() > 0) {
	    			$.scrollTo('#begin-comment-form'); 	
	    				
	    			clearTimeout(timeoutListener);
	    			return false;
	    		}
	    		else { timeoutListener = setTimeout(function() { checkCommentsLoaded(); }, 100 );}
	    	}
	    	checkCommentsLoaded();	    	
	    	
	    });
        $("#start-new-discussion").click(function () { 
          $.scrollTo('#begin-comment-form');
          return false;  
        });
	    if($("#commentCount").length > 0){
	    	vcs_service.getCommentsCount();  	
	    }
	    $(".oldest-first").click(function () { 
	    	obj.sort = 'ASCN';
		  vcs_service.getComments(obj.perpage, obj.pagenum, obj.sort);
		  $.scrollTo('#commentsHolder');
		  return false;  
	    });
	    $(".newest-first").click(function () { 
	    	obj.sort = 'DESC';
		  vcs_service.getComments(obj.perpage, obj.pagenum, obj.sort);
		  $.scrollTo('#commentsHolder');
		  return false;  
	    });
    	$('#new-comment-form').validate({
	    	onkeyup: false,
	    	errorPlacement: function(error, element) {
			},
			invalidHandler: function(form, validator) {
				$(this).find('input[type*=submit]').attr("disabled", "disabled");
				var errors = validator.numberOfInvalids();
				if (errors) {
					$(".com-required").show();
				} else {
					$(".com-required").hide();
				}
				$(this).find('input[type*=submit]').removeAttr("disabled"); 
			},
			submitHandler: function(form) {
				$(form).find('input[type*=submit]').attr("disabled", "disabled");
				$(".com-required").hide();
				vcs_service.sendComment($(form));
				return false;
			}
    	});
	}
};
story.switchTab = function(tabLink){
	var parent_id = '#' + tabLink.parent().parent().parent().attr('id');
	$(parent_id + ' .tabs li').removeClass('active');
	$(parent_id + ' .pane').hide();
	tabLink.parent().addClass('active');
	$('#pane-browse-' + tabLink.attr('title')).show();
	return false;
};
story.switchToCommentTab = function(){
		
	var tabTitle = 'story-comments';		
	var tabLink = $('.story-container .tabs li a[title*='+tabTitle+']');
    story.switchTab(tabLink);
	return false;
};

story.getQuery = function(q) {
	if(window.location.search) {
		var query = window.location.search.substr(1);
		var pairs = query.split("&");
		for(var i = 0; i < pairs.length; i++) {
  		var pair = pairs[i].split("=");
  		if(unescape(pair[0]) == q)
  			return unescape(pair[1]);
  		}
	}
};
increasefont = function(){
	if(story.fontState < 2){
		var ptext = $('div.bodytext');
		$(ptext).removeClass(story.fontArray[story.fontState]);
		story.fontState++;
		$(ptext).addClass(story.fontArray[story.fontState]);
		return false;	
	}
}
decreasefont = function(){
	if(story.fontState > 0){
		var ptext = $('div.bodytext');
		$(ptext).removeClass(story.fontArray[story.fontState]);
		story.fontState--;
		$(ptext).addClass(story.fontArray[story.fontState]);
		return false;	
	}
}
