//
// Coaching Sanctuary java scripts
//


// global launch mode 
var csappmode = "";


// call from flex when user clicks (mouse down) 
function setcsmode( mode )
{
   csappmode = "";
       
   if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent))
   {
       loadcs( mode );
   }
   else if (/Chrome/.test(navigator.userAgent))
   {
       loadcs( mode );
   }
   else  // IE and Safari
   {
       csappmode = mode;       
   }
}


// direct load function (browser buttons)
function launch( server )
{
    loadcs( "login", server  );
}

function loginEmailPrefs( server )
{
    loadcs( "emailprefs", server );
}

function loginPrivateMessages( server )
{
    loadcs( "privatemessages", server );
}

function loginCommunityBoard( server )
{
    loadcs( "cbboard", server );
}

function register( server )
{
    loadcs( "register", server );
}

function testdrive( server )
{
    loadcs( "testdrive", server );
}


// called from browser (by flash surrounding div tag)
function loadcs( mode, server )
{
    if ( server == null )
    {
        server = "http://www.coachingsanctuary.com/";
    }
    
    if ( mode == "testdrive" )
    {
        appfile ="CoachingSanctuaryTestDrive";
    }
    else if ( mode == "login" )
    {
        appfile ="login";
    }
    else if ( mode == "emailprefs" )
    {
        appfile ="email-prefs";
    }
    else if ( mode == "cbboard" )
    {
        appfile ="cbboard";
    }
    else if ( mode == "privatemessages" )
    {
        appfile ="privmsg";
    }
    else if ( mode == "register" )
    {
        appfile ="CoachingSanctuaryRegistration";
    }
    else
    {
          return;   // already loaded
    }
    
    appfile = server + appfile;
    
	// defaults are for smaller screens
	var w = screen.availWidth;
	var h = screen.availHeight;
	var l = 1;
	var t = 1;
	
	if ( screen.availWidth >= 1200 )
	{
		w = screen.availWidth - 100;
		l = 50;
	}
	if ( screen.availHeight >= 850 )
	{
		h = screen.availHeight - 50 - 15;
		
		// test for Firefox/x.x or Firefox x.x
		if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent))
		{ 
			h = h - 50;
		}
        if (/Chrome/.test(navigator.userAgent))
		{ 
 		            if (/Macintosh/.test(navigator.userAgent))
			     h = h + 20;
 		            if (/Windows/.test(navigator.userAgent))
			     h = h - 50;						     
		}
	}
	window.open(appfile,"cs","width=" + w + ",height=" + h + ",left=" + l + ",top=" + t + ",menubar=no,toolbar=no,status=no,location=no");	
}



//
// shopping
//

function getPathFromRefId()
{    
  refID = gup("referenceId");
    
  if ( refID.indexOf("prod-") == 0 )
  {  
    path = "/login";
  } 
  else if ( refID.indexOf("stage-") == 0 )
  {  
    path = "/dev/stage-stage/CoachingSanctuary.html";
  } 
  else if ( refID.indexOf("test-") == 0 )
  {     
    path = "/dev/test-test/CoachingSanctuary.html";
  }     
  else if ( refID.indexOf("st-") == 0 )
  {       
    path = "/dev/stefan-stefan/CoachingSanctuary.html";
  }     
  else if ( refID.indexOf("mi-") == 0 )
  {             
    path = "/dev/mike-dev/CoachingSanctuary.html";
  }     
        
  return path;
}               


function getServerFromRefId()
{    
  refID = gup("referenceId");
        
  if ( refID.indexOf("prod-") == 0 )
  {  
    path = "prod";
  }       
  else if ( refID.indexOf("stage-") == 0 )
  {
    path = "stage";
  }
  else if ( refID.indexOf("test-") == 0 )
  {     
    path = "test";
  }     
  else if ( refID.indexOf("st-") == 0 )
  {
    path = "dev-stefan";
  }     
  else if ( refID.indexOf("mi-") == 0 ) 
  {             
    path = "dev-mike";
  }     
        
  return path;  
}


function cancelPayment()
{               
    self.location = "https://" + getServerFromRefId() + ".coachingsanctuary.com/services/s/s-ipn.php?operation=CsCancelOrderFrame&referenceId=" + gup("referenceId");
}                       
                
        



// standard stuff
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

     
function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
	return "";
  else
	return unescape( results[1] );
}
