var curr_location = window.location.href;
if (curr_location.indexOf("frameCheck")!=-1 && curr_location.indexOf("shown")==-1) {
	// to prevent infinite loop, add shown=true
	change_parent_url(curr_location+"&shown=true");
}

function change_parent_url( current_location ){
	document.location=current_location;

}

 function fnCallJRfromLoginModal(_obj,aolName){
	var _this = _obj,
	    jr_url,
	    sHost=window.location.host,
	    currentWindowLocation = window.location,
	    target_URL = $('#target_URL').val(),
	    token_url=window.location.protocol+'//'+sHost+'/shc/s/FacebookConnectReg?'+
              'storeId=${WCParam.storeId}&catalogId=${WCParam.catalogId}&langId=-1&shcapiBypassSSO=true&fromPage=ModalLogon&fbOpenIDLogonFlow=true&fromPage=ModalLogon&target_URL='+escape(target_URL); 

	if(_this.hasClass('thirdPartyYahoo')){
		token_url= token_url + "&fromOIDProvider=Yahoo";
		jr_url = '${rpxURLPrefix}' + '${rpxYahooUrl}' + escape(token_url) ;
	}
	if(_this.hasClass('thirdPartyGoogle')){
	    token_url= token_url + "&fromOIDProvider=Google";
		jr_url = '${rpxURLPrefix}' + '${rpxGoogleUrl}' + escape(token_url) ;
	}
	if(_this.hasClass('thirdPartyAol')){
		token_url= token_url + "&fromOIDProvider=Aol";
		jr_url =  '${rpxURLPrefix}' + '${rpxAOLUrl}'+aolName+'&token_url='+ escape(token_url);
	}
	if(_this.hasClass('thirdPartyMyspace')){
		token_url= token_url + "&fromOIDProvider=Myspace";
		jr_url =  '${rpxURLPrefix}' + '${rpxMyspaceUrl}' + escape(token_url) ;
	}
	if(_this.hasClass('thirdPartyTwitter')){
		token_url= token_url + "&fromOIDProvider=Twitter";
		jr_url =  '${rpxURLPrefix}' + '${rpxTwitterUrl}' + escape(token_url);
	}
	
	if(_this.hasClass('thirdPartyFacebook')){
	var fbPerms = {publish_stream:1,offline_access:1,user_activities:1,friends_activities:1,user_birthday:1,
	friends_birthday:1,user_events:1,friends_events:1,user_interests:1,friends_interests:1,user_likes:1,
	friends_likes:1,email:1,user_location:1,friends_location:1,user_hometown:1,friends_hometown:1};
	function fb_perms(){var ss='';for(i in fbPerms){if(ss.length!=0)ss+=',';ss+=i;}return ss;}
	token_url= token_url + "&fromOIDProvider=FacebookConnect"; 
	jr_url = "${rpxFacebookConnectUrl}token_url="+escape(token_url)+"&ext_perm="+fb_perms();
	}
	try
   {
   if(typeof console !== 'undefined' && console ) console.log('window.open : jr_url : ' + jr_url);
	var mywindow =window.open(jr_url,'Login', 'resizable=0,height=600,width=600,left=200,top=100');
	mywindow.moveTo(200, 100);
  } catch(err){}
}

$(function() {


if(typeof OpenIdModalPopUpURL !== 'undefined'){
	var html = '<iframe src="'+OpenIdModalPopUpURL+'" onload="this.contentWindow.focus()" name="modalIframe" id="modalIframe" ' +
			'scrolling="no" overflow="hidden" allowTransparency="true" style="width:810px;height:480px;border:0px;"';
}

	if (typeof ShowOpenIdModalPopUp !== 'undefined' && ShowOpenIdModalPopUp !== null && ShowOpenIdModalPopUp === "true") {
		//develop the modal
		fnInitiateModal();

		if (storeId === '10154' || storeId === '10152') {
			html += ' frameborder="0"';
		}

		$('div#loginLayer').html(html + '></iframe>');
		$('#loginLayer').show().centerOnScreen();
	}
	else if (typeof ShowLoginModalError !== 'undefined' && ShowLoginModalError !== null && ShowLoginModalError === "true") {
		//develop the modal
		fnOpenModalPopUp("ERROR");
	}	
});

function loadJasonp(url, callbackFn) {
	$.getScript(url, callbackFn);
}

//This is a call back from CAS which gets called ON LOAD
function callbackFunction(res) {
/*
	if (res.loggedInIndicator == 'true') {
		//user is logged in
	}else {
		//user is not logged in
	}
*/
}

