/* LOAD */
function ms_initProfile() {
    if(ms_isLoggedIn() == true) {
        if(typeof(msStorage.confirmProfileEmail) == 'undefined') { msStorage.confirmProfileEmail = []; }
        ms_getEmails('ms_uiGetEmailsProfile');
        ms_getProfile('ms_uiGetProfile');
		var cstate = gup('profile');
		//(cstate === 'subscribe') ? '' : createLoginIframe() ;
		newuser = false;
		//createLoginIframe();
    } else {
    }
}

/* FORM */

function ms_formAddEmail(formObj) {
    if(validateEmail(formObj.email)) {
        ms_addEmail(formObj.email, 'ms_uiAddEmail');
		$('cnnConnEmailErrorRes').hide();
    } else {
        $('cnnConnEmailErrorRes').show();
    }
}

function ms_formChangePrimary(emailId) {
    ms_changePrimaryEmail(emailId, 'ms_uiChangePrimaryEmail')
}

function ms_formUpdatePassword(formObj) {
}

function ms_formUpdateProfile(formObj) {
    updateProfileErrorMessages('hide');
    ms_updateProfile(formObj, 'ms_uiUpdateProfile');
}

function ms_formProfileLogin(formObj) {
    if(validateEmail(formObj.email)) {
        ms_doLogin(formObj.email, formObj.password, 'ms_uiDoLoginProfile');
    }
}

/* API */

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_addEmail(email, view) {
    var queueItem = new ms_QueueItem(ms_baseStandard+'user.api', 'post');
    queueItem.addParam('action', 'addEmail');
    queueItem.addParam('email', email);
    queueItem.addParam('callback', view);
    var queueItemObj = queueItem.getQueueItem();
    msQueueManager.addRequest(queueItemObj);
}

function ms_resendConfirmation(emailId, view) {
    var queueItem = new ms_QueueItem(ms_baseStandard+'emailConfirm.api', 'post');
    queueItem.addParam('action', 'resendEmailConfirmation');
    queueItem.addParam('email', emailId);
    queueItem.addParam('callback', view);
    var queueItemObj = queueItem.getQueueItem();
    msQueueManager.addRequest(queueItemObj);
}

function ms_deleteEmail(emailId, view) {
    var queueItem = new ms_QueueItem(ms_baseStandard+'user.api', 'post');
    queueItem.addParam('action', 'deleteEmail');
    queueItem.addParam('email', emailId);
    queueItem.addParam('callback', view);
    var queueItemObj = queueItem.getQueueItem();
    msQueueManager.addRequest(queueItemObj);
}

function ms_changePrimaryEmail(emailId, view) {
    var queueItem = new ms_QueueItem(ms_baseStandard+'user.api', 'post');
    queueItem.addParam('action', 'changePrimaryEmail');
    queueItem.addParam('email', emailId);
    queueItem.addParam('callback', view);
    var queueItemObj = queueItem.getQueueItem();
    msQueueManager.addRequest(queueItemObj);
}

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

function ms_updateProfile(paramsObj, view) {
    var queueItem = new ms_QueueItem(ms_baseStandard+'user.api', 'post');
    queueItem.addParam('action', 'updateProfile');
    for(key in paramsObj) {
        queueItem.addParam(key, paramsObj[key]);
    }
    queueItem.addParam('callback', view);
    var queueItemObj = queueItem.getQueueItem();
    msQueueManager.addRequest(queueItemObj);
}

