/**
 * @version: 20090205-1
 */
 
idCalendarHoverTimeout = -1;
$elementCalendarHoverListItem = undefined;

function expandCalendar()
{
	if($elementCalendarHoverListItem == undefined) return;
	$this = $elementCalendarHoverListItem;
	$this.css("background-color","");
	$("li", $this.parent()).attr("expanded","false");
	$this.attr("expanded","true");
	$(".content-calender-description, .content-addtoagenda", $this.parent()).hide("normal");
	$(".content-calender-description, .content-addtoagenda", $this).slideDown("normal");
	$this.parents("div.list-calendars").children("img").attr('src', $("img.content-calender-thumb", $this).attr('src'));
}

function executeRemoteAjaxCallback(sAjaxData)
{
	/* RegExp are slower and susceptible to error.
	 * var data = data.replace(/[\r\n]/g, "");
	 * ar jsCallback = /<script.*>(.*?onAjaxLoad.*?)<\/script/m.exec(data);
	 */

	// Find & extract callback function
	var i1,i2;
	i1 = sAjaxData.indexOf('// AJAX CALLBACK');
	if(i1 < 0) return;
	i2 = sAjaxData.indexOf('// AJAX CALLBACK', i1+1);
	if(i1 < 0) return;    
	sAjaxData = sAjaxData.substring(i1, i2);

	// Rename & execute callback function
	var nameCallback = "callback" + Math.floor(Math.random()*999999);
	sAjaxData = sAjaxData.replace("tion onAjaxLoad", "tion "+ nameCallback);
	if(sAjaxData != null)
	{
		window["eval"](sAjaxData);
		window["eval"](nameCallback + "()");
	}
}

function SyncDialogWrapper() {
}

SyncDialogWrapper.showDialog = function(sDialogUrl){
    var $ = jQuery;
    $("#dialog").remove();
    $dialog = $(document.createElement('div'));
    $dialog.attr('id', 'dialog');
    $dialog.addClass("content-dialog");
    $("body").prepend($dialog);
    $dialog.load(sDialogUrl + " #dialog>*", {}, executeRemoteAjaxCallback);
}

function SlideTaketourMovie(){
    $('#content-homepageintro-secondaryaction').remove();
    AC_FL_RunContent(
        'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
        'width', '400',
        'height', '248',
        'src', '/image/jcplayer',
        'quality', 'high',
        'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
        'align', 'middle',
        'play', 'false',
        'loop', 'true',
        'scale', 'noScale',
        'wmode', 'transparent',
        'devicefont', 'false',
        'id', 'jcplayer',
        'bgcolor', '#ffffff',
        'name', 'jcplayer',
        'menu', 'true',
        'allowFullScreen', 'true',
        'allowScriptAccess','sameDomain',
        'FlashVars','videoURL=/image/movie/Flogs_400x224.flv&autoPlay=true&backgroundColor1=0x333333&backgroundColor2=0x222222&movieBackgroundColor=0xffffff',
        'movie', '/image/jcplayer',
        'salign','TL',
        'contentcontainerid', 'content-homepageintro-takethetour-movie'
    ); //end AC code
    $('.content-homepageintro-actions').animate({height: '250px'}, 750);
    $('.content-homepageintro-primaryaction').animate({top: '80px'}, 750);
    return false;
}

