// This file should be included before any other javascript 

// Establish whether we are on the test site or not. If the test site changes, change
// the www.minisage.com to whatever the new test site is.
var bTestSite=false;
if (window.location.toString().toLowerCase().indexOf("www.minisage.com") > -1)
{
	bTestSite=true;
}

// helper base site address
// var sBaseSite = (bTestSite) ? "http://www.minisage.com/caseylifeskills/" : "http://www.caseylifeskills.org/";
var sBaseSite="";


if (window.location.toString().toLowerCase().indexOf("cicada03") > -1)
{
	sBaseSite = "http://cicada03/"
}
else if (window.location.toString().toLowerCase().indexOf("cicadaweb01") > -1)
{
	sBaseSite = "http://cicadaweb01/"
}
else if (window.location.toString().toLowerCase().indexOf("http://staging.caseylifeskills.org") > -1)
{
	sBaseSite = "http://staging.caseylifeskills.org/"
}
else if (window.location.toString().toLowerCase().indexOf("http://www.caseylifeskills.org") > -1)
{
	sBaseSite = "http://www.caseylifeskills.org/"
}
else if (window.location.toString().toLowerCase().indexOf("http://devwksjay1:85") > -1)
{
	sBaseSite = "http://devwksjay1:85/"
}
else if (window.location.toString().toLowerCase().indexOf("localhost:85") > -1)
{
	sBaseSite = "http://localhost:85/"
}
else
{
	sBaseSite = "http://www.caseylifeskills.org/"
}

// helper globals
var g_sSection_Assessments		= "assess_";
var g_sSection_LearningPlan		= "lp_";
var g_sSection_Resources		= "res_";
var g_sSection_GroupDataReports	= "gdr_";
var g_sSection_Training			= "train_";

// Used for home page rotating images. This value represents the number of sequentially 
// numbered homepage images (the images themselves begin with zero and are in the format
// rotate_x.jpg where x begins at zero and increments by 1 for each new image.
var g_nNumberOfHomepageImages   = 12;

// helper current page
var g_sCurrentPage = window.location.toString().toLowerCase();
var nPos = g_sCurrentPage.lastIndexOf("/");
if (nPos != -1)
{
	g_sCurrentPage = g_sCurrentPage.substr(nPos+1);
}

//---------------------------------------
// IsCurrentSection
// Checks the current page and if a member of the section indicated by sSection, returns the sSectionValue value
// Otherwise, returns the sNotSectionValue
// Note: This requires the presence of constants.asp included before this file.
//---------------------------------------
function IsCurrentSection(sSection, sSectionValue, sNotSectionValue)
{
	sSection = sSection.toLowerCase();
	// if the current page starts with the section prefix, then TRUE - return the sOver value
	if (g_sCurrentPage.indexOf(sSection) == 0)
	{
		return sSectionValue;
	}

	return sNotSectionValue;
}

//********************************
// DisplayCopyright
//********************************
function DisplayCopyright()
{
	var mydate=new Date();
	var year=mydate.getFullYear();
	
	document.write("© 2000-" + year.toString() + " Casey Family Programs. All rights reserved.");
}

//****************************************************
// randomNumber
//****************************************************
function randomNumber(limit){
  return (Math.floor(Math.random()*limit).toString());
}

//****************************************************
// IsMac
//****************************************************
function IsMac()
{
	if(navigator.appVersion.indexOf("Win") != -1)
	{
		return false;
	}
	else if(navigator.appVersion.indexOf("Mac") != -1)
	{
		return true;
	}
	else return false;
}