function ms_uiLoadEmails(jsonResponse){
	msQueueManager.requestReceived();
	$('cnnConnectProfileErrors').innerHTML = '';
	var error = (typeof jsonResponse.errors == 'undefined') ? false : true;
	var html = '';
	if(error == false) {
		var divTest = $('editmy_email_container') || false;
		if(divTest){$('editmy_email_container').remove();}
		divTest = $('add_email_container') || false;
		if(divTest){$('add_email_container').remove();}
		
		html += '<div id="editmy_email_container">';
		for(i=0;i<jsonResponse.emails.length;i++){
			var isPrimary = jsonResponse.emails[i].isPrimary;
			var emailStatus = jsonResponse.emails[i].status;
			//single div with email
			html += '<div id="email' + i + '_field">';
			html += '<input type="text" class="editmy_email_input" id="editmy_email' + i + '" value="'+ jsonResponse.emails[i].email +'" />';
			html += '<p class="peditmyp2">';
			// primary or change to primary
			if(isPrimary == 'true'){
				html += '<span class="editmy_emailconfirmed">Primary</span>&nbsp;|&nbsp;';
			} else if (isPrimary != 'true' && emailStatus == 'confirmed'){
				html += '<a href="javascript: void(0);" onclick="ms_changePrimaryEmail(\''+ jsonResponse.emails[i].email +'\', \'ms_uiChangePrimaryEmail\');return false;" class="email_status_notprimary">Make primary</a>&nbsp;|&nbsp;';
			} else {
				//
			}
			//confirmed or unconfirmed
			if(emailStatus == 'confirmed'){
				html += '<span class="editmy_emailconfirmed">Confirmed</span>';
			} else {
				html += '<span class="email_status_unconfirmed">Unconfirmed ';
				html += '(<a href="javascript: void(0);" onclick="ms_resendConfirmation(\'' + jsonResponse.emails[i].email +'\', \'ms_uiResendConfirmation\');return false;">resend e-mail</a>)';
			}
			//not offering to delete a primary
			if(isPrimary != 'true'){
				html += '&nbsp;|&nbsp;<a href="javascript: void(0);" onclick="ms_deleteEmail(\''+ jsonResponse.emails[i].email +'\', \'ms_uiDeleteEmail\');return false;">Delete</a>';
			}
			html += '</p>';
			html += '</div>';
			//show add email if needed
		}
		html += '</div>'; //end email container
		if(jsonResponse.emails.length < 3){
			html += '<div id="add_email_container" style="clear: left">'
			html += '<p class="add_new_email">';
			html += '<a class="" href="javascript:void(0);" onclick="addEmailInput();return false;">Add new e-mail address</a>';
			html += '</p>';
			html += '</div>';
		}
		$('cnnConnProfile-addEmail-form').insert(html);
	} else {
        // update ui for errors
		alert('We\'re sorry! This service is temporarily unavailable. Please try again soon.');
    }
}
function addEmailInput(){
	var emailCount = $$('#editmy_email_container input').length;
	if(emailCount < 3){
		var html = '';
		html += '<div>';
		html = '<input type="text" class="new_email_address editmy_email_input" value="" />';
		html += '</div>';
		$('editmy_email_container').insert(html);
		if(emailCount == 2){
			$('add_email_container').innerHTML = '';
		}
	} else {
		return false;
	}
}
function ms_uiAddEmailResponse(jsonResponse){
	msQueueManager.requestReceived();
	var error = (typeof jsonResponse.errors == 'undefined') ? false : true;
	if(error == false) {
		//alert('email added');
		//revalidate
		//ms_editMyProfile();
		//alert('not recalling');
	} else {
        // update ui for errors
		$('cnnConnectProfileErrors').innerHTML = '';
		$('cnnConnectProfileErrors').innerHTML = jsonResponse.errors[0];
		$('cnnConnectProfileErrors').show();
    }
}

