/*
	Apply SIFR Fonts
*/

var baseURL = "/"; // handles dev environment relative paths.

var applySifr = function() {
	
	// Set Font Locations
	var interLight	= { src: baseURL + 'sifr/flash/interstate-light.swf' }

	var helvLight = { src: baseURL + 'sifr/flash/helvetica-light.swf' };
	
	sIFR.activate(interLight, helvLight);
	
	// Replace text with sifr text
	sIFR.replace(helvLight, {
		wmode:"transparent",
		selector: 'h1',
		css: '.sIFR-root { color: #005a8c; font-size: 24pt; width:auto; }'
	});
	
	sIFR.replace(helvLight, {
		wmode:"transparent",
		selector: 'h3',
		css: '.sIFR-root { color: #394a59; font-size: 18pt; width:auto; }'
	});
	
	sIFR.replace(helvLight, {
		wmode:"transparent",
		selector: 'h4',
		css: '.sIFR-root {color: #0058ac; font-size: 14pt; width:auto;}'
	});
	
	sIFR.replace(helvLight, {
		wmode:"transparent",
		selector: '.callout h2',
		css: '.sIFR-root { color: #ffffff; font-size: 16pt; width:auto;}'
	});
	
	sIFR.replace(interLight, {
		wmode:"transparent",
		selector: '.contentSubHeader h2', fitExactly:true, forceSingleLine: true, tuneWidth: 0,
		css: '.sIFR-root { color: #005a8c; font-size: 21pt; text-align: right; text-transform: uppercase; display:inline; padding:0; margin:0;}'
	});
	
	sIFR.replace(interLight, {
		wmode:"transparent",
		selector: '.contentSubHeader .title',
		css: '.sIFR-root { color: #84888b; font-size: 21pt; text-align: right; text-transform: uppercase; width:auto; display:inline; padding:0; margin:0;}'
	});


	sIFR.replace(interLight, {
		wmode:"transparent",
		selector: '.contentSubHeader ul li',
		tuneWidth: 1,
		css: [
			'.sIFR-root { color: #84888b; font-size: 12pt; text-align: right; text-transform: uppercase; width:auto; letter-spacing:-.5;}',
			'a { color: #84888b; font-size: 12pt; text-align: right; text-decoration: none; text-transform: uppercase; width:auto;}',
			'a:hover { color: #005a8c; font-size: 12pt; text-align: right; text-decoration: underline; text-transform: uppercase; width:auto;}'
		]
		
	});

}



/*
	Apply sifr fonts
*/
applySifr();



/*
	Helper function to apply overlay to a container
*/
var applyOverlay = function(obj, ele) {
	
	// Listen in for a mouseover and mouseout
	YAHOO.util.Event.addListener(ele, "mouseover", function(e) {
		obj.show();
	}, obj, true);
	
	YAHOO.util.Event.addListener(ele, "mouseout", function() {
		obj.hide()
	}, obj, true);
	
	
	// Listen for mouse moves over callout
	YAHOO.util.Event.addListener(document.getElementById(ele), "mousemove", function(e) {
		
		var xy = YAHOO.util.Event.getXY(e);
		var currentXy = obj.getXY();
		
		if((xy[0] != currentXy[0] + 10) || (xy[1] != currentXy[1] - 70)) {
			obj.moveTo(xy[0] + 10, xy[1] - 70);
		}
	});
}



/*
     Initialize and render the MenuBar when its elements are ready to be scripted.
*/
YAHOO.util.Event.onContentReady("topNavigation", function () {

    var oMenuBar = new YAHOO.widget.MenuBar("topNavigation", {
		autosubmenudisplay: true, 
		hidedelay: 750, 
		lazyload: true
    });
    
    // Event handling
    
	// document.getElementById("testing").innerHTML = oMenuBar.getItem(0);
    
	
	// Perform conversion of file name
	var swapFile = function(ele, eMethod) {
		
		var ele = document.getElementById(ele);
		
		if(eMethod != 1) {
			var nData = ele.src.replace("-x\.gif", "-o\.gif");
		}
		else {
			var nData = ele.src.replace("-o\.gif", "-x\.gif");
		}
		
		if(ele.src != nData) {
			ele.src = nData;
		}
	}
	
	
	// Subscribe certain items to change there image
	var subscribeMe = function(obj, ele) {
    	obj.subscribe("mouseover", function() {
			swapFile(ele);
			oMenuBar.init();
		});
		
		obj.subscribe("mouseout", function() {
			swapFile(ele, 1);
			oMenuBar.init();
		});
    }

    
    oMenuBar.render();
    
    var item0 = oMenuBar.getItem(0);
    var item1 = oMenuBar.getItem(1);
    var item2 = oMenuBar.getItem(2);
    var item3 = oMenuBar.getItem(3);
    var item4 = oMenuBar.getItem(4);
    var item5 = oMenuBar.getItem(5);
    
    subscribeMe(item0, "mItem0");
    subscribeMe(item1, "mItem1");
    subscribeMe(item2, "mItem2");
    subscribeMe(item3, "mItem3");
    subscribeMe(item4, "mItem4");
    subscribeMe(item5, "mItem5");
    
});



/*
	Complete the following when the DOM is in a useable state
*/
YAHOO.util.Event.onDOMReady( function() {
	
	
	
	// Add additional functionality
	YAHOO.widget.Overlay.prototype.getXY = function() {
		
		x = this.cfg.getProperty("x");
        y = this.cfg.getProperty("y");
        
        return new Array(x, y);
	};
	
	YAHOO.widget.Overlay.prototype.isVisible = function() {
		return this.cfg.getProperty("visible");
	};
	
	
	
	// Set up new overlays
	var attributes = {
		visible:	false,
		width:		"200px"
	}
	
	var overlay1 = new YAHOO.widget.Overlay("overlay1", attributes);
	overlay1.render();
	
	var overlay2 = new YAHOO.widget.Overlay("overlay2", attributes);
	overlay2.render();
	
	var overlay3 = new YAHOO.widget.Overlay("overlay3", attributes);
	overlay3.render();
	
	var overlay4 = new YAHOO.widget.Overlay("overlay4", attributes);
	overlay4.render();
	
	var overlay5 = new YAHOO.widget.Overlay("overlay5", attributes);
	overlay5.render();
	
	// Apply overlay listeners
	var oLay1 = new applyOverlay(overlay1, "callout1");
	var oLay1 = new applyOverlay(overlay2, "callout2");
	var oLay1 = new applyOverlay(overlay3, "callout3");
	var oLay1 = new applyOverlay(overlay4, "callout4");
	var oLay1 = new applyOverlay(overlay5, "callout5");
});