//----------UTILITY-----------------------
var new_user_login = false;
var promo_login = false;
var login = false;
var share_session_loaded = false;

function getUrlParamss() {
    var searchString = document.location.search;

    // strip off the leading '?'
    searchString = searchString.substring(1);

    var nvPairs = searchString.split("&");

    var results = {};

    for (i = 0; i < nvPairs.length; i++)
    {
         var nvPair = nvPairs[i].split("=");
         results[nvPair[0]] = nvPair[1];
    }

    return results;
}

function displayAllProps(data){
	var props = "";
	for (var propertyName in data){
		props = props + "\n" + propertyName + ": " +data[propertyName];
	}
	alert(props);
}

function onPromoPage(){
	var loc = (location.href).toLowerCase(); 
	if(loc.indexOf('sprite') > -1) {
		return true;
	}
	if(loc.indexOf('powerade') > -1) {
		return true;
	}
	return false;
}

function isPromoLoginWidget(srcWidget){
	if (srcWidget == 'MyNewLoginWidget') { //sprite
		return true;
	} 
	if (srcWidget == 'MyNewLoginWidget1'){ //powerade
		return true;
	}
	return false;	
}

function getPromoPage()	{
	var loc = (location.href).toLowerCase();
	if(loc.indexOf('powerade') > -1) {
		return '/powerade';
	}
	if(loc.indexOf('sprite') > -1) {
		return '/sprite';
	}
	return loc;
}


//----------OVERRIDES---------------------
function ko_platform_ui_changeView_override(data){
	if (data.dstView == 'postLogin'){
		popup.loadWidget(750, 500, data.srcWidget, 'postLogin');
	} else {
		gim.renderWidget(data.srcWidget, data.dstView, locale);
	}
}

function ko_platform_ui_cancel_override(data) {
	popup.close();
}

function ko_core_app_enable_cookies_override (data) {
	//do nothing, do not remove
}

function ko_platform_state_loginRequired_override(data){
	ko_platform_state_logout_override(data);
}

function  ko_platform_state_login_override(data) {
	login = true;
	
	if(data.srcView=='postLogin') {
		popup.close();
	}
	
	if(data.srcWidget=='MyRegistrationWidget'){
		new_user_login = true;
	} 
	
	if((isPromoLoginWidget(data.srcWidget)==true) || (onPromoPage()==true)){ 
		promo_login = true;
	}
	
		loginloader.show(); 
		gim.renderWidget('ShareSessionWidget', 'shareSession', locale);
		
}

function ko_platform_ui_widgetDimensions_override(data){ 
	
	if(data.srcWidget=='MyLoginWidget' && data.srcView!='welcome' ){ 
		$("#loginShowStart").show();
		$("#loginHideStart").show();
		$('#loginWidgetContainer').removeClass();
		$('#loginWidgetContainer').addClass('startView');
		positionLoginPanel();
		if (is_logged_in==true) { 
			is_logged_in = false; 
			ko_platform_state_logout_override(data); 
		}
	return;
	}
	
	if(data.srcWidget=='MyLoginWidget' && data.srcView=='welcome'){
		$("#loginShowStart").hide();
		$("#loginHideStart").hide();
		$("#loginWidgetContainer").show();
		$('#loginWidgetContainer').removeClass();
		$('#loginWidgetContainer').addClass('welcomeView');
		$("#loginWidgetContainer").css('left', '0px'); //remove positioning because welcome view should be in normal flow
		if (is_logged_in==false) { 
			is_logged_in = true; 
			$.ajax({
		        cache: false,
		        type: "GET",
		        success: function () { 
					if (onPromoPage()==true && login==false) {
						window.location = getPromoPage();
					}
				},
		        url: "/UserAction?action=login",
		        error: function () { }
		    });
		}
	}
	
	if (data.srcWidget=='ShareSessionWidget') { 
		$.ajax({
	        cache: false,
	        type: "GET",
	        success: function () {
				is_logged_in = true;
				if (new_user_login==true) {
					window.location = '/index.jsp?action=welcome';
					return;
				} 
				if (promo_login==true) { 
					window.location = getPromoPage();
					return;
				}
				gim.renderWidget('MyLoginWidget', 'welcome', locale);
				loginloader.hide(); 
				//popup.load('popup/what-you-can-do.jsp', 460, 350);
			},
	        url: "/UserAction?action=login",
	        error: function () { }
	    });
		
		return;
	}
	
	if (isPromoLoginWidget(data.srcWidget)==true && data.srcView=='welcome' && login==false) {
		window.location = getPromoPage();
		return;
	}
}

function  ko_platform_state_logout_override(data) { 
	popup.close();
	$("#loginWidgetContainer").hide();
	$.ajax({
        cache: false,
        type: "GET",
        success: function () { window.location = window.location;},
        url: "UserAction?action=logout",
        error: function () {}
    });
}

function ko_platform_ui_changeWidget_override(data) {
    
    if(data.dstWidgetType=='LoginWidget'){ 
    	window.location = window.location; //refresh page
    	return;
    }
    
    if(data.dstWidgetType=='RegistrationWidget') {
    	window.location ='/registration-form.jsp';
    	return;
    }
    
    if(data.dstWidgetType=='ForgotResetPasswordWidget') {
    	window.location ='/password-forgot.jsp';
    	return;
    }
    
    if(data.dstWidgetType=='ProfileWidget') {
    	openMyAccount();
    	return;
    }
}

