$(document).ready(function() {

    _loadSelectors();
    var newYear = new Date("March 3, 2012"); 
//    //newYear = new Date(newYear.getFullYear() + 1, 1 - 1, 1); 
    
    $('.c_count').countdown({until: newYear, 
        layout: '{dn}<span class=\'c_day\'>D</span> {hn}<span class=\'c_day\'>H</span> {mn}<span class=\'c_day\'>M</span> {sn}<span class=\'c_day\'>S</span>'});
   
    $(".bannerScrollElement:first").addClass("active");
    $(".bannerScrollElement").animate({
        opacity: 0.3
    }, 500);
   
    $(".bannerScrollElement:first").animate({
        opacity: 1
    }, 0);
    
    //collapsable Functionality
    $('.collapsable').each(function(idx, ele) {
        if($(ele).data('collapsed') == true) {
            var target = $(ele).find('.content');
            target.hide();
            $(ele).find('.title-bar').append('<a href="#" class="ui-collapse-button ss_sprite ss_bullet_arrow_down"></a>');
        } else {
            $(ele).find('.title-bar').append('<a href="#" class="ui-collapse-button ss_sprite ss_bullet_arrow_up"></a>');
        }

        
        $(ele).find('.ui-collapse-button, .title-bar').click(function(evt) {

            var collapsable = $(this).parents('.collapsable');
            var content = collapsable.find('.content');
            var icon = collapsable.find('.ui-collapse-button');

            if($(content).css('display') == 'none') {
                content.show();
                icon.removeClass('ss_bullet_arrow_down').addClass('ss_bullet_arrow_up');
            } else {
                content.hide();
                icon.removeClass('ss_bullet_arrow_up').addClass('ss_bullet_arrow_down');
            }

            evt.preventDefault();
            evt.stopPropagation();
        });
    });
    
    $('.collapse-node').each(function(idx, ele) {        
        var target = $(ele).data('collapse-target');
        
        if($(ele).data('collapse-collapsed') == true) {
            $(target).hide();
        }
        
        $(ele).click(function(evt) {
            evt.preventDefault();
            
            var target = $(this).data('collapse-target');
            collapseNode($(target));
        });
    });
    
    function collapseNode(node)
    {
        if($(node).css('display') == 'none') {
            $(node).show();
        } else {
            $(node).hide();
        }

        if($(target).data('collapse-target') !== null) {
            collapseNode($($(target).data('collapse-target')));
        }

    }
                
    //$('.tabbable').tabs();
});

