var popUp;

$(document).ready(function() {
	$("#bmi_tabs_rdr li").click(function(e) {return false;}); 
	$("#bmi_tabs_rdr li a").css('cursor','default');
});

function wmdPageviewBMI(pageName)
{
    if (s_user_seg && s_md) {
        s_md.prop40 = s_user_seg.toLowerCase();
        wmdPageview(pageName);
        s_md.prop40 = '';
		  s_user_seg = '';
    } else {
        wmdPageview(pageName);
    }
}

function goTab(tabNum) {

    var pageMapBMI = [
        '', // Your Info (start)
        "/calc-bmi-plus-body", // Body & Shape:
        "/calc-bmi-plus-weight", // Healthy Weight
        "/calc-bmi-plus-calories", // Your Calories
        "/calc-bmi-plus-heart", // Heart Rate
        "/calc-bmi-plus-plan" // Summary & Plan
    ];
    var pagename = s_pagename.replace(/\/(default.htm)?$/, '') + pageMapBMI[tabNum];

    refreshAllAds();
    // refreshBMIData();
    $('.tab_content_rdr').hide(); 
    $('.tab_content_rdr').eq(tabNum).show(); 
    $('#bmi_tabs_rdr li').removeClass('here');
    $('#bmi_tabs_rdr li').eq(tabNum).addClass('here');
    wmdPageviewBMI(pagename);
    return false;
}

function initBMI() {
	$("#bmi_tabs_rdr li").click(function(e) {
            var index = $("#bmi_tabs_rdr li").index(this);
            ctrs('dc-bp-tabs_'+(index+1));
            goTab(index);
            return false;
        }); 
	$("#bmi_tabs_rdr li a").css('cursor','pointer'); 
	$("#bmi_tabs_rdr li").mouseover(function(e) {$(this).addClass('mover');});
	$("#bmi_tabs_rdr li").mouseout(function(e) {$(this).removeClass('mover');});
	refreshBMIData();
}

