﻿
var fadeInSpeed = "slow";
var fadeToSpeed = 5000;

function setFilter(link, newClass) {
	$('.filteritem').removeClass('filterselected');
	$(link).addClass('filterselected');
	$('#faqbftlist').attr('class', '').addClass(newClass);
	altRowStyles();
	return false;
}

function altRowStyles() {
	$('.faqbft').removeClass('faqbftodd');
	$('.faqbft:visible:odd').addClass('faqbftodd');
}

function togglefaqbft(faqbft) {
	var isExpanded = $(faqbft).parent().parent().hasClass('faqbftexp');
	if (isExpanded) {
		$(faqbft).parent().parent().removeClass('faqbftexp');
	}
	else {
		$(faqbft).parent().parent().addClass('faqbftexp');
	}
}

function pageFlip() {
	$("#pageflip").hover(function() {
	    $("#corner_img , #msg_block").stop()
					.animate({
						width: '134px',
						height: '130px'
		}, 500);
		$("#corner_text").stop()
					.animate({
					    right: '96px',
					    top: '90px'
					}, 500);
	}, function() {
	    $("#corner_img").stop()
					.animate({
						width: '50px',
						height: '52px'
					}, 220);
		$("#msg_block").stop()
					.animate({
						width: '50px',
						height: '50px'
		}, 200);
		$("#corner_text").stop()
					.animate({
					    right: '15px',
					    top: '15px'
					}, 200);
	});
}

function showfaqbft(faqbft) {
	$(faqbft).addClass('faqbftexp');
}

function faqDropDownHover() {
	var dropown = $('#faqdropdown li.faqlist');
	dropown.hover( null,
			function() { $('ul', this).css('display', 'none'); });

	dropown.click(
			function() { $('ul', this).css('display', 'block'); });
}

function checkboxClick(checkbox) {

	if(($('#q2cblfade').css('opacity') == .33)
		&&(checkbox.id.indexOf('q2') != -1)){
		return;
	}

	var selection = checkbox.id.substring(2, 3);
	var id = TryParseInt(checkbox.id.substring(1, 2), 0);
	var checked;
	if ($(checkbox).hasClass("checked")) {
		$(checkbox).removeClass("checked");
		checked = false;
		$('#q' + id.toString() + 'cbl').removeClass('childchecked');
	}
	else {
		$('#q' + id.toString() + 'cbl .checkbox').removeClass("checked");
		$(checkbox).addClass("checked");
		checked = true;
		$('#q' + id.toString() + 'cbl').addClass('childchecked');
	}

	var updateIds = [];
	var showNxtQ = true;

	switch (selection) {
	    case 'a':
	        switch (id) {
	            case 1:
	                updateIds = [1, 2, 3, 7, 8, 9];
	                showNxtQ = false;
	                break;
	            case 2:
	                updateIds = [5, 6, 7, 8, 9];
	                break;

	        }
	        break;
	    case 'b':
	        switch (id) {
	            case 1:
	                updateIds = [5, 6];
	                break;
	            case 2:
	                updateIds = [1, 2, 3, 5, 6];
	                break;
	        }
	        break;
	    case 'c':
	        switch (id) {
	            case 1:
	                updateIds = [1, 2, 3, 5, 6, 7];
	                showNxtQ = false;
	                break;
	        }
	        break;
	}
	if (updateIds && id != '') {
		updateLicClasses(id, checked, updateIds, showNxtQ);
	}

	var i = 0;
	var itemWidth = 233; //includes margin
	var itemHeight = 132; //includes margin
	var cols = 3;
	var activebgcolor = '#ffffff';
	var disabledbgcolor = '#fffff1';
	var speed = 750;

	$('.licreqt').hide();
	i = licReposition(activebgcolor, cols, itemWidth, itemHeight, speed, 0);
	licReposition(disabledbgcolor, cols, itemWidth, itemHeight, speed, i);
}


function licReposition(itembgcolor, cols, itemWidth, itemHeight, speed, counter) {
    $('.lic')
				.filter(function() {
				    return $(this).css('background-color') == itembgcolor;
				})
				.each(function() {
				    var newTop = Math.floor(counter / cols) * itemHeight;
				    var newLeft = (counter * itemWidth) % (itemWidth * cols);
				    $(this).animate({ top: newTop.toString(), left: newLeft.toString() }, speed);
				    counter++;
				}
			);
	return counter;
}