// Initialize script
$(document).ready(function(){(function($){
    // Hide descriptions for calendarlists (these need to go before other initializations to ensure correct heights and widths)
    $(".list-calendars .content-calender-description").hide();
    $(".list-calendars .content-addtoagenda").hide();

    $("#content-officialcalendars .content-calender-description").hide();
    $("#content-officialcalendars .content-addtoagenda").hide();
    $("#content-membercalendars .content-calender-description").hide();
    $("#content-membercalendars .content-addtoagenda").hide();
    $("#content-toplists .content-calender-description").hide();
    $("#content-toplists .content-addtoagenda").hide();

    if(typeof(localized) == 'undefined'){
        // Load mock localized object.
         localized = {
   	    	dateformat: 'mm/dd/yy',
   	    	times: ['0:00','0:30','1:00','1:30','2:00','2:30','3:00','3:30','4:00','4:30','5:00','5:30','6:00','6:30','7:00','7:30','8:00','8:30','9:00','9:30','10:00','10:30','11:00','11:30','12:00','12:30','13:00','13:30','14:00','14:30','15:00','15:30','16:00','16:30','17:00','17:30','18:00','18:30','19:00','19:30','20:00','20:30','21:00','21:30','22:00','22:30','23:00','23:30']
   	 };
    }

    // Daterange objects
    if($.fn.datepicker){

        $(".form-daterange .date").datepicker({ showAnim: 'show', dateFormat: localized.dateformat });
        $(".form-daterange .date.start").change(function(ev){
                $start = $(ev.target);
                $start.parents('form').find('.date.end').val($start.val());
        });
    }

    function dateRangeHideTime(ev)
    {
        var $allDay = $(ev.target);
        if($allDay.attr('checked'))
        {
                $(ev.target).parents('form').find('input.time').hide();
        } else {
                $(ev.target).parents('form').find('input.time').show();
        }
    }

    $(".allday").change(dateRangeHideTime).click(dateRangeHideTime);

    if($.fn.autocomplete){
        $(".form-daterange .time").autocomplete(localized.times, {
            minChars: 0,
            width: 90,
            max: 20,
            matchContains: "",
            autoFill: false
        });
    }

    // Initialize accordion
    if($.fn.csAccordion){
        $(".content-accordion").csAccordion();
    }
    
    // Initialize menu language functions
    $("#menu-menu > li:not(#menu-language-container)").hover(
        function() {
//            $("ul, form", this).css("display", "block");
            $("ul, form", this).show();
            $('#menu-language-container').hide();
        },
        function() {
//            $("ul, form", this).css("display", "none");
            $("ul, form", this).hide();
            $('#menu-language-container').show();
        }
    );

    // Initialize tabs
    if($.fn.tabs){
        $(".tabbed").tabs();
    }

    // Initialize accordions
    if($.fn.accordion){
        $(".accordioned").accordion({
                header: "h2"
        });
    }

    // Initialize hover functions
    var calendarlistitems = 
    $("div.list-calendars > ol > li").hover(
        function()
        {
            clearTimeout(idCalendarHoverTimeout);
            if ($(this).attr("expanded") != "true") {
                $(this).css("background-color","#f3f3f3");
                $elementCalendarHoverListItem = $(this);
                idCalendarHoverTimeout = setTimeout("expandCalendar()", 200);
            }			
        },
        function()
        {
            $(this).css("background-color","");
        }
    )/*.click(
        function(e)
        {
            $(this).css("background-color","");
            $("li", $(this).parent()).attr("expanded","false");
            $(this).attr("expanded","true");
            $(".content-calender-description, .content-addtoagenda", $(this).parent()).hide("normal");
            $(".content-calender-description, .content-addtoagenda", this).slideDown("normal");
            e.preventDefault();
        }
    )*/
	
    // Add-to-agenda buttons
    $("a.sync").click(function(ev){
        SyncDialogWrapper.showDialog($(this).attr('href'));
        ev.preventDefault();
    });
	
    function markEvents(ev)
    {
    	var $selectAll = $(ev.target);		
        var check = $selectAll.attr('checked');
        $(ev.target).parents('form').find("INPUT[type='checkbox']").attr('checked', check);
    }
    
    $("#select-all, .select-all").change(markEvents).click(markEvents);
	
    $("#content-catalog li.more a.more").click(function(){
            $.post(location.href, {offset: 15},
              function(data){
                      var more = $("#content-catalog li.more");
                      more.after($(data).find("#content-catalog ol>*"));
                      more.hide();
              }, 'html');
    })

    var sCurrentUrl = window.location.toString();
    if(sCurrentUrl.indexOf('startSyncNow') > 0){
        $('#content-eventlist-selectall-top').click().attr('checked', 'CHECKED');
        $('a.calendar-main-sync:first').click();
    }

$("a.flashmessage-close").click(function(){
    $("div.flashmessage-container").animate({
        top: '-=150'
    }, 1500);
    return false;
});
/*
$("div.flashmessage-container").animate({
    top: '+=150'
}, 1500);
*/

//animate only when content is present (trim because FF leaves enters)
if (jQuery.trim($('.content-flash-messages').html()).length){
    $("div.flashmessage-container").animate({
        top: '+=150'
    }, 1500);
}

$("#content-homepageintro-secondaryaction").bind('click', function(){
    SlideTaketourMovie();
    return false;
});
})(jQuery)}); // document.ready
