﻿$(document).ready(initManagement);

//xml data
var xmlTeams = null;

function initManagement() {	

    $(".containerLogo").hide();
    
    $(".yui-b > h1 > span > span > a ").click(function(){
        $(".yui-b > h1 > span > a").removeClass("active");    
        $(".yui-b > h1 > span > span ").removeClass("searchBack");
        $(this).removeClass("back");
        $(".containerLogo > ul > li > a.active").removeClass("active");
        generateTemplate($("manager", xmlTeams));
        $(".containerLogo").slideUp("fast",function(){
            $(this).fadeOut("slow");
        });
        return false;
    });
    
    $(".yui-b > h1 > span > a ").click(function(){
        if($(".containerLogo").is(":hidden")){
             $(this).addClass("active");    
            $(".yui-b > h1 > span > span ").addClass("searchBack");
            $(".yui-b > h1 > span > span > a ").addClass("back");
            //  $(".containerLogo > ul > li > a:eq(0)").click();
            $(".containerLogo").slideDown("fast",function(){
                $(this).fadeIn("slow");
            });
        }
        return false;
    });
    
    $.ajax({
		type: "GET",
		url: xml_path+"/team.xml",
		dataType: "xml",
		success: function(xml) {
		    xmlTeams = xml;	
		    generateTemplate($("manager", xmlTeams));
            generateCompany();
		},
		error:ajaxError
	});
}


function generateTemplate(managers){
    if(managers!=null && managers.length > 0 ){
        $(".jcarousel-container").remove();
        $(".PeopleImages").setTemplateElement("templateTeams");
        $(".PeopleImages").processTemplate(managers);
        generateJcarousel(1,managers.length,8);
    }
}

function generateCompany(){
    var companies = $("company", xmlTeams);
    $(".containerLogo").setTemplateElement("templateCompanies");
    $(".containerLogo").processTemplate(companies);
    //$(".containerLogo > ul > li > a:eq(0)").addClass("active");
    $(".containerLogo > ul > li > a").click(function(){
        $(".containerLogo > ul > li > a.active").removeClass("active");
        $(this).addClass("active");
		generateTemplate($("manager[company*="+$(this).attr("id")+"]", xmlTeams));
        return false;
    });
}


function generateJcarousel(start,size,scroll){
    
    $(".jcarousel-skin-tango").jcarousel({
		start: start
		, size: size
		, scroll: scroll
		, initCallback: initPerimeter
		, itemFirstInCallback: firstIn
		, itemLastInCallback: lastIn			
   });	
	
	//Remove overflow attribute from "UL", otherwise "Tooltip" will be hidden
	$(".jcarousel-skin-tango ul").css({overflow: ''});
	
    $("li.jcarousel-item > a > img").tooltip({
		effect: "fade"
		, fadeOutSpeed: "fast"
		, relative: true
		, offset: [3, 0]
		, onBeforeShow: adjustPosition
		,opacity:1
	});
	
	$("li.jcarousel-item > a").click(function(){
	    var manager = $("manager#"+$(this).parent('li').attr('id'),xmlTeams);
	    window.location.href='/management/'+$(manager).attr("friendly-url")+'/default.aspx';
	    return false;
	})
	
	$("li.jcarousel-item").hover(
	    function(){
	        var manager = $("manager#"+$(this).attr("id"),xmlTeams);
	        $(this).find("a > img ").attr("src",$(manager).find("thumbnail").attr("hoverIn"));
	    },
	    function(){
	        var manager = $("manager#"+$(this).attr("id"),xmlTeams);
	        $(this).find("a > img ").attr("src",$(manager).find("thumbnail").attr("hoverOut"));
	    }
	);
}

function ajaxError(request, status, error) {  
    alert(request.statusText);
}

function adjustPosition(e, pos) {	
	var objPerimeter = $(".jcarousel-skin-tango ul").data("perimeter");
	var trigger = $(this.getTip()).parent("li").get(0);
	var offset = this.getConf().offset;
    $(trigger).find('div').removeClass('tooltip-first tooltip-last');
	if (trigger == objPerimeter.first) {
	    $(trigger).find('div').addClass('tooltip-first');
		offset[1] = 65;
	} else if (trigger == objPerimeter.last) {
	    $(trigger).find('div').addClass('tooltip-last');
		offset[1] = -58;
	} else {
		offset[1] = 0;
	}
}

function initPerimeter() {
	$(".jcarousel-skin-tango ul").data("perimeter", {first: null, last: null});				
}

function firstIn(obj, el, index, state) {
	var obj = $(".jcarousel-skin-tango ul").data("perimeter")
	$(".jcarousel-skin-tango ul").data("perimeter", {first: el, last: obj.last});	
}

function lastIn(obj, el, index, state) {
	var obj = $(".jcarousel-skin-tango ul").data("perimeter")
	$(".jcarousel-skin-tango ul").data("perimeter", {first: obj.first, last: el});	
}

