/*-- Configuration --------------------------------------------------------*/

contextMenuHandler = true;                  // use context menu handler
contextMenuTextColor = "#FFFFFF";           // color of link in context menu
contextMenuTextFont = "bold 11px Verdana";  // font of link in context menu
contextMenuTheme = "starwarz";
contextMenuStylesheet = "/processor.css";
contextMenuJQuery = "/jquery.js";

/*-- Do not modify the following code if you are not sure! ----------------*/

head = document.getElementsByTagName("head")[0];

$(document).ready (
    function () {
        $(document.createElement("link")).attr ({ 
            type: "text/css",
            href: "/_templates/" + contextMenuTheme + contextMenuStylesheet,
            rel: "stylesheet",
            media: "screen"
        }).appendTo( head ); 

        if ( contextMenuHandler ) {
            $("a[url]").bind("contextmenu",function ( e ) {
                if ( e.target ) {
                    element = e.target;
                } else if ( e.srcElement ) {
                    element = e.srcElement;
                }
                if ( element.nodeType == 3) { // defeat Safari bug
                    element = e.parentNode;
                }             
                if ( $("body").css("background-image") != "undefined" && $("body").css("background-image") != "none" ) {
                    contextMenuBackground = $("body").css("background-image");
                } else {                    
                    contextMenuBackground = $("body").css("background-color");
                }
                contextMenu = $("<div id='contextmenu' style='background:" + contextMenuBackground + ";color:" + $("body").css("color") + "'><center><a id='contextlink' href='.' url='" + $(this).attr("url") + "'>Open In New Window</a></center></div>");
                //contextMenu = $("<div id='contextmenu' style='background:" + contextMenuBackground + ";color:" + $("body").css("color") + "'><center><a id='contextlink' target='_blank' href='" + $(this).attr("url") + "'>Open In New Window</a></center></div>");
                contextMenu.appendTo( "body" ).hide();

                var scrollOffsets = getScrollXY ();
                var width = parseInt ( contextMenu.css( "width" ) );
                var height = parseInt ( contextMenu.css( "height" ) );

                contextMenu.css( "left", e.clientX + scrollOffsets[0] - 10 );
                contextMenu.css( "top", e.clientY + scrollOffsets[1] - 10 );
                $("#contextlink").css( "font", contextMenuTextFont );
                $("#contextlink").css( "color", contextMenuTextColor );
                contextMenu.fadeIn(10, function () {
                    $("#contextmenu").bind("mouseleave", function ( e ) {
                        setTimeout ( function () {
                            contextMenu.fadeOut ( 10, function () {
                                contextMenu.remove();
                            })
                        }, 10 );
                    });
                    $("#contextlink").bind("click",function ( e ) {
                        ruri = "http://" + location.hostname + $(this).attr("url");
                        window.open ( ruri );
                        return false;
                    });
                });

                return false;
            });
        }

        $("a.click").bind("click",function ( e ) {
            try {
                hello();
            } catch ( err ) {
                var allowNewWindow = $.browser.msie && parseInt ( $.browser.version ) > 6 ? false : true;
                ruri = "http://" + location.hostname + $(this).attr("url");
                if ( e.shiftKey && allowNewWindow ) {
                    window.open ( ruri );
                } else {
                    location.assign ( ruri );
                }
                return false;
            }
        });
    }
);

getScrollXY = function () {
    var scrOfX = 0, scrOfY = 0;
    if( typeof( window.pageYOffset ) == "number" ) {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return [ scrOfX, scrOfY ];
}

dump = function ( obj, obj_name ) {
    var result = "";
    if ( !obj_name ) obj_name = "obj";
    for ( var i in obj ) {
        result += obj_name + "." + i + " = " + obj[i] + "\n";
    }
    return result
} 
