/* LOAD */
function ms_initProfile() {
    if(ms_isLoggedIn() == true) {
        if(typeof(msStorage.confirmProfileEmail) == 'undefined') { msStorage.confirmProfileEmail = []; }
        ms_getEmails('ms_uiGetEmailsProfile');
        ms_getProfile('ms_uiGetProfile');
    } 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_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_deleteEmail(emailId, view) {
    var queueItem = new ms_QueueItem(ms_baseStandard+'user.api', 'post');
    queueItem.addParam('action', 'deleteEmail');
    queueItem.addParam('emailId', 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('emailId', 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]);
		//console.log(key);console.log(paramsObj[key]);
    }
	//var hiddenFormscreenname = $('cnnConnHiddenProfileForm').screenName.value;
	//queueItem.addParam('displayname', hiddenFormscreenname);
    queueItem.addParam('callback', view);
    var queueItemObj = queueItem.getQueueItem();
    msQueueManager.addRequest(queueItemObj);
}

/* 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()) {
           // $('cnnConnEmailbox2').hide();
        } else {
            //$('cnnConnEmailbox2').show();
        }
    } else {
        // update ui for errors
    }
}

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
        //alert(jsonResponse.errors);
        updateEmailErrorMessages('show', jsonResponse.errors);
    }
}

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_uiGetEmailsProfile');
    } else {
        // update ui for errors
    }
}

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

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');
    } 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++;        
        }
    }
    //$('cnnConnProfile-emails').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') {
			//console.log(profile[formItem.name]);
			formItem.value = profile[formItem.name];
        }
    });
}

function updateProfileContent() {
    var emails = msStorage.emails;
    var hiddenForm = $('cnnConnHiddenProfileForm');
    var html = '';
    // welcome
    if (hiddenForm.firstName.value != '') {
        $('cnnConnProfile-firstName').innerHTML = 'Welcome ' + hiddenForm.firstName.value + ',';
    } else {
        $('cnnConnProfile-firstName').innerHTML = (hiddenForm.screenName.value == '') ? 'Welcome,' : 'Welcome ' + hiddenForm.screenName.value + ',';
    }
    // screenname
    html = hiddenForm.screenName.value;
    if(html == ' '  ) {
        $('cnnConnProfile-screenName').className = 'cnngraytxt';
        $('cnnConnProfile-screenName').innerHTML = 'Not Specified';
		//$('cnnConnProfile-screenName').update("<a href='javascript:void(0)' id='createscreenname' style='font-size:10px;font-weight:normal' onclick='createScreenName()'>\(create screen name\)</a>");
    }
	if (html == '') {
		$('cnnConnProfile-screenName').update("<a href='javascript:void(0)' id='createscreenname' style='font-size:10px;font-weight:normal' onclick='createScreenName()'>\(create screen name\)</a>");

	}
	else if (html != '' && html != ' ' ) {
		if (almosttherescreename === false) { // update if /profile page was updated, bia override
			$('changeavatarbtn_off').hide();
			$('changeavatarbtn_on').show();
			$('cnnConnProfile-screenName').className = '';
			$('cnnConnProfile-screenName').innerHTML = html;
			//$('cnnConnectUser').innerHTML = html;
		} else if (almosttherescreename === true) { 
			screenNameAccepted();
			//enableAvatar();
		}
    }
    // name
    html = hiddenForm.firstName.value+' '+hiddenForm.lastName.value;
    if(html == ' ') {
        $('cnnConnProfile-name').className = 'cnngraytxt';
        $('cnnConnProfile-name').innerHTML = '<strong>Name:</strong> Not Specified';
    } else {
        $('cnnConnProfile-name').className = '';
        $('cnnConnProfile-name').innerHTML = '<strong>Name:</strong> ' + html;
    }
    // primary email
    for(var i=0; i<emails.length; i++) {
        if(emails[i].isPrimary == 'true') {
            if($('cnnConnProfile-primaryEmail').innerHTML != emails[i].email) { $('cnnConnProfile-primaryEmail').innerHTML = emails[i].email; }
        }
    }
    //address 1&2
    html = (hiddenForm.address.value == '') ? '' : hiddenForm.address.value + '<br/>';
    html += (hiddenForm.address2.value == '') ? '' : hiddenForm.address2.value + '<br/>';
    html += (hiddenForm.city.value == '') ? '' : hiddenForm.city.value + ',';
    html += (hiddenForm.state.value == '') ? '' : hiddenForm.state.value + ',';
    html += (hiddenForm.zip.value == '') ? '' : hiddenForm.zip.value + ',';
    html += (hiddenForm.country.value == '') ? '' : hiddenForm.country.value;
    if(html == '') {
        $('cnnConnProfile-address').className = 'cnngraytxt';
        $('cnnConnProfile-address').innerHTML = '<strong>Address:</strong><br/>Not Specified';
    } else {
        $('cnnConnProfile-address').className = '';
        $('cnnConnProfile-address').innerHTML = '<strong>Address:</strong><br/> ' + html;
    }
    //phone number - do you we have a numnber phone
    html = (hiddenForm.phone.value == '') ? '' : hiddenForm.phone.value;
    if(html == '') {
        $('cnnConnProfile-phone').className = 'cnngraytxt';
        $('cnnConnProfile-phone').innerHTML = '<strong>Phone:</strong> Not Specified';
    } else {
        $('cnnConnProfile-phone').className = '';
        $('cnnConnProfile-phone').innerHTML = '<strong>Phone:</strong> ' + html;
    }
    //date of birth
    html = (hiddenForm.dayOfBirth.value == '') ? '' : hiddenForm.dayOfBirth.value + ' ';
    html += (hiddenForm.yearOfBirth.value == '') ? '' : hiddenForm.yearOfBirth.value;
    if(html == '') {
        $('cnnConnProfile-birthday').className = 'cnngraytxt';
        $('cnnConnProfile-birthday').innerHTML = '<strong>Date of Birth:</strong> Not Specified';
    } else {
        $('cnnConnProfile-birthday').className = '';
        $('cnnConnProfile-birthday').innerHTML = '<strong>Date of Birth:</strong> ' + html;
    }
    //gender
    html = (hiddenForm.gender.value == '') ? '' : hiddenForm.gender.value + ' ';
    if(html == '') {
        $('cnnConnProfile-gender').className = 'cnngraytxt';
        $('cnnConnProfile-gender').innerHTML = '<strong>Gender:</strong> Not Specified';
    } else {
        $('cnnConnProfile-gender').className = '';
        $('cnnConnProfile-gender').innerHTML = '<strong>Gender:</strong> ' + html;
    }
    //household income
    html = (hiddenForm.income.value == '') ? '' : hiddenForm.income.value + ' ';
    if(html == '') {
        $('cnnConnProfile-income').className = 'cnngraytxt';
        $('cnnConnProfile-income').innerHTML = '<strong>Household Income:</strong> Not Specified';
    } else {
        $('cnnConnProfile-income').className = '';
        $('cnnConnProfile-income').innerHTML = '<strong>Household Income:</strong> ' + html;
    }
    //education
    html = (hiddenForm.education.value == '') ? '' : hiddenForm.education.value + ' ';
    if(html == '') {
        $('cnnConnProfile-education').className = 'cnngraytxt';
        $('cnnConnProfile-education').innerHTML = '<strong>Education:</strong> Not Specified';
    } else {
        $('cnnConnProfile-education').className = '';
        $('cnnConnProfile-education').innerHTML = '<strong>Education:</strong> ' + html;
    }
    //occupation
    html = (hiddenForm.occupation.value == '') ? '' : hiddenForm.occupation.value + ' ';
    if(html == '') {
        $('cnnConnProfile-occupation').className = 'cnngraytxt';
        $('cnnConnProfile-occupation').innerHTML = '<strong>Occupation:</strong> Not Specified';
    } else {
        $('cnnConnProfile-occupation').className = '';
        $('cnnConnProfile-occupation').innerHTML = '<strong>Occupation:</strong> ' + html;
    }
    //job duties
    html = (hiddenForm.jobResponsibility.value == '') ? '' : hiddenForm.jobResponsibility.value + ' ';
    if(html == '') {
        $('cnnConnProfile-jobResponsibility').className = 'cnngraytxt';
        $('cnnConnProfile-jobResponsibility').innerHTML = '<strong>Job Duties:</strong> Not Specified';
    } else {
        $('cnnConnProfile-jobResponsibility').className = '';
        $('cnnConnProfile-jobResponsibility').innerHTML = '<strong>Job Duties:</strong> ' + html;
    }
*/
	updateAvatarImgCommunity();
}

