jQuery(document).ready(function(){
    
    baselib.run_flash('run_flash');
    baselib.run_map('run_map');
    });

//..............................................................................


function baselib() {
    };

//..............................................................................

baselib.autoid = 1;


                        //do metody przekazujemy obiekt jquery
                        
baselib.przydziel_id = function(obiekt) {

    
                                            //trzeba dopisać sprawdzanie, czy dla obiekty istnieje atrybut id
                                            //jeśli istnieje to należy go zwrócić
    //var id = obiekt.attr('id');
    
    
                                            //dalsza część kodu wykonywana w przypadku gdy brakuje id dla obiektu
    
    var id = 'run_autoid_' + baselib.autoid;
    baselib.autoid++;
    
    obiekt.attr('id', id);
    
    return id;       
    };

//..............................................................................
//..............................................................................
//..............................................................................


/*
przykładowy sposób osadzenia kodu flash

<div class="run_flash">

    <div class="src">/swf/inspiro_dom.swf</div>
    
    <div class="width">980</div>
    
    <div class="height">470</div>
    
    <div class="version">10</div>
    
    <div class="flashvars">
        <div class="dom_xml">/dom_xml.php?dom=14</div>
        <div class="lang">1</div>
    </div>
    
    <div class="alt">alternatywny tekst (w przypadku braku flasha w przeglądarce)</div>
    <div class="alt_class">alternatywna klasa dodawana do obiektu</div>
    
</div>


    
<div class="run_flash">

    <div class="version">
        <div class="version">10.0.0</div>
        
        <div class="src">/swf/inspiro_dom.swf</div>
        <div class="width">980</div>    
        <div class="height">470</div>
    
        <div class="flashvars">
            <div class="dom_xml">/dom_xml.php?dom=14</div>
            <div class="lang">1</div>
        </div>
        
        <div class="params">
            <div class="qu"
        </div>
    </div>
    
    <div class="version">
        <div class="version">10.0.0</div>
        
        <div class="src">/swf/inspiro_dom.swf</div>
        <div class="width">980</div>    
        <div class="height">470</div>
    
        <div class="flashvars">
            <div class="dom_xml">/dom_xml.php?dom=14</div>
            <div class="lang">1</div>
        </div>
        
        <div class="params">
            <div class="qu"
        </div>
    </div>

    <div class="alt">
        <div class="id"></div>
        <div class="content"></div>
    </div>
</div>

            
*/

//..............................................................................


baselib.run_flash = function(selektor) {
    
    jQuery('.' + selektor).each(function(key, obiekt) {
        
        obiekt = jQuery(obiekt);
        baselib.run_flash_start(obiekt); 
        
                                                //pozbycie się znacznika
        //obiekt.removeClass(selektor);
        });
    };

//..............................................................................

                                                //początkowa wartość null mówi że trzea ją zainicjować
baselib.run_flash_present = null;


//..............................................................................

                                                //główna funkcja uruchamiająca flashe


