/**
 * @author dosorio
 */

window.myTunnelURI = "/content-store/en_US/SC/widget-explorer/tunnel.html";
window.iframeAttributes = {
	style : {
		border :"0px none",
		background :"none"
	},
	allowTransparency :"true",
	allowtransparency :"true",
	scrolling :"no",
	width :"100%",
	height :"100%",
	frameborder :"0",
	frameBorder :"0"
};

//KO Widgets
function initializeKOWidgets()
{
	// Login Widget
	if($("#loginWidget").length <= 0) $(".header .wrapper").append("<div id='loginWidget' class='KOWidget_fixed'></div>");
	if($("#widgetsLoader").length <= 0) $(".header .wrapper").append("<div id='widgetsLoader'></div>");
	if($("#KOPopupWidget").length <= 0) $("body").append("<div id='KOPopupWidget'></div>");
	if($("#KOFBWidget").length <= 0) $("body").append("<div id='KOFBWidget'></div>");
	
	gim.addWidgetListener('onWidgetStart',onWidgetStart);
/*	gim.addWidgetListener('onWidgetEnd',onWidgetEnd);*/
	gim.addWidgetListener('onWidgetClose',onWidgetClose);
	gim.renderWidget('MyLogin_FB', 'start', 'en_US');
}
function onWidgetStart(){
	$("#widgetsLoader").show();
}
/*
function onWidgetEnd(){
	$("#widgetsLoader").hide();
}*/
function onWidgetClose(){
	$("#widgetsLoader").hide();
}
$(document).ready(initializeKOWidgets);

function updateUserStatus()
{
}

var bInitializing = true;
var userAuthenticated = true;
function ko_platform_ui_widgetDimensions_override(data)
{
	if(data.srcWidget != "MyFacebookAuthenticationWidget"){
		$("#widgetsLoader").hide();
	}
/*	if(data.srcWidget == "ShareSessionWidget")
	{
//		callSimpleWS(homeBase + "setTypePadCookies.do");
		return false;
	}*/
	
	var sView = data.srcView + "";
	sView = sView.toLowerCase();
	if(data.srcWidget == "MyLogin_FB" && bInitializing)
	{
		bInitializing = false;
		userAuthenticated = !(sView == "login" || sView == "prelogin");
		ko_platform_ui_widgetDimensions = null;
		updateUserStatus();
	}
	var obj = $("."+data.srcWidget+"_"+data.srcView);
	if($("."+data.srcWidget+"_"+data.srcView).length <= 0) {
		obj = $("."+data.srcWidget);
	}
	
	if(obj.length > 0 && !($(obj).hasClass("KOWidget_fixed")) && $(obj).parents(".KOWidget_fixed").length <= 0)
	{
		var nSizeDelta = 0;
		var nW = parseInt(data.width)+nSizeDelta;
		var nH = parseInt(data.height)+nSizeDelta;
		$(obj).css({width:nW+"px",height:nH+"px"});
		if($(obj).hasClass("popupWidget"))
			$(obj).css({marginLeft:(nW/-2.0)});
	}
	
	sView = data.srcView + "";
	switch(data.srcWidget)
	{
		case "MyRegistrationWidget":
			//if(sView == "confirmation") setTimeout(closeRegistrationConfirmation,5000);
			break;
		case "MyProfileWidget":
			if(sView == "viewEntireProfile") $(".myAccount .bkg").removeClass("edit");
			else  $(".myAccount .bkg").addClass("edit");
			//if(sView == "confirmation") setTimeout(closeRegistrationConfirmation,5000);
			break;
	}
	
	return false;
}