function updateAvatarImgCommunity() {
	var imgsrc = jQuery("#profile_avatar").attr("src");
	var screenname = jQuery("#biausername").html();
	var avatarsrc = "http://avatar.cnn.com/people/"+screenname+"/avatar/30.png?" + (new Date().getTime());
    jQuery("#profile_avatar").attr({ src: avatarsrc });
}

function change_Name(option) {
    var hiddenForm = $('cnnConnHiddenProfileForm');
    if(option == 'show') {
        if (hiddenForm.firstName.value != null && hiddenForm.firstName.value.trim() != "") {
            $('cnnConnProfile-name-form').firstName.value = hiddenForm.firstName.value;
			$('cnnConnProfile-name-form').firstName.className = 'cnnblacktxt';
        }
        if (hiddenForm.lastName.value != null && hiddenForm.lastName.value.trim() != "") {
            $('cnnConnProfile-name-form').lastName.value = hiddenForm.lastName.value;
			$('cnnConnProfile-name-form').lastName.className = 'cnnblacktxt';			
        }
        $('cnnConnProfile-name-container').hide();
        $('cnnConnProfile-name-edit').show();
        $('cnnConnProfile-name-form').firstName.focus();
        $('cnnConnProfile-name-form').firstName.select();
    } else if(option == 'save') {
        if ($('cnnConnProfile-name-form').firstName.value == "First Name") {
            $('cnnConnProfile-name-form').firstName.value = "";
        }
        if ($('cnnConnProfile-name-form').lastName.value == "Last Name") {
            $('cnnConnProfile-name-form').lastName.value = "";
        }
        hiddenForm.firstName.value = $('cnnConnProfile-name-form').firstName.value;
        hiddenForm.lastName.value = $('cnnConnProfile-name-form').lastName.value;
        $('cnnConnProfile-name-edit').hide();
        $('cnnConnProfile-name-container').show();
        ms_formUpdateProfile($('cnnConnHiddenProfileForm').serialize(true));
		updateUser();
    }
}

