/* FIREBUG */
if (!window.console || !console.firebug) {
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
    "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

    window.console = {};
    for (var i = 0; i < names.length; ++i)
        window.console[names[i]] = function() {}
}

/* URLs */
var ms_documentDomain = 'cnn.com';
var ms_baseStandard = 'http://audience.cnn.com/services/cnn/';
var ms_baseSecure = 'https://audience.cnn.com/services/cnn/';
var ms_echoURL = 'http://audience.cnn.com/services/cnn/echo.api';
var ms_blankURL = 'http://audience.cnn.com/services/cnn/blank.api?callback=msQueueManager.setIframeReady';

/*var ms_documentDomain = 'cnn.com';
var ms_baseStandard = 'http://exttest.cnn.com/services/cnn/';
var ms_baseSecure = 'https://exttest.cnn.com/services/cnn/';
var ms_echoURL = 'http://exttest.cnn.com/services/cnn/echo.api';
var ms_blankURL = 'http://exttest.cnn.com/services/cnn/blank.api?callback=msQueueManager.setIframeReady';*/

/*var ms_documentDomain = 'cnn.com';
var ms_baseStandard = 'http://aud-ite.cnn.com/services/cnn/';
var ms_baseSecure = 'http://aud-ite.cnn.com/services/cnn/';
var ms_echoURL = 'http://aud-ite.cnn.com/services/cnn/echo.api';
var ms_blankURL = 'http://aud-ite.cnn.com/services/cnn/blank.api?callback=msQueueManager.setIframeReady';*/


/* GLOBAL VARS */
var msIframeDiv = 'cnnConnectMsIframe';
var msQueueManager = null;

/* STORAGE */
var msStorage = {};

/* START APP */
document.domain = ms_documentDomain; // document domain always needs to be set to root
msQueueManager = new ms_QueueManager(); // create global queue manager instance

/* GLOBAL METHODS */
function ms_isLoggedIn() {
    var authid = allCookies[ 'authid' ] || null;
	if(authid==null) return false;
    else return true;
}

function ms_isNull(thisObj) {
   return (thisObj != 'undefined' && thisObj != null) ? false : true;
}

function ms_getEmails(view) {
    var queueItem = new ms_QueueItem(ms_baseStandard+'user.api', 'get');
    queueItem.addParam('action', 'getEmails');
    queueItem.addParam('callback', view);
    var queueItemObj = queueItem.getQueueItem();
    msQueueManager.addRequest(queueItemObj);
}

function ms_uiGetEmails(jsonResponse) {
    msQueueManager.requestReceived(); // lets iJax know it can process the next request
    var error = (typeof jsonResponse.errors == 'undefined') ? false : true;
    if(error == false) {
        // update ui for successful
        msStorage.emails = jsonResponse.emails;
        var confirm = true;
		//$('cnnConnectBreakNewsEmails').style.display = 'block';
        for(var i=0; i<jsonResponse.emails.length; i++) {
            if(jsonResponse.emails[i].isPrimary == 'true' && jsonResponse.emails[i].status != 'confirmed') { confirm = false; }
        }
        if(confirm == false) {
           // $('cnnConnectWelcomeNotConfirmed').style.display = 'block';
			//$('cnnConnectBreakNewsEmails').style.display = 'none';
        }
    } else {
        // update ui for errors
    }
}

function centerDivOfPage(divId) {
    var divWidth = $(divId).offsetWidth;
    var divHeight = $(divId).offsetHeight;
    var winVisWidth = window.innerWidth || document.documentElement.clientWidth;
    var winVisHeight = window.innerHeight || document.documentElement.clientHeight;
    var winX = window.pageXOffset || document.documentElement.scrollLeft;
	var winY = window.pageYOffset || document.documentElement.scrollTop;
    var divLeft = Math.floor(((winVisWidth - divWidth) / 2) + winX);
    var divTop = Math.floor(((winVisHeight - divHeight) / 2) + winY);
    divTop = (divTop <= 110) ? 110 : divTop;
    divLeft = (divTop <= 9) ? 10 : divLeft;
    document.getElementById(divId).style.left = divLeft + 'px';
    document.getElementById(divId).style.top = divTop + 'px';
}

window.msReload = function() {
    if(window.location.href.indexOf('?') > -1) {
        window.location.href = window.location.href.substr(0, window.location.href.indexOf('?'));
    } else {
		window.location.reload();
        //window.location.href = window.location.href;
    }
}

function utilSelectOption(selectBox, value) {
    for(var i=0; i<selectBox.options.length; i++) {
        if(selectBox.options[i].value == value) {
            selectBox.selectedIndex = i;
            return;
        }
    }
}

function utilGetSelectValue(selectBox) {
    return selectBox.options[selectBox.selectedIndex].value;
}

/* VALIDATION */
function validateEmail(elementValue) {
    var emailPattern = /^([a-zA-Z0-9_\.\'\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    return emailPattern.test(elementValue); 
}

/* INIT */

function ms_init() {
    ms_getEmails('ms_uiGetEmails');
    //ms_initAlert();
    ms_initOverlay();
    //ms_initNewsletter();
    ms_initProfile();
}
var process = function () {
	//
}

Event.observe(window, "load", function() { ms_init(); });
