// OPEN A PAGE IN A NEW WINDOW
// Create the new window
function openInNewWindow(e) {
	var event;
	if (!e) event = window.event;
	else event = e;
	// Abort if a modifier key is pressed
	if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) {
		return true;
	}
	else {		
		var newWindow = window.open(this.getAttribute('href'), '', 'width=780, height=500, scrollbars=yes, resizable=yes, toolbar=yes, location=yes, directories=no, menubar=yes, copyhistory=no');
		if (newWindow) {
		    // For IE 8
			try {
		        if (newWindow.focus()) {
			        newWindow.focus();
			    }
		    }
		    catch(err) {		        
		        return false;		        
		    }	
		return false;
		}
	return true;
	}
}

// CALL THIS FUNCTION TO INITIATE FUNCTION THAT OPENS CERTAIN LINKS IN NEW WINDOWS
function getNewWindowLinks() {
	// Check that the browser is DOM compliant
	if (document.getElementById && document.createElement && document.appendChild) {		
		// Find all links
		var link;
		var links = document.getElementsByTagName('a');
		for (var i = 0; i < links.length; i++) {
			link = links[i];
			// Find all links with a class name of "non-html"
			if (/\bnon\-html\b/.test(link.className)) {
				link.onclick = openInNewWindow;
			}
			// Find all links with a class name of "off-site"
			else if (/\boff\-site\b/.test(link.className)) {				
				link.onclick = openInNewWindow;
			}			
		}
	}
}

// LOOK FOR TABLES AND CREATE ALTERNATE ROWS
// This auto adjusts alternate rows as new rows are added
function createAlternateRows() {
	// Check that the browser is DOM compliant
	if (document.getElementById) {		
		// Find all table rows		
		var row;
		var tablerows = document.getElementsByTagName('tr');
		var counter = 0;
		for (var i = 0; i < tablerows.length; i++) {
			row = tablerows[i];
			if (counter == 1) {
				row.className = 'alt';
				counter = 0;
			}
			else {
				row.className = '';
				counter ++;
			}							
		}	
	}
}

// SET FOCUS ON PAGES WITH USER FORMS
// Look for inputs tags with the class name of "first"
function goToFirstInput() {		
	var objInput;		
	var aryInput = document.getElementsByTagName('input');
	for (var i = 0; i < aryInput.length; i++) {
		objInput = aryInput[i];
		// Find all inputs with a class name of "first"
		if (/\bfirst\b/.test(objInput.className)) {				
			objInput.focus();							
		}				
	}	
}

// CREATE DESCRIPTION FOR PRIMARY NAVIGATION
function getNavDesc() {    
    var objDescElement = document.getElementById("navdescription");
    var objCurrentNavDesc = objDescElement.innerHTML; 
    var aryNavDesc = new Array();  
    var objPrimaryNav = document.getElementById("navprimary"); 
    var aryLinks = objPrimaryNav.getElementsByTagName("a");
	for (var i = 0; i < aryLinks.length; i++) {
		aryNavDesc[i] = aryLinks[i].title;
		aryLinks[i].title = "";		
		if (/\bhotstate\b/.test(aryLinks[i].className)) {				
			objCurrentNavDesc =	aryNavDesc[i];
			objDescElement.innerHTML = objCurrentNavDesc;			
		}		
	}
	// Mouse over functions	
	aryLinks[0].onmouseover = function() {		    
	    objDescElement.innerHTML = aryNavDesc[0];
	}
	aryLinks[1].onmouseover = function() {		    
	    objDescElement.innerHTML = aryNavDesc[1];
	}
	aryLinks[2].onmouseover = function() {		    
	    objDescElement.innerHTML = aryNavDesc[2];
	}
	aryLinks[3].onmouseover = function() {		    
	    objDescElement.innerHTML = aryNavDesc[3];
	}
	aryLinks[4].onmouseover = function() {		    
	    objDescElement.innerHTML = aryNavDesc[4];
	}	
	// Mouse out functions
	aryLinks[0].onmouseout = function() {
	    objDescElement.innerHTML = objCurrentNavDesc;
	}
	aryLinks[1].onmouseout = function() {
	    objDescElement.innerHTML = objCurrentNavDesc;
	}
	aryLinks[2].onmouseout = function() {
	    objDescElement.innerHTML = objCurrentNavDesc;
	}
	aryLinks[3].onmouseout = function() {
	    objDescElement.innerHTML = objCurrentNavDesc;
	}
	aryLinks[4].onmouseout = function() {
	    objDescElement.innerHTML = objCurrentNavDesc;
	}	
}

// LOOK FOR UNORDERED LISTS TO CREATED COLUMNAR LISTS
function createColumnarLists() {
	// Check that the browser is DOM compliant
	if (document.getElementById) {		
		// Find all unordered lists	
		var ul;
		var ullists = document.getElementsByTagName('ul');		
		for (var i = 0; i < ullists.length; i++) {
			ul = ullists[i];
			// Find all lists with a class name of "columnar"
			if (/\bcolumnar\b/.test(ul.className)) {
				var counter = 0;
				// Get all children
				for (var j = 0; j < ul.childNodes.length; j++) {								
				 	var li = ul.childNodes[j];					
					// Check to make sure this is an element node rather than a white space (text) node
					if (li.nodeType == '1') {
						// Add classes to list items
						if (counter == 1) {
							li.className = 'column2';							
							counter = 0;						
						}
						else {
							li.className = 'column1';							
							counter ++;						
						}
						// Append additional class if no content exists
						if (li.innerHTML == '') {
							li.className = li.className + ' none';
						}
					}								
				}				
			}					
		}
	}
}