function ms_uiLoadDetails(jsonResponse){
	msQueueManager.requestReceived();
	var error = (typeof jsonResponse.errors == 'undefined') ? false : true;
	if(error == false) {
		for(var i in jsonResponse.profile){
			var inputId = 'editmy_' + i;
			var inputEl = $(inputId);
			if(inputEl){
				if(i == 'monthOfBirth'){
					var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
					var month = months.indexOf(jsonResponse.profile['monthOfBirth']);
					month += 1;
					$(inputEl).value = month;
				} else {
				inputEl.value = jsonResponse.profile[i];
				}
			}
		};
		updateAvatarImg();
		showOverlay('profile_editmydetails_overlay');
	} else {
        // update ui for errors
		$('updateProfilePasswordMessages').innerHTML = '';
		var html =  "There was a problem grabbing your details";
		$('updateProfilePasswordMessages').innerHTML = html; 
    }
};
function ms_editMyProfile(){
	//firstName, lastName, address, address2, oldpassword, newpassword, confirmpass, monthOfBirth, yearOfBirth, zipCode
	var editValues = {	firstName: '', lastName: '', address: '', address2: '',
					password: '', newPassword: '', confirmPassword: '', passwordHint: 'none',
					monthOfBirth: '', yearOfBirth: '', gender: '', zip: ''};

	//remove any script tags in all fields
	for(var i in editValues){
		var inputId = 'editmy_' + i;
		var inputEl = $(inputId);
		if(inputEl){
			var tv = inputEl.value;
			tv = tv.replace(/<[^>]*?>/g,'');
			editValues[i] = tv;
		}
	};
	var pass = true;
	//check passwords
	var passwordErrors = [];
	$('updateProfilePasswordMessages').innerHTML = '';
	$('editmy_password').removeClassName('redinput_error');
	$('editmy_newPassword').removeClassName('redinput_error');
	$('editmy_confirmPassword').removeClassName('redinput_error');
	var currentPassword = $('editmy_password').value;
	var newPassword = $('editmy_newPassword').value;
	var confirmPassword = $('editmy_confirmPassword').value;
	if(currentPassword != '' || newPassword != '' || confirmPassword != ''){
		if ((currentPassword == '' && newPassword != '') || (currentPassword == '' && confirmPassword != '')){
			pass = false;
			$('editmy_password').addClassName('redinput_error');
			$('updateProfilePasswordMessages').innerHTML = '';
			var html =  "Old Password cannot be empty.";
			$('updateProfilePasswordMessages').innerHTML = html; 
		} else {
			if (newPassword != '' && confirmPassword != '') {
				if(newPassword == confirmPassword) {
					if (!(newPassword.length < 6 || newPassword.indexOf(' ') != -1 || newPassword.length > 10)) {
						editValues.password = currentPassword;
						editValues.newPassword = newPassword;
						editValues.confirmPassword = confirmPassword;
						CNN_setCookie('firstName', editValues.firstName, 24 * 30 * 12, '/', document.domain);
						var newEmails = $$('.new_email_address');
						for(i=0;i<newEmails.length;i++){
							var email = $(newEmails[i]).value;
							if(email != ''){
								//var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
								var filter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
								if (filter.test(email)) {
									ms_addEmail(email, 'ms_uiAddEmailResponse');
								} else {
									pass = false;
									$(newEmails[i]).addClassName('redinput_error');
									$('cnnConnectProfileErrors').innerHTML = '';
									$('cnnConnectProfileErrors').innerHTML = 'Please enter a valid e-mail address';
									$('cnnConnectProfileErrors').show();
								}
							}
						}
						ms_updateProfile(editValues, 'ms_editMyProfileResponse');
					} else {
						pass = false;
						$('editmy_newPassword').addClassName('redinput_error');
						$('updateProfilePasswordMessages').innerHTML = '';
						var html = "New Password must be 6 - 10 characters and may not contain spaces";
						$('updateProfilePasswordMessages').innerHTML = html;
					}
				} else {
					pass = false;
					$('editmy_newPassword').addClassName('redinput_error');
					$('editmy_confirmPassword').addClassName('redinput_error');
					$('updateProfilePasswordMessages').innerHTML = '';
					var html = "New password does not match Confirm password.";
					$('updateProfilePasswordMessages').innerHTML = html;
				}
			} else {
				pass = false;
				$('editmy_newPassword').addClassName('redinput_error');
				$('editmy_confirmPassword').addClassName('redinput_error');
				$('updateProfilePasswordMessages').innerHTML = '';
				var html =  "You must enter a new password and confirm that password.";
				$('updateProfilePasswordMessages').innerHTML = html; 
			}
		}
	// validating something other than a password change
	} else {
		//additional code to test if a new email needs to be added
		var newEmails = $$('.new_email_address');
		for(i=0;i<newEmails.length;i++){
			var email = $(newEmails[i]).value;
			if(email != ''){
				var filter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if (filter.test(email)) {
					$('cnnConnectProfileErrors').innerHTML = '';
					ms_addEmail(email, 'ms_uiAddEmailResponse');
				} else {
					pass = false;
					$(newEmails[i]).addClassName('redinput_error');
					$('cnnConnectProfileErrors').innerHTML = '';
					$('cnnConnectProfileErrors').innerHTML = 'Please enter a valid e-mail address';
					$('cnnConnectProfileErrors').show();
				}
			}
		}
	
	CNN_setCookie('firstName', editValues.firstName, 24 * 30 * 12, '/', document.domain);
	ms_updateProfile(editValues, 'ms_editMyProfileResponse');
		
	}
};

