$(window).resize(function(){
    resizeContent();
});

$(function(){
    
    $(".page-accordion").iconAccordionMenu({
       header: '.accordion-header',
       content: '.accordion-content',
       closeOther: false 
    });

    $("ul.slide-nav li").click(function(){
        var link = $(this).find("a").attr("href");
        window.location.href(link);

    })
    
    resizeContent();
    
    Cufon('h1.slider, #error404 h1');         

    setTimeout(function() {
        $(".warningwrap").animate({ height: 'hide', opacity: 'hide' }, 'slow');
    }, 5000);    
        
    $("#banners").ntTabsAndSlides({ pages : '.pages', navigation : '.slide-nav', transition: 'fade', autoSlide: true, transitionSpeed : '750' });     
    
    /** Search Form **/
    
    $("#search #q").focus(function()
    {            
       $("#search label").fadeOut("fast");            
    });
    
    $("#search #q").blur(function()
    {        
       if ($(this).val() == "")
       {
         $("#search label").fadeIn("fast"); 
       }        
    });       
    
    /** Search Form **/
    
    /** Bulletin Form **/
    
        $("#ebulletin-form label").click(function(){
            $(this).parent().find("input.text").focus();
            $(this).fadeOut("fast");
        })        
        
        $("#ebulletin-form input.text").focus(function(){
            
           $(this).parent().find("label").hide(); 
            
        })
        
        $("#ebulletin-form input.text").blur(function(){
            
           if ($(this).val() == "")
           {
             $(this).parent().find("label").show(); 
           }            
        })        
    
    /** Bulletin Form **/    
    
    
    /** dropdown **/
    
        $("#nav li").hover(
            function(){
                $(this).find('ul').show();
            },
            function(){
                $(this).find('ul').hide();
            }
        )        
    
    /** dropdown **/

    /** aside dropdown **/

        $("#aside li span.category").click(function(){
            
            var addedClass =  $(this).attr("class");
            
            $(this).parent().parent().find("ul").hide();
            
            if (addedClass == "category")
            {
                $(this).parent().find("ul").show();
                $(this).removeClass("category");
                $(this).addClass("active");                
            }
            
            if(addedClass == "active")
            {
                $(this).parent().find("ul").hide();
                $(this).removeClass("active");
                $(this).addClass("category");                 
            }

        })

    /** aside dropdown **/
    
    
    /** fix png **/

    //$(".slide-nav").ifixpng();

    /** fix png **/
    
    //Blog Scripts
    
    $("#nav li ul").hover(function(){
        
        $(this).parent().find('a').addClass('active-hover');
        
    },function(){
        $(this).parent().find('a').removeClass('active-hover');
    })    
           
});

$(window).resize(function(){
    resizeContent();
})

function resizeContent(){
    var viewport = $(document).height();
    var cheader = $("#header").height();
    var cnav =  $("#nav").height();
    var cslider = $("#slider").height();
    var cpush = $("#push").height();
    
    var cHeightHome = parseInt( cheader + cnav + cslider + cpush );
    var cHeightPage = parseInt( cheader + cnav + cpush );
    var lastHeight = parseInt(viewport - cHeightHome)
    
    if ( lastHeight < 275 )
    {
       var cHeightHome = 275 + 'px';
       var cHeightPage = 275 + 'px';
    }
    else
    {
       if ( cHeightPage < caside ) {
            var caside = $("#aside").height();

       } else {
            var caside = 0;
       }                          
       var cHeightHome = parseInt(viewport - cHeightHome - 29) + 'px'; 
       var cHeightPage = parseInt(viewport - cHeightPage - 24 + caside ) + 'px'; 
    }
    
    
    $("#content.home").css({ height : 'auto !important', height : cHeightHome, minHeight : cHeightHome });
    $("#content.page").css({ height : 'auto !important', height : cHeightPage, minHeight : cHeightPage });
    $("#page #left").css({ height : 'auto !important', height : cHeightPage, minHeight : cHeightPage });
}

