
// variables
var hosting = baseDomainString();
var loggedIn = false;
var messages = '';
var uid = '';
var sessid = '';
var errmsg = '';
var redirect = '';
var logout = '';
var domain = '';
var temp = '';
var cmd = '';
sessvars.$.prefs.crossDomain = true; 

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function openNewWindow(fileName,theWidth,theHeight)
{
  	window.open(fileName,"Explanation","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width="+theWidth+",height="+theHeight);
}
function checklogin()
{
	if (top.location != location) {
	    top.location.href = document.location.href ;
  	}

    // Retrieve credentials from cookies or session variables
	//retrCredentials();

	var x = readCookie('ID');
	if (x)
		{
			hideCellContent('table0', 0, 0);
			hideCellContent('table0', 0, 1);
			hideCellContent('table0', 0, 2);
			hideCellContent('table0', 1, 0);
			mdiv = document.getElementById("loginmsg");
			mdiv.innerHTML = "<a href='http://w2.certegrity.com/plogini.nsf/paccess?OpenAgent&ID="+x+"' onMouseOver=document.enter.src='images/enter_over.gif' onMouseOut=document.enter.src='images/enter_normal.gif'><img src='images/enter_normal.gif' name='enter' height=39 width=212 border=0 alt='Click to Enter Training Portal'></a>";
			mdiv = document.getElementById("logoutmsg");
			mdiv.innerHTML = "<a href='http://w2.certegrity.com/plogini.nsf/hlogout?OpenForm'><img src='images/logout_button.gif' border=0 alt='Click to Logout'></a>";
		}
	else
		{ 
			showCellContent('table0', 0, 0);
			showCellContent('table0', 0, 1);
			showCellContent('table0', 0, 2);
			showCellContent('table0', 1, 0);
			showCellContent('table1', 0, 2);
			mdiv = document.getElementById("loginmsg");
			mdiv.innerHTML = "&nbsp; Login to access your<br>&nbsp; <a href='support.shtml' class='revlink'>Personal Training Portal</a>";
		}
	// Process parameterized logout
	//alert(cmd);
	if (cmd=='logout') {
		DeleteCookie("ID","/",hosting);
		DeleteCookie("Sess","/",hosting);
		sessvars.$.clearMem()
		sessvars.$.flush()
		sessvars.CIS_cmd = 'logout';
		uid = '';
		sessid='';
		errmsg = '';
		mdiv = document.getElementById("loginmsg");
		if (mdiv) {
			mdiv.style.display = "";
			}
		mdiv = document.getElementById("logoutmsg");
		if (mdiv) {
			mdiv.style.display = "none";
			}
		loggedIn = false;
		fullURL = fullURL.substring(0, fullURL.indexOf('?')-1);
		window.location.href = fullURL;
		}
}

// Hide a table cell
function hideCellContent (tableID, rowIndex, cellIndex)
{
  	if (document.layers) {
    	if (typeof rowIndex != undefined)
      	var cell = document[tableID + 'CellR' + rowIndex + 'C' + cellIndex];
	    cell.visibility = 'hide';
  	}
  	else if (window.opera)
	{
    	var cell = document.getElementById(tableID + 'CellR' + rowIndex + 'C' + cellIndex);
	    cell.style.visibility = 'hidden';
  	}
  	else if (document.all)
    
	document.all[tableID].rows[rowIndex].cells[cellIndex].style.visibility = 'hidden';
	  else if (document.getElementById)
    
	document.getElementById(tableID).rows[rowIndex].cells[cellIndex].style.visibility = 'hidden';
}

// Display a hidden table cell
function showCellContent (tableID, rowIndex, cellIndex) {
  if (document.layers) {
    if (typeof rowIndex != undefined)
      var cell = document[tableID + 'CellR' + rowIndex + 'C' + cellIndex];
    cell.visibility = 'show';
  }
  else if (window.opera) {
    var cell = document.getElementById(tableID + 'CellR' + rowIndex + 'C' + cellIndex);
    cell.style.visibility = 'visible';
  }
  else if (document.all)
    
document.all[tableID].rows[rowIndex].cells[cellIndex].style.visibility = 
'visible';
  else if (document.getElementById)
    
document.getElementById(tableID).rows[rowIndex].cells[cellIndex].style.visibility = 'visible';
}