//This is a call back from CAS when user clicks on SIGN IN / REGISTER LINK
function callbackFunctionFrmSignIn(res) {
	var screenName="",
		redirectURL="",
		finalURL="",
		items = res.jason_param.split("&"),
		item, split;

	for (var i=0, len=items.length; i<len; i++) {
		item = items[i];
		split=item.split("=");

		if (split.length>1) {
			if (split[0] == "screenName_Modal") {
				screenName = split[1];
			}
			else if (split[0] == "redirectURL_Modal") {
				redirectURL = decodeURIComponent(split[1]);
			}
		}
	}
	if (decodeURIComponent(items[0])!=='') {
		finalURL=decodeURIComponent(items[0]);
	}
	if (res.loggedInIndicator === 'true') {
		//user is logged in. refresh the page
		if (screenName === 'LOGIN' || screenName === 'REG') {
			location.reload();
		}
		else {
			location.href = redirectURL;
		}
	}
	else {
		//user is not logged in. Open IFRAME
		finalURL = encodeURIComponent(finalURL);
		fnOpenModalPopUp(screenName,finalURL,storeId);
	}
}

function fnShowLoginModal(screenName,redirectURL,finalURL) {	
	var	encodedRedirectURL=encodeURIComponent(redirectURL),
		encodedFinalURL=encodeURIComponent(finalURL),
		encodedJsonParam=encodeURIComponent(encodedFinalURL+'&screenName_Modal='+screenName+'&redirectURL_Modal='+encodedRedirectURL),
		isLoginPage=false,
		currentPage=window.location.href,
		splitURL=currentPage.split('/shc/s/'),
		cmd;
		if(finalURL !== "" && finalURL === 'rxModal'){
			encodedFinalURL = 'rxModal';
		}
		if (storeId === '10175' && isKiosk == false) {
			isKiosk="false";
			}
		if (storeId === '10175' && $('#atxPopup').is(":visible")) {
			ATXPopup.remove($('#atxPopup'));		
		}
	if (typeof splitURL[1] != 'undefined' && splitURL[1] != 'undefined' && splitURL[1] !== null) {
		cmd = splitURL[1].split('?')[0];
		if (cmd.indexOf("UserLogonFormView")!==-1 || cmd.indexOf("LayawayLogin")!==-1 || cmd.indexOf("SetFulfillmentCmd")!==-1 ||
			cmd.indexOf("StorePickupDisplayCmd")!=-1 || cmd.indexOf("StorePickUpFromCartCmd")!=-1 || cmd.indexOf("LayawayGridPageCmd")!=-1 || cmd.indexOf("ResetPwdView")!=-1  ) {

			isLoginPage=true;
		}
	
	if(cmd.indexOf("ShoppingCartDisplayCmd") === 0){
		if($('#curtain').length > 0){
			$('#curtain, #ajaxmodal').remove();
	}
	}
	}
	//check if the MODAL_FEATURE Flag is ON or OFF and verify for LoginPage
	if (modal_feature === 'ON' && !isLoginPage && isKiosk === 'false') {
		//MODAL_FEATURE is turned ON
		//check for assertion
		var cookievalue = $.cookie('s_r');
		if (cookievalue) {
			//s_r cookie is present
			if (cookievalue.indexOf("_Y") !== -1 ||  ((storeId === '10175' || storeId === '10161') && isFullyAuthenticated === 'true')) {
				//s_r cookie has value with '_Y'. User is logged In
				if (redirectURL!=='') {
                              if((typeof profileUeFlag !== 'undefined' && profileUeFlag === 'ON') && (screenName === 'TrackOrderStatus' || screenName === 'UPOrderHistory')){
                                    location.href = '/shc/s/OrderHistoryNewView?storeId='+storeId+'&catalogId='+catalogId+'&langId='+langId;
                              }
                              else{
					location.href = redirectURL;
                              }
				}else {
					location.reload();
				}
			}else {
				//s_r cookie doesn't have '_Y'. User is not logged In
				fnOpenModalPopUp(screenName,encodedFinalURL,storeId);
			}
		}else {
			//s_r cookie is not present. User might be logged-in. Verify with CAS.
			if('undefined' === typeof(casRequestBypass_Flag) || !casRequestBypass_Flag || casRequestBypass_Flag==='OFF'){
			loadJasonp(CASUrl+'&jsonpCallback=callbackFunctionFrmSignIn&jason_param='+encodedJsonParam+''+CASServiceParam);
				}else {
				fnOpenModalPopUp(screenName,encodedFinalURL,storeId);
		}
		}
	}else {
		//if MODAL_FEATURE is turned OFF then redirect to the
		//corresponding page (profile/order status/GR login	)
		if(isKiosk === 'true'){
		setTimeout(function() { location.href = redirectURL;},100);
		}
		else{
		location.href = redirectURL;
	}
}
}