baselib.run_flash_start = function(obiekt) {
    
    
                                                //odczytanie aktualnie zainstalowanej wersji flasha
    
    if (baselib.run_flash_present === null) {
        
        if (!swfobject.hasFlashPlayerVersion("10.0.0")) {
            baselib.run_flash_present = false;
            }
        
        else {
            baselib.run_flash_present = true;
            }
        }
    
                                                //uruchomienie pierwszej pasującej wersji
    
    
        
    
        
        
                                                //przeszukujemy wszystkie dzieci
    var znaleziono  = false;
    var dane        = {};
    
    var alt_class   = '';
    var alt_content = '';
    
    
    
                                                                    //etap odczytywania danych
    obiekt.children().each(function(key_version, val_version) {
            
        val_version = jQuery(val_version);
        
        
        var typ_rekordu = val_version.attr('class');
        
        if (typ_rekordu === 'version') {
            
            
                                                                    //jeśli już wcześniej udało się odczytać dane to pomiń resztę
            if (znaleziono === true) {
                return;
                }

                                                                    //sprawdzamy czy ta żądana wersja się nadaje
            
            var version = val_version.children('.version').text();
           
                                                                    //jeśli nie to kontynuujemy
            if (!swfobject.hasFlashPlayerVersion(version)) {
                return;
                }
            
            
            znaleziono = true;
            
            dane.version = version;
            
            dane.src     = val_version.children('.src').text();
            dane.width   = val_version.children('.width').text();
            dane.height  = val_version.children('.height').text();
            
            
            dane.flashvars = {};
            
            val_version.children('.flashvars').children().each(function(key, parametr){
                
                parametr = jQuery(parametr);
                
                var name  = parametr.attr('class');
                var value = parametr.text();
                
                dane.flashvars[name] = value;
                });
            
            
            
            dane.params = {};
            
            val_version.children('.params').children().each(function(key, parametr){
                
                parametr = jQuery(parametr);
                
                var name  = parametr.attr('class');
                var value = parametr.text();
                
                dane.params[name] = value;
                });            
            }
            
        else if (typ_rekordu === 'alt') {
            
            alt_class   = val_version.children('.class').text();
            alt_content = val_version.children('.content').html();     
            }
        });
        
    
    
    
    
    
    
    
    
    //TODU - tutaj musimy spróbować uruchomić tą wersję flasha
    
    
                                        //uruchomienie flasha danymi ze zmiennej "dane"
    if (znaleziono === true) {
        
                                                //do parametrów dodajemy ekstra parametr dotyczący przeźroczystości
        dane.params.wmode = 'transparent';
        
        
        
        var id = baselib.przydziel_id(obiekt);
        
        obiekt.html('');
        obiekt.show();
        
        swfobject.embedSWF(dane.src, id, dane.width, dane.height, dane.version, {}, dane.flashvars, dane.params);
        }
    
                                        //uzupełnienie obiektu alternatywną treścią
    else {
        if (alt_class !== '') {
            obiekt.addClass(alt_class);
            }
                
        if (alt_content !== '') {
            obiekt.html(alt_content);
            }
        
        obiekt.show();
        }
    
    
    
    };


//..............................................................................
//..............................................................................
//..............................................................................



/*
run_map
konieczne jest dołączenie biblioteki 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

sposób uruchamiania mapy :

<div class="run_map">
    <div class="x">50.031298</div>
    <div class="y">19.942441</div>

    <div class="firma">Stalesia Sp. z o.o.</div>
    <div class="adres">ul. Łagiewnicka 39</div>
    </div>

*/



//..............................................................................
//urchamianie na podstawie klasy
                    //wyszukuje oreslone obiekty, usuwa ich identyfikującą klasę oraz je uruchamia

baselib.run_map = function(selektor) {
    
    jQuery('.' + selektor).each(function(key, obiekt) {
        
        obiekt = jQuery(obiekt);
        baselib.run_map_start(obiekt); 
        
                                                //pozbycie się znacznika
        obiekt.removeClass(selektor);
        });
    };

//..............................................................................

baselib.run_map_start = function(obiekt) {
    
    

                                                            //przydzielenie id dla tego obiektu
    var id = baselib.przydziel_id(obiekt);
        
    var x = obiekt.children('.x').text();
    var y = obiekt.children('.y').text();
    
    var firma = obiekt.children('.firma').text();
    var adres = obiekt.children('.adres').text();
        
    ico_ikona = '';
    ico_cien  = '';
                                                            //uruchomienie mapy
    obiekt.html('');
    obiekt.show();
        

    
    
                                    //przygotowanie sobie czyściutkiego miejsca pod nowiutką lśniącą mapę
    jQuery('#' + id).html('');

    
    
    var latlng = new google.maps.LatLng(x,y);
    
    var myOptions = {
          zoom: 14
                                                                 //tymi funkcjami można sobie zablokować domylne UI
        , disableDefaultUI: true
        
        , navigationControlOptions: {
            style: google.maps.NavigationControlStyle.ZOOM_PAN
            }
        
        , center: latlng
        
        , mapTypeId: google.maps.MapTypeId.ROADMAP
        };
    
    
    map = new google.maps.Map(document.getElementById(id), myOptions);
    
    
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(x,y),
        map: map,
        title: firma
        });


                                                //załadowanie ich tylko wtedy jeśli przekażemy takie parametry    
    if (ico_ikona !== '')
        marker.setIcon(ico_ikona);
    
    if (ico_cien !== '')
        marker.setShadow(ico_cien);



    var infowindow = new google.maps.InfoWindow({
        content: '<p>' + firma + '</p><p>' + adres + '</p>',
        size: new google.maps.Size(50,50),
        position: new google.maps.LatLng(x,y)
        });
    
    
    //infowindow.open(map,marker);
    
                                                                //dodanie zdarzenia otwierającego dymek po kliknięciu na marker
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map,marker);
        });
    };

//..............................................................................