function change_Email(option) {
    var hiddenForm = $('cnnConnHiddenProfileForm');
    if(option == 'show') {
        $('cnnConnProfile-primaryEmail-container').hide();
        $('cnnConnProfile-primaryEmail-edit').show();
    } else if(option == 'save') {
        $('cnnConnProfile-primaryEmail-edit').hide();
        $('cnnConnProfile-primaryEmail-container').show();
        ms_formUpdateProfile($('cnnConnHiddenProfileForm').serialize(true));
    }
}

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 change_Password(option) {
    var hiddenForm = $('cnnConnHiddenProfileForm');
    if(option == 'show') {
        $('cnnConnProfile-password-container').hide();
        $('cnnConnProfile-password-edit').show();
    } else if(option == 'save') {
        var passwordErrors = [];
        var currentPassword = $('cnnConnProfile-password-form').password.value;
        var newPassword = $('cnnConnProfile-password-form').newPassword.value;
        var confirmPassword = $('cnnConnProfile-password-form').confirmPassword.value;
        if (currentPassword != '') {
            if (newPassword != '' && confirmPassword != '') {
                if(newPassword == confirmPassword) {
                    if (!(newPassword.length < 6 || newPassword.indexOf(' ') != -1 || newPassword.length > 10)) {
                        hiddenForm.password.value = $('cnnConnProfile-password-form').password.value;
                        hiddenForm.newPassword.value = $('cnnConnProfile-password-form').newPassword.value;
                        hiddenForm.confirmPassword.value = $('cnnConnProfile-password-form').confirmPassword.value;
                        $('cnnConnProfile-password-edit').hide();
                        $('cnnConnProfile-password-container').show();
                        ms_formUpdateProfile($('cnnConnHiddenProfileForm').serialize(true));
						hiddenForm.password.value = ''; // next 3 lines to clear fields, so other changes dont generate error when submitting
                        hiddenForm.newPassword.value = '';
                        hiddenForm.confirmPassword.value = '';

                    } else {
                        passwordErrors[0] = "New Password must be 6 - 10 characters and may not contain spaces";
                        updateProfileErrorMessages("show", passwordErrors);
                    }
                } else {
                    passwordErrors[0] = "New password does not match Confirm password.";
                    updateProfileErrorMessages("show", passwordErrors);
                }
            } else {
                passwordErrors[0] = "New password and Confirm password cannont be empty.";
                updateProfileErrorMessages("show", passwordErrors);

            }
        } else {
          passwordErrors[0] =  "Old Password cannot be empty.";
          updateProfileErrorMessages("show", passwordErrors); 
        }
    }
}