function _loadSelectors(){

    if($(".tabs").length > 0){
        $(".tabs .tab:first").addClass("firstChild");
        $(".tabs .tab:last").addClass("lastChild");
    }
    
    
    $('input.clear, textarea.clear').focus(function() {
        if($(this).data('clear-value') == null) {
            $(this).data('clear-value', $(this).val());
            $(this).val('');
            
        } else {
            if($(this).data('clear-value') == $(this).val()) {
                $(this).val('');
                
            }
        }
    });
    
    $('input.clear, textarea.clear').blur(function() {
        if($(this).val().length == 0) {
            if($(this).data('clear-value') != null) {
                $(this).val($(this).data('clear-value'));
            }
        }
    });
    

    //Autocomplete Functionality
    $('.autocomplete').each(function(idx, ele) {                
        $(ele).autocomplete({
            source: $(ele).data('autocomplete-source'),
            minLength: 2,
            select: function(event, ui) {
                var valtarget;
                if($(event.target).data('autocomplete-value-target') == 'undefined') {
                    valtarget = $(event.target);
                } else {
                    valtarget = $($(event.target).data('autocomplete-value-target'));
                }
                
                var selected = ui.item;
                valtarget.val(selected.value);
                $(event.target).val(selected.label);
                
                return false;
            }
        });
    });
    
    // banner image change
//    $(".bannerScrollElement").click(function(){
//        var url = $(this).data("url");
//        window.location.href = url;
//        
//    });
    
    var scrollInterval = setInterval(getBannerScrollEle, 15000);
    
    $(".bannerScrollElement").hoverIntent(function(){
        clearInterval(scrollInterval);
        bannerFacilityScroll(this);
    },
    function(){
       scrollInterval = setInterval(getBannerScrollEle, 15000);
    });
    
    // accordian functionality
    $(".containerHead.live .title").click(function(){
        
        //Update Fragment
        var frag = $(this).parent().data('slug');   
        if(typeof frag != 'undefined') {
            location.hash = '#' + frag;
        }
        
        if($(this).parents("div:first").hasClass("open")){
            $(this).parents("div:first").children(".content:first").slideUp(500, function(){
                
            });
            $(this).parents("div").removeClass("open");
            return false;
        }
        
        var ele = $(this).parents("div:first");
        var liveHead = ".containerHead.live";
        $(".containerHead.live .content").slideUp(500, function(){
            $(liveHead).removeClass("open");
        });
        
        $(".containerHead.live").removeClass("active");
        $(".containerHead.live").addClass("inactive");
        $(this).parents("div:first").children(".content:first").slideDown(500, function(){
            $(ele).addClass("open");
        });
        
        $(this).parents("div:first").addClass("active");
        $(this).parents("div:first").removeClass("inactive");
    });
    
    // open the first one by default or the slug hash.
    
    var frag = location.hash.replace('#', '');
    
    if(frag != '') {
        var element = $('div[data-slug="'+frag+'"]');
        element.addClass('open').addClass('active').removeClass('inactive');
        element.find('.content:first').show();
    } else {
        var slideEle = $(".containerHead.live .content:first");
        if(!$(slideEle).prev("div:first").hasClass("close_default")){
            $(".containerHead.live:first").addClass('active').removeClass('inactive');
            $(".containerHead.live:first").addClass("open");
            $(".containerHead.live .content:first").show();
        }
    }
    
    
    // accordian functionality for tables
    $("table.collapsableTable tr.info").click(function(){
        
        $(".features").hide();
        $("td.book .txt").hide();
        
        var ele = $(this).next();
        $(ele).children("td:first").show();
        $(this).find("td.book .txt").show();
    });
    
    // open first table accorian by default
    $("table.collapsableTable .features:first").slideDown(100);
    $("table.collapsableTable td.book .txt:first").slideDown(100);
    
    // status filter form auto submit
    $("form#status_filter input#filter").hide();
    $("form#status_filter input").click(function(){
        // submit the form
        $(this).parents("form:first").submit();
    });
    
    // image slider
    $('.imageCycle').cycle({
        fx:     'fade', 
        speed:  'slow', 
        timeout: 5000, 
        pager:  '#cycleNav' 
    });
    
    $("#cycleNav a").html("");
        
    $( ".date-select" ).datepicker({
            showOn: "button",
            buttonImage: "/themes/default/img/icons/calendar_icon.png",
            buttonImageOnly: true,
            dateFormat: "dd-mm-yy"
    });
    
    $( ".dob-select" ).datepicker({
            showOn: "button",
            buttonImage: "/themes/default/img/icons/calendar_icon.png",
            buttonImageOnly: true,
            dateFormat: "dd-mm-yy",
            changeMonth: true,
            changeYear: true,
            yearRange: '1910:2000'
    });
}

// ticker slider
$('#tickerContent').cycle({
    fx:     'scrollLeft', 
    speed:  2000, 
    timeout: 8000, 
    pager:  '#tickerNav',
    pagerAnchorBuilder: function(index, element) {
        return '<a href="#"></a>'
    }
});

function getBannerScrollEle(){
    // get the next element to be crolled
    var ele = $(".bannerScrollElement.active").next(".bannerScrollElement");
    if(ele.length == 0){
        var ele  = $(".bannerScrollElement:first");
    }
    bannerFacilityScroll(ele);
}

function bannerFacilityScroll(ele){
    $(".bannerScrollElement").removeClass("active");
    $(".bannerScrollElement").animate({
        opacity: 0.3
    }, 500);
    
    $(ele).animate({
        opacity: 1
    }, 500);
    $(ele).addClass("active");

    var img = $(ele).data("img");
    var strapline = $(ele).data("strapline");
    $("#bannerTxt").fadeOut(300);
//        $(".mainLayout").animate({
//            backgroundPosition: '50% -40%'
//        }, 500, function(){
//            $(".mainLayout").css({
//                "background-image": "url(" + img + ")",
//                "background-repeat": "no-repeat"
//            });
//           
//        }).animate({
//            backgroundPosition: '50% 0%'
//        }, 300);
    $("#bgOverlay").fadeIn(300, function(){
        // load in new background
        $("#bannerTxt").html(strapline);
        $("html").css({
            "background": "url(" + img + ")",
            "background-repeat": "no-repeat",
            "background-position": "top"
        });
    });

    $("#bannerTxt").fadeIn(300);
    $("#bgOverlay").fadeOut(300);
}

//
//(function(){
//  // if firefox 3.5+, hide content till load (or 3 seconds) to prevent FOUT
//  var d = document, e = d.documentElement, s = d.createElement('style');
//  if (e.style.MozTransform === ''){ // gecko 1.9.1 inference
//    s.textContent = 'body{visibility:hidden}';
//    e.firstChild.appendChild(s);
//    function f(){ s.parentNode && s.parentNode.removeChild(s); }
//    addEventListener('load',f,false);
//    setTimeout(f,3000);
//  }
//})();


