/**
 * This javascript controls the UI
 * for the current page.
 *
 * $Id: lib.js 1010 2010-04-24 15:15:04Z fhelly $
 *
 * Copyright 2010 Francois Helly <fhelly@bebop-design.net>
 *
 * See the enclosed file COPYING for license information (GPL). If you did not
 * receive this file, see http://www.fsf.org/copyleft/gpl.html.
 */

var protocol = (('https:' == document.location.protocol) ? 'https://ssl.' : 'http://www.');
/* Array of javascripts files to load */
var load  = {
    core: ['prototype','cookie','browser'],
    navigation: ['menu'],
    dyn: ['toggler','chaser'],
    scriptaculous: ['scriptaculous', 'effects', 'slider'],
    external : [ protocol + 'google-analytics.com/ga.js' ]
};

var rpath = '/';
/* The web path to the javascripts files to load */
var path        = rpath+'resources/js/';
/* The css theme used for this UI */
var theme       = 'bebopdotcom';

var vman = function (u, o) {
    if ($('viewer') != null) {
        if (typeof(o) == 'undefined') {
            o = {
                onFailure: function() {
                    alert("A problem occured");
                    return false;
                },
                onComplete: vinit
            };
        }
        var update = new Ajax.Updater({success: $('viewer')}, u, o);
        if(update) {
            return false;
        }
        vinit();
        return true;
    }
};
var vinit = function() {
    if ($('viewcontent') != null && !$('viewcontent').empty()) {
        $('viewcontent').adjacent('div.tbox').each(function(t) { t.makePositioned().hide(); });
        $('viewcontent').select('img').each(function(img) {
            Event.observe(img, 'mouseover', function() {
                $('viewcontent').adjacent('div.tbox').each(function(t) { Effect.toggle(t, 'appear', {to: 0.6, speed: 0.05});});
            });
        });
    }
};
var uinit = function () {
    if ($('debug') != null && !$('debug').empty()) {
        $(document.body).addToggler('debug', {classname: 'debugtoggler', defaultstatus: 'c'});
    }
    if ($('test') != null && !$('test').empty()) {
        $(document.body).addToggler('test', {classname: 'test', defaultstatus: 'c'});
    }
    if ($('project') != null && !$('project').empty()) {
        var o = $H({rollovers: false, autolink: false, accordion: {duration: 0.2, beforeEventLoad: '$(\'portfolio\').setStyle({overflow:\'hidden\', height: \'571px\'}).makePositioned();', afterEventLoad: '$(\'portfolio\').undoPositioned();', onEventLoad: 'Effect.BlindUp(\'abstract\', {duration: 0.05})', onEventUnload: 'Effect.BlindDown(\'abstract\', {duration: 0.01})'}, scrollbar: { classNamePrefix: 'scrollbar'}});
        if ($('accordion') != null) {
            $('accordion').addList(o);
        }
    }
    if ($('portfolio') != null) {
        $('portfolio').select('td.empty').each(function(a){
            var c = Math.floor(Math.random()*0xffffff).toString(16);
            if (c.length == 6) {
                a.setStyle({background: '#'+c});
            }
        });
    }
    vinit();
    if (typeof(bbCompat) != 'undefined') {
        var compat = new bbCompat({pngFix: {objects: $$(['div.control', 'a.navigation'])} });
    }
};
var ga = function() {
    try {
        var pageTracker = _gat._getTracker('UA-15730835-4');
        pageTracker._trackPageview();
    } catch (err) {
    }
};
if (typeof(bbLoader) != 'undefined') {
    for (var module in load) {
        bbLoader.load(load[module], module, path);
    }
    bbLoader.compat();
}
