
var $jQ = jQuery.noConflict();
var fancybox_outer, expand, brow_left_nav, brow_right_nav, close_button;
var qsParam = new Array();
var scripts, thisScript;
var displayValue, bpitoolbarBackground;

$jQ(document).ready(function(){
    
     if (typeof(bpiToolbarParameters) != "undefined") {
          qs(bpiToolbarParameters);
     } else {
         // check for parameters in the src of the script
        scripts = document.getElementsByTagName('script');
        for (var i=0; i<scripts.length; i++) {
            script = scripts[i];
            if (script.id == "bpiToolbarScript") {
               thisScript = script;
               break; 
            }
        }
        if (typeof(thisScript) != "undefined") {
        //parse the query string
            qs(thisScript.src.replace(/^[^\?]+\??/,''));
        } else {
            qs("");
        }
     }
     $jQ('body').prepend($jQ('<div id="bpi-toolbar-small">'));
     createToolBar();
     displayValue = $jQ('.bpi-toolbar').css("display");
     bpitoolbarBackground = $jQ('#bpi-toolbar-small').css("background");
     
     $jQ('.bar-button').hover(function () {
         $jQ('.bar-button img').attr("src","http://www.businessprocessincubator.com/images/logo.png");
         $jQ('#bpi-toolbar-small').animate({
                width:"260px"
         }, 100);
     },
     function(){
         $jQ('#bpi-toolbar-small').animate({
                width:"60px"
         }, 100, "linear", function(){
            $jQ('.bar-button img').attr("src","http://www.businessprocessincubator.com/images/logo-image.png");
         });
     });

     $jQ('#bpi-toolbar-small a').fancybox({
           "autoDimensions": false,
           "type": "iframe",
           "width": "90%",
           "height": "90%",
           "centerOnScroll":true,
           "showCloseButton":false,
           "hideOnOverlayClick":false
     });
     
     $jQ('#bpi-toolbar-small a').click(function() {
         displayValue = $jQ('.bpi-toolbar').css("display");
         bpitoolbarBackground = $jQ('#bpi-toolbar-small').css("background");
         $jQ('.bpi-toolbar').css("display", "none");
         $jQ('#bpi-toolbar-small').css("background" , "transparent");
     });
     
          
     fancybox_outer = $jQ("#fancybox-outer");
     fancybox_outer.append(
        close_button = $jQ('<a id="fancybox-close-bpi" title="Close the window"></a>'),
        expand = $jQ('<a id="fancybox-expand" title="Open in new window"></a>'),
        brow_left_nav = $jQ('<a id="fancybox-left-browser-nav" title="Go back one page"></a>'),
        brow_right_nav = $jQ('<a id="fancybox-right-browser-nav" title="Go forward one page"></a>')
     );
     
     $jQ("#fancybox-wrap").css("z-index", "110100");
     
    expand.click(function() {
        var newWindow = window.open("http://www.businessprocessincubator.com/", '_blank');
        newWindow.focus();
         // restore bpi-toolbar
         $jQ('.bpi-toolbar').css("display", displayValue);
         $jQ('#bpi-toolbar-small').css("background" , bpitoolbarBackground);
         // close the fancy box in the calling page
         $jQ.fancybox.close();
    });
     
    close_button.click(function() {
         // restore bpi-toolbar
         $jQ('.bpi-toolbar').css("display", displayValue);
         $jQ('#bpi-toolbar-small').css("background" , bpitoolbarBackground);
         // close the fancy box
         $jQ.fancybox.close();
    });

    brow_left_nav.click(function() {
        window.history.back();                                                
    });

    brow_right_nav.click(function() {
        window.history.forward();                                                
    });
    
    close_button.show();
    expand.show();
    brow_left_nav.show();
    brow_right_nav.show();

});

function qs(query) {
    var parms = query.split('&');
    for (var i=0; i<parms.length; i++) {
        var pos = parms[i].indexOf('=');
        if (pos > 0) {
            var key = parms[i].substring(0,pos);
            var val = parms[i].substring(pos+1);
            qsParam[key] = val;
        }
    }
    if (qsParam['position']) {
        var position;
        if (qsParam['position'].match(/px$/)) {
            position = qsParam['position'].split("px");
            if (!isNumeric(position[0])) {
                qsParam['position'] = null;
            }
        } else if (qsParam['position'].match(/%$/)) {
            position = qsParam['position'].split("%");
            if (!isNumeric(position[0])) {
                qsParam['position'] = null;
            }
        }
    } 
}
function isNumeric(strString) {
   //  check for valid numeric strings    
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++) {
          strChar = strString.charAt(i);
          if (strValidChars.indexOf(strChar) == -1) {
                blnResult = false;
          }
      }
   return blnResult;
   }
   
function createToolBar() {
    switch (qsParam['dir']) {
        case "left":
            createBorder();
            $jQ('#bpi-toolbar-small').css("left","0px");                     
            setPosition("top");
        break;
        case "right":
            createBorder();
            $jQ('#bpi-toolbar-small').css("right","0px");                     
            setPosition("top");
        break;
        case "top":
            createBorder();
            $jQ('#bpi-toolbar-small').css("top","0px");                     
            setPosition("left");
        break;
        case "bottom":
            createBorder();
            $jQ('#bpi-toolbar-small').css("bottom","0px");
            setPosition("left");
        break;
        default:
            createBorder();
            $jQ('#bpi-toolbar-small').css("left","0px");                     
            setPosition("top");
    }

}

function setPosition(edge) {
    switch (edge) {
        case "top":
            if (qsParam['position']) {
                $jQ('#bpi-toolbar-small').css("top",qsParam['position']);                     
            } else {
                $jQ('#bpi-toolbar-small').css("top","25%");                     
            }
        break;
        case "left":
            if (qsParam['position']) {
                $jQ('#bpi-toolbar-small').css("left",qsParam['position']);                     
            } else {
                $jQ('#bpi-toolbar-small').css("left","25%");                     
            }
        break;
    }
}

function createBorder() {
    $jQ('#bpi-toolbar-small').append('<div class="bpi-toolbar"><div class="border-bot"><div class="border-left"><div class="border-right"><div class="bar-button"><a href="http://www.businessprocessincubator.com/"><img src="http://www.businessprocessincubator.com/images/logo-image.png"></a></div></div></div></div></div>');
}     