(function($){
    $.fn.ntTabsAndSlides = function(options){
        var opts = $.extend({}, $.fn.ntTabsAndSlides.defaults, options);
        
        return this.each(function(){
            var $container = $(this);
			var o = opts;
			
            var pages = o.pages;
            var $navigation = $container.find(o.navigation);            
            var $pageNavigations = $navigation.find('a');
            var currentClass = o.currentClass;
            var transition = o.transition;
            var transitionSpeed = o.transitionSpeed;
            var pagination = $pageNavigations.length;            
            var lastPage = pagination - 2; // if pagination has next & previous buttons
            
            var autoSlide = o.autoSlide;
            var slideShowDelay = o.slideShowDelay;
            
            var thePage, timer;
            
            $container.find(pages).each(function(){
               $(this).hide();
            });
            
            $container.find(pages + ':first').show().addClass(currentClass);
            
            // enables tab key navigation
            $pageNavigations.hover(function(){
                // if previous button clicked
                if($(this).hasClass('pre') || $(this).parent().hasClass('pre')){
                    pre = $navigation.find('.'+ currentClass).prev();
                    
                    var p = $navigation.find('li').index(pre);
                    if(p == -1) { pre = $navigation.find('li:eq(' + lastPage + ')'); }                    
                    $navigation.find('.'+ currentClass).removeClass(currentClass);
                    pre.addClass(currentClass);
                    
                    thePage = $(pre.find('a').attr('rel'));
                }
                
                // if next button clicked
                else if($(this).hasClass('next') || $(this).parent().hasClass('next')){
                    next = $navigation.find('.'+ currentClass).next();
                    var n = $navigation.find('li').index(next);
                    if(n == pagination - 1 || n == -1) { next = $navigation.find('li:eq(1)'); }
                    $navigation.find('.'+ currentClass).removeClass(currentClass);
                    next.addClass(currentClass);
                    
                    thePage = $(next.find('a').attr('rel'));
                }
                
                // or other page buttons clicked
                else {
                    if(!$(this).parent().hasClass(currentClass)){
                        $navigation.find('.'+ currentClass).removeClass(currentClass);
                        $(this).parent().addClass(currentClass);
                    }
                    
                    thePage = $($(this).attr('rel'));
                }
                    
                animatePage(thePage);
                
                return false;
            });
            
            if(autoSlide == true){
                startSlideShow();
                
                $(pages).hover(
                    function(){
                        stopSlideShow();
                    },
                    function(){
                        startSlideShow();
                    }
                );
            }
            
            function slideshow(){                
                var current = $navigation.find('.' + currentClass);
                var next = current.next();
                var n = $navigation.find('li').index(next);
                
                if(n == -1) { next = $navigation.find('li:eq(0)'); }
                
                if(next.hasClass('pre') || next.hasClass('next')){
                    next = $navigation.find('li:eq(1)');
                }                
                
                $(current).removeClass(currentClass);
                next.addClass(currentClass);
                    
                thePage = $(next.find('a').attr('rel'));
                
                animatePage(thePage);                                            
            }
            
            function stopSlideShow(){                                    
                clearInterval(timer);
            } 
            
            function startSlideShow(){
                timer = setInterval(slideshow, slideShowDelay); 
            }             
            
            function animatePage(page){
                currentPage = $container.find(pages + '.' + '.'+ currentClass);
                nextPage = page;
                
                if(!nextPage.hasClass(currentClass)){
                    if(transition == 'fade'){
                        currentPage.fadeOut(transitionSpeed).queue(function(){
                            nextPage.fadeIn(transitionSpeed);
                            $(this).dequeue();
                        });
                        
                    }
                    
                    else if(transition == 'vslide'){
                        currentPage.slideUp(transitionSpeed);
                        nextPage.slideDown(transitionSpeed);
                    }
                    
                    // to work horizontal slide, pages should be wrapped with a overflow hidden layer having same width with the pages
                    else if(transition == 'hslide'){
                        var c = $(pages).index(currentPage);
                        var n = $(pages).index(nextPage);
                        
                        var containerW = currentPage.parent().width();
                        
                        var cM, nM;
                        
                        //alert(n + ', ' + c);
                        
                        // slide from right to left
                        if(n > c){
                            cM = -containerW;
                            nM = containerW;
                        }
                        
                        // slide from left to right
                        else{
                           cM = containerW;
                           nM = -containerW; 
                        }
                        
                        currentPage.animate({ left: cM }, transitionSpeed);
                        nextPage.css({ left: nM }).show().animate({ left: 0 }, transitionSpeed).queue(function(){
                            currentPage.hide().css({ left: 0 })
                            $(this).dequeue();
                        });
                    }
                    
                    else{
                        currentPage.hide();
                        nextPage.show();
                    }
                    
                    currentPage.removeClass(currentClass);
                    nextPage.addClass(currentClass);
                }
            }                     
        });
    },
    
   	$.fn.ntTabsAndSlides.defaults = {
		pages: '.pages',
        navigation: '.tab-nav',
        currentClass: 'current',
        transition: 'fade', // fade|hslide|vslide|none
        transitionSpeed: 'slow', // slow|fast|1000|5000 etc.
        autoSlide: false,
        slideShowDelay: 15000
	};
})(jQuery);

(function($){
    $.fn.iconAccordionMenu = function(options){
        var opts = $.extend({}, $.fn.iconAccordionMenu.defaults, options);
        
        return this.each(function(){
            var $menu = $(this);
			var o = opts;
			
			var header = o.header;
			var close = o.close;
            var closeOther = o.closeOther;
            var active = o.active;
            var content = o.content;
            
            $menu.find(content).hide();
            $menu.find(active + ' ' + content).show();
            
            $menu.find(header).click(function(){
                var submenu = $(this).parent().find(content);
                
                if(submenu.is(':visible') && close == true){
                    submenu.slideUp();
                    $(this).removeClass('hover');
                }
                
                else{
                    if(closeOther == true){
                        $menu.find(content).slideUp();
                        $menu.find('.hover').removeClass('hover');
                    }
                    submenu.slideDown();
                    $(this).addClass('hover');
                }                
            });
        });
    },
    
   	$.fn.iconAccordionMenu.defaults = {
		close: true,
        closeOther: true,
        header: 'span.category',
        content: 'ul',
        active: '.current'
	};
})(jQuery);