function ko_platform_ui_changeWidget_override(data)
{
	$("#widgetsLoader").show();
	switch(data.srcWidgetType)
	{
		case "LoginWidget":
		{
			switch(data.dstWidgetType)
			{
				case "ProfileWidget":
					gim.renderWidget('MyProfile_FB', 'viewEntireProfile', 'en_US');
					return false;
				case "RegistrationWidget":
					if(data.srcView == "preLogin"){
						//Tracking when opening Register by clicking on Register Now
						dcsMultiTrack("DCS.dcssip","www.coca-cola.com","DCS.dcsuri","www.coca-cola.com","WT.ti","Coca-Cola Home: Register Now","WT.dl","40","WT.z_ll","Top Nav","WT.z_ln","Top Nav Register Now Button","WT.cg_n","Coca-Cola Top Nav","WT.cg_s","Register");
					}
					gim.renderWidget('MyRegistrationWidget_FB', 'registerUserStepOne', 'en_US');
					return false;
				default:
					if(data.srcView == "preLogin" && data.dstView == "login"){
						dcsMultiTrack("DCS.dcssip","www.coca-cola.com","DCS.dcsuri","www.coca-cola.com","WT.ti","Coca-Cola Home: Login","WT.dl","40","WT.z_ll","Top Nav","WT.z_ln","Top Nav Login Button","WT.cg_n","Coca-Cola Top Nav","WT.cg_s","Login");
					}
					break;
			}
		}
		break;
		case "ForgotResetPasswordWidget":
		{
			switch(data.dstWidgetType)
			{
				case "LoginWidget":
					gim.renderWidget('MyLogin_FB', 'login', 'en_US');
					return false;
				case "RegistrationWidget":
					gim.renderWidget('MyRegistrationWidget_FB', 'registerUserStepOne', 'en_US');
					return false;
			}
		}
		break;
	}
	return true;
}
function ko_platform_ui_changeView_override(data)
{
	$("#widgetsLoader").show();
	switch(data.dstView)
	{
		case "login":
			if(data.srcWidgetType == "LoginWidget" && data.srcView == "preLogin")
			{
				dcsMultiTrack("DCS.dcssip","www.coca-cola.com","DCS.dcsuri","www.coca-cola.com","WT.ti","Coca-Cola Home: Login","WT.dl","40","WT.z_ll","Top Nav","WT.z_ln","Top Nav Login Button","WT.cg_n","Coca-Cola Top Nav","WT.cg_s","Login");
			}
			break;
		case "logout":
			if($("#KOPopupWidget").length > 0)
				gim.onCloseClick('KOPopupWidget');
			if($("#myPopupWidget").length > 0)
				gim.onCloseClick('myPopupWidget');
			break;
	}
	return true;
}
function ko_platform_state_logout_override(data) {
	$("#widgetsLoader").show();
	userAuthenticated = false;
	var bClosePopup = true;
	
	var sView = data.srcView + "";
	switch(data.srcWidgetType)
	{
		case"ProfileWidget":
			bClosePopup = !(sView == "disableSiteSocialConnect" || sView == "disableSocialConnect");
			break;
	}
	
	if(bClosePopup)
	{
		if($("#KOPopupWidget").length > 0)
			gim.onCloseClick('KOPopupWidget');
		if($("#myPopupWidget").length > 0)
			gim.onCloseClick('myPopupWidget');
	}
}
function ko_platform_state_login_override(data) {
	$("#widgetsLoader").show();
	var bReturn = true;
	var bClosePopup = true;
	userAuthenticated = true;
	
	var sView = data.srcView + "";
	switch(data.srcWidgetType)
	{
		case"RegistrationWidget":
			bClosePopup = bReturn = !(sView == "confirmation");
			break;
	}
	if(bClosePopup && $("#KOPopupWidget").length > 0)
		gim.onCloseClick('KOPopupWidget');
	//userLogin();
	gim.renderWidget("MyLogin_FB",'start',"en_us");
	switch(data.srcWidgetType)
	{
		case"RegistrationWidget":
			if(!sView == "confirmation"){
				dcsMultiTrack("DCS.dcssip","www.coca-cola.com","DCS.dcsuri","www.coca-cola.com","WT.ti","Coca-Cola Home: Register Now - Submit Button","WT.dl","40","WT.z_ll","Top Nav","WT.z_ln","Top Nav Coke Music Profile Registration Submit Button","WT.cg_n","Coca-Cola Top Nav","WT.cg_s","Register");
			}
			break;
		case"LoginWidget":
			if(sView == "login" || sView == "preLogin")
			{
				dcsMultiTrack("DCS.dcssip","www.coca-cola.com","DCS.dcsuri","www.coca-cola.com","WT.ti","Coca-Cola Home: Login Button","WT.dl","40","WT.z_ll","Top Nav","WT.z_ln","Top Nav Login Submit Button","WT.cg_n","Coca-Cola Top Nav","WT.cg_s","Login");
			}
			break;
	}
	return bReturn;
}
function ko_platform_ui_cancel_override(data){
	if(data.srcWidgetType == "ProfileWidget" && data.srcView == "updateEntireProfile")
	{
		gim.renderWidget('MyProfile_FB', 'viewEntireProfile', 'en_US');
		return false;
	}
	return true;
}
function ko_platform_ui_popup_override(data) {
	window.scrollTo(0,0);
	return true;
}

