//clone of center_div(id) from ajaxdialog.js
function simple_center_div(id){
    var sx = parseInt( document.body.clientWidth, 10 );
    var sy = parseInt( document.body.clientHeight, 10 );
    var ox = $( document ).scrollLeft();
    var oy = $( document ).scrollTop();
    var dx = $( document ).width();
    var dy = $( document ).height();
    var ax = $( id ).width();
    var ay = $( id ).height();

    var x = ox + sx / 2 - ax / 2;
    if ( x < 0 ) x = 0;
    if ( x + ax > dx ) x = dx - ax - 10;

    var y = oy + sy / 16 - ay / 16;
    if ( y < 10 ) y = 10;
    if ( y + ay > dy ) y = dy - ay - 10;

    $( id ).css( 'top', y + 'px');
    $( id ).css( 'left', x + 'px' );
}
//clone of modal_screen() from ajaxdialog.js
function simple_modal_screen() {
    $( '<div id="simple_modal_body"><div id="simple_modal_block"></div></div>' ).appendTo( 'body' );
    $( "#simple_modal_block" ).click( function () {
//        var o = document.getElementById( "simple_box" );
//        if( o ) o.focus();
//        var o = $("#simple_box_content input");
//        if( o && o[0] ) {o[0].focus();}
        close_simple_box();
        return false;
    } );
    simple_modal_resize();
}
//clone of modal_resize() from ajaxdialog.js
function simple_modal_resize() {
    if ( $( '#simple_modal_block' ).css( 'display' ) != 'block' ) return false;
    simple_center_div( '#simple_box' );
    $( '#simple_modal_block' ).css( 'width', $( document ).width() );
    $( '#simple_modal_block' ).css( 'height', $( document ).height() );
    /*IE7 problem with this:
    document.body.style.overflowX = "hidden";
    */
}

function show_simple_box( x, y, size ) {
    size = parseInt( size, 10 );
//    if( size < 300 ) {size = 300;}
    //$( '#simple_box' ).css( 'top', y + 'px');
    //$( '#simple_box' ).css( 'left', x + 'px' );
    $( '#simple_box' ).css( 'width', size + 'px' );

    // show;
    simple_modal_screen();
    $( '#simple_box,#simple_modal_body' ).show();

    // focus;
//    var o = document.getElementById( "simple_box" );
//    if( o ) {o.focus();}
//    var o = $("#simple_box_content input");
//    if( o && o[0] ) {o[0].focus();}
}

function save_cache( inner, holder ) {
    if ( holder != '' ) {
        $( '#' + holder ).remove();
        $( '<div id="' + holder + '" style="display:none;"></div>' ).appendTo( 'body' );
        var o = document.getElementById( holder );
        if ( o ) {o.innerHTML = escape(inner);}
    }
}

function load_cache( holder ) {
    if ( holder != '' ) {
        var a = document.getElementById( holder );
        var o = $( '<div id="simple_box_content"></div>' ).appendTo( document.getElementById('simple_box') );
        if( o && a ) {o.html(unescape(a.innerHTML));}
    }
}

function close_simple_box() {
    $( '#simple_box,#simple_modal_body' ).hide();
    document.body.style.overflowX = '';
    $( '#simple_box,#simple_modal_body' ).remove();
}

$(function(){
    $( ".simplebox" ).unbind( 'click' );

    $( ".simplebox" ).click( function () {

        var url = this.href.split( '#' );
        url = past_special( url[ 1 ] );
        var ido = get_opt_param( url, 'id', '', '' );
        var id = this.id || ido;
        var objPos = findPos( this );
        var size = get_opt_param( url, 'width', '', 0 );
        var holder = get_opt_param( url, 'holder', '', '' );

        $( '#simple_box,#_modal_body' ).remove();
        var simple_box = $( '<div id="simple_box" style="display:none"></div>' ).appendTo( 'body' );
		/*
        simple_box.keydown( function( event ) {
            if ( event.keyCode && event.keyCode === $.ui.keyCode.ESCAPE ) {
                close_simple_box();
                event.preventDefault();
            }
        });
		*/
        var c = holder && document.getElementById( holder );
        if ( c ) {
            load_cache(holder);
            show_simple_box( objPos[0], objPos[1], size );
        } else {
            var simple_box_content = $( '<div id="simple_box_content"></div>' ).appendTo( simple_box );
            simple_box_content.html( '<center><br/><img src="/images/indicator.gif"/></center>' );
            show_simple_box( objPos[0], objPos[1], size );
            if( url.indexOf( '?' ) != -1 ) url += '&'; else url += '?';
            url += 'kstr=' + get_kstr( 64 );
            simple_box_content.load( url, {},
                function ( responseText, textStatus, XMLHttpRequest ) {
                    var o = document.getElementById( "simple_box_content" );
                    var inner = o ? o.innerHTML : '';
                    if ( holder ){
                        save_cache( inner, holder );
                    }
                    show_simple_box( objPos[0], objPos[1], size );
                }
            );
        }
        return false;
    });
});