function updateLicClasses(id, checked, updateIds, shownxtq) {
	$('#q' + id.toString()).attr('class', 'mstrq'); // reset the wrapper class
	if (checked) {
		var i = 0;
		for (i = 0; i < updateIds.length; i++) {
			$('#q' + id.toString()).addClass('li' + updateIds[i].toString());
		}
	}
	if (!checked || (checked && !shownxtq)) {
		var index = id - 2;
		if (index >= -1) {
			// remove any filters from lower level questions
			$('.mstrq:gt(' + index.toString() + ')').attr('class', 'mstrq');
		}
		// uncheck lower level questions and fade out
		if (id == 1) {
	        
			$('#q2cbl .checkbox').removeClass('checked');
			$('#q2cblfade').fadeTo('slow', .33);
		}
	}
	else {
		$('#q2cblfade').fadeTo('slow', 1);
	}
}

function openFaq() {
	var id = TryParseInt(getQueryString('faqId'), -1);

	if (id > -1) {
		var bft1 = $('.faqbft:eq(' + (id - 1).toString() + ')');
		var bft = $('input[value=' + id.toString() + ' ]').parent();
		if (bft != null && bft.length > 0) {
			showfaqbft(bft);
			var windowy1 = $('html,body').scrollTop();
			var windowy2 = $(window).height() + windowy1;
			var bfty1 = bft.position().top;
			var bfty2 = bfty1 + bft.height();
			if (bfty1 < windowy1 || bfty2 > windowy2) {
				$('html,body').animate({ scrollTop: bft.offset().top - [5] }, 500);
			}
		}
	}
}

function rpqFade() {
	$('#partnerQuoteContainer').hide(0);
	var id = $('#rpqID').attr("value");
	getPartnerQuote(id);
	$('#partnerQuoteContainer').fadeIn(fadeInSpeed).fadeTo(fadeToSpeed, 1.0, rpqFade);
}

function getPartnerQuote(excludeID) {
	ajaxcall("GetJsonSuccessStory", ajaxGetJsonPartnerQuoteSuccess, "{'excludeSSId':" + excludeID + "}");
}

function ajaxGetJsonPartnerQuoteSuccess(response) {
	var story = eval('(' + response.d + ')');
	ssHtml = '<div class="rpqStory">'
	+ '<img src="images/rpqtitle.gif" alt="" class="rpqtitle" />'
	+ '<img src="images.ashx?pictureId=' + story.PictureId  + '" alt="" class="rpqImage" />'
	+ '<div class="rpqQuote">' + story.Quote + '</div><div class="rpqAttribution">'
	+ story.Name + '<br />' + story.Title + '<br />' + story.CompanyName
	+ '</div><a href="' + story.Url.toString().substring(1, story.Url.toString().length) + '" class="rpqLink" target="_blank">&gt More on this story</a>'
	+ '<input type="hidden" id="rpqID" value="' + story.SuccessStoryId + '" /></div>'
	
	$('#partnerQuoteContainer').empty().append(ssHtml);
}

function bookmark() {
	// add a "rel" attrib if Opera 7+
	if ($.browser.opera) {
		if ($("a.jqbookmark").attr("rel") != "") { // don't overwrite the rel attrib if already set
			$("a.jqbookmark").attr("rel", "sidebar");
		}
	}

	$("a.jqbookmark").click(function(event) {
		event.preventDefault(); // prevent the anchor tag from sending the user off to the link
		var url = this.href;
		var title = this.title;

		if ($.browser.mozilla || $.browser.opera) { 
			window.sidebar.addPanel(title, url, "");
		} else if ($.browser.msie) { // IE Favorite
			window.external.AddFavorite(url, title);
		} else { // for Safari, Konq etc - browsers who do not support bookmarking scripts (that i could find anyway)
			alert('Unfortunately, this browser does not support the requested action,'
			 + ' please bookmark this page manually.');
		}
	});
}

function accordion() {
	$(".accordionContent").hide();
	$('a div:last').css('border-bottom', 'none');
	$(".accordionBlock").hover(
	    function() {
	        $(this).addClass('active');
	        $(this).animate({ 'margin-top':0}, 250,function() {
	            if ($(this).hasClass('active')) {
	                $(this).find('.accordionContent').slideToggle()
	            } 
	        });

	    },
	    function() {
	        $(this).removeClass('active');
	        $(this).find('.accordionContent').slideUp('slow');
	    }
	);
}

