/**
 * @author Rafał Wrzeszcz <rafal.wrzeszcz@wrzasq.pl>
 * @copyright 2010 (C) by Rafał Wrzeszcz - Wrzasq.pl
 * @version 0.0.1
 * @since 0.0.1
 * @package PiesTV
 */

// initializes JavaScript interface
document.observe("dom:loaded", function() {
    $("miniCalendar").observe("click", function(event) {
        top.location = "/events";
        event.stop();
    } );

    var loginFormBox = $("formLoginBox");
    if(loginFormBox)
    {
        loginFormBox.select("input[name=\"name\"]").each( function(element) {
            element.observe("focus", function() {
                this.value = "";
                this.stopObserving("focus");
            } );
        } );
        loginFormBox.select("input[name=\"password\"]").each( function(element) {
            element.observe("focus", function() {
                this.value = "";
                this.stopObserving("focus");
            } );
        } );
    }

    $$("a.confirm").each( function(element) {
        element.observe("click", function(event) {
            if( !confirm("Czy na pewno?") )
            {
                event.preventDefault();
            }
        } );
    } );

    $$(".hidden").each( function(element) {
        element.hide().removeClassName("hidden");
    } );
} );

// Script.aculo.us fuckup with XHTML-compatibility
Builder.node = function(elementName)
{
    // try innerHTML approach
    var parentTag = this.NODEMAP[elementName] || 'div';
    var parentElement = document.createElement(parentTag);
    try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
      parentElement.innerHTML = "<" + elementName + "></" + elementName + ">";
    } catch(e) {}
    var element = parentElement.firstChild || null;

    // see if browser added wrapping tags
    if(element && (element.tagName.toUpperCase() != elementName))
      element = element.getElementsByTagName(elementName)[0];

    // fallback to createElement approach
    if(!element) element = document.createElement(elementName);

    // abort if nothing could be created
    if(!element) return;

    // attributes (or text)
    if(arguments[1])
      if(this._isStringOrNumber(arguments[1]) ||
        (arguments[1] instanceof Array) ||
        arguments[1].tagName) {
          this._children(element, arguments[1]);
        } else {
          var attrs = this._attributes(arguments[1]);
          if(attrs.length) {
            try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707
              parentElement.innerHTML = "<" +elementName + " " +
                attrs + "></" + elementName + ">";
            } catch(e) {}
            element = parentElement.firstChild || null;
            // workaround firefox 1.0.X bug
            if(!element) {
              element = document.createElement(elementName);
              for(attr in arguments[1])
                element[attr == 'class' ? 'className' : attr] = arguments[1][attr];
            }
            if(element.tagName.toUpperCase() != elementName)
              element = parentElement.getElementsByTagName(elementName)[0];
          }
        }

    // text, or array of children
    if(arguments[2])
      this._children(element, arguments[2]);

     return $(element);
};

// Lightbox translation
window.LightboxOptions = {
    labelImage: "Zdjęcie",
    labelOf: "z",
    fileBottomNavCloseImage: "/images/closelabel1.png"
};

