/*********************************************************
 *	File:		  ssl.js
 *	Author:		Shangri-La Hotels and Resorts
 *	Created:	May 31, 2007
 *	Update:	    Dec 04, 2007
 *
 *	Description:
 *	Javascript include for handling SSL for Shangri-la Web site
 *	
 ********************************************************/

/*--------------------------------------------------------
 *  Function:  SSLRedirect
 *  
 *  Description:
 *  Redirects to an HTTPS page if current page is 
 *   a secure page
 *
 *  Usage:
 *  SSLRedirect();
 *  
 *  Parameters:
 *  none
 *  
 *  Return:
 *  none
 *-------------------------------------------------------*/

function SSLRedirect() {
  // determine current location
  // set up vars
  var loc = document.location.toString();
  var index = loc.indexOf(":");
  var url = loc.substring(index, loc.length);
  var needSSL = false;
  var unchangeexist = false;
  var Firefox = (navigator.userAgent.indexOf('Firefox') > -1) ? 1 : 0;

  // set up regexes to match on secure pages
  // to determine if current page should be sent securely
  var corpPaths = new Array(
    "accountoverview", "accountprofile", "accountpreferences", "accountpassword", 
    "reservationsummary", "reservationdetail", "anondetails", "gcactivate", 
    "changepersonaldetails", "changeroomdetails", "cancelreservation", 
    "changebookingdetails", "changebookingrates", "changebookingrooms", 
    "changebookingbreakdown", "changebookingother", "preregistration"
  );
  for(var i=0; i<corpPaths.length && needSSL==false; i++) {   
	  var re = new RegExp("\/corporate\/" + corpPaths[i], "i");
	  needSSL = re.test(url);
  }
  if (needSSL==false) {
    var re2 = new RegExp("\/(register|gcsignin|signin|forgot_password|gcactivatepublic)", "i");
	  needSSL = re2.test(url);
	}
  if (needSSL==false) {
    var re3 = new RegExp("\/reservations/(multiroomcheckout|checkout)$", "i");
	  needSSL = re3.test(url);
	}
  if (needSSL==false) {
    var re4 = new RegExp("\/corporate/gcsummerpromotion2008", "i");
	  needSSL = re4.test(url);
	}
	
  // redirect logic
  var secureUrl;
  if ((index=="4") && (needSSL==true)) { // HTTP requested, HTTPS required
    secureUrl = "https" + url;
	  location.href = secureUrl; // redirect
  } else if ((index=="5") && (needSSL==false) && !Firefox) { // HTTPS requested, HTTP required, userAgent not FF
    secureUrl = "http" + url;
	  location.replace(secureUrl); // get rid of current page in history
  }
}

SSLRedirect();

