//LAST EDITED: 16 JUN 2009 by GB

/* ******************************************
 * This file loads the single journey
 * navigation and all required javascript
 * libraries. It should be added to the
 * bottom of all single journey pages
 * ****************************************** */
   dojo.require("dojo.fx");
   dojo.require("dijit.form.ValidationTextBox");
   dojo.require("dijit.Tooltip");
   dojo.require("dijit.PersistTooltip");
    dojo.require("dojo.dnd.Source");
    dojo.require("dojo.dnd.Manager");
    dojo.require("dojo.dnd.move");
    dojo.require("dojo.fx.easing");
    dojo.require("dojo.cookie");

   //var $j = jQuery.noConflict();

/* PAGE CONFIGURATION VARIABLES
 * Set the context path for your app location 
 * and javascript files for your project/application. 
 */

var appContextPath = "/ngaccsg/";
var getCardContextPath = "/getthecard/";
var getCardSSL = "/secure/";
var applyContextPath = "/apply/Applyfservlet";
var applySSL = "/cards/Applyfservlet";
var jsContextPath = appContextPath + "SJjs/";
var htmlContextPath = appContextPath + "SJhtml/";

var SSLPaths = {
    getCardSecure : [getCardContextPath, getCardSSL],
    applySecure : [applyContextPath, applySSL]
};

/* PRODUCT CONFIGURATION VARIABLES
 * Set up global variables to use on product
 * and compare pages that need to be aware of
 * the current Card(s) on the page
 */
var pmcCode = "";
var offerCode = "";
var maxSeqNum_Blurb = "";


//USE IN E0 TO OVERWRITE FAKE PZN DATA 
/*
cmPznProps = {	"161": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/Applyfservlet?csi=154/$applynow_ep$/b/11"},
				//"119": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmApplyURL: "/apply/Applyfservlet?csi=182/$applynow_ep$/b/11"},
				"774": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/Applyfservlet?csi=128/$applynow_ep$/b/11"},
				"331": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: true, cmPerkURL: "blah", cmApplyURL: "/apply/Applyfservlet?csi=185/$applynow_ep$/b/11"},
				"81":  {cmHasCard:false, cmApplyType: "SUP",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/Applyfservlet?csi=38/$applynow_ep$/s/110&showHtml=true",cmOrdinal: 1},
				"145": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/Applyfservlet?csi=70/$applynow_ep$/s/110&showHtml=true"},
				"245": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "null"},
				"82":  {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/PreApprovedAction?csi=207/$applynow_ep$/b/19&offerCode=SJBlueSkyPA"},
				"137": {cmHasCard:false,cmApplyType: "UPG",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/upgrade/UpgradeServlet?cardType=17&origin=PA&entryPoint=$applynow_ep$&offerCode=SJPlatUpPA"},
				"106": {cmHasCard:false,cmApplyType: "UPG",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/Applyfservlet?csi=137/$applynow_ep$/b/11"},
				"144": {cmHasCard:false,cmApplyType: "UPG",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/upgrade/UpgradeServlet?cardType=76&origin=PA&entryPoint=$applynow_ep$&offerCode=SJPrefGoldUpPA"},
				"784": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/upgrade/UpgradeServlet?cardType=13&origin=PA&entryPoint=$applynow_ep$&offerCode=SJRPGPA"},
				"117": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/Applyfservlet?csi=104/$applynow_ep$/b/11"},
				"77":  {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/PreApprovedAction?csi=267/$applynow_ep$/b/19&offerCode=XSELL_DEFAULT"},
				"142": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/Applyfservlet?csi=136/$applynow_ep$/b/11"},
				"158": {cmHasCard:false, cmApplyType: "SUP",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/PreApprovedAction?csi=206/$applynow_ep$/b/19&offerCode=SJStarwoodPA",cmOrdinal: 2},
				"113": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false, cmPerkURL: "blah", cmApplyURL: "/apply/PreApprovedAction?csi=224/$applynow_ep$/b/19&offerCode=SJDeltaGoldUpPA"}
			};
*/