function assignLicPopups() {
    $('.lic:has(.licreqt)').each(function() {

        var defaultZIndex = 3;
        var popupZIndex = 4;
        var rightTileLeftPos = '466px';
        var popupLeft = -220;
        var popupRight = 235;

        var wrapper = $(this);
        var trigger = $(this).find('.lictile');
        var reqt = $(this).find('.licreqt');

        $(trigger).hover(function() {
            $('.licreqt').hide();
            wrapper.css({ 'z-index': popupZIndex, 'height': 264 });
            $(wrapper).filter('#li9').find('.licreqt').before('<br/>');
            reqt.slideDown('slow');
        }, function() {
            $('.lic').css({ 'z-index': defaultZIndex, 'height': 132 });
            $(wrapper).filter('#li9').find('br').each(function() { $(this).remove(); });
            reqt.slideUp(1);
        });
    });
}

function getTeamMember(id) {
    ajaxcall("GetJsonTeamMember", ajaxGetJsonTeamMemberSuccees
			, "{'teamMemberId':" + id + "}");
}

function ajaxGetJsonTeamMemberSuccees(response) {
    var teamMember = eval('(' + response.d + ')');
    tmHtml = '<div class="tmPictureBlock">'
    + '<div class="tmBack"><a href="MeetTheTeam.aspx"><img src="Images/arrow-left.gif" alt="" />back</a></div>'
	+ '<img class="tmPicture" src="Images.ashx?pictureId=' + teamMember.PictureId + '" alt="" />'
	+ '<div class="tmicon"><img src="images/tmletter.gif" alt="letter"></div><div class="tmlabel"><a href="mailto:' + teamMember.Email + '">Email me</a></div>'
	+ '<div class="tmicon"><img src="images/tmtwitter.gif" alt="twitter" class="tmimages2"></div><div class="tmlabel"><a href="http://twitter.com/' + teamMember.Twitter + '" target="_blank">Follow me</a></div>'

    if (teamMember.Blog) {
        tmHtml += '<div class="tmicon"><img src="images/tmblog.gif" alt="blog" class="tmimages2"></div><div class="tmlabel"><a href="' + teamMember.Blog + '" target="_blank">Read my blog</a></div>';
    }

    tmHtml += '</div>'
	
	+ '<div class="tmBlock">'
	+ '<div class="tmName">' + teamMember.FirstName + ' ' + teamMember.LastName + '</div>'
	+ '<div class="tmTitle">' + teamMember.Title + '</div>'
	+ '<div class="tmBio">' + teamMember.Bio + '</div>'
	+ '</div>'
	+ '<div class="tmRecommend">' + teamMember.FirstName + ' recommends</div>';

    $('#tmProfiles').html(tmHtml).change();

    setLinkTarget('.tmBio');
}

function setLinkTarget(divClass) {
    var a = $(divClass).find('a')
    a.each(function(index) {
        var a1 =a.attr('href');
        if (a1 != null && a1.indexOf('/partner/') == -1) {
            a.attr('target', '_blank');
        }
    });
}

function getTwitterFeeds() {
    ajaxcall("GetJsonTweets", ajaxGetJsonTweetsSuccess,
		"{'username':'msdevpartner', 'count':" + 3 + "}");
}

function ajaxGetJsonTweetsSuccess(response) {
    var tweets = eval('(' + response.d + ')');
    var lists = '';
    for (var i = 0; i < tweets.length; i++) {
        lists = lists + 
        '<p class="tweetbody">' + tweets[i].Text + '</p>'
        + '    <p class="tweetfrom">' + tweets[i].CreatedDate + ' from ' +  tweets[i].Source + '</p>'
    }
    $('#twitter').html(lists).change();
}

function setProgramExperts() {
    $("#pewrapper > div").hide();
    if ($(".pename2")[0].outerText == '') {
        $("#pebubble1").show();
    }
}

function petSelect(index) {
    $("#pebubble" + index).show();
}

function petUnselect(index) {
    $("#pebubble" + index).hide();
}

function searchBoxFocus() {
    $(".SearchBox[type=text]").focus(function() {
        if ($(this).attr("value") == "Search...")
            $(this).attr("value", "");
    });
}
