/**
 * mais.jquery.extension-0.1.js
 * A part of the Mais Framework
 * 
 * Requires jQuery Library 1.4.2 or newer
 * 
 * @author Tormund Gerhardsen
 * @version 0.1
 */


/**
 * Function is_array
 * Just as the is_array function in PHP
 */
function is_array(input){
    return typeof(input)=='object'&&(input instanceof Array);
}

/**
 * Function elementDisplay
 *
 * @param name {string} - The name(s)
 * @param effect {string} - Optional. Effects: slide, fade, noen. Default: slide
 * @param speed {int} - Optional. The speed of the effekt, if any. Default: 300
 */
function elementDisplay(name, effect, speed){
    
    // The function to put everything in action
    function action(name, effect, speed){
        if($(name).css('display') ==  'block'){
            switch(effect){
                case 'slide': $(name).slideUp(speed); break;
                case 'fade': $(name).fadeOut(speed); break;
                case 'none': $(name).hide(); break;
                default: $(name).slideUp(speed);
            }
        } else {
            switch(effect){
                case 'slide': $(name).slideDown(speed); break;
                case 'fade': $(name).fadeIn(speed); break;
                case 'none': $(name).show(); break;
                default: $(name).slideDown(speed);
            }
        }
    }
    
    // Default value
    if (!speed) speed = 300;
    
    if (is_array(name)){
        for (var i in name) {
            action(name[i], effect, speed);
        }
    } else action(name, effect, speed);
   
}


/**
 * Function showCormbox
 *
 * @param name {string} - The name of the box to open
 */
function showCormbox(name) {
    var link = '?r=ajax&f=cormbox;';
    $('#cormBoxLoad').load(link + name);
}


/**
 * Function fadeAndHide
 * Fading out and completly deleting an element
 *
 * @param name {string} - The name of the element
 */
function fadeAndHide(className){
    $(className).fadeOut(400, function(){
        $(className).remove();
    });
}

