// Windows load event handler
$(function() {
    $(window).load(function(e){
       initialize();
       if (typeof init_page == 'function') {
           init_page();
       }
    });
});

function preloads_images() {
    $('div.preloadImage').each(function(i, span){
        var el = $(span);
        var img = new Image();
        img.src = el.attr('src');
        $(img).css({width:'67px', height:'67px' });
        $(img).hide();
        $(img).load(function(){
            if ((i+1 - $('div.preloadImage').size()) == 0) {
                $('div.preloadImage img').each(function(i, img){
                    setTimeout(function() { $(img).fadeIn('slow'); }, 50*i);
                });
            }
        });
        el.html(img);
    });
}

function initialize() {
    preloads_images();
    
    $('.confirmation').click(function(e){
        var button = $(this);
        return confirm(button.attr('confirmText'));
    });
    
    // new functions
    $.fn.insertAtCursor = function(myValue) {
        var field = this[0];
        //IE support
        if (document.selection) {
            field.focus();
            sel = document.selection.createRange();
            sel.text = myValue;
        }
        //MOZILLA/NETSCAPE support
        else if (field.selectionStart || field.selectionStart == 0) {
            var startPos = field.selectionStart;
            var endPos = field.selectionEnd;
            field.value = field.value.substring(0, startPos) 
                + myValue
                + field.value.substring(endPos, field.value.length);
        } else {
            field.value += myValue;
        }
    }
}

var Window = {
    counter : 0,
    instances : [],
    
    load: function(url) {
        var box = Window.create_box();
        box.find('.content').load(url);
        return box;
    },
    iframe: function(src) {
        var box = Window.create_box();
        var iframe = $(
            '<iframe src="'
            +src
            +'" frameborder="0" marginwidth="0" marginheight="0" scrolling="yes" style="width: 100%">')
        box.find('.content').html(iframe);
    },
    create_box: function() {
        var box = $('<div id="window_'+(this.counter)+'" class="window">');
        $('body').append(box);
        var header = $('<div class="title">');
        var content = $('<div class="content">');
        var footer = $('<div class="footer">');
        box.append(header).append(content).append(footer);
        var close_button = $('<a href="javascript:void(0)" onclick="Window.close('+this.counter+')">').text('close');
        footer.append(close_button);
        this.counter++;
        return box;
    },
    close: function(windowId) {
        $('#window_'+windowId).remove();
    },
}