/**
 *   MTM.js
 *   generic javascript file for MENTTIUMsite
 * 
 *   08.03.2006    smurphy     Initial creation
 *   08.11.2006    smurphy     Added code for left nav changes
 *
 */


/** declare global variables, for the tab ids for selected pages */
var constHOMEPAGE = 36;
var constEMPLOYERHOME = 65;
var constMENTEEHOME = 81;
var constMENTORHOME = 83;
var constCCOMPANYMENTORING = 66;
var constCUSTOMMENTORING = 68;
var constALUMNINETWORK = 74;
var constETTHANKYOU = 141;
var constETERROR = 142;
var constETUSUB = 143;
var constMYPROFILE = 164;
//for these 2 - check the values in MTM_header.ascx.vb too
var constM100MAIN = 207;
var constALUMNIMAIN = 206;

function loadTab(commonName) {
  /** go the common javascript file, mtm.js and look up the tab id */
  window.location = getTabURL(commonName);
} 

function getTabURL(commonName) {
  /** returns the location URL */
  var returnUrl = "/Default.aspx?tabid=" + getTabId(commonName);
  var currentUrl = window.location.href;

  /** add a check in here to see if this is local dev code */
  if(currentUrl.indexOf("localhost/menttium/") > -1) {
	returnUrl = "/menttium" + returnUrl;
  }
  return returnUrl;
}


function getTabId(commonName) {
  /** returns the tabid of the page */
  var returnTab;

  switch(commonName) {
	case "EMPLOYERHOME": returnTab = constEMPLOYERHOME;
			     break;
	case "MENTEEHOME":   returnTab = constMENTEEHOME;
			     break;
	case "MENTORHOME":   returnTab = constMENTORHOME;
			     break;
	case "CCOMPANYMENTORING":   returnTab = constCCOMPANYMENTORING;
			     	   break;
	case "CUSTOMMENTORING":     returnTab = constCUSTOMMENTORING;
			           break;
	case "ALUMNINETWORK":       returnTab = constALUMNINETWORK;
			           break;
	case "HOMEPAGE":	returnTab = constHOMEPAGE;
				break;
	case "ETTHANKYOU":	returnTab = constETTHANKYOU;
				break;
	case "ETERROR":		returnTab = constETERROR;
				break;
	case "ETUSUB":		returnTab = constETUSUB;
				break;
	case "MYPROFILE":	returnTab = constMYPROFILE;
				break;
	case "M100MAIN":	returnTab = constM100MAIN;
				break;
	case "ALUMNIMAIN":	returnTab = constALUMNIMAIN;
				break;
				    
  } /** end switch */

  return returnTab;
}


/** BEGIN FUNCTIONS for LEFT NAV */
function setCurrentPageLink() {
	var contentArea = document.getElementById('navContentPane');
	var newLinks = contentArea.innerHTML;
	
	var linkArray = newLinks.split("<LI>");
	var tmpTabid = 0;
	var tmpTabindex = 0;
	
	var onClass = "currentLink";
	
	var currentTab = getCurrentTab();
	
	/** loop through all elements in our array */
	for(i=0;i<linkArray.length;i++)
	{
	  tmpTabid = 0;
	  tmpTabindex = 0;
	  tmpTabindex = linkArray[i].indexOf("/Default.aspx?tabid");
	  tmpString = "";
	  if(tmpTabindex > 0)
	  {
		/** get the value of the tab id */
		tmpTabid = linkArray[i].substring(tmpTabindex+20);
		tmpTabid = tmpTabid.substring(0,tmpTabid.indexOf('"'));
		
		if(tmpTabid == currentTab)
		{
			/** now add in an id for this link */
			tmpString = linkArray[i];
			linkArray[i] = tmpString.substring(0,tmpString.indexOf("href")) + " class=" + onClass + " " + tmpString.substring(tmpString.indexOf("href"));
			//alert(linkArray[i]);
		}
	  }
	}
	newLinks = linkArray.join("<LI>");
	contentArea.innerHTML = newLinks;
	
}

