
//.................................................................................................
//ta klasa ma za zadanie obsługę caption-a w polu formularza (input)


function form_input(obiekt, param) {
    
    this.obiekt = obiekt;
    this.param  = param;
    
        
    this.input = obiekt.children('input');
    
    this.init();
    
    var self = this;
    
    this.input.focusin(function(){
        self.focusin();
        });
    
    this.input.focusout(function(){
        self.focusout();
        });
    }


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


form_input.prototype.init = function() {

    var val = this.input.val();

    if (val === '') {
        this.input.val(this.param.caption);
        }    
    };

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


form_input.prototype.focusin = function() {
        
    var val = this.input.val();
    
    if (val === this.param.caption)
        this.input.val('');
    
    
    this.obiekt.removeClass('Kontakt_field_error');    
    };


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


form_input.prototype.focusout = function() {

    var val = this.input.val();
    
    if (val === '')
        this.input.val(this.param.caption);
    };

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



function form_textarea(obiekt, param) {
    
    this.obiekt = obiekt;
    this.param  = param;
        
    this.textarea = obiekt.children('textarea');
    
    
    this.init();

        
    var self = this;
   
    this.textarea.focusin(function(){
        self.focusin();
        });
    
    this.textarea.focusout(function(){
        self.focusout();
        });    
    }

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

form_textarea.prototype.init = function() {

    var val = this.textarea.text();

    if (val === ' ')
        val = '';

    if (val === '') {
        this.textarea.text(this.param.caption);
        }    
    };

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

form_textarea.prototype.focusin = function() {
    
    var val = this.textarea.text();
    
    if (val === this.param.caption)
        this.textarea.text('');
    
    this.obiekt.removeClass('Kontakt_field_error');
    };

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

form_textarea.prototype.focusout = function() {

    var val = this.textarea.text();
    
    if (val === ' ')
        val = '';
    
    if (val === '') {
        this.textarea.text(this.param.caption);
        }
    
    };

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


function galeria(obiekt, dane) {
    
    this.index   = 0;
    this.zdjecia = dane.zdjecia;
                                                                //trzeba przygotować płutno na którym będą zdjęcia wyświetlane
                                                                //(trzeba nadać mu odpowiednie przesunięcie od top oraz od left)

    this.obiekt = obiekt;        

    
    
    this.panel = this.obiekt.children('#box_galeria_maska').children('#box_galeria_panel');
       
    
    
    var self = this;
                                                                //podpięcie lewego przycisku
    this.panel.children('.left').click(function(){
        
        self.left();
        });
                                                                //podpięcie prawego przycisku    
    this.panel.children('.right').click(function(){
        
        self.right();
        });
    
    
    this.panel.children('.max').text(this.zdjecia.length);
    
    
                                                                //wczytanie pierwszego zdjęcia gdy już wszystkie
                                                                //poprzednie procedury zostały wykonane    
    this.load();
    }


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



galeria.prototype.load = function(numer) {
    
    this.obiekt.css('background', 'url("' + this.zdjecia[this.index] + '") no-repeat 8px 8px');
    
                                                                //uaktualnienie informacji o wyświetlanym zdjęciu
    this.panel.children('.number').text(this.index + 1);
    };

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

galeria.prototype.left = function() {
    
    if (this.index < 1) {
        
        return;
        }
    
    this.index--;
    this.load();
    };

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

galeria.prototype.right = function() {
    
    
    if (this.index >= this.zdjecia.length - 1) {
            
        return;
        }
    
    this.index++;
    this.load();    
    };
    

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


var reset = [];

jQuery(document).ready(function(){
    
    for(x in document.open);
    
    jQuery('#formularz_kontaktowy').submit(function(){
        
                                                            //reset wszystkich pól formularza
        jQuery(reset).each(function(key, obiekt){
            
                                                            //wymuszamy wyczyszczenie etykiet w nieuzupełnionych polach
            obiekt.focusin();
            });
        });
    
                                                        //uruchomienie inputów
    jQuery('.input').each(function(key, val) {
        
        var obiekt = jQuery(val);
        var dane = obiekt.metadata();
        
        reset.push(new form_input(obiekt, dane));
        });
    
    
                                                        //uruchomienie textarea
    jQuery('.textarea').each(function(key, val) {

        var obiekt = jQuery(val);
        var dane = obiekt.metadata();
        
        reset.push(new form_textarea(obiekt, dane));
        });
    
    
    jQuery('#box_galeria').each(function(key, val) {
        
        var obiekt = jQuery(val);
        var dane = obiekt.metadata();
        
        new galeria(obiekt,dane);
        });
    });