/*
var sFacebookWidget = null;
var sFacebookView = null;*/
function ko_platform_ui_invokeWidget_override(data)
{
	$("#widgetsLoader").show();
/*
	if(data.dstWidgetType == "FacebookAuthenticationWidget" && data.dstView == "authenticate")
	{
		sFacebookWidget = data.srcWidget;
		sFacebookView = data.srcView;
		var url = document.location.href+"";
		if(url.indexOf("https") == 0) url = "https://";
		else url = "http://";
		url += location.host+"";
		if(url.lastIndexOf("/") < (url.length-1)) url += "/";
		url += "content-store/en_US/SC/";
		url += "facebookResponse.html"
		var sAppId = "232633603441103";
		
		var fUrl = "http://www.facebook.com/dialog/oauth/?client_id="+sAppId+"&redirect_uri="+url+"&response_type=token";
		window.open(fUrl, "fbAuthenticationWin","width=400,height=300");
	}
*/
	return true;
}
/*
function _invokeFBCallback(token)
{
	token = decodeURIComponent(token);
	gim.renderWidget('MyFacebookAuthenticationWidget', 'persistAccessToken', 'en_US', 'accessToken='+token);
}*/

function ko_platform_social_socialAuthenticated_override(data)
{	
	$("#widgetsLoader").show();
/*	alert("ko_platform_social_socialAuthenticated_override");
	gim.renderWidget(sFacebookWidget, sFacebookView, 'en_US',"socialConnect=true");
	
	sFacebookWidget = null;
	sFacebookView = null;*/
	return true;
}

/** Deeplink **/
function getFromParam(param)
{
	var str = window.location.search;
	var paramsAlpha = str.substr(1).split('&');
	var params = new Array();
	var newQuery = "";	
	
	for(i=0; i < paramsAlpha.length; i++)
	{
		tempParam = paramsAlpha[i].split('=');
		params[tempParam[0]] = tempParam[1];
	}
	return params[param];
}

function launchResetPasswordWidget(){
	var memberId = getFromParam('memberId');
	if(memberId == null) memberId = getFromParam('memberid');
	if(memberId != null) {
		gim.renderWidget('MyForgot_V1_Eng','resetPassword', 'en_US', 'memberId='+memberId);
	}
}
function openRegister(){
	gim.renderWidget('MyRegistrationWidget_FB', 'registerUserStepOne', 'en_US');
}
function openLogin(){
	gim.renderWidget('MyLogin_FB', 'login', 'en_US');
}

function initializeDeeplink(){
	var sDeeplink = getFromParam("deeplink");
	switch(sDeeplink){
		case "newpassword":
			launchResetPasswordWidget();
			break;
		case "register":
			openRegister();
			break;
		case "login":
			openLogin();
			break;
	}
}
$(document).ready(initializeDeeplink);