function refreshBMIData() {
	if (document.cookie.split(";")[prsinfo] && document.cookie.split(";")[prsinfo].split("=")[1]) {
		var userdata = unescape(document.cookie.split(";")[prsinfo].split("=")[1]);
		userdata = userdata.split("|");
		var user = new userObject(userdata);
	}
	if(user.gender) {
		var ps;
		if(user.gender == "m") { $("#g").html('Male'); ps = user.pants; }	
		else {
			switch(user.pants) {
				case 24 : ps = 0; break;
				case 25 : ps = 1; break;
				case 26 : ps = 2; break;
				case 27 : ps = 4; break;
				case 28 : ps = 6; break;
				case 30 : ps = 8; break;
				case 32 : ps = 10; break;
				case 33 : ps = 12; break;
				case 35 : ps = 14; break;
				case 36 : ps = 16; break;
				case 38 : ps = 18; break;
				case 40 : ps = 20; break;
				case 42 : ps = 22; break;
				case 44 : ps = 24; break;
				case 46 : ps = 26; break;
				case 48 : ps = 28; break;
				case 50 : ps = 30; break;
				case 52 : ps = 32; break;
				case 54 : ps = 34; break;
				case 56 : ps = 36; break;
				case 58 : ps = 38; break;
				case 60 : ps = 40; break;		
			}
			$("#g").html('Female');
		}
		$("#ps").html(ps);

		$("#weight").html(user.weight);
		$("#age").html(user.age);
		$(".weight_goal_fmt").html(user.goal);
		
		//hlLeft = (((((Math.round(user.weight/10))*10)-100)/10)*19) + 37;
		
		$(".bmi_calc").html(user.bmi);
		if(user.wtr) {
			var bodyShape = "Error";
			if (user.wtr < 0.40) { bodyShape = "Be Careful"; }
			if (user.wtr >= 0.40 && user.wtr < 0.50) { bodyShape = "Healthy"; }
			if (user.wtr >= 0.50 && user.wtr < 0.60) { bodyShape = "Increased Risk"; }
			if (user.wtr >= 0.60) { bodyShape = "Take Action"; }
			$("#bs").html(bodyShape); 
			$(".wth_calc").html(user.wtr); 
		}
		
		$(".weight_range").html(user.hbwmin + " and " + user.hbwmax);
		$(".height").html(user.hf + '\' ' + user.hi + '"');
		
		if (user.height < 79 && user.height > 57) {
			amount = 78 - user.height;
			lineOffset = (amount*15) + 50;
			if (amount > 13) lineOffset = lineOffset + 4;
			if (amount > 5) lineOffset = lineOffset + 2;
			$("#hwLine").css('display', 'block');
			$("#hwLine").css('top', lineOffset + 'px');
		}
		
		$('#rmr').html(user.rmr);
		$("#weight_goal_fmt").html(user.goal);
		$(".intake_fmt").html(user.tdi);
			
		if(user.bmi) {	
			var w, goal, more, filename;
			switch (user.gender) {
				case "f": w = .53; break;
				case "m": w = .55; break;
			}
			switch (user.wg) {
				case "1": goal = "lose"; break;
				case "2": goal = "lose"; break;
				case "3": goal = "keep"; break;
				case "4": goal = "gain"; break;
				case "5": goal = "gain"; break;
			}
			switch (goal) {
				case "lose":
					if(user.bmi<18.5) {  more = "lwno"; }
					else {
						if(user.bmi<=24.9) {  more = "lwok"; }
						else if(user.bmi<=29.9) {
							if(user.wtr<=w) {  more = "lwow"; }
							else {  more = "lwys"; }
						}
						else {  more = "lwyo"; }
					}
					break;
				case "keep":
					if (user.bmi<18.5) {  more = "mwok"; }
					else {
						if(user.bmi<=24.9 || (user.bmi >= 25 && user.wtr<=w)) {  more = "mwys"; }
						else { more = "mwno"; }
					}
					break;
				case "gain":
					if(user.bmi<18.5) {  more = "gwys"; }
					else {
						if(user.bmi<=24.9 || (user.bmi >= 25 && user.wtr<=w)) { more = "gwok"; }
						else { more = "gwno"; }
					}
					break;
			}
			filename = '/api/xml/weight_rec_' + more + '.html';

			$.get(filename,function(data) {
				fillWeightRec();
				$(".weight_range_fmt").html(user.hbwmin + " and " + user.hbwmax);
				$(".bmi_fmt").html(user.bmi);
				$(".weight_max_fmt").html(user.hbwmax);
				$('#weight_rec').html(data);
				$(".intake_fmt").html(user.tdi);
				if(user.delta) { popUp = tagFilter(data); $(".intake_fmt").append(" <a href=\"\" onclick=\"alert(popUp); return false;\"><img src=\"http://img.webmd.com/dtmcms/live/webmd/consumer_assets/site_images/modules/top12QuestionMark.gif\" id=\"cal_q\" border=\"0\"/></a>"); }
				
				if(more == "lwno") { $(".intake_fmt").html("You are underweight.&nbsp;&nbsp;<a href=\"\" onclick=\"alert('Based upon your BMI, you are considered underweight. We advise that you speak with your doctor or other qualified healthcare provider about a healthy caloric intake.'); return false;\"><img src=\"http://img.webmd.com/dtmcms/live/webmd/consumer_assets/site_images/modules/top12QuestionMark.gif\" id=\"cal_q\" border=\"0\"/></a>"); }
				
				if(more == "gwno") { $(".intake_fmt").html("You are overweight.&nbsp;&nbsp;<a href=\"\" onclick=\"alert('Based upon your BMI, you are considered overweight. We advise that you speak with your doctor or other qualified healthcare provider about a healthy caloric intake.'); return false;\"><img src=\"http://img.webmd.com/dtmcms/live/webmd/consumer_assets/site_images/modules/top12QuestionMark.gif\" id=\"cal_q\" border=\"0\"/></a>"); }
				
				$("#yc_tab div.cc:contains('Your Daily Target Caloric Intake'),#yc_tab div.bg:first").css("display","block");
				if(more == "lwno" || more == "gwno") { $("#yc_tab div.cc:contains('Your Daily Target Caloric Intake'),#yc_tab div.bg:first").css("display","none"); }
			});

		}
		
		$("#wu_max").html(Math.round(user.thr * 0.50));
		$("#wm_min").html(Math.round(user.thr * 0.60));
		$("#wm_max").html(Math.round(user.thr * 0.70));
		$("#wl_min").html(Math.round(user.thr * 0.70));
		$("#wl_max").html(Math.round(user.thr * 0.80));
		$("#a_min").html(Math.round(user.thr * 0.80));
		$("#a_max").html(Math.round(user.thr * 2));
		
		$(".maxhr_fmt").html(user.thr); 
		$(".minthr_fmt").html(user.thrmin);
		$(".maxthr_fmt").html(user.thrmax);

		$(".maxhr_fmt_2").html(user.thr); 
		$(".minthr_fmt_2").html(user.thrmin);
		$(".maxthr_fmt_2").html(user.thrmax);
	}
	
		/* Omniture prop */
		if(user.gender == 'm') {var pr1 = 'am';} 
		else {pr1 = 'af';}
		var pr2 = user.age;
		var pr3 = user.hf;
		var pr4 = user.hi;
		var pr5 = user.weight;
		var pr6 = user.pants;
		if(user.goal == 'lose') {var pr7 = 'fl';} 
		else if(user.goal == 'keep') {pr7 = 'fm';} 
		else {pr7 = 'fg';}
		if(user.actlevel == 1.2) {var pr8 = 'gsd';}
		else if(user.actlevel == 1.375) {pr8 = 'gla';}
		else if(user.actlevel == 1.55) {pr8 = 'gma';}
		else if(user.actlevel == 1.725) {pr8 = 'gva';}
		else {pr8 = 'gea';}
		if(user.bmi < 18) {var pr9 = 'huw';}
		else if(user.bmi < 25 && user.bmi >= 18) {var pr9 = 'hhe';}
		else if(user.bmi < 30 && user.bmi >= 25) {var pr9 = 'hov';}
		else {var pr9 = 'hob';}
		if (user.wtr < 0.40) {var pr10 = 'ibc';}
		if (user.wtr >= 0.40 && user.wtr < 0.50) {pr10 = 'ihe';}
		if (user.wtr >= 0.50 && user.wtr < 0.60) {pr10 = 'iir';}
		if (user.wtr >= 0.60) {pr10 = 'ita';}
		
		s_user_seg = 'sg_bmi_' + pr1 + '-b' + pr2 + '-c' + pr3 + '+' + pr4 + '-d' + pr5 + '-e' + pr6 + '-' + pr7 + '-' + pr8 + '-' + pr9 + '-' + pr10;
		//wmdPageviewBMI('dc-bp-submit');

		// Save in global variable so it can be used in ad refresh later
		window.bmiSegnum = bmiSegment(user);

		$('div.cross_selling').hide().filter('.segment' + window.bmiSegnum).show();
				
}