/*var cmPznProps = {
	"161": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: true,cmPerkURL: "/getthecard/learn-about/costco-trueearnings/36180",cmApplyURL: "/apply/Applyfservlet?csi=54/36181/b/10",cmPreapprovedURL: "/apply/Applyfservlet?csi=54/36186/b/10"},
	"119": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: true,cmPerkURL: "/getthecard/learn-about/jetblue/36180",cmApplyURL: "/apply/Applyfservlet?csi=182/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=182/36186/b/11"},
	"774": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: true,cmPerkURL: "/getthecard/learn-about/hilton-hhonors-surpass/36180",cmApplyURL: "/apply/Applyfservlet?csi=28/36181/b/57",cmPreapprovedURL: "/apply/Applyfservlet?csi=28/36186/b/57"},
	"331": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/clear/36180",cmApplyURL: "/apply/Applyfservlet?csi=185/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=185/36186/b/11"},
	"81":  {cmHasCard:true,cmApplyType: "SUP",cmOrdinal: 2,cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/blue/36180",cmApplyURL: "/apply/Applyfservlet?csi=38/36181/s/110",cmPreapprovedURL: "/apply/Applyfservlet?csi=38/36186/s/110"},
	"145": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/preferred-rewards-green/36180",cmApplyURL: "/apply/Applyfservlet?csi=170/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=170/36186/b/11"},
	"82":  {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/bluesky/36180",cmApplyURL: "/apply/Applyfservlet?csi=107/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=107/36186/b/11"},
	"137": {cmHasCard:false,cmApplyType: "UPG",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/platinum-card/36192",cmApplyURL: "https://qwww201.americanexpress.com/upgrade/UpgradeServlet?cardType=17&origin=passive&entryPoint=36199",cmPreapprovedURL: "https://qwww201.americanexpress.com/upgrade/UpgradeServlet?cardType=17&origin=passive&entryPoint=36186"},
	"106": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/delta-reserve/36180",cmApplyURL: "/apply/Applyfservlet?csi=137/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=137/36186/b/11"},
	"144": {cmHasCard:true,cmApplyType: "SUP",cmOrdinal: 1,cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/preferred-rewards-gold/36180",cmApplyURL: "/apply/Applyfservlet?csi=76/36181/s/110",cmPreapprovedURL: "/apply/Applyfservlet?csi=76/36186/s/110"},
	"784": {cmHasCard:false,cmApplyType: "UPG",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/premier-rewards-gold/36187",cmApplyURL: "https://qwww201.americanexpress.com/upgrade/UpgradeServlet?cardType=78&origin=passive&entryPoint=36189",cmPreapprovedURL: "https://qwww201.americanexpress.com/upgrade/UpgradeServlet?cardType=78&origin=passive&entryPoint=36186"},
	"117": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/hilton-hhonors/36180",cmApplyURL: "/apply/Applyfservlet?csi=104/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=104/36186/b/11"},
	"77":  {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/bluecash/36180",cmApplyURL: "/apply/Applyfservlet?csi=167/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=167/36186/b/11"},
	"142": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/platinum-delta-skymiles/36180",cmApplyURL: "/apply/Applyfservlet?csi=136/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=136/36186/b/11"},
	"113": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/gold-delta-skymiles/36180",cmApplyURL: "/apply/Applyfservlet?csi=124/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=124/36186/b/11"},
	"158": {cmHasCard:false,cmApplyType: "SEC",cmPreapproved: false,cmPerkURL: "/getthecard/learn-about/starwood-preferred/36180",cmApplyURL: "/apply/Applyfservlet?csi=106/36181/b/11",cmPreapprovedURL: "/apply/Applyfservlet?csi=106/36186/b/11"}
};*/


