/**
 * Content Management System
 *
 * This script is protected by copyright. It's use, copying, modification
 * and distribution without written consent of the author is prohibited.
 *
 * @author      Krzysztof Kardasz <kardasz@nweb.pl>
 * @copyright   Copyright (c) 2008 Prospekta Ernest Wagner
 */

    var RealizationRun    = false;
    var RealizationContainer;

    var ActiveRealization = 0;

    var Realizations      = new Array();


    /**
     * Dodaje zdjęcie ralizacje
     *
     * @access public
     * @param string file ścieżka do pliku
     * @param string url link do realizacji
     * @param string description opis
     * @return boolean
     **/
    function setRealization(file, url, description) {
        var i = Realizations.length;
        Realizations[i] = new Array(file, url, description);
    }


    /**
     * Ustawia kontener realizacji
     *
     * @access public
     * @return boolean
     **/
    function setRealizationContainer(val) {
        RealizationContainer = $(val);
    }


    /**
     * Preloader zdjęć realizacji
     *
     * @access public
     * @return void
     **/
    function PreloadRealizations() {
        var preload_im = new Array();

    	for(i=0; i < Realizations.length; i++) {
           preload_im[i] = new Image();
           preload_im[i].src = Realizations[i][0];
    	}
    }



    /**
     * Wyświetla realizację
     *
     * @access public
     * @return boolean
     **/
    function _appendRealization (i) {
          var link  = document.createElement("a");
              link.href  = Realizations[i][1];
              link.style.display = 'none';

          var img  = document.createElement("img");
              img.src  = Realizations[i][0];

              link.appendChild(img);

              if(RealizationContainer.is(':has(a)')) {
                  RealizationContainer.children('a').fadeOut("slow", function(){
                      RealizationContainer.html(link);
                      RealizationContainer.children('a').fadeIn("slow");
                  });
              } else {
                  RealizationContainer.html(link);
                  RealizationContainer.children('a').fadeIn("slow");
              }
    }

    /**
     * ładuje realizacje
     *
     * @access public
     * @return boolean
     **/
    function _preloadRealization (i) {
        var loaded = false;

        var preload = new Image();
        preload.src = Realizations[i][0];

        preload.onload = function() {
          _appendRealization(i);
          loaded = true;
        };

        if(preload.complete && loaded == false) {
          _appendRealization(i);
        }
    }

    /**
     * Dodaje miniaturkę do listy zdjęć
     *
     * @access public
     * @return void
     **/
    function initRealizations (timeout) {

        ActiveRealization = ((ActiveRealization+1) > Realizations.length) ? 0 : ActiveRealization;
        _preloadRealization (ActiveRealization);
        ActiveRealization = ActiveRealization+1;

        setTimeout('initRealizations(' + timeout + ')',timeout);
    }