//**********************************************************
// Browser Detect  v2.1.6
// documentation: http://www.dithered.com/javascript/browser_detect/index.html
// license: http://creativecommons.org/licenses/by/1.0/
// code by Chris Nott (chris[at]dithered[dot]com)
//**********************************************************
function BrowserDetect() {
   var ua = navigator.userAgent.toLowerCase(); 

   // browser engine name
   this.isGecko       = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
   this.isAppleWebKit = (ua.indexOf('applewebkit') != -1);

   // browser name
   this.isKonqueror   = (ua.indexOf('konqueror') != -1); 
   this.isSafari      = (ua.indexOf('safari') != - 1);
   this.isOmniweb     = (ua.indexOf('omniweb') != - 1);
   this.isOpera       = (ua.indexOf('opera') != -1); 
   this.isIcab        = (ua.indexOf('icab') != -1); 
   this.isAol         = (ua.indexOf('aol') != -1); 
   this.isIE          = (ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) ); 
   this.isMozilla     = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
   this.isFirebird    = (ua.indexOf('firebird/') != -1);
   this.isNS          = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
   
   // spoofing and compatible browsers
   this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
   this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);
   
   // rendering engine versions
   this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
   this.equivalentMozilla = ( (this.isGecko) ? parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ) : -1 );
   this.appleWebKitVersion = ( (this.isAppleWebKit) ? parseFloat( ua.substring( ua.indexOf('applewebkit/') + 12) ) : -1 );
   
   // browser version
   this.versionMinor = parseFloat(navigator.appVersion); 
   
   // correct version number
   if (this.isGecko && !this.isMozilla) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('/', ua.indexOf('gecko/') + 6) + 1 ) );
   }
   else if (this.isMozilla) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
   }
   else if (this.isIE && this.versionMinor >= 4) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
   }
   else if (this.isKonqueror) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
   }
   else if (this.isSafari) {
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('safari/') + 7 ) );
   }
   else if (this.isOmniweb) {
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('omniweb/') + 8 ) );
   }
   else if (this.isOpera) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera') + 6 ) );
   }
   else if (this.isIcab) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab') + 5 ) );
   }
   
   this.versionMajor = parseInt(this.versionMinor); 
   
   // dom support
   this.isDOM1 = (document.getElementById);
   this.isDOM2Event = (document.addEventListener && document.removeEventListener);
   
   // css compatibility mode
   this.mode = document.compatMode ? document.compatMode : 'BackCompat';

   // platform
   this.isWin    = (ua.indexOf('win') != -1);
   this.isWin32  = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );
   this.isMac    = (ua.indexOf('mac') != -1);
   this.isUnix   = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
   this.isLinux  = (ua.indexOf('linux') != -1);
   
   // specific browser shortcuts
   this.isNS4x = (this.isNS && this.versionMajor == 4);
   this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
   this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
   this.isNS4up = (this.isNS && this.versionMinor >= 4);
   this.isNS6x = (this.isNS && this.versionMajor == 6);
   this.isNS6up = (this.isNS && this.versionMajor >= 6);
   this.isNS7x = (this.isNS && this.versionMajor == 7);
   this.isNS7up = (this.isNS && this.versionMajor >= 7);
   
   this.isIE4x = (this.isIE && this.versionMajor == 4);
   this.isIE4up = (this.isIE && this.versionMajor >= 4);
   this.isIE5x = (this.isIE && this.versionMajor == 5);
   this.isIE55 = (this.isIE && this.versionMinor == 5.5);
   this.isIE5up = (this.isIE && this.versionMajor >= 5);
   this.isIE6x = (this.isIE && this.versionMajor == 6);
   this.isIE6up = (this.isIE && this.versionMajor >= 6);
   
   this.isIE4xMac = (this.isIE4x && this.isMac);
}
var browser = new BrowserDetect();

//---------------------------------------
// GetCSSFilename
// Returns the css file to use based on the user's browser
//---------------------------------------
function GetCSSFilename()
{
	//dim sBrowser
	var sPlatform = (browser.isMac) ? "mac_" : "pc_";
	var sFile="";
	var sBrowser="";
	
	// Determine running IE
	if (browser.isIE)
	{
		sBrowser = "ie";
	}
	
	// Determine running Safari
	if (browser.isSafari)
	{
		sBrowser = "safari";
	}
	
	// Determine running Opera
	if (browser.isOpera)
	{
		sBrowser = "opera";
	}
	
	// determine if user is on a Netscape 4.xx 
	if (browser.isNS4x)
	{
		sBrowser = "ns4";
	}
	
	// determine if user is on a Netscape 6.xx 
	if (browser.isNS6x)
	{
		sBrowser = "ns6";
	}
	
	// determine if user is on a Netscape 7.xx 
	if (browser.isNS7up)
	{
		sBrowser = "ns7";
	}
	
	// if no browser yet determined, attempt a default
	if (sBrowser=="")
	{
		if (browser.isNS)
		{
			sBrowser="ns7";
		}
	}

	// set the filename
	sFile = sPlatform + sBrowser + ".css";
	
	
	// build appropriate stylesheet link
	//alert(sFile);
	//alert("<link href=\"" + sBaseSite + "css/" + sFile & "\" rel=\"stylesheet\" type=\"text/css\" />");
	document.writeln("<link href=\"" + sBaseSite + "css/" + sFile + "\" rel=\"stylesheet\" type=\"text/css\" />");
}


//****************************************************
// IsNumberInt
//****************************************************
function IsNumberInt(inputString)
{
  return (!isNaN(parseInt(inputString))) ? true : false;
}	

//****************************************************
// popUpLinkWindow
//****************************************************
var popUpLinkWin=0;
function popUpLinkWindow(url)
{
  	if(popUpLinkWin)
  	{
    	if(!popUpLinkWin.closed) popUpLinkWin.close();
  	}
	
	popUpLinkWin = open(url, 'link', 'height=400,width=600,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,location=yes,directories=yes,status=yes');
	popUpLinkWin.focus();
}

//****************************************************
// ConvertHTML
// Converts the opening and closing HTML tags to parens
//****************************************************
function ConvertHTML(sInput)
{
	var sOutput = sInput;
    sOutput=sOutput.replace(/</g,"(");
    sOutput=sOutput.replace(/>/g,")");
	return sOutput;
}
//****************************************************
// JSTrim
// Removes leading and trailing characters from a string
//****************************************************
function JSTrim (inputString, removeChar) 
{
	var returnString = inputString;
	if (removeChar.length)
	{
	  while(''+returnString.charAt(0)==removeChar)
		{
		  returnString=returnString.substring(1,returnString.length);
		}
		while(''+returnString.charAt(returnString.length-1)==removeChar)
	  {
	    returnString=returnString.substring(0,returnString.length-1);
	  }
	}
	return ConvertHTML(returnString);
}
//****************************************************
// JSTrimSpace
// Removes leading and trailing spaces from a string
//****************************************************
function JSTrimSpace(inputString)
{
	return JSTrim(inputString,' ');
}

