var totalBudget = 150000;

var social_creativeCost = 50000;
var banner_creativeCost = 15000;

var social_mediaBudget = 0;
var banner_mediaBudget = 0;

var social_cpm = 0;
var banner_cpm = 0;

var social_impressions = 0;
var banner_impressions = 0;

var social_ctr = .001;
var banner_ctr = .001;

var social_clicks = 0;
var banner_clicks = 0;

var social_conversionRate = .278
var banner_conversionRate = .5;

var social_bounceRate = .72;
var banner_bounceRate = .35;

var social_totalEngagedUsers = 0;
var banner_totalEngagedUsers = 0;

var social_costPerEngagedUser = 1.00;
var banner_costPerEngagedUser = 0;

var myEffect;

google.setOnLoadCallback(function() {
    //$('#socialEconomicsTable').tween('height', '0');

	$('#confirmMessage').hide();
	$('#footnotes').hide();
    $('#totalBudget').bind('click', function(){
        if ($('#totalBudget_label span')) {
			$('#banntotalBudget_labeler_cpm_1_label span').remove();
        }

    });

    $('#banner_cpm_1').bind('click', function(){			
		if ($('#banner_cpm_1_label span')) {
			$('#banner_cpm_1_label span').remove();
        }

    });

    $('#calculate').bind('click', function(){
        if (storeAndValidate()) {

            calculate();
            printTable();
			$('#confirmMessage').removeClass('hide');
			$('#footnotes').removeClass('hide');
            $('#socialMediaEconomics table').removeClass('hide');
            $('#calculate').addClass('recalculate');
            $('#calculate').text('Re-calculate');
			$('#footnotes').show('slow');
			$('#confirmMessage').show('slow');
        };
        });

});

function clearMessages(){
	if ($('#banner_cpm_1_label span')){
	    $('#banner_cpm_1_label span').remove();
	}
	if ($('#totalBudget_label span')){
	    $('#totalBudget_label span').remove();
	}
}

function createInvalidIndicator(message){
	html = "<span class='invalid'>" + message + "</span>";
    return $(html);
}

function storeAndValidate(){
    isValid = 1;
    totalBudget = parseFloat($('#totalBudget').val().replace(/\,/g,''));
    banner_cpm = parseFloat($('#banner_cpm_1').val().replace(/\,/g,''));
	clearMessages();

    if (isNaN(totalBudget) || totalBudget <= social_creativeCost) {
        isValid = 0;
        if ($("#totalBudget_label span")) {
            $("#totalBudget_label").append(createInvalidIndicator('Please enter a value greater than $'+addSeparatorsNF(social_creativeCost,'.', '.', ',')));
        }

    }
    if (isNaN(banner_cpm) || banner_cpm < 1) {
        isValid = 0;
        if ($("#banner_cpm_1_label span")) {
            $("#banner_cpm_1_label").append(createInvalidIndicator('Please enter a value of $1.00 or more'));
        }
        //$('#banner_cpm_1_label').addClass('invalid');
    }

    return isValid;
}

function printTable(){
    $('#banner_totalBudget').text("$" + toCurrency(totalBudget));
    $('#social_totalBudget').text("$" + toCurrency(totalBudget));

    $('#banner_creativeCost').text("$" + toCurrency(banner_creativeCost));
    $('#social_creativeCost').text("$" + toCurrency(social_creativeCost));

    $('#banner_mediaBudget').text("$" + toCurrency(banner_mediaBudget));
    $('#social_mediaBudget').text("$" + toCurrency(social_mediaBudget));

    $('#banner_cpm_2').text("$" + toCurrency(banner_cpm));
    $('#social_cpm').text("$" + toCurrency(social_cpm));

    $('#banner_impressions').text(addSeparatorsNF(Math.round(banner_impressions), '.', '.', ','));
    $('#social_impressions').text(addSeparatorsNF(Math.round(social_impressions), '.', '.', ','));

    $('#banner_ctr').text((banner_ctr * 100) + "%");
    $('#social_ctr').text((social_ctr * 100) + "%");

    $('#banner_clicks').text(addSeparatorsNF(Math.round(banner_clicks), '.', '.', ','));
    $('#social_clicks').text(addSeparatorsNF(Math.round(social_clicks), '.', '.', ','));

    //$('#banner_conversionRate').set('text',(banner_conversionRate*100).toFloat().toFixed(2)+"%");
    //$('#social_conversionRate').set('text',(social_conversionRate*100).toFloat().toFixed(2)+"%");

	banner_bounceRateFootnote = "<sup><a href='#banner_bounce_rate' mce_href='#banner_bounce_rate'>4</a></sup>";
	social_bounceRateFootnote = "<sup><a href='#social_bounce_rate' mce_href='#social_bounce_rate'>3</a></sup>";

    $('#banner_bounceRate').html( parseFloat(banner_bounceRate * 100).toFixed(2) + "%" + banner_bounceRateFootnote);
    $('#social_bounceRate').html( parseFloat(social_bounceRate * 100).toFixed(2) + "%" + social_bounceRateFootnote);

    $('#banner_totalEngagedUsers').text(addSeparatorsNF(Math.round(banner_totalEngagedUsers), '.', '.', ','));
    $('#social_totalEngagedUsers').text(addSeparatorsNF(Math.round(social_totalEngagedUsers), '.', '.', ','));

    $('#banner_costPerEngagedUser').text("$" + toCurrency(banner_costPerEngagedUser));
    $('#social_costPerEngagedUser').text("$" + toCurrency(social_costPerEngagedUser));
    //
}

function calculate(){
	if(totalBudget < 100000){
		social_creativeCost = 30000;
	}else{
		social_creativeCost = 50000;
	}
	//calculate social
	social_mediaBudget = totalBudget - social_creativeCost;
	social_totalEngagedUsers = social_mediaBudget * social_costPerEngagedUser;
	social_clicks = social_totalEngagedUsers / .28;
	social_impressions = social_clicks / social_ctr;
	social_cpm = social_mediaBudget / (social_impressions / 1000);

	//calculate banner
	banner_mediaBudget = totalBudget - banner_creativeCost;
	banner_impressions = banner_mediaBudget / banner_cpm * 1000;
	banner_clicks = banner_impressions * banner_ctr;
	banner_totalEngagedUsers = banner_clicks * (1 - banner_bounceRate);
	banner_costPerEngagedUser = banner_mediaBudget / banner_totalEngagedUsers;
}