function fnGetEncodedURLForMG(replacedURLforMG) {
	replacedURL = replacedURLforMG;
}

function fnOpenModalPopUp(screenName,redirectURL,storeId) {
	//Initiating Modal
	var height = 700, width=890,
		html = [],
		cmd = UserLoginModalURL,
		parms = '',
		url = (typeof redirectURL != 'undefined' && redirectURL != 'undefined') ? redirectURL : '';
	if (['10152','10161','10175'].indexOf(storeId)>=0) {
		height = 710;   //MyGofer
	}
	else if (storeId === '10155' || (typeof storeIdValue !== 'undefined' && storeIdValue === '10155')) {
		height = 620;
	}

	fnInitiateModal();

	// populate any values that override the default cmd,parms,url,height, width values above
	switch (screenName) {
		case 'SOCIALPROFILE':
			
		     parms += '&edit=true';
		     url = 'EditPublicProfile';
		     width=900;
		     break;
		case 'PROFILE':
			url = 'UserAccountView';
			width=900;
			break;
		case 'SEARCHNORESULT':
			url = 'ManageListCenterToolsView';
			break;		
		case 'ToolsIOwn':
			break;
		case 'JoinNow':
			parms += '&fromJoinNow=Y';
			url = 'ClubSignupView';
			break;
		case 'HelpLink':
			parms += '&fromHelpLink=Y';
			url = 'UserAccountView';
			break;
		case 'SAVINGS':
			 parms += '&fromPage=BrowseECoupons';
			 url = 'SavingsCenterLogin';
             break;
		case 'SaveForLater':
			url = 'InterestItemDisplayCmd';
			break;
		case 'Refill':
			if (['10152','10161','10175'].indexOf(storeId) >=0 ) {
				url = 'addrx_10175_27151_refill';
			}
			else
			{
				parms +='&tab=refill'
				url = 'addrx';
			}
			break;
		case 'Transfer':
			if (['10152','10161','10175'].indexOf(storeId) >=0) {
				url = 'addrx_10175_27151_transfer';
			}
			else
			{
				parms +='&tab=transfer'
				url = 'addrx';
			}
			break;
		case 'FillNew':
			if (['10152','10161','10175'].indexOf(storeId) >=0) {
			url = 'addrx_10175_27151_fillnew';
			}
			else
			{
			parms +='&tab=fillnew'
			url = 'addrx';
			}
			break;
		case 'newMailOrderView':
			url = 'newMailOrderView';
			break;
		case 'TrackOrderStatus':
			if (['10152','10161','10175'].indexOf(storeId) >=0) {
				cmd = OrderStatusModalURL;
				parms += '&fromLink=orderStatus';
				url = 'OpenOrdersView';
			}
			else {
				cmd = OrderStatusModalURL;
				var windowUrl = window.location.href;
				windowUrl = windowUrl.split('/shc/s/');
				if (windowUrl == '' || windowUrl.length<2){
				windowUrl = "TopCategoriesDisplay";
				}
				else
				{
				 windowUrl = windowUrl[1].split('?');
				 
				 if(windowUrl.length>1)
				 {
				  windowUrl  =  windowUrl[0];
				  }
				  else
				  {
				    windowUrl  =  windowUrl;
				  }
				}
				
				parms += '&fromLink=orderStatus&fromUrlOrderStatus='+windowUrl;
                        if((typeof profileUeFlag !== undefined && profileUeFlag === 'ON') && (screenName === 'TrackOrderStatus' || screenName === 'UPOrderHistory')){
                                    url = 'OrderHistoryNewView';
                        }
                        else{
				url = 'TrackOrderStatus';
                        }
                       
				height = 640;
			}
			width = 830;
			break;
		case 'TrackOrderStatusRI5':		
			cmd = OrderStatusModalURL;
			parms += '&fromLink=orderStatus&fromRI5=true';
			url = 'TrackOrderStatus';
			height = 640;
			width = 830;
			break;
		case 'UPOrderHistory':
			url = 'OrderHistoryNewView';
			break;
		case 'REFERRAL':
			url = 'referralFormView';
			width=900;
			break;
		case 'OrderCenter':
			cmd = OrderStatusModalURL;
			url = 'OrderCenterView';
			height = 640;
			width = 830;
			break;
		case 'ForgotPwd':
			cmd = ForgotPasswordModalURL;
			parms += '&ForForgotPasswordURL=';
			url = '';
			width = 950;
			break;
		case 'OrderHistory':
			url = 'OrderItemHistoryCmd';
			break;
		case 'OrderCenterRedesignHistory':
			url = encodeURIComponent('ShoppingListSortCmd?storeId=10175&catalogId=27151&pastOrderItemSelected=true&pastOrderId=all&listId=&listSelected=false&ReturnButton=false&dropDownVal=all');
			break;
		case 'OCRHistory':
			url = encodeURIComponent('OrderCenterPageCmd?storeId=10175&langId=-1&catalogId=27151');
			break;
		case 'GRCreate':
		case 'GRSeeReg':
		case 'WLCreate':
		case 'WLManage':
		case 'CLCreate':
		case 'CLManage':
		case 'GTCreate':
		case 'GTManage':
		case 'SLCompare':
		case 'AddToListComp':
		case 'AddToRegComp':
			cmd = UserLoginModalURLFromGR;
			parms += '&RegistryType=';
			break;
		case 'WLAddItem':
		case 'SLAddItem':
			cmd = UserLoginModalURLFromProductPage;
			break;
		case 'QuickViewSLAddItem':
			break;
		case 'MGORDERSTATUS':
			parms += '&fromLink=orderStatus';
			url = 'OpenOrdersView';
			break;
		case 'MGORDERLOGIN':
			url = 'OpenOrdersView';
			break;
		case 'MGSTARTERLIST':
			url = encodeURIComponent('MGStarterListCmd?listDisplaySize=6');
			break;
		case 'GETECOUPON':
			url = 'BrowseECoupons';
			break;
		case 'MGPHARMACY':
			url = encodeURIComponent('MygoferPharmacyView?storeId='+storeId+'&catalogId='+catalogId);
			break;
		case 'MGREFILL':
			url = 'addrx_10175_27151_refill';
			break;
		case 'MGTRANSFER':
			url = 'addrx_10175_27151_transfer';
			break;
		case 'MGPHARMACYNEW':
			url = 'MyGoferPharmacy';
			break;
		case 'MGRXNEW':
			url = 'addrx_10175_27151_fillnew';
			break;
		case 'MG2SEARCHLOGIN':
			parms += '&transferURL='+ encodeURIComponent(replacedURL);
			replacedURL = '';
			url = '';
			break;
		case 'SaveForLaterMML':
			break;
		case 'ERROR':
			if (['TrackOrderStatus', 'OpenOrdersView','OrderCenterView','OrderHistoryNewView'].indexOf(CASTargetURL) >=0 ) {
				cmd = OrderStatusModalURLErr;
				parms += '&errorCode=&OrdStatErr=';
				
				var windowUrl = window.location.href;
				windowUrl = windowUrl.split('/shc/s/');
				if (windowUrl == '' || windowUrl.length<2){
				windowUrl = "TopCategoriesDisplay";
				}
				else
				{
				 windowUrl = windowUrl[1].split('?');
				 
				 if(windowUrl.length>1)
				 {
				  windowUrl  =  windowUrl[0];
				  }
				  else
				  {
				    windowUrl  =  windowUrl;
				  }
				}
				
				parms += '&fromUrlOrderStatus='+windowUrl;
				
				
				width = 830;
				height = 705;
			}
			else {
				cmd = UserLoginModalURLErr;
				parms += '&errorCode=';
			}
			url = CASTargetURL;
			break;
		case 'Fitment':
			parms += '&screenName='+screenName;
			url = encodeURIComponent('SaveFitmentView?storeId='+storeId+'&catalogId='+catalogId+'&reloadPage='+encodeURIComponent(window.location.href));
			width = 900;
			break;
		case 'PRODUCT':
			url = 'PersonalInfoView';
			width = 900;
			break;
		case 'MOACPSHOPPINGCART':
			$('.toolbarDropdownTab').hide();
			$('#toolbarDropdownContainer').hide();		
			var ordID = (typeof $('#smartCartorderId').val() != 'undefined')? $('#smartCartorderId').val():cartOrdId;		
			url = encodeURIComponent('ShoppingCartDisplay?storeId='+storeId+'&catalogId='+catalogId+'&orderId='+ordID);
			parms += '&screenName='+screenName;
			parms += '&orderId='+ordID;
			break;
			
		case 'LISTCENTER':
			url = encodeURIComponent('ShoppingListSortCmd?storeId=10175&catalogId=27151');
			parms += '&screenName='+screenName;
			break;
			
		case 'RECIPEADDVIEW':
			url = encodeURIComponent('RecipeAddView?storeId=10175&catalogId=27151&requestType=recipeAdd');
			parms += '&screenName='+screenName;
			break;
						
		default:
			if (window.location.href.indexOf('OrderOKView') > -1) {
				parms += '&screenName='+screenName;
				url = 'UserAccountView';
			}
			else if (screenName === 'REG') {
				//Sears Social - redirect to AdYourWay in case of registration from the page
				 if(!(storeId === '10153' && url ==='AdYourWay')){
				url = '';	
                }
                 //Sears Social change end
				if (['10152','10161','10175'].indexOf(storeId) >=0) {
					parms += '&mygoferRegistrationFlag=Y&screenName='+screenName;
				}
				else {
					parms += '&screenName='+screenName;
				}
				var cart = checkShoppingCart();
				if(cart === 'Y'){
					parms += '&fromCart=true';
			}
			}
			else {
				if(typeof socialParam !== 'undefined' && socialParam !== '') parms += socialParam;
				if(typeof openAskQnParam !== 'undefined' && openAskQnParam !== '') parms += openAskQnParam;
				if(typeof openCreatePoll !== 'undefined' && openCreatePoll !== '') parms += openCreatePoll;
				if(typeof followItParam !== 'undefined' && followItParam !== '') {parms += followItParam; followItParam='';}
				parms += '&screenName='+screenName;
			}
			width = 980;
			break;
	}
	if(redirectURL === 'rxModal'){
		parms += '&rxModalFlag=true';
	}
	html.push('<iframe src="');
	html.push('https://'+storeDomain+':'+sslPort);
	//CMD and parms, plus URL and SSO if present
	
	html.push(String.format('{0}{1}{2}" name="modalIframe" onload="this.contentWindow.focus()" id="modalIframe" scrolling="no" overflow="hidden" allowTransparency="true" frameBorder="0"',
				cmd.substr(0,6)=='/shc/s' ? cmd : (cmd.substr(0,1)=='/' ? '/shc/s' + cmd : '/shc/s/' + cmd),  //make sure it starts with '/shc/s/...'
				parms,
				url ? ('&URL='+url) : ''));	
	//build the style
		html.push(String.format('style="width:{0}px;height:{1}px;border:0"></iframe>', width, height));
		$('#loginLayer').append(html.join('')).show().centerOnScreen();	
	$('#modalIframe')[0].contentWindow.focus();

}


