//Declarations
//Specialism Menu...
var aID = new Array();
aID[0]="legal_div";
aID[1]="finance_div";
aID[2]="technology_div";
aID[3]="hr_div";
aID[4]="marketing_div";
aID[5]="supply_management_div";
aID[6]="commercial_div";
aID[7]="coaching_div";

var aPos = new Array();
aPos[0]=0;
aPos[1]=70;
aPos[2]=140;
aPos[3]=210;
aPos[4]=280;
aPos[5]=350;
aPos[6]=420;
aPos[7]=490;

var nSmallSize=50;
var nBigSize=80;
var nMaxIncrease=nBigSize-nSmallSize;
var nProximity=80;
var nItemStartPosY=30;

function roundNumber(nToRound,nDecs) 
{
    return Math.round(nToRound*Math.pow(10,nDecs))/Math.pow(10,nDecs);
}


function findPos(obj) 
{
	var curleft = curtop = 0;
    if (obj.offsetParent) 
    {
        do {
		    curleft += obj.offsetLeft;
		    curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
    
    }
    return [curleft,curtop];
}

function checkMousePosition(e) 
{   
    //Get cross browser event...
    if (!e) 
    {
        var e = window.event;
    }
    
    //Get cross browser scroll position...
    var nScrollX=document.documentElement.scrollLeft;
    var nScrollY=document.documentElement.scrollTop;
    if(window.pageXOffset>nScrollX)
    {
        nScrollX=window.pageXOffset;
    }
    
    if(window.pageYOffset>nScrollY)
    {
        nScrollY=window.pageYOffset;
    }
    
    /****Specialism Menu****/
    //Get Mouse position relative to menu box...
    var aDivPos = findPos(document.getElementById("special_menu"));
    var nDivPosX = aDivPos[0];
    var nDivPosY = aDivPos[1];
    var nBorderOffSet = 3;
    var nMouseX = e.clientX - nDivPosX - nBorderOffSet + nScrollX;
    var nMouseY = e.clientY - nDivPosY - nBorderOffSet + nScrollY;
    
    
    //document.getElementById("dan_test").innerHTML = nScrollY;//document.documentElement.scrollTop; //document.getElementById("outerframe").scrollTop
    
    for(var i=0;i<8;i++)
    {
        var oItem = document.getElementById(aID[i]);
        var nItemCurrentPosX=oItem.offsetLeft;
        var nItemCurrentPosY=oItem.offsetTop;
        var nItemCurrentWidth=oItem.clientWidth;
        var nItemCurrentHeight=oItem.clientHeight;
        var nItemStartPosX=aPos[i];
        
        var bInsideItemBoundaryX = nMouseX>(nItemStartPosX-nProximity) && nMouseX<(nItemStartPosX+nSmallSize+nProximity);
        var bInsideItemBoundaryY = nMouseY>(nItemStartPosY-nProximity) && nMouseY<(nItemStartPosY+nSmallSize+nProximity);
        var bSetItemSize = false;
        
        var nXIncrease=nSmallSize;
        var nYIncrease=nSmallSize;
        if( bInsideItemBoundaryX && bInsideItemBoundaryY)
        { 
            if(nMouseX<=nItemCurrentPosX+(nItemCurrentWidth/2))
            {   
                nXIncrease = nMouseX-(nItemCurrentPosX-nProximity);
                bSetItemSize = true;
                 
            }
            else if (nMouseX>nItemCurrentPosX+(nItemCurrentWidth/2))
            {   
                nXIncrease = (nItemCurrentPosX+nItemCurrentWidth+nProximity)-nMouseX;
                bSetItemSize = true;
            }
            
            nScale = parseFloat(((nItemCurrentWidth/2)+nProximity)/nMaxIncrease);
            nXIncrease = parseInt(nXIncrease/nScale,10);
         
            if(nMouseY<=nItemStartPosY+(nSmallSize/2)) //Use original height and position as ratio will always be the same
            {   
                nYIncrease = nMouseY-(nItemCurrentPosY-nProximity);
                bSetItemSize = true;
            }
            
            else  if (nMouseY>nItemStartPosY+(nSmallSize/2)) //Use original height and position as ratio will always be the same
            {   
                nYIncrease = (nItemCurrentPosY+nItemCurrentHeight+nProximity)-nMouseY;
                bSetItemSize = true;
            }
            
            nScale = parseFloat(((nItemCurrentHeight/2)+nProximity)/nMaxIncrease);
            nYIncrease = parseInt(nYIncrease/nScale,10);
            
            if(nXIncrease<nYIncrease)
            {
                nIncrease = nXIncrease;
            }
            else
            {
                nIncrease = nYIncrease;
            }
        }
        else
        {   
            nIncrease = 0;
            bSetItemSize = true;
        }
         
        if(bSetItemSize)
        {
            oItem.style.width=(nSmallSize+nIncrease)+"px"; 
            oItem.style.height=(nSmallSize+nIncrease)+parseInt((nSmallSize+nIncrease)/4,10) +"px";
            oItem.style.left=(nItemStartPosX-parseInt(nIncrease/2,10))+"px";  
            oItem.style.top=(nItemStartPosY-parseInt(nIncrease/2,10))+"px";  
        }
    }
    /****Specialism Menu****/
    
    /****Thought Bubble****/
    if(document.getElementById("thought_menu")!=null)
    {
        //Get Mouse position relative to bubble...
        aDivPos = findPos(document.getElementById("thought_menu"));
        nDivPosX = aDivPos[0];
        nDivPosY = aDivPos[1];
        nBorderOffSet = 3;
        nMouseX = e.clientX - nDivPosX - nBorderOffSet + nScrollX;
        nMouseY = e.clientY - nDivPosY - nBorderOffSet + nScrollY;
        
        var nStartWidth=182;
        var nStartHeight=134;
        var nBubbleStartPosX = 30;
        var nBubbleStartPosY = 5;
        
        //Get current bubble dimensions...
        oItem = document.getElementById("thought_div");
        nItemCurrentPosX=oItem.offsetLeft;
        nItemCurrentPosY=oItem.offsetTop;
        nItemCurrentWidth=oItem.clientWidth;
        nItemCurrentHeight=oItem.clientHeight;
        
        var nBubbleProximity = 20;    
        var nBubbleBigSize=205;
        var nMaxBubbleIncrease=nBubbleBigSize-nStartWidth;

        nXIncrease=0;
        bSetItemSize = false;
           
        bInsideItemBoundaryX = nMouseX>(nBubbleStartPosX-nBubbleProximity) && nMouseX<(nBubbleStartPosX+nStartWidth+nBubbleProximity);
        bInsideItemBoundaryY = nMouseY>(nBubbleStartPosY-nBubbleProximity) && nMouseY<(nBubbleStartPosY+nStartHeight+nBubbleProximity);
        
        var nBulbAlpha = 0;
        var nMaxBulbAlpha = 15;
                
        if(bInsideItemBoundaryX && bInsideItemBoundaryY)
        {     
            if(nMouseX<=nItemCurrentPosX+(nItemCurrentWidth/2))
            {   
                nXIncrease = nMouseX-(nItemCurrentPosX-nBubbleProximity);
                bSetItemSize = true;
            }
            else if (nMouseX>nItemCurrentPosX+(nItemCurrentWidth/2))
            {   
                nXIncrease = (nItemCurrentPosX+nItemCurrentWidth+nBubbleProximity)-nMouseX;
                bSetItemSize = true;
            }
            
            nScale = parseFloat(((nItemCurrentWidth/2)+nBubbleProximity)/nMaxBubbleIncrease);
            nXIncrease = parseInt(nXIncrease/nScale,10);
            
            if(nMouseY<=nItemCurrentPosY+(nItemCurrentHeight/2)) 
            {   
                nYIncrease = nMouseY-(nItemCurrentPosY-nBubbleProximity);
                bSetItemSize = true;
            }
            
            else  if (nMouseY>nItemCurrentPosY+(nItemCurrentHeight/2)) //Use original height and position as ratio will always be the same
            {   
                nYIncrease = (nItemCurrentPosY+nItemCurrentHeight+nBubbleProximity)-nMouseY;
                bSetItemSize = true;
            }
            
            nScale = parseFloat(((nItemCurrentHeight/2)+nBubbleProximity)/nMaxBubbleIncrease);
            nYIncrease = parseInt(nYIncrease/nScale,10);
            
            if(nXIncrease<nYIncrease)
            {
                nIncrease = nXIncrease;
            }
            else
            {
                nIncrease = nYIncrease;
            }
            
            nBulbScale = parseFloat(nMaxBulbAlpha/nMaxBubbleIncrease);
            nBulbAlpha = parseInt(nIncrease*nBulbScale,10);
            
        }
        
            
        if(bSetItemSize)
        {
            oItem.style.width=(nStartWidth+nIncrease)+"px"; 
            oItem.style.height=parseInt((nStartWidth+nIncrease)*(nStartHeight/nStartWidth),10) +"px";
            oItem.style.left=(nBubbleStartPosX-parseInt(nIncrease/2,10))+"px";  
            oItem.style.top=(nBubbleStartPosY-parseInt(nIncrease/2,10))+"px";  
            
            document.getElementById("thought_light").style.opacity=roundNumber(nBulbAlpha/100,2);
            document.getElementById("thought_light").style.filter="alpha(opacity="+nBulbAlpha+")";
        }
    }
    /****Thought Bubble****/
    
}

function preLoadImages()
{
    if (document.images)
    {   
	    //Main Menu...
	    pic0= new Image();
	    pic0.src="images/home_on.gif";
	    pic1= new Image();
	    pic1.src="images/home_over.gif";
	    pic2= new Image();
	    pic2.src="images/clients_on.gif";
	    pic3= new Image();
	    pic3.src="images/clients_over.gif";
	    pic4= new Image();
	    pic4.src="images/join_us_on.gif";
	    pic5= new Image();
	    pic5.src="images/join_us_over.gif";
	    pic6= new Image();
	    pic6.src="images/candidates_on.gif";
	    pic7= new Image();
	    pic7.src="images/candidates_over.gif";
	    pic8= new Image();
	    pic8.src="images/contact_us_on.gif";
	    pic9= new Image();
	    pic9.src="images/contact_us_over.gif";
	    pic10= new Image();
	    pic10.src="images/job_search_on.gif";
	    pic11= new Image();
	    pic11.src="images/job_search_over.gif";
	    pic12= new Image();
	    pic12.src="images/testimonials_on.gif";
	    pic13= new Image();
	    pic13.src="images/testimonials_over.gif";
	    
	    //Thought bubble
	    pic14= new Image();
	    pic14.src="images/bulb.gif";
	    pic15= new Image();
	    pic15.src="images/light.gif";
	    pic16= new Image();
	    pic16.src="images/thought.png";
	    
	    //Specialisms Menu...
	    pic17= new Image();
	    pic17.src="images/Legal.jpg";
	    pic18= new Image();
	    pic18.src="images/Finance.jpg";
	    pic19= new Image();
	    pic19.src="images/Technology.jpg";
	    pic20= new Image();
	    pic20.src="images/HR.jpg";
	    pic21= new Image();
	    pic21.src="images/Marketing.jpg";
	    pic22= new Image();
	    pic22.src="images/Supply_Management.jpg";
	    pic23= new Image();
	    pic23.src="images/Commercial.jpg";
	    pic24= new Image();
	    pic24.src="images/Coaching.jpg";
	    
    }
}

function onLoadBody()
{   
    preLoadImages();
    document.onmousemove = checkMousePosition;
    
    //if individual pages have a function to call on load - do it...
    if(typeof onLoadBody2 == 'function')
    {
        onLoadBody2();
    }
}

function goToContact(nIndex)
{
    document.getElementById("contact_index").value= nIndex;
    document.getElementById("contact_form").submit();
}