function ms_editMyProfileResponse(jsonResponse){
	msQueueManager.requestReceived(); // lets iJax know it can process the next request
    var error = (typeof jsonResponse.errors == 'undefined') ? false : true;
    if(error == false) {
		//its possible that there is actually an error in the error field
		if($('cnnConnectProfileErrors').innerHTML == ''){
			closeOverlay('profile_editmydetails_overlay');
		} else {
			//something else
		}
    } else {
        // update ui for errors
		$('editmy_password').addClassName('redinput_error');
		$('updateProfilePasswordMessages').innerHTML = '';
		var html =  "The old password you have provided does not match.";
		$('updateProfilePasswordMessages').innerHTML = html; 
    }
}

/* RESPONSE */
function ms_uiGetEmailsProfile(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;
        drawProfileEmails();
        
        //Check maximum email addresses
        if (isMaxEmails()) {
			$('editmy_addemail1').hide();
            $('editmy_addemail2').hide();
        } else {
            //turn on$('cnnConnEmailbox2').show();
        }
    } else {
        // update ui for errors
		$('cnnConnectProfileErrors').innerHTML = '';
		$('cnnConnectProfileErrors').innerHTML = 'There was an error accessing your e-mails.  Please try again.';
		$('cnnConnectProfileErrors').show();
    }
}

function ms_uiAddEmail(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
        ms_getEmails('ms_uiGetEmailsProfile');
    } else {
        // update ui for errors
		$('cnnConnectProfileErrors').innerHTML = '';
		$('cnnConnectProfileErrors').innerHTML = 'There was an error adding your e-mail address.  Please try again.';
		$('cnnConnectProfileErrors').show();
    }
}

function ms_uiResendConfirmation(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
        // what goes on in ui ?
    } else {
        // update ui for errors
		$('cnnConnectProfileErrors').innerHTML = '';
		$('cnnConnectProfileErrors').innerHTML = 'There was an error sending your e-mail confirmation.  Please try again.';
		$('cnnConnectProfileErrors').show();
    }
}

function ms_uiDeleteEmail(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
		ms_getEmails('ms_uiLoadEmails');
    } else {
        // update ui for errors
		$('cnnConnectProfileErrors').innerHTML = '';
		$('cnnConnectProfileErrors').innerHTML = 'There was an deleting your e-mail address.  Please try again.';
		$('cnnConnectProfileErrors').show();
    }
}

function ms_uiChangePrimaryEmail(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
		ms_getEmails('ms_uiLoadEmails');
    } else {
        // update ui for errors
		$('updateProfilePasswordMessages').innerHTML = '';
		var html =  'There was an error changing your primary e-mail address';
		$('updateProfilePasswordMessages').innerHTML = html; 
    }
}

function ms_uiGetProfile(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.profile = jsonResponse.profile;
        updateProfileErrorMessages('hide');
        updateProfileForm();
        updateProfileContent();
    } else {
        // update ui for errors
		
    }
}

function ms_uiUpdateProfile(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
        ms_getProfile('ms_uiGetProfile');
		profileOverlayClose();
    } else {
        // update ui for errors
        updateProfileErrorMessages('show', jsonResponse.errors);
    }
}

function ms_uiDoLoginProfile(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
        ms_initProfile()
    } else {
        // update ui for errors
        ms_initProfile();
    }
}

/* GUI */

function drawProfileEmails() {
    var emails = msStorage.emails;
    var html = '';
    var count = 0;
    for(var i=0; i<emails.length; i++) {
		if (i>=3) { break; } // stops after 3 email limit
        var primary = (emails[i].isPrimary == 'true') ? '<span class="cnngraytxt">Primary</span>&nbsp;&nbsp;|&nbsp;&nbsp;' : '<a href="javascript:void(0);" onclick="ms_formChangePrimary('+emails[i].id+');">Make Primary</a>&nbsp;&nbsp;|&nbsp;&nbsp;';
        var confirm = (emails[i].status == 'confirmed') ? '<span class="cnngreentxt">Confirmed</span>' : '<span class="cnnredtxt">Unconfirmed</span>&nbsp;&nbsp;(<span id="cnnProfileResendEmailLink'+count+'"><a href="javascript:void(0);" onclick="sendConfirmEmailProfile(\'cnnProfileResendEmailLink'+count+'\', \''+emails[i].email+'\')">resend e-mail</a></span>)';
        var options = (emails.length == 1 || emails[i].isPrimary == 'true') ? '' : '&nbsp;&nbsp;|&nbsp;&nbsp;<a href="javascript:void(0);" onclick="ms_deleteEmail(\''+emails[i].id+'\', \'ms_uiDeleteEmail\');">Delete</a></p>';
        if(emails[i].status == 'confirmed') {
            html += '<p class="cnnConnEmailbox"><strong>'+emails[i].email+'</strong><br />'+primary+confirm+options;
        } else {
            html += '<p class="cnnConnEmailbox"><strong>'+emails[i].email+'</strong><br />'+confirm+options;
            count++;        
        }
    }
	
   // $('email1_field').innerHTML = html;
}

function showToggleProfile() {
    var divId = 'cnnConnectMyDetailsContainer';
    if($(divId).style.display == 'none') {
        $(divId).style.display = 'block';
        centerDivOfPage('cnnConnectMyDetailsContainer');
    } else {
        $(divId).style.display = 'none';
    }
    updateProfileErrorMessages('hide');
}

function updateProfileForm() {
    var profile = msStorage.profile;
    var form = $('cnnConnHiddenProfileForm');
    var formItems = form.getElements();
    formItems.each(function(formItem, i) {
        if(typeof(profile[formItem.name]) != 'undefined') {
			formItem.value = profile[formItem.name];
        }
    });
}

function updateProfileContent() {
    var emails = msStorage.emails;
    var hiddenForm = $('cnnConnHiddenProfileForm');
    var html = '';
}

function isMaxEmails() {
    //Check maximum email addresses
    var MAXIMUM_EMAIL_ADDRESS = 3;
    var emails = msStorage.emails;
    if (MAXIMUM_EMAIL_ADDRESS <= emails.length) {
        return true;
    }

    return false;
}

function createScreenname(option) {
    var hiddenForm = $('cnnConnHiddenProfileForm');
    if(option == 'show') {
		// nothing atm
    } else if(option == 'save') {
        if ($('cnnConnProfile-screenname-form').screennameinput.value.length > 12) { 
			jQuery("#screennameinstr").removeClass('cnngraytxt'); 
			jQuery("#screennameinstr").addClass('cnnredtxt');
		} else {	
        hiddenForm.screenName.value = $('cnnConnProfile-screenname-form').screennameinput.value;
        $('cnnConnCreateScreenName').hide();
		$('cnnConnProfile-screenName').update(hiddenForm.screenName.value);
		$('cnnConnProfile-firstName').update('Welcome, '+hiddenForm.screenName.value);
		$('changeavatarbtn_off').hide();
		$('changeavatarbtn_on').show();
        ms_formUpdateProfile($('cnnConnHiddenProfileForm').serialize(true));
		}
    }
}
almosttherescreename = false;
function createScreenname_bia(option) {
    var hiddenForm = $('cnnConnHiddenProfileForm');
    if(option == 'show') {
		// nothing atm
    } else if(option == 'save') {
		almosttherescreename = true;
		var screennameadd = jQuery('input#screenName_bia').val();
        if ( screennameadd.length > 12) { 
			jQuery("#screennamedetails").css({ "color" : "#ca0002"}); 
		} else{
		hiddenForm.screenName.value = screennameadd;		
        ms_formUpdateProfile($('cnnConnHiddenProfileForm').serialize(true));
	}
    }
}