// function to retrieve credentials from cookies or sessionvars and store to variables
function retrCredentials() {
	// Check cookies
	temp = readCookie('ID');
	if (isdefined(temp)) { uid = temp; }
	temp = readCookie('Sess');
	if (isdefined(temp)) { sessid = temp; }
	if (uid.length == 0) {
		// If no cookies, look for session vars
		if (sessvars.CIS_sessid != null && sessvars.CIS_sessid != '') { sessid = sessvars.CIS_sessid; }
		if (sessvars.CIS_uid != null && sessvars.CIS_uid != '') { uid = sessvars.CIS_uid; }
		if (sessvars.CIS_cmd != null && sessvars.CIS_cmd != '') { cmd = sessvars.CIS_cmd; } 
		if (uid != '' && sessid != '' && cmd != 'logout') {
			var expdate = new Date();
			expdate.setTime (expdate.getTime() +  86400000);
	  		SetCookie("ID", uid, expdate, "/", "."+hosting);
  			SetCookie("Sess", sessid, expdate, "/", "."+hosting);
			}
		if (cmd == 'logout') {
			dynamicLogout();
			}			
		}
	else {
		// Check for logout
		if (sessvars.CIS_cmd != null && sessvars.CIS_cmd != '') { cmd = sessvars.CIS_cmd; } 
		if (cmd == 'logout') {
			dynamicLogout();
			}
		else {
			// If cookies, set session vars if needed
			if (sessvars.CIS_uid == null || sessvars.CIS_uid == '') { sessvars.CIS_uid = uid; }
			if (sessvars.CIS_sessid == null || sessvars.CIS_sessid == '') { sessvars.CIS_sessid = sessid; }
			if (sessvars.CIS_hosting == null || sessvars.CIS_hosting == '') { sessvars.CIS_hosting = hosting; }
			sessvars.CIS_cmd = '';
			}
	}
}

// Dynamic tag logout
function dynamicLogout() {
	DeleteCookie("ID","/",hosting);
	DeleteCookie("Sess","/",hosting);
	sessvars.$.clearMem()
	sessvars.$.flush()
	sessvars.CIS_cmd = 'logout';
	uid = '';
	sessid='';
	errmsg = '';
	//mdiv = document.getElementById("loginmsg");
	//if (mdiv) {
	//	mdiv.style.display = "";
	//	}
	//mdiv = document.getElementById("logoutmsg");
	//if (mdiv) {
	//	mdiv.style.display = "none";
	//	}
	loggedIn = false;
	//window.location.href = logout;
}

// Dynamic tag login function
function dynamicLogin() {
	username = escape(document.getElementById('username').value);
	password = escape(document.getElementById('password').value);
	var request = "https://w1.certegrity.com/ps.nsf/WsLogin?OpenAgent&UN="
                     + username
                     + "&PW=" + password + "&HP=" + hosting + "&callback=getLogin";
	//alert(request);
	var head = document.getElementsByTagName("head").item(0);
	var script = document.createElement("script");
	script.setAttribute("type", "text/javascript");
	script.setAttribute("src", request);
	head.appendChild(script);
}

// Dynamic tag check for redirection string
function checkRedirect(uid,sessid)
{
	var request = "https://w1.certegrity.com/ps.nsf/WsCLogin?OpenAgent&UID="
                     + uid + "&SES=" + sessid + "&HP=" + hosting + "&callback=getRedirect";
	//alert(request);
	var head = document.getElementsByTagName("head").item(0);
	var script = document.createElement("script");
	script.setAttribute("type", "text/javascript");
	script.setAttribute("src", request);
	head.appendChild(script);
}

// Dynamic tag password retrieval function
function WsPwd()
{
	lastname = escape(document.getElementById('lastname').value);
	emailaddr = escape(document.getElementById('emailaddr').value);
	var request = "https://w1.certegrity.com/ps.nsf/WsPwd?OpenAgent&LN="
                     + lastname
                     + "&EM=" + emailaddr + "&callback=getPwd";
	//alert(request);
	var head = document.getElementsByTagName("head").item(0);
	var script = document.createElement("script");
	script.setAttribute("type", "text/javascript");
	script.setAttribute("src", request);
	head.appendChild(script);
}

// Set cookie - for login
function SetCookie (name, value) {
  	var argv = SetCookie.arguments;
  	var argc = SetCookie.arguments.length;
  	var expires = (argc > 2) ? argv[2] : null;
  	var path = (argc > 3) ? argv[3] : null;
  	var domain = (argc > 4) ? argv[4] : null;
  	var secure = (argc > 5) ? argv[5] : false;
  	document.cookie = name + "=" + escape (value) +
    	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
    	((path == null) ? "" : ("; path=" + path)) +
    	((domain == null) ? "" : ("; domain=" + domain)) +
    	((secure == true) ? "; secure" : "");
}

// Remove cookie
function DeleteCookie( name, path, domain ) {
 	document.cookie = name + "=" + ( ( path ) ? ";path=" + path : "") + ( ( domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

// Get base domain
function baseDomainString(){
  	e = document.domain.split(/\./);
  	if(e.length > 1) {
    	return(e[e.length-2] + "." +  e[e.length-1]);
  	}else{
    	return("");
  	}
}

// Parse parts of the phone number 
function parsePhone(phonenum) {
	var phMatch = /^\(?([1-9]\d{2})(\) ?|[.-])?(\d{3})[.-]?(\d{4})$/;
	var re=new RegExp(phMatch);
	var m=re.exec(phonenum);
	return m;
}

// Check to see if variable defined
function isdefined(variable)
{
	return (!(!( variable||false )))
}
 
 function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}