﻿//###############################
// Loadingscreen
// ARZ - TestCenter 2010 / 2011
// Beschreibung:
// 		Das Plugin hüllt das übergebene Element in ein Div (in einem Übergeordneten Layer)
//      und fügt ein "Bitte warten" Fenster ein.
//
// Mögliche Methoden:
// 		hide: blendet das Overlay aus und löscht es im Anschluss
//###############################

//###############################
// Allgemeine Info zum Syntax:
//
// Ansprechen der Elementen erfolgt per CSS Syntax:
// 		"."- Prefix für CSS-Class od. 
//		"#"- Prefix für Tag-Attribut "ID" od. 
//		"" - Prefix für HTML-Tag.
// 		Kombiniertbar (z.B. Tag.Class oder Tag.ID oder ID.Class): 
//
// 	Beispiel: 
// 		ul.sf-menu = HTML-Tag UL mit der CSS-Class sf-menu
// 
// Durch die Angabe von CSS-Klassen können Eigenschaften 
// für mehr als ein Element (und mehr als ein HTML-Tag-Typ) definiert werden
//
// Im Ordner LIB findet sich das jQuers Framework und die entsprechenden PlugIns
// Im Ordner SCRIPT befinden sich alle Steuertechnischen Scripts für das WebTool
//
// Alle grundlegenden Funktinen sind im jQuery Framework enthalten
// siehe jQuery Documentation: http://api.jquery.com/
//###############################	

(function ($, undefined) {
    var methods = {

        //###############################
        // Initalisierung der Elemente, 
        // generieren der InputIcons
        //###############################

        init: function (method) {
            method = $.extend({
            /*tag: "input", // input, select und textarea
            icon: true, // true, false
            length: 200, // Gesamtlaenge der Boxen (Input u. Select) in Pixel
            glow: true, // true, false für Gloweffekt bei focusin
            iconsrc: "", // alternative Icon CSS-Klasse
            ie_margin: -1, //IE Eigentschaft um den Ramen der Selectoptions weg zu bekommen
            emptystring: "" //Bei welchem String wird das Icon zum "!" (nur sinnvoll fuer icon: true)*/
        }, method);

        var browser = $.browser;		
        if (browser.msie & browser.version.substr(0, 1) > 8) {
            return true;
        }
        else if (browser.mozilla && parseInt(browser.version) >= 4){
            return true;
        }
        else if (browser.safari && browser.version.substr(0, 1) >= 5) {
            return true;
        }
        else if (browser.opera && browser.version.substr(0, 2) >= 11) {
            return true;
        }       
        else {
            return false;
        }
    }
};

//###############################
// Aufruf der Funktion und Überprüfung ob eine Mehtode
// angegeben wurde und wenn ja ob diese definiert ist.
// Wenn diese nicht definiert wurde, wird eine Fehlermeldung
// im Log (FF) ausgegeben:
// 
// "Method 'XXX' does not exist on jQuery.inputicon".
//###############################

$.browsercheck = function (method) {
    if (methods[method]) {
        return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
    } else if (typeof method === 'object' || !method) {
        return methods.init.apply(this, arguments);
    } else {
        $.error(alert('Method ' + method + ' does not exist on jQuery.browsercheck'));
    }
}
})(jQuery);


