/**
 * @author: Paweł Nagórski
 * @category: Skrypt dodawania objektu flasowego
 * @copyright: Copyright (c) 2011 NPART STUDIO
 * @license: Euroadres.pl, użytkownik końcowy bez prawa dalszej odsprzedaży
 **/

var flash = { // objekt
    width: 400, // szerokość
    height: 400, // wysokość
    type: "application/x-shockwave-flash", // rodzaj
    add: function( id, banner, options ){ // dodaj objekt flash
        var tmp = $( "#" + id ), attrs = [], params = []; // gdzie wstawiamy, atributy, zmienne

        if( tmp ){ // czy objekt został pobrany
            options.params = options.params || {}; // parametry
            options.attrs = options.attrs || { // atributy
                width: this.width, // szerokość
                height: this.height // wysokość
            };

            if( $.browser.msie ){ // czy internet explorer
                $.extend( options.params, { // nazwa bannera
                    movie: banner // parametr movie
                });

            } else // pozostałe przeglądarki
                $.extend( options.attrs, { // nazwa bannera
                    data: banner // parametr data
                });

            $.extend( options.params, { // standardowe parametry
                menu: "false", // menu
                scale: "noscale", // skalowanie
                quality: "hight", // jakość
                wmode: "transparent" // przezroczystość
            });

            $.extend( options.attrs, { // dodaj atribut rodzaj odtwarzacza
                type: options.attrs.type || this.type // przekazany lub flash
            });

            $.each( options, function( name, value ){ //sprawdzamy wszystkie opcje
                switch( name ){ // nazwa parametra
                    case "params": // parametry
                        $.each( value, function( name, value ){ // sprawdzamy przekazane parametry
                            params.push( "<param name=\"" + name + "\" value=\"" + value + "\"/>" ); // generuj dane
                        });

                        break;

                    case "attrs": // atributy
                        $.each( value, function( name, value ){ // sprawdzamy przekazane atributy
                            attrs.push( name + "=\"" + value + ( /^\d+$/i.test( value ) ? "px" : "" ) + "\"" ); // generuj dane
                        });

                        break;
                }
            });

            tmp.append( "<object " + attrs.join( " " ) + ">" + params.join( "" ) + "</object>" ); // utwórz objekt
        }
    }
};