// CREATE CAPTIONS FOR IMAGES IN CONTENT AREA
// Requires jQuery
function createCaptions() {
	var titleimages = $("div#content img[title]");
	var titleimage;
	var theTitle;
	for (var i = 0; i < titleimages.length; i++) {
		titleimage = titleimages[i];
		$(titleimage).wrap("<div class='photo'></div>");
		$(titleimage).after("<span class='caption'></span>");
		theTitle = $(titleimage).attr("title");
		$(titleimage).next("span").text(theTitle);
		$(titleimage).attr("title","");
	}
}

// ADJUST CALLOUTS
// Requires jQuery
function adjustCallouts() {
	// Get array of callouts
	var theCallouts = $("div#column2 div.callout");
	var theCallout;
	var theCalloutImage;
	var calloutHeight;
	var calloutPaddingTop;
	var calloutPaddingBottom;
	var calloutImageHeight;
	for (var i = 0; i < theCallouts.length; i++) {
		theCallout = theCallouts[i];
		// Get first image in callout
		theCalloutImage = theCallout.getElementsByTagName("img")[0];
		// Get callout height
		calloutHeight = $(theCallout).height();
		calloutPaddingTop = $(theCallout).css("padding-top");
		calloutPaddingBottom = $(theCallout).css("padding-bottom");
		calloutPaddingTop = parseFloat(calloutPaddingTop);
		calloutPaddingBottom = parseFloat(calloutPaddingBottom);
		calloutHeight = calloutHeight + calloutPaddingTop + calloutPaddingBottom;
		// Get callout image height
		calloutImageHeight = $(theCalloutImage).height();
		// Adjust image
		$(theCalloutImage).addClass("corner");
		if (calloutHeight > calloutImageHeight) {
			$(theCalloutImage).addClass("pad");
		}
	}
}

// SCRIPTS SUPPLIED BY CLIENT (NISOURCE)
// Client scripts start


//Opportunities pop up profiles 
function profileHide(){
	var head = document.getElementsByTagName("head")[0];
	if (head) {
		var scriptStyles = document.createElement("link");
		scriptStyles.rel = "stylesheet";
		scriptStyles.type = "text/css";
		scriptStyles.href = "include/css/flicker.css";
		head.appendChild(scriptStyles);
	}	
}

function openFirst(){
	document.getElementById('profile1').style.display = 'none';
	document.getElementById('profile0').style.display = 'block';
}

function openSecond(){
	document.getElementById('profile0').style.display = 'none';
	document.getElementById('profile1').style.display = 'block';
}

function closeProfile(){
	document.getElementById('profile0').style.display = 'none';
	document.getElementById('profile1').style.display = 'none';
}


// Map and buttons
var frames = new Array();
frames[0] = 'start';
frames[1] = 'second';
frames[2] = 'ma';
frames[3] = 'NY';
frames[4] = 'PA';
frames[5] = 'PA-gas';
frames[6] = 'PA-transmission';
frames[7] = 'MD';
frames[8] = 'MD-gas';
frames[9] = 'MD-transmission';
frames[10] = 'VA';
frames[11] = 'VA-gas';
frames[12] = 'VA-transmission';
frames[13] = 'WV';
frames[14] = 'OH';
frames[15] = 'OH-gas';
frames[16] = 'OH-transmission';
frames[17] = 'IN';
frames[18] = 'IN-kokomo';
frames[19] = 'IN-fuellight';
frames[20] = 'IN-nipsco';
frames[21] = 'KY';
frames[22] = 'KY-gas';
frames[23] = 'KY-transmission';
frames[24] = 'KY-gulf';
frames[25] = 'TN';
frames[26] = 'MS';
frames[27] = 'LA';
frames[28] = 'TX';


function buttonCheck(){
	var pagePath = document.location.href;
	//finds what's after the / in the URL string
	var pageName = pagePath.substring(pagePath.lastIndexOf('=') + 1);
	var n = pageName;
	if(n >= 0){
		for(x in frames){
			document.getElementById(frames[x]).style.display = 'none';
		}
		document.getElementById(frames[n]).style.display = 'block';		
	}
	if(n=="a"){
		document.getElementById('btn0').style.display = 'block';
	}
	if(n=="b"){
		document.getElementById('btn1').style.display = 'block';
	}
	if(n=="c"){
		document.getElementById('btn2').style.display = 'block';
	}
	if(n=="d"){
		document.getElementById('btn3').style.display = 'block';
	}
	if(n=="e"){
		document.getElementById('btn4').style.display = 'block';
	}
	
}

function changeFrames(f){
	for(x in frames){
		document.getElementById(frames[x]).style.display = 'none';
	}
	document.getElementById(f).style.display = 'block';
}

function closeMap(){
	for(x in frames){
		document.getElementById(frames[x]).style.display = 'none';
	}
	document.getElementById('start').style.display = 'block';
}

function backToMap(){
	for(x in frames){
		document.getElementById(frames[x]).style.display = 'none';
	}
	document.getElementById('second').style.display = 'block';
}



// Client scripts end
// ==================

// ON-LOAD EVENTS 
// Requires jQuery
$(document).ready(function() {
	getNavDesc();	
	goToFirstInput();
	profileHide();
	buttonCheck();
	// Control HTML tables
	createAlternateRows();
	// Columnar lists
	createColumnarLists();
	$("ul.columnar + *").addClass("end");
	// Add classes to different types of links to control behavior
	$("a[href^=http://],a[href^=https://]").addClass("off-site");
	$("a[href$=pdf],a[href$=jpg],a[href$=gif],a[href$=png],a[href$=sflb]").addClass("non-html");
	$("a[href$=pdf,a[href*=PDFs").addClass("pdf");
	// Adjust callouts in main content area
	getNewWindowLinks();
	adjustCallouts();
	createCaptions();
});