﻿var globalTimeoutVar = new Object();
globalTimeoutVar["left"] = null;
globalTimeoutVar["leftSub"] = null;
globalTimeoutVar["right"] = null;
globalTimeoutVar["rightSub"] = null;
var interval = 70;

function feedbackHover()
{
    var feedbackAnchor = document.getElementById("feedback");
    
    feedbackAnchor.innerHTML = "<span id=\"left\">[</span><span id=\"plus\">+</span><span id=\"right\">]</span> Feedback";
    
    var left = document.getElementById("left");
    left.style.position = "relative";
    var plus = document.getElementById("plus");
    plus.style.position = "relative";
    var right = document.getElementById("right");
    right.style.position = "relative";
    
    globalTimeoutVar["left"] = setTimeout("moveLeftBracket(1);",interval);
    globalTimeoutVar["right"] = setTimeout("moveRightBracket(1);",interval);
}

function moveLeftBracket(increment) {
    var left = document.getElementById("left");
    var leftPosition = left.style.left;
    left.innerHTML = "[";
    
    if( leftPosition == null || leftPosition == "" ) {
        left.style.position = "relative";
        left.style.left = "0px";
        globalTimeoutVar["leftSub"] = setTimeout("moveLeftBracket(1);",interval);
    }
    else {
        leftPosition = leftPosition.split("px")[0];
        left.style.left = (Number(leftPosition)+increment) + "px";
        
        if( Number(leftPosition) > 5 )
            left.innerHTML = "]";
            
        if( Number(leftPosition) == 6 )
            left.innerHTML = "|";
        
        if( Number(increment) < 0 && Number(leftPosition) > 0 )
            globalTimeoutVar["leftSub"] = setTimeout("moveLeftBracket(-1);",interval);
        else if( Number(increment) < 0 && Number(leftPosition) == 0 )
            globalTimeoutVar["leftSub"] = setTimeout("moveLeftBracket(1);",interval);
        else if( Number(increment) > 0 && Number(leftPosition) < 12 )
            globalTimeoutVar["leftSub"] = setTimeout("moveLeftBracket(1);",interval);
        else if( Number(increment) > 0 && Number(leftPosition) == 12)
            globalTimeoutVar["leftSub"] = setTimeout("moveLeftBracket(-1);",interval);
    }
}

function moveRightBracket(increment) {
    var right = document.getElementById("right");
    var rightPosition = right.style.right;
    right.innerHTML = "]";
    
    if( rightPosition == null || rightPosition == "" ) {
        right.style.position = "relative";
        right.style.right = "0px";
        globalTimeoutVar["rightSub"] = setTimeout("moveRightBracket(1);",interval);
    }
    else {
        rightPosition = rightPosition.split("px")[0];
        right.style.right = (Number(rightPosition)+increment) + "px";
        
        if( Number(rightPosition) > 5 )
            right.innerHTML = "[";
        if( Number(rightPosition) == 6 )
            right.innerHTML = "|";
        
        if( Number(increment) < 0 && Number(rightPosition) > 0 )
            globalTimeoutVar["rightSub"] = setTimeout("moveRightBracket(-1);",interval);
        else if( Number(increment) < 0 && Number(rightPosition) == 0 )
            globalTimeoutVar["rightSub"] = setTimeout("moveRightBracket(1);",interval);
        else if( Number(increment) > 0 && Number(rightPosition) < 12 )
            globalTimeoutVar["rightSub"] = setTimeout("moveRightBracket(1);",interval);
        else if( Number(increment) > 0 && Number(rightPosition) == 12)
            globalTimeoutVar["rightSub"] = setTimeout("moveRightBracket(-1);",interval);
    }
}

// Reset the Feedback to the default Text
function feedbackClear() 
{
    // Clear the Timeouts
    if( globalTimeoutVar["left"] != null )
        clearTimeout(globalTimeoutVar["left"]);
    
    if( globalTimeoutVar["leftSub"] != null )
        clearTimeout(globalTimeoutVar["leftSub"]);
    
    if( globalTimeoutVar["right"] != null )
        clearTimeout(globalTimeoutVar["right"]);
    
    if( globalTimeoutVar["rightSub"] != null )
        clearTimeout(globalTimeoutVar["rightSub"]);
       
    
    var feedbackAnchor = document.getElementById("feedback");
    feedbackAnchor.innerHTML = "[+] Feedback";
}

window.onload = function() {
    // Assign the omouseover/onmouseout handlers to the feedback anchor
    var feedbackAnchor = document.getElementById("feedback");
    
    feedbackAnchor.onmouseover = feedbackHover;
    feedbackAnchor.onmouseout  = feedbackClear;
};