// Get Mouse Position - usage: gP().x / gP().y
function gP(e) {
  e = e || window.event;
  var cursor = {x:0, y:0};
  if (e.pageX || e.pageY) { cursor.x = e.pageX; cursor.y = e.pageY; } 
  else {
    var de = document.documentElement;
    var b = document.body;
    cursor.x = e.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
    cursor.y = e.clientY + (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
  } return cursor;
}

//
// NETSCAPE RESIZE
//
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

// OPEN NEW WINDOW
function openWin(theURL,winName,features) {
// EXAMPLE: openWin('myurl.htm', 'nameOfWindow', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=300,height=300');
  window.open(theURL,winName,features);
}

String.prototype.trim = function() {
  return this.replace(/(^\s*)|(\s*$)/g, "");
}

function setMethod( value ) {
  document.getElementById( "method" ).value = value;
}

function setLayersPosition() {
  //var fxCheck = (navigator.userAgent.toLowerCase().indexOf('firefox') != -1) ?  6 : 0;
  var soloTop = document.getElementById('soloContainer').offsetTop;
  var soloLeft = document.getElementById('soloContainer').offsetLeft;
  var allDivs = document.getElementsByTagName('div');
  var divLength = allDivs.length;

  var blueCaptionTop = 395;
  var blueCaptionLeft = 10;

  var greenCaptionTop = 395;
  var greenCaptionLeft = 420;

  var whiteCaptionTop = 45;
  var whiteCaptionLeft = 210;

  var whiteSpeakTop = 100;
  var whiteSpeakLeft = 158;

  for (var i=0; i < divLength; i++) {
    var myDiv = allDivs[i];

    switch (myDiv.id) {
      case "blueCaption" :
        var myLayer = myDiv;
      	//var myLayerTop = myLayer.offsetTop;
        //var myLayerLeft = myLayer.offsetLeft;
        myLayer.style.top = soloTop + blueCaptionTop;
      	myLayer.style.left = soloLeft + blueCaptionLeft;
      	myLayer.style.visibility = 'visible';
        break;
      case "greenCaption" :
        myLayer = myDiv;
      	//var myLayerTop = myLayer.offsetTop;
        //var myLayerLeft = myLayer.offsetLeft;
        myLayer.style.top = soloTop + greenCaptionTop;
      	myLayer.style.left = soloLeft + greenCaptionLeft;
      	myLayer.style.visibility = 'visible';
        break;
      case "whiteCaption" :
        myLayer = myDiv;
      	//var myLayerTop = myLayer.offsetTop;
        //var myLayerLeft = myLayer.offsetLeft;
        myLayer.style.top = soloTop + whiteCaptionTop;
      	myLayer.style.left = soloLeft + whiteCaptionLeft;
      	myLayer.style.visibility = 'visible';
        break;
      case "whiteSpeak" :
        myLayer = myDiv;
      	//var myLayerTop = myLayer.offsetTop;
        //var myLayerLeft = myLayer.offsetLeft;
        myLayer.style.top = soloTop + whiteSpeakTop;
      	myLayer.style.left = soloLeft + whiteSpeakLeft;
      	myLayer.style.visibility = 'visible';
        break;
      default :
    }
  }
}

function showHideToolsTip(whichName) {
  (document.getElementById('toolSetTip').style.visibility=='hidden') ? document.getElementById('toolSetTip').style.visibility='visible' : document.getElementById('toolSetTip').style.visibility='hidden';
  document.getElementById('toolsTipText').innerHTML = whichName;
}

function createNewImage(imageLocation) {
  if (document.images) {
    var newImage = new Image();
    newImage.src = imageLocation;
    return newImage;
  }
}

var tableOfPassages_on = createNewImage( "/assets/images/toolbar/tool_top_on.gif" );
var tableOfPassages_off = createNewImage( "/assets/images/toolbar/tool_top_off.gif" );

var book_one_on = createNewImage( "/assets/images/toolbar/tool_affixionary_on.gif" );
var book_one_off = createNewImage( "/assets/images/toolbar/tool_affixionary_off.gif" );

var book_two_on = createNewImage( "/assets/images/toolbar/tool_dictionary_on.gif" );
var book_two_off = createNewImage( "/assets/images/toolbar/tool_dictionary_off.gif" );

var online_on = createNewImage( "/assets/images/toolbar/tool_online_books_on.gif" );
var online_off = createNewImage( "/assets/images/toolbar/tool_online_books_off.gif" );

var cart_on = createNewImage( "/assets/images/toolbar/tool_book_cart_on.gif" );
var cart_off = createNewImage( "/assets/images/toolbar/tool_book_cart_off.gif" );

var log_on = createNewImage( "/assets/images/toolbar/tool_word_bank_on.gif" );
var log_off = createNewImage( "/assets/images/toolbar/tool_word_bank_off.gif" );

var help_on = createNewImage( "/assets/images/toolbar/tool_help_on.gif" );
var help_off = createNewImage( "/assets/images/toolbar/tool_help_off.gif" );

var logout_on = createNewImage( "/assets/images/toolbar/tool_logout_on.gif" );
var logout_off = createNewImage( "/assets/images/toolbar/tool_logout_off.gif" );

//variables for the book cart rollover images
var culture_on = createNewImage( "/assets/images/book_cart/leftnav_cultures_f2.jpg" );
var culture_off = createNewImage( "/assets/images/book_cart/leftnav_cultures.jpg" );

var literature_on = createNewImage( "/assets/images/book_cart/leftnav_lit_f2.jpg" );
var literature_off = createNewImage( "/assets/images/book_cart/leftnav_lit.jpg" );

var biography_on = createNewImage( "/assets/images/book_cart/leftnav_biog_f2.jpg" );
var biography_off = createNewImage( "/assets/images/book_cart/leftnav_biog.jpg" );

var history_on = createNewImage( "/assets/images/book_cart/leftnav_history_f2.jpg" );
var history_off = createNewImage( "/assets/images/book_cart/leftnav_history.jpg" );

var career_on = createNewImage( "/assets/images/book_cart/leftnav_careers_f2.jpg" );
var career_off = createNewImage( "/assets/images/book_cart/leftnav_careers.jpg" );




// method to check the answer of the question for expedition 1
function checkAnswer() {
  var correctAnswer=document.getElementById("correctAnswer");
  if (correctAnswer.checked) {
    //do what's right
    document.getElementById("inexp1CorrectResponse").style.display="none";
    document.getElementById("exp1CorrectResponse").style.display="block";
    // insert a delay
    document.getElementById( "pageForm" ).submit();
  } else {
    //do what's incorrect
    document.getElementById("exp1CorrectResponse").style.display="none";
    document.getElementById("inexp1CorrectResponse").style.display="block";
  }
  return false;
}

function setProgressBarWidth( currentPageSequence, totalPageCount ) {
  var percentComplete = ( currentPageSequence * 100 ) / totalPageCount;
  var progressBar = document.getElementById( "progressBar" );
  progressBar.style.width = parseInt( percentComplete ) + "px";
}

function showTableOfPassages() {
  showTool( "tableOfPassages" );
}
function showAffixionary() {
  showTool( "affixionary" );
}
function showDictionary() {
  showTool( "dictionary" );
}
function showOnlineBooks() {
	showTool( "onlineBooks" );
}
function showHelp() {
  showTool( "help" );
}
function showWordBank() {
  showTool( "wordBank" );
}
function showBookCart() {
  showTool( "bookCart" );
}


//Show Divs for the Book Cart Subjects
var selectedBookCartItem = "bcImage";
function showBiography() {
  hideBookCartTool( selectedBookCartItem);
  showBookCartTool( "bcBiography" );
  selectedBookCartItem = "bcBiography";
  
}
function showLiterature() {
  hideBookCartTool( selectedBookCartItem);

  showBookCartTool( "bcLiterature" );
    selectedBookCartItem = "bcLiterature";
  
}
function showCareer() {
  hideBookCartTool( selectedBookCartItem);

  showBookCartTool( "bcCareer" );
    selectedBookCartItem = "bcCareer";
  
}
function showCulture() {
  hideBookCartTool( selectedBookCartItem);

  showBookCartTool( "bcCulture" );
    selectedBookCartItem = "bcCulture";
  
}
function showHistory() {
  hideBookCartTool( selectedBookCartItem);

  showBookCartTool( "bcHistory" );
    selectedBookCartItem = "bcHistory";
  
}
function showBookCartTool( toolId ) {
  var tool = document.getElementById( toolId );
  if ( tool != null ) {
    if ( tool.style.display != "block" ) {
      tool.style.display = "block";
      
    } else {
      tool.style.display = "none";
      
    }
  }
}

function hideBookCartTool( toolId ) {
  var tool = document.getElementById( toolId );
  if ( tool != null ) {
      tool.style.display = "none";
    }
}

var flashHasEnded = false;
function flashFinished(finished) {
	(finished == true) ? flashHasEnded = true : flashHasEnded = false;
	return flashHasEnded;
}

var allOfTheAboveCheckbox;
function allOfTheAboveClicked( checkbox ) {
  allOfTheAboveCheckbox = checkbox;
  // do something with the other checkboxes??
}

// Mac Netscape 7.x Image Crop Hack - ns7.0 crops the buttons randomly
function netscapeMacResizer() {
	var isMac = navigator.userAgent.toLowerCase().indexOf('mac') != -1;
	var isNS7 = navigator.userAgent.toLowerCase().indexOf('netscape/7') != -1;

	if ( isMac && isNS7 ) {
	
	var allDivs = document.getElementsByTagName('div');
	var divLength = allDivs.length;
	
		for (var i=0; i < divLength; i++) {
	    var myDiv = allDivs[i];
	    var isNSResize = myDiv.id.indexOf('nsResizer') != -1;
		
			if ( isNSResize )	 {
				var nsResizer = myDiv.firstChild;
	
				if ( typeof(nsResizer) == 'object' ) {
				 	var nsResizerWidth = nsResizer.offsetWidth;
				 	var nsResizerNew = nsResizerWidth + 1;
				 	nsResizer.style.width = nsResizerNew;
			 	}
	
			}
	
	 	}
 	
 	}
}
