/**
 * Common javascript
 * 
 * Included with all system pages
 * 
 * @author      Lex van der Woude <lex@bizhub.co.nz>
 * @copyright   Copyright (c) 2006-2011 BizHub Ltd.
 * @link        http://www.bizhub.co.nz
 */

jQuery(function($){
    
    /**
     * Flash plugin
     */
    jQuery.fn.flash = function(color, duration){
        var current = this.css('color');
        this.animate({backgroundColor: color}, duration / 2);
        this.animate({backgroundColor: current}, duration / 2);
        return this;
    }
    
    /**
     * Modules nav
     */
    $('.main-nav .modules a.current').click(function(e){
        if ( ! $('.main-nav .modules .panel').is(':visible')) {
            $(this).addClass('opened');
        }
        $('.main-nav .modules .panel').slideToggle(function(){
            if ($('.main-nav .modules .panel').is(':visible')) {
                $('.main-nav .modules a.current').addClass('opened');
            } else {
                $('.main-nav .modules a.current').removeClass('opened');
            }
        });
        e.preventDefault();
    });
    
    /**
     * Modules nav setup
     */
    $('.main-nav .node:last').addClass('last');
    
    /**
     * Form 'is_required' setup
     */
    $('.is_required').prepend('<span style="color:red;">*</span> ');
    
    /**
     * Data table - stripe rows
     */
    $('.data-table tbody tr:odd').addClass('odd');
    
    /**
     * Beta icon
     */
    $('<img src="http://bizhub.co.nz/images/icons/beta.gif" id="beta" />').appendTo('#top .logo-modulename');
    
    /**
     * Append loading indicator
     */
    $('body').append('<div class="loading-inc"><div>Loading</div></div>');
    
});

/**
 * Get base url
 * 
 * TODO: Remove!
 * 
 * @return  string
 */
function getBaseURL() {
    var url = location.href.replace(" ", "%20");
    var baseURL = url.substring(0, url.indexOf('/', 14));
    if (baseURL.indexOf('http://roly') != -1) {
        // Localhost
        var url = location.href.replace(" ", "%20");
        var pathname = location.pathname;
        var index1 = url.indexOf(pathname.replace(" ", "%20"));
        var index2 = url.indexOf("/", index1 + 1);
        var baseLocalUrl = url.substr(0, index2);
        return baseLocalUrl.replace('http://roly', '') + "/HTML/";
    } else {
        // Live
        return baseURL + "/";
    }
}

/**
 * Data table - restripe
 */
function restripe() {
    $('.data-table tbody tr').removeClass('odd');
    $('.data-table tbody tr:odd').addClass('odd');
}

/**
 * Loading indicator
 */
function showLoadingIndicator() {
    $('.loading-inc').fadeIn();
}
function hideLoadingIndicator() {
    $('.loading-inc').fadeOut();
}