function bmiSegment(user) {

    var segment = 0;

    var segMap = {
        1: {bmiMax:17, ageMax:29, sed:true},
        2: {bmiMax:17, ageMax:29, sed:false},
        3: {bmiMax:17, ageMin:30, ageMax:55, sed:true},
        4: {bmiMax:17, ageMin:30, ageMax:55, sed:false},
        5: {bmiMax:17, ageMin:56, sed:true},
        6: {bmiMax:17, ageMin:56, sed:false},

        7: {bmiMin:18, bmiMax:24, ageMax:29, sed:true},
        8: {bmiMin:18, bmiMax:24, ageMax:29, sed:false},
        9: {bmiMin:18, bmiMax:24, ageMin:30, ageMax:55, sed:true},
        10: {bmiMin:18, bmiMax:24, ageMin:30, ageMax:55, sed:false},
        11: {bmiMin:18, bmiMax:24, ageMin:56, sed:true},
        12: {bmiMin:18, bmiMax:24, ageMin:56, sed:false},

        13: {bmiMin:25, bmiMax:29, ageMax:29, sed:true},
        14: {bmiMin:25, bmiMax:29, ageMax:29, sed:false},
        15: {bmiMin:25, bmiMax:29, ageMin:30, ageMax:55, sed:true},
        16: {bmiMin:25, bmiMax:29, ageMin:30, ageMax:55, sed:false},
        17: {bmiMin:25, bmiMax:29, ageMin:56, sed:true},
        18: {bmiMin:25, bmiMax:29, ageMin:56, sed:false},

        19: {bmiMin:30, ageMax:29, sed:true},
        20: {bmiMin:30, ageMax:29, sed:false},
        21: {bmiMin:30, ageMin:30, ageMax:55, sed:true},
        22: {bmiMin:30, ageMin:30, ageMax:55, sed:false},
        23: {bmiMin:30, ageMin:56, sed:true},
        24: {bmiMin:30, ageMin:56, sed:false}
    };

    // Loop through all segments and stop if find one that matches
    $.each(segMap, function(n, d){
        if ((user.bmi >= (d.bmiMin || 0)) &&
            (user.bmi <= (d.bmiMax || 999)) &&
            (user.age >= (d.ageMin || 0)) &&
            (user.age <= (d.ageMax || 999)) &&
            (d.sed == (user.actlevel == 1.2))) {

            segment = n;
            return false;
        }
    });

    return segment;
}