function sj_main_init(){ 
	
	//set pageType variable
	SJourney.Utilities.setPageType();

	//set up page level info
	SJINFO.init();

	//context specific loading
	if(SJINFO.context=="prospect") { 
		//activate hovers: should be made into hover object
		var receiveEmail = dojo.query("#sj_emailSignup_btn span");
		SJU.setHover(receiveEmail);
		
		//init Touch Clarity for home page ONLY
		if(SJINFO.pageName=="home") {
			SJTC.init();
		}
	}

	//check for cookies
	SJU.cookieCheck();
    
	// When sj_init file loads, check if body has class="sj_noscript" and remove it 
	    dojo.removeClass(dojo.body(),"sj_noscript");
    	
	// ***** Replace degraded single journey nav with javascript version ***** *   
		
	if(SJINFO.context == "cardmember")
		var navFilename = "include_sjcmNavigation.html";
	else
		var navFilename = "include_sjNavigation.html";
    
    dojo.xhrGet(
		SJU.insertIntoNode("sj_navComponents", htmlContextPath + navFilename)
    );
        
	//assign all Nav event handlers (open, close, etc)
    SJourney.Nav.init();
	
    // the first part of this is in /getthecard degraded_nav versions of the JSPs
    // it applies the class we are removing here, to stop the FOUC problems
    dojo.removeClass( dojo.body(), "sj_hide");
    
	//set tooltip positioning
    dijit.Tooltip.defaultPosition=['above','before','below'];

    // Now that nav is loaded, parse the document(used to init dojo tooltips) 
    dojo.parser.parse(dojo.body());    
	
       SJU.changePathsSSL();
    
	//Flash page? set up the error in case they don't have flash
    SJU.checkFlash();
	
	if(SJINFO.context=="cardmember") {
	//Cardmember wallet initialization
	SJCM.CardWallet.init();
	}
	
	//testing cookie stuff with tray
	//var initGUID = "0cab7e5f38a88fbeac7e1cf99f5a98ec77";
	//SJourney.simplePersistence.store("blueboxpublic", initGUID);
	
   // construct the card popup menu
    SJTB.CardMenu.init();
    SJTB.CardMenu.Animation.init(); 
  
    // construct the card tray
    SJTB.CardTray.init();
    SJTB.CardTray.Animation.init();

    // wire up save-compare triggers that need to interact with the TaskBar
    SJTB.SaveCompareTriggers.init();

    // get any cards we've persisted
    SJourney.TaskBar.RestoreTray();

    //adjust compare link according to number of cards in tray
    SJourney.TaskBar.CompareButton.init();

    dojo.query("#taskbar")[0].style.display="block";

	// Add all necessary js <script> calls to <head>
    var head = document.getElementsByTagName('head')[0];

	var jsFileArray = [];
	
	//JS files specific for Prospect experience
	if(SJINFO.context === "prospect") {
		if(dojo.isIE && dojo.isIE < 7) { jsFileArray.push("sj_ieFix"); }
		jsFileArray.push("sj_email_signup");
	}

	//JS files specific for Cardmember experience
	if (SJINFO.context === "cardmember") {
		if(SJU.pageType === "compare") { jsFileArray.push("sj_comparePage_cm"); }
		if(dojo.isIE && dojo.isIE < 7) { jsFileArray.push("sj_ieFix_cm"); }
	}

	//Both Prospect and Cardmember sites use same JS file for Product page
	if (SJU.pageType === "product") { jsFileArray.push("sj_productPage"); }
	
	if (jsFileArray.length > 0) {
    dojo.forEach(jsFileArray,function(jsFilename, index, array){
			if (typeof(jsFilename) != "undefined") {
        var script = document.createElement('script');
        script.setAttribute('id',jsFilename);
        script.setAttribute('type','text/javascript');
		        script.setAttribute('src',jsContextPath + jsFilename + '.js');
				        head.appendChild(script);
			}
    });	
	}
	if(SJINFO.context=="prospect") {
		//init receiveEmail modal
		SJourney.receiveEmailOffers.init();
	}
	
	//omniture init
	SJourney.Omniture.init();
  };

dojo.addOnLoad(sj_main_init);


//Added to redirect URL
function getURL(){
var currloc = window.location;
var setloc = "https://"+sj_servername+"/secure/pages/mycaLogin.jsp?destURL="+currloc;
return window.location=setloc;
}
function getProspectURL(){
var currloc = window.location;
var setloc = "https://"+sj_servername+"/secure/pages/mycaLogin.jsp?destURL=https://"+sj_servername+"/secure/home?sj_tabToOpen=3";
return window.location=setloc;
}