function change_Address(option) {
    var hiddenForm = $('cnnConnHiddenProfileForm');
    if(option == 'show') {
        $('cnnConnProfile-address-form').address.value = hiddenForm.address.value;
		$('cnnConnProfile-address-form').address.className = 'cnnblacktxt';
		if ($('cnnConnProfile-address-form').address.value == '') {
			$('cnnConnProfile-address-form').address.value = 'Address';
		}		
        $('cnnConnProfile-address-form').address2.value = hiddenForm.address2.value;
        $('cnnConnProfile-address-form').city.value = hiddenForm.city.value
		$('cnnConnProfile-address-form').city.className = 'cnnblacktxt';				
		if ($('cnnConnProfile-address-form').city.value == '') {
			$('cnnConnProfile-address-form').city.value = 'City';
		}		
        utilSelectOption($('cnnConnProfile-address-form').state, hiddenForm.state.value);        
        $('cnnConnProfile-address-form').zip.value = hiddenForm.zip.value;
		$('cnnConnProfile-address-form').zip.className = 'cnnblacktxt';		
        utilSelectOption($('cnnConnProfile-address-form').country, hiddenForm.country.value);
        $('cnnConnProfile-address-container').hide();
        $('cnnConnProfile-address-edit').show();
    } else if(option == 'save') {
        hiddenForm.address.value = $('cnnConnProfile-address-form').address.value;
        hiddenForm.address2.value = $('cnnConnProfile-address-form').address2.value;
        hiddenForm.city.value = $('cnnConnProfile-address-form').city.value;
        hiddenForm.state.value = utilGetSelectValue($('cnnConnProfile-address-form').state);
        hiddenForm.zip.value = $('cnnConnProfile-address-form').zip.value;
        hiddenForm.country.value = utilGetSelectValue($('cnnConnProfile-address-form').country);
        $('cnnConnProfile-address-edit').hide();
        $('cnnConnProfile-address-container').show();
        ms_formUpdateProfile($('cnnConnHiddenProfileForm').serialize(true));
    }
}

function change_Phone(option) {
    var hiddenForm = $('cnnConnHiddenProfileForm');
    if(option == 'show') {
        $('cnnConnProfile-phone-form').phone.value = hiddenForm.phone.value;
		if ($('cnnConnProfile-phone-form').phone.value == '') {
			$('cnnConnProfile-phone-form').phone.value = 'Phone Number';
		}		
        $('cnnConnProfile-phone-container').hide();
        $('cnnConnProfile-phone-edit').show();
    } else if(option == 'save') {
        hiddenForm.phone.value = $('cnnConnProfile-phone-form').phone.value;
        $('cnnConnProfile-phone-edit').hide();
        $('cnnConnProfile-phone-container').show();
        ms_formUpdateProfile($('cnnConnHiddenProfileForm').serialize(true));
    }
}
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 change_AdditionalFields(option) {
    var hiddenForm = $('cnnConnHiddenProfileForm');
    if(option == 'show') {
        utilSelectOption($('cnnConnProfile-additional-form').dayOfBirth, hiddenForm.dayOfBirth.value);
        utilSelectOption($('cnnConnProfile-additional-form').yearOfBirth, hiddenForm.yearOfBirth.value);
        utilSelectOption($('cnnConnProfile-additional-form').gender, hiddenForm.gender.value);
        utilSelectOption($('cnnConnProfile-additional-form').income, hiddenForm.income.value);
        utilSelectOption($('cnnConnProfile-additional-form').education, hiddenForm.education.value);
        utilSelectOption($('cnnConnProfile-additional-form').occupation, hiddenForm.occupation.value);
        $('cnnConnProfile-additional-form').jobResponsibility.value = hiddenForm.jobResponsibility.value;
        $('cnnConnProfile-additional-container').hide();
        $('cnnConnProfile-additional-edit').show();
    } else if(option == 'save') {
        hiddenForm.dayOfBirth.value = utilGetSelectValue($('cnnConnProfile-additional-form').dayOfBirth);
        hiddenForm.yearOfBirth.value = utilGetSelectValue($('cnnConnProfile-additional-form').yearOfBirth);
        hiddenForm.gender.value = utilGetSelectValue($('cnnConnProfile-additional-form').gender);
        hiddenForm.income.value = utilGetSelectValue($('cnnConnProfile-additional-form').income);
        hiddenForm.education.value = utilGetSelectValue($('cnnConnProfile-additional-form').education);
        hiddenForm.occupation.value = utilGetSelectValue($('cnnConnProfile-additional-form').occupation);
        hiddenForm.jobResponsibility.value = $('cnnConnProfile-additional-form').jobResponsibility.value;
        $('cnnConnProfile-additional-edit').hide();
        $('cnnConnProfile-additional-container').show();
        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/>';
        }
        $('cnnConnectProfileErrors').innerHTML = html;
        $('cnnConnectProfileErrors').show();  
    } else if (option == 'hide') {
        //$('cnnConnectProfileErrors').innerHTML = '';
        //$('cnnConnectProfileErrors').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();
    }
}