function getCurrentTab() {
	/** 2 kinds of urls - we want the numbers after tabid
	http://menttium.com/programs/tabid/54/Default.aspx
	http://menttium.com/Default.aspx?tabid=54
	*/
	thisUrl = document.location.href;
	thisUrl = thisUrl.substring(thisUrl.indexOf('tabid')+6);
	
	tmpVar = 0;
	tmpVar = thisUrl.indexOf('/');
	if(tmpVar > 0)
	{
	   thisUrl = thisUrl.substring(0,tmpVar);
	}
	
	return thisUrl;
}
/** END FUNCTION for LEFT NAV */

 function countCharacters(name,text,maxlength)
    {
        var retval = true;
        if (text.value.length > maxlength)
        {
            text.value = text.value.substring(0, maxlength);
            alert("Maximum length of field is " + maxlength + " characters.")
            retval = false;
        }   
        document.getElementById(name.name + "_Count").value = (maxlength - eval(name.value.length));
        return retval;
    }
    
    
/** FUNCTIONS for multi-select boxes */

<!--
	function handleMSPChange(sel, runSelect, runUnSelect) {
		
		try
		{	
		//runSelect, runUnSelect - true or false
        //alert("handleMSPChange");
        var sElem = document.getElementById(sel.id + '_selected');
        var uElem = document.getElementById(sel.id + '_unselected');
        var sI = 0;
        var uI = 0;
        sElem.length = 0;
        uElem.length = 0;
        for (var i = 0; i < sel.options.length; i++) {
            if (sel.options[i].selected) {
                sElem.options[sI] = new Option(sel.options[i].text, sel.options[i].value);;
                sElem.options[sI].originalIndex = i;
                sI++;
            } else {
                uElem.options[uI] = new Option(sel.options[i].text, sel.options[i].value);
                uElem.options[uI].originalIndex = i;
                uI++;
            }
		//alert("sElem.length: " + sElem.length);
		//alert("uElem.length: " + uElem.length);
        }
		
        if (!sElem.style.width) {
            sel.style.display = 'block';
            var selW = sel.scrollWidth;
            selW = selW + 35;
            sel.style.display = 'none';
            sElem.style.width = selW;
            uElem.style.width = selW;
        }
		
		if(runSelect)
		{	//alert(sel.id + " runSelect");
			handleMSPSelect(sel.id, false);		}
		if(runUnSelect)
		{	//alert(sel.id + " runUnSelect");
			handleMSPUnSelect(sel.id, false);	}
			
			
		} // END TRY
		catch(e) {
		    //alert(e);
		}
   }


    function handleMSPSelect(selId, runUnSelect) {
        //alert("handleMSPSelect");
        var mainElem = document.getElementById(selId);
		//alert("mainElem: " + mainElem.id);
        var uElem = document.getElementById(selId + '_unselected');
        for (var i = 0; i < uElem.options.length; i++) {
            if (uElem.options[i].selected) {
                var isOptionDisabled = mainElem.options[uElem.options[i].originalIndex].disabled;
				if(!isOptionDisabled)
				{	mainElem.options[uElem.options[i].originalIndex].selected = true;	}
            }
        }
		
		//alert(selId + " runChange");
        handleMSPChange(mainElem, false, false);
		if(runUnSelect)
		{	//alert(selId + " runUnSelect");
			handleMSPUnSelect(selId, false);	}
    }

    function handleMSPUnSelect(selId, runSelect) {
        //alert("handleMSPUnSelect");
        var mainElem = document.getElementById(selId);
        var sElem = document.getElementById(selId + '_selected');
		for (var i = 0; i < sElem.options.length; i++) {
            if (sElem.options[i].selected) {
                mainElem.options[sElem.options[i].originalIndex].selected = false;
            }
        }
		
		//alert(selId + " runChange");		
        handleMSPChange(mainElem, false, false);
		if(runSelect)
		{	//alert(selId + " runSelect");
			handleMSPSelect(selId, false);	}
    }
		
//-->
/** END FUNCTIONS for multi=select boxes */