function checkShoppingCart() {
	var page = window.location.href,
		splitURL = page.split('/shc/s/'),
		cmdName;
	if (splitURL[1] != null) {
		cmdName=splitURL[1].split('?');
		return cmdName[0].indexOf("OrderItemDisplayView")!=-1 ? 'Y' : 'N';
	}
	else {
		return 'N';
	}
}

function fnInitiateModal() {
	//Create the curtain
	$('<div id="loginCurtain"></div>')
		.appendTo('body')
		.css({
			'position': 'absolute',
			'zIndex': '9998',
			'top': '0',
			'left': '0',
			'backgroundColor': '#000000',
			'opacity': '0.5',
			'display': 'none'
		});

	// Create the layer container
	$('<div id="loginLayer"></div>')
		.appendTo('body')
		.css({
			'position': 'absolute',
			'zIndex': '9999',
			'top': '0',
			'left': '0',
			'display': 'none'
		});

	$('#loginCurtain')
		.css({
			height: $(document).height(),
			width: $(document).width()
		})
		.show();

}
 function fnLogout(){
 	var s_r = $.cookie('s_r');
 	if(s_r !== null || isKiosk === 'true'){
 		document.location.href = LogoffURL;
 		}
 	else{
        document.location.href = LogonFormURL; 	  
 	}
 }

$(function() {
	if(typeof gup === 'function') {
    	if(gup('screenNameCreated') !== null && gup('screenNameCreated') === 'true' && typeof s !== 'undefined')  { 
			s.channel  = 'Screen Name Created';
			s.prop1    = 'Screen Name Created';
			s.prop2    = 'Screen Name Created';
			s.prop3    = 'Screen Name Created';
			s.prop12   = 'Screen Name Created';
			s.prop19   = 'Screen Name Created';
			s.prop27   = 'Screen Name Created';
			s.prop28   = 'Screen Name Created';
			//Emptying the unwanted details
			s.prop4  = '';	
			s.prop5  = '';
			s.prop11 = '';
			s.prop23 = '';
			s.prop48 = '';
			s.prop49 = '';
			s.eVar4  = '';
			s.eVar9  = '';
			s.eVar10 = '';
			s.eVar40 = '';
			s.eVar41 = '';
			s.eVar49 = '';
			s.tl();
		}
	}
});