function refreshAllAds() {

    // bmiSegnum is a global variable set elsewhere
    var segnum = window.bmiSegnum || 0;
    var transTileId = Math.round(99999999*Math.random());

    /* Grab the top divs for ads on the page */
    $("#bannerAd_fmt, #leftAd_fmt, #rightAd_fmt").each( function() {

        var ad, src;

        // Remove all children of the original webmd iframe
        $(this).children("*[id*='Ad_Iframe']").children("*").remove();

        // Update the src for each
        ad = $(this).find("[id]");
	if (!ad[0]) { return; }

        src = ad.attr("src");
	if (!src) { return; }

        src = src.replace(/transactionID=[0-9]+/, "transactionID=" + transTileId);                             
        src = src.replace(/tile=[0-9]*/, "tile=" + transTileId);
        src = src.replace(/seg=[0-9]*/, "seg=" + segnum);

        // Add the segment if it's not already there
        if(src.indexOf('seg=') < 0) {
            src = src + '&seg=' + segnum;
        }

        // Update the iframe
        if (ad[0].contentWindow) {
            // To avoid adding to the page history and messing up the back button,
            // use location.replace instead of changing the src of the iframe
            ad[0].contentWindow.location.replace(src);
        } else {
            ad.attr({src: src});
        }

    });
}

function tagFilter(data) {
	var g; if(user.gender == "f") { g = -161; } else { g = 5; }
	var dci = (Math.round(user.actlevel*(((10*(user.hbwmin/2.2))+(6.25*(user.height*2.54))-(5*user.age)))))+g;
	data = data.split('<div class="eb_overlay_cnt_fmt">')[1].split('</div>')[0].replace(/	/g,"").replace(/<p>/g,"").replace(/<\/p>/g,"\n").replace(/&nbsp;/g," ");
	data = data.replace(/<span class="/g,"").replace(/"><\/span>/g,"");
	data = data.replace(/bmi_fmt/g,user.bmi);
	data = data.replace(/weight_range_fmt/g,user.hbwmin + " and " + user.hbwmax);
	data = data.replace(/min_dci_fmt/g,dci);
	data = data.replace(/intake_fmt/g,user.tdi);
	data = data.replace(/wst_drs_fmt/g,$(".wst_drs_fmt").html());
	data = data.replace(/wp_size_fmt/g,$(".wp_size_fmt").html());
	return data;
}
