var numNavItems = 1;
//
var currentItemOverId = null;
var currentItemOpenId = null;
//
var shortTimer = 0;
var longTimer = 0;
//
var mouseOverInfoPanel = false;
var subStrId = 7;
//
var longTimerDelay = 1000;
var shortTimerDelay = 500;

/* executed when document is loaded */
$(document).ready(function(){

	//hideAllPanels();
   //initButtons();
  // initHotspotDragger();
    $(this).find('.hotspotLink').hide();

});

function dcmadr(nnnn){
    var a = "";
    for(i=0,m=nnnn.length;i < m;i++){
        if(i%3==0){
            a += String.fromCharCode(nnnn.substr(i, 3));
        }
    }
    location.href=(a);
}

function initHotspotDragger( contextPath ){

    $('.hotspot').draggable({start: function(event, ui){ hasDraggedpanel = true;}, stop: function(event, ui){

          persistNewPosition( '#'+$(this).attr("id"), $(this).attr("rel"), "0", "0", contextPath, "navPos_");

     },cursor: 'default',containment: '#nav'});

}



function persistNewPosition(mybox_name, h, topOffset, leftOffset, basepath, prefix){
    if(!prefix || prefix==undefined||prefix==null){prefix="";}
    var l = $(mybox_name).css("left");
    l = l.replace(/[^-0-9]+/g,'');
    l = (l*1)-leftOffset;
    var t = $(mybox_name).css("top");
    t = t.replace(/[^-0-9]+/g,'');
    t = (t*1)-topOffset;
    $.get(basepath+"/custom/admin/persistdata.jsp?handle="+h+"&"+prefix+"top="+t+"&"+prefix+"left="+l );
}




function initButtons()
{
		//***************** Nav hotspot mouse events  ******************
		//
		// On mouse over
		$(".hotspot").mouseenter(function() {

			//Set the current item over id using the jquery object $(this)
            //which we then use to get the objects unique id

            currentItemOverId = $(this).attr("id");


			//If there are no nav items open then open the infoPanel for the current nav item
			if( currentItemOpenId == null )
			{
				//Show the info panel for the nav item rolled over
				showInfoPanel( currentItemOverId.substr( subStrId ) );
				//Set the current item id
				currentItemOpenId = currentItemOverId;
			}
		});
		// On mouse out
		$(".hotspot").mouseleave(function() {

			currentItemOverId = null;

  			startShortTimer( shortTimerDelay );
		});

		// On mouse click
		$(".hotspot").click(function() {
			hideInfoPanel( this.id.substr( subStrId )  );

            currentItemOpenId = null;


//            alert( $(this).find('.hotspotLink').text() );
		});


		//***************** Info panel mouse events  ******************
		$(".infoPanel").mouseenter(function() {
			////alert(' panel mouse over' + this.id);
			mouseOverInfoPanel = true;
			// User has moused over an info panel Clear the timer as info panel needs to remain on screen
			clearTimeout ( shortTimer );
		});


		$(".infoPanel").mouseleave(function() {
			//alert(' panel mouse out ' + this.id.substr( subStrId ));
			mouseOverInfoPanel = false;
			startShortTimer( shortTimerDelay );
		});



	$('.backgroundBtn').click(function() {

		mouseOverInfoPanel = false;
	 	hideInfoPanel( currentItemOpenId.substr( subStrId )  );
	 	currentItemOpenId = null;
	});

}

function startShortTimer( delayTime ){
	shortTimer = setTimeout ( "shortTimerEnd()", delayTime );
}

function startLongFadeTimer( delayTime ){
	longTimer = setTimeout ( "longTimerEnd()", delayTime );
}

function longTimerEnd(){
    //Clear the timer
	clearTimeout ( longTimer );

//	alert(currentItemOpenId +' currentItemOpenId');
    if( currentItemOpenId != null){
		hideInfoPanel( currentItemOpenId.substr( subStrId ), 'fast' );
	}

	currentItemOpenId = null;

	//If user has rolled over an item while the longtimer was counting down
	if( currentItemOverId != null ){
		showInfoPanel( currentItemOverId.substr( subStrId ) );
		currentItemOpenId = currentItemOverId;
	}

}

function shortTimerEnd (){
	//Clear the timer
	clearTimeout ( shortTimer);
	//Also clear out any longTimer events that may have been started
	clearTimeout ( longTimer );



    if( !mouseOverInfoPanel ){
		//alert('currentItemOverId in first check is: ' + 	currentItemOverId );

		//Check to see if the mouse has left all nav items
		if( currentItemOverId != null ){
			//alert('currentItemOverId in  test is: ' + 	currentItemOverId )
			if( currentItemOverId == currentItemOpenId ){
				//alert('Timer has finished and mouse IS over the same nav item');
			}else{
				//alert('Timer has finished and mouse IS over a different nav item - fade previous - show current');
				hideInfoPanel( currentItemOpenId.substr( subStrId ), '' );
				showInfoPanel( currentItemOverId.substr( subStrId ) );
				currentItemOpenId = currentItemOverId;
			}
		}else if( currentItemOverId == null ){
			//alert('Timer has finished and mouse is not over any nav item - use 1 sec fade ');
			//Start timer to delay the fade out
			startLongFadeTimer( longTimerDelay );
		}
	}

}

//
function hideAllPanels(){
	$(".infoPanel").hide();
}

function showInfoPanel( id ){
	var divId = '#infoPanel'+ id.toString();
	$(divId).show();
}

function hideInfoPanel( id, fadeType ){
    var divId = '#infoPanel'+ id.toString();
	$(divId).hide();
}






