var basePageURL = "./";
var svcURL = "/rose/xml";
var topURL = "./";

var login = null;
var app = new HJ.App();

if (HJ.DialogTemplate != null) {
	HJ.dialogTemplate = new HJ.DialogTemplate();
}
var TELL_A_FRIEND_ACTION = 3;
var REGISTER_ACTION = 4;

function start(action, displayLoginPageContent) {
	// restrictBack();
  _useFile = false;
  //enableDebug();

  configEnv(); // assuming that Env.js is included before Start.js

  var url = window.location.toString();
  var location = window.location;
  var qs = new QueryString();
  

  
  // display read-only schedule
  var svcName = qs.get("svcName");
  var methodName;
  var calUUID;
  var showCalendar = false; // show calendar only if parameters are passed correctly
  if (svcName != null) {
  	methodName = qs.get("methodName");
  	if (methodName != null) {
  		if (svcName=="WorkspaceService" && methodName=="getScheduleByUUID") {
  			calUUID = qs.get("UUID");
  			if (calUUID != null) {
		  		var calDB = new HJ.CalendarDashboard();
		  		calDB.init(svcName, methodName, calUUID);
		  		return;
  			}
  		}
  	}
  }
  
  var loginAction = qs.get('loginAction');
  if (loginAction != null && loginAction == 'none') {
  	return;
  }
  
  // require login instead of checking for template parameter
  var templateName = qs.get('template');


  var urlString = location.search;
  var templateString = urlString.substr("?template=".length);
  if (templateName != null) {
	var unloggedUser = new HJ.UnLoggedUser(templateName);
	unloggedUser.loadTemplate();
	return;
  }
  
  if (action != null) {
     if (action == 1) {
         var rsvp = new HJ.RSVP();
		 rsvp.init();
		 return;
     } else if (action == 2) {
         var help = new HJ.HELP();
		 help.init();
		 return;
     } else if (action == TELL_A_FRIEND_ACTION) {
     	var tellAFriendPage = new HJ.TellAFriendPage();
     	tellAFriendPage.init("tellafriend_form_wrapper");
     	return;
     } else if (action == REGISTER_ACTION) {
		login = new HJ.Login(null, displayLoginPageContent);
		login.doSignup();
		return false;
     }
     else if (action == "FreeAccounts")
     {
	var freeAccountsPage = new HJ.FreeAccountsPage();
	freeAccountsPage.init();
	return;
     }
     else if (action == "PromotionPage")
     {
	var promotionPage = new HJ.PromotionPage();
	promotionPage.init();
	return;
     }
  } else {
		showModalMessageDialog("Initializing ... please wait", 240, 40); 
		login = new HJ.Login(null, displayLoginPageContent);
		login.startStep1();
  }

}

