var Ajax;
if (Ajax && (Ajax != null)) {
    Ajax.Responders.register({
        onCreate: function() {
            if($('spinner') && Ajax.activeRequestCount>0)
                Effect.Appear('spinner',{
                    duration:0.5,
                    queue:'end'
                });
        },
        onComplete: function() {
            if($('spinner') && Ajax.activeRequestCount==0)
                Effect.Fade('spinner',{
                    duration:0.5,
                    queue:'end'
                });
        }
    });
}

function previewFor (ajaxUrl, objectId, divToUpdate){
    new Ajax.Updater(divToUpdate, ajaxUrl,
      {
        asynchronous:true,
        evalScripts:true,
        onLoading:function(e){
          ajaxLoading();
        },
      parameters:'id='+ objectId});
}

function disappear (divId){
    jQuery('#'+divId).animate({
        "opacity":"hide",
        "height":"hide"
    }, {
        queue:false,
        duration:500
    });
}
function makeappear (divId){
    jQuery('#'+divId).animate({
        "opacity":"show",
        "height":"show"
    }, {
        queue:false,
        duration:500
    });
}

function showMiniplayer (miniplayerUrl){
    window.open (   miniplayerUrl,
        'Chiptunes-Heabdangers - Player',
        config='height=380, width=280, toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, directories=no, status=no');
}

function formFlow_show (flowToHide, flowToShow){
    jQuery('#'+flowToHide).hide()
    //disappear(flowToHide);
    jQuery('#'+flowToShow).show();
//makeappear(flowToShow);
}

if (document.layers) { // Netscape
    document.captureEvents(Event.MOUSEMOVE);
    document.onmousemove = captureMousePosition;
} else if (document.all) { // Internet Explorer
    document.onmousemove = captureMousePosition;
} else if (document.getElementById) { // Netcsape 6
    document.onmousemove = captureMousePosition;
}

// Global variables
xMousePos = 0; // Horizontal position of the mouse on the screen
yMousePos = 0; // Vertical position of the mouse on the screen
xMousePosMax = 0; // Width of the page
yMousePosMax = 0; // Height of the page

function captureMousePosition(e) {
    if (document.layers) {
        // When the page scrolls in Netscape, the event's mouse position
        // reflects the absolute position on the screen. innerHight/Width
        // is the position from the top/left of the screen that the user is
        // looking at. pageX/YOffset is the amount that the user has
        // scrolled into the page. So the values will be in relation to
        // each other as the total offsets into the page, no matter if
        // the user has scrolled or not.
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    } else if (document.all) {
        // When the page scrolls in IE, the event's mouse position
        // reflects the position from the top/left of the screen the
        // user is looking at. scrollLeft/Top is the amount the user
        // has scrolled into the page. clientWidth/Height is the height/
        // width of the current page the user is looking at. So, to be
        // consistent with Netscape (above), add the scroll offsets to
        // both so we end up with an absolute value on the page, no
        // matter if the user has scrolled or not.
        xMousePos = window.event.x+document.body.scrollLeft;
        yMousePos = window.event.y+document.body.scrollTop;
        xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
        yMousePosMax = document.body.clientHeight+document.body.scrollTop;
    } else if (document.getElementById) {
        // Netscape 6 behaves the same as Netscape 4 in this regard
        xMousePos = e.pageX;
        yMousePos = e.pageY;
        xMousePosMax = window.innerWidth+window.pageXOffset;
        yMousePosMax = window.innerHeight+window.pageYOffset;
    }
}


function zoomOnImage (imageSrc){
    document.getElementById('zoom').style.display = "block";
    document.getElementById('zoom').style.visibility = "visible";

    document.getElementById('zoom').style.top = (yMousePos+20)  + "px";
    document.getElementById('zoom').style.left = (xMousePos+20)  + "px";

    document.getElementById('zoom').innerHTML = "<img src=\""+imageSrc+"\" alt=\"Zoom\">";
}

function showOrHide (divId) {
    var display = document.getElementById(divId).style.display;
    var visibility = document.getElementById(divId).style.visibility;

    if (display == "block" && visibility == "visible"){
        document.getElementById(divId).style.display = "none";
        document.getElementById(divId).style.visibility = "hidden";
    } else{
        document.getElementById(divId).style.display = "block";
        document.getElementById(divId).style.visibility = "visible";
    }
}


function unZoom (){
    document.getElementById('zoom').style.display = "none";
    document.getElementById('zoom').style.visibility = "hidden";
}

var notification = function (message) {
    jQuery.jGrowl(message, {header: 'Confirmation', speed: 'slow', closer:false});
}

var ajaxLoading = function (divId, imageSrc) {
    document.getElementById(divId).innerHTML = "<img src=\""+imageSrc+"\" alt=\"Zoom\">";
}


var formLoading = function (divToChange, loadingImageSrc){
    var currentContent = document.getElementById(divToChange).innerHTML;

    var futureContent = "<div id=\"formLoading\"><img src=\""+loadingImageSrc+"\"/></div>";
    document.getElementById(divToChange).innerHTML = futureContent;

    setTimeout(nothing, 500000);
}

var nothing = function(){}

var showSpan = function (spanId){
    document.getElementById(spanId).style.visibility = "visible";
}