function sendConfirmEmailProfile(id, email) {
    msStorage.confirmProfileEmail[msStorage.confirmProfileEmail.length] = {"id": id, "email": email};
    $(id).innerHTML = 'sending...';
    ms_sendConfirmEmailAgain(email, 'updateConfirmEmailProfile');
}

function updateConfirmEmailProfile(jsonResponse) {
    msQueueManager.requestReceived(); // lets iJax know it can process the next request
    var confirmProfileLocal = msStorage.confirmProfileEmail;
    var error = (typeof jsonResponse.errors == 'undefined') ? false : true;
    if(error == false) {
        // update ui for successful
        $(confirmProfileLocal[0].id).innerHTML = 'e-mail sent, <a href="javascript:void(0);" onclick="sendConfirmEmailProfile(\''+confirmProfileLocal[0].id+'\', \''+confirmProfileLocal[0].email+'\')">resend</a>';
    } else {
        $(confirmProfileLocal[0].id).innerHTML = '<a href="javascript:void(0);" onclick="sendConfirmEmailProfile(\''+confirmProfileLocal[0].id+'\', \''+confirmProfileLocal[0].email+'\')">error, try again</a>';
    }
    // update the local storage object
    if(confirmProfileLocal[0].length > 1) {
        var newConfirmProfile = confirmProfileLocal.slice(1);
        msStorage.confirmProfileEmail = newConfirmProfile;
    } else {
        msStorage.confirmProfileEmail = [];
    }
}

function updateProfileErrorMessages(option, errors) {
    if(option == 'show') {
        var html = '';
        for(var i=0; i<errors.length; i++) {
            html += errors[i] + '<br/>';
        }
        jQuery('#cnnConnectProfileErrors').html(html);
        jQuery('#cnnConnectProfileErrors').show();  
    } else if (option == 'hide') {
        $('cnnConnectProfileErrors').innerHTML = '';
        $('cnnConnectProfileErrors').hide();   
    }
}

function updateProfilePasswordMessages(option, errors) {
    if(option == 'show') {
        var html = '';
        for(var i=0; i<errors.length; i++) {
            html += errors[i] + '<br/>';
        }
        jQuery('#updateProfilePasswordMessages').html(html);
        jQuery('#updateProfilePasswordMessages').show();  
    } else if (option == 'hide') {
        $('updateProfilePasswordMessages').innerHTML = '';
        $('updateProfilePasswordMessages').hide();   
    }
}

function updateEmailErrorMessages(option, errors) {
    if(option == 'show') {
        var html = '';
        for(var i=0; i<errors.length; i++) {
            html += errors[i] + '<br/>';
        }
        $('cnnConnEmailErrorRes').innerHTML = html;
        $('cnnConnEmailErrorRes').show();
    } else if (option == 'hide') {
        $('cnnConnEmailErrorRes').innerHTML = '';
        $('cnnConnEmailErrorRes').hide();
    }
}
function gup(name) {
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}
/* new responses for edit my details */
Event.observe(window, 'load', function(){
	$('editmydetails').observe('click', function(){
		ms_getProfile('ms_uiLoadDetails');
		ms_getEmails('ms_uiLoadEmails');
	});
	$('editmy_save').observe('click', function(){
		ms_editMyProfile();
	});
	
	//LIMIT iReports to 4 -- Bstephens ------------------/
	    $$('div.ireport_box').each(function(s,index) {
            if(index > 3 ){
                s.setStyle({display: 'none'});
            }
        });
        
    //LIMIT HOT TOPICS to 8
            $$('div#popular_topics > a.cnn_sbhttopicl').each(function(s, index){
                var newSpan= null;
                //Limit to 8
                if(index > 7){
                    s.setStyle({display: 'none'});
                }
                else {
                    //
                }
        });

        //dividing lines links
        $$('div#popular_topics > div.cnn_divline').each(function(s, index){
                //limit to 7
                if(index > 6){
                    s.setStyle({display: 'none'});
                }                
        }); 
    
    // -- END  ----/////
    
	
});
