/* 
-------------------------------------------------------
                                               
      ::                          
                                                                                                          
-------------------------------------------------------
                                                     
      DEPENDENCIES                             
                                                     
    
                                                     
-------------------------------------------------------
*/

///////////////////////////////////////////////////////
//
// reload if window resized
//
///////////////////////////////////////////////////////

function Reload()
	{
		window.location.href = window.location.href
	}
window.onresize = Reload;


///////////////////////////////////////////////////////
//
// Initialize the navbar and drop-down menus
//
///////////////////////////////////////////////////////

function initNavbar(){

	var menuItems = $$('#navbar li');
	var menus = $$('ul.menu');
	
	var navTop = $('navbar').getPosition().y + $('navbar').getSize().size.y;
	var leftPos = $('navbar').getPosition().x + 20;
	
	//var leftPos = 20;
	for(i=0;i<menus.length;i++) {
		
		// position drop down menus
		menus[i].setStyle('left', leftPos+'px');
		menus[i].setStyle('top', navTop+'px');
		menus[i].setStyle('display', 'block');
		leftPos += menuItems[i].getSize().size.x;
		
		// give each menu an id and set opacity
		menus[i].setProperty('id', i+'menu');
		menuItems[i].setProperty('id', i);
		menus[i].setStyle('opacity', '0');
		
		// attach events to open and close menu to navbar and menus
		menuItems[i].addEvent('mouseover', function(){ openMenu(this); });
		menuItems[i].addEvent('mouseout', function(){ closeMenu(this); });
		menus[i].addEvent('mouseover', function(){ overMenu(this); });
		menus[i].addEvent('mouseout', function(){ offMenu(this); });		
	}
}

///////////////////////////////////////////////////////
//
// Initialize tips
//
///////////////////////////////////////////////////////

function initTips(){
	var pageTips = new Tips($$('.toolTipElement'), {		   
		onShow: function(tip){
				new Fx.Style(tip,'opacity').start(0,.8);
			},
			onHide: function(tip){
				new Fx.Style(tip,'opacity').start(.8,0);
			},				   
		timeOut: 10,
		maxTitleChars: 50,
		offsets: {'x': 8, 'y': 8},
		fixed: false
	});
}


///////////////////////////////////////////////////////
//
// Menu Functions
//
///////////////////////////////////////////////////////

// these are for navbar events
function openMenu(item) {
	$(item).addClass('active');
	var item = $(item).getProperty('id').toInt();
	$(item+'menu').setStyle('opacity', '.9');
}
function closeMenu(item) {
	$(item).removeClass('active');
	var item = $(item).getProperty('id').toInt();
	$(item+'menu').setStyle('opacity', '0');
}

// these are for drop-down menu events
function overMenu(item) {
	var item = $(item).getProperty('id').toInt();
	$(item+'menu').setStyle('opacity', '.9');
	$(item+'').addClass('active');
}
function offMenu(item) {
	var item = $(item).getProperty('id').toInt();
	$(item+'menu').setStyle('opacity', '0');
	$(item+'').removeClass('active');
}


///////////////////////////////////////////////////////
//
// pop up window - centered
// call with: url, name, width, height
//
///////////////////////////////////////////////////////

function centerPop(url,popName,popWidth,popHeight) {
	var popWidth;
	var popHeight;
	var screenWidth=window.screen.width;
	var screenHeight=window.screen.height;
	var placementx=(screenWidth/2)-((popWidth)/2);
	var placementy=(screenHeight/2)-((popHeight)/2);
	window.open(url,popName,"width="+popWidth+",height="+popHeight+",toolbar=0,location=0,status=0,scrollbars=yes,menubar=0,resizable=0,left="+placementx+",top="+placementy+",screenX="+placementx+",screenY="+placementy+",");
}

///////////////////////////////////////////////////////
//
// clearField: clears input field
//
///////////////////////////////////////////////////////

function clearField(entry) {
	if (entry.value == entry.defaultValue) {
         entry.value = ""
     }
 }

  
///////////////////////////////////////////////////////
//
// window.onload function manager
//
///////////////////////////////////////////////////////

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

///////////////////////////////////////////////////////
//
// Load the functions
//
///////////////////////////////////////////////////////

// --------> Initialize App

addLoadEvent(initNavbar);
addLoadEvent(initTips);

