﻿function togglePopup(popupId) {
    popupId.style.display = (popupId.style.display == '' ? 'block' : '');
}

function redirectToEvent(eventId, redirectUrl) {
    ajaxcall("Attend", { "eventId": eventId });
    window.open(redirectUrl, "_blank");
}

function swapVideo(pictureId, eventId, mediaUrl, redirectUrl, authenticate) {
    if (Silverlight.isInstalled("2.0.31005.0")) {
        var slObject =
            "<object width='100%' height='100%' data='data:application/x-silverlight-2,' type='application/x-silverlight-2'>" +
                "<param name='source' value='/ClientBin/VideoPlayerM.xap' />" +
                "<param name='enableHtmlAccess' value='true' />" +
                "<param name='MinRuntimeVersion' value='2.0.31005' />" +
                "<param name='InitParams' value='autostart=true,eventId=" + eventId + ",m=" + mediaUrl + ",authenticate=" + authenticate + "' />" +
            "</object>";

        $("#" + pictureId).parent().html(slObject);
    }
    else {
        redirectToEvent(eventId, redirectUrl);
    }
}

function swapVideo2(pictureId, eventId, mediaUrl, redirectUrl, authenticate, width, height) {
    if (Silverlight.isInstalled("2.0.31005.0")) {
        var slObject =
            "<object width='" + width + "' height='" + height + "' data='data:application/x-silverlight-2,' type='application/x-silverlight-2' class='eventImage'>" +
                "<param name='source' value='/ClientBin/VideoPlayerM.xap' />" +
                "<param name='enableHtmlAccess' value='true' />" +
                "<param name='MinRuntimeVersion' value='2.0.31005' />" +
                "<param name='InitParams' value='autostart=true,eventId=" + eventId + ",m=" + mediaUrl + ",authenticate=" + authenticate + "' />" +
            "</object>";

        $("#" + pictureId).parent().html(slObject);
    }
    else {
        redirectToEvent(eventId, redirectUrl);
    }
}

function swapVideoAzure(pictureId, eventId, mediaUrl, redirectUrl, authenticate, enableChapterSupport) {
	if (Silverlight.isInstalled("2.0.31005.0")) {
		var slObject =
            "<object width='100%' height='100%' data='data:application/x-silverlight-2,' type='application/x-silverlight-2'>" +
                "<param name='source' value='/ClientBin/VideoPlayerM.xap' />" +
                "<param name='enableHtmlAccess' value='true' />" +
                "<param name='MinRuntimeVersion' value='2.0.31005' />" +
                "<param name='InitParams' value='autostart=true,eventId=" + eventId + ",m=" + mediaUrl + ",authenticate=" + authenticate + ",chapters=" + enableChapterSupport + "' />" +
            "</object>";
		var obj = $(".descriptiondetails");
		$("#" + pictureId).parent().html(slObject).append(obj);
	}
	else {
		redirectToEvent(eventId, redirectUrl);
	}
}

function onSourceDownloadProgressChanged(sender, eventArgs) {
    var slPlugin = sender.getHost();

    slPlugin.content.findName("loadingText").Text =
        "Loading " + Math.round((eventArgs.progress * 100)) + "%";
    slPlugin.content.findName("progressScale").ScaleX = eventArgs.progress;
}

////////////////////
// Profile Share link
///////////////////

function toggleShareLink(link, divId) {

    var parent = $(link).closest('#shareLinkSection');

    if (divId != null) {
        var div = parent.find('#' + divId)[0];
        div.style.display = (div.style.display == '' ? 'block' : '');
    }
    hidePopUp(parent, divId, 'shareBox', 'shareArea');
}

function sendShareEmail(submitButton) {
    var eventId = $(submitButton).closest('#shareArea').children('input').val();
    var shareArea = $(submitButton).closest('#shareArea');
    var emailTextBox = shareArea.find('.shareemailaddress');
    var commentTextBox = shareArea.find('.sharecomment');
    var errorstar = shareArea.find('.sharevalidationstar')[0];
    var errortext = shareArea.find('.sharevalidationtext')[0];

    var email = emailTextBox.val();
    var comment = commentTextBox.val();

    var isEmail = email.match("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");

    if (isEmail) {
        ajaxcall("EmailFriend", { "eventId": eventId, "email": email, "comment": comment });

        emailTextBox.value = '';
        commentTextBox.value = '';
        errorstar.style.display = 'none';
        errortext.style.display = 'none';

        toggleShareLink(shareArea, 'shareBox');
    }
    else {
        errorstar.style.display = 'block';
        errortext.style.display = 'block';
    }
}

////////////////////
// Event description
///////////////////

function isIE7()
{
    return ($.browser.msie && $.browser.version == "7.0");
}
function toggleDescriptionLinks(link, divId){
    var parent = $(link).closest('#descriptionlinks');
    
    if(divId != null){
        var div = parent.find('#'+ divId)[0];
        div.style.display = (div.style.display == '' ? 'block' : '');
    }
    
    hidePopUp(parent, divId, 'descriptionAddComment', 'commentArea');
    hidePopUp(parent, divId, 'descriptionSendFriend', 'friendArea');
    hidePopUp(parent, divId, 'descriptionEmbed', 'embedArea');
}



function hidePopUp(parent, divId, id, area)
{
    if(divId != id){
        var div1 = parent.find('#' + id);
        if(div1.length > 0) {
            div1[0].style.display = '';
        }
        
        if(isIE7()){
            parent.find('#' + area).css('zIndex', 1);
        }
    }
    else
    {
        if(isIE7()){
            parent.find('#' + area).css('zIndex', '');
        }
    }
}

function submitComment(submitButton) {
    var eventId = $(submitButton).closest('#descriptionmiddlewrapper').children('input').val();
    var comment = $(submitButton).closest('#commentArea').find('.commentText').val();

    ajaxcall("CommentCourse", { "eventId": eventId, "comment": comment });
}

function emailFriend(submitButton) {
    var eventId = $(submitButton).closest('#descriptionmiddlewrapper').children('input').val();
    var friendArea = $(submitButton).closest('#friendArea');
    var emailTextBox = friendArea.find('.friendemailaddress');
    var commentTextBox = friendArea.find('.friendcomment');
    var errorstar = friendArea.find('.friendvalidationstar')[0];
    var errortext = friendArea.find('.friendvalidationtext')[0];

    var email = emailTextBox.val();
    var comment = commentTextBox.val();
    
    var isEmail = email.match("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
    
    if(isEmail)
    {
        ajaxcall("EmailFriend", { "eventId": eventId, "email": email, "comment": comment });
            
        emailTextBox.value = '';
        commentTextBox.value = '';
        errorstar.style.display = 'none';
        errortext.style.display = 'none';
        
        toggleDescriptionLinks(friendArea, 'descriptionSendFriend');
    }
    else
    {
        errorstar.style.display = 'block';
        errortext.style.display = 'block';
    }
}

function registerFromThumbnailButton(msdevrowId) {
    register($("#" + msdevrowId + " .descriptionembedlink")[0]);
}

function register(submitButton) {
    var container = $(submitButton).closest('#descriptionmiddlewrapper');
    var eventId = container.children('input')[0].value;

    $(".descriptionvideo a.register", container).attr("href", "#").fadeOut("normal");
    
    ajaxcall("Register", { "eventId": eventId });
    
    submitButton.style.display = 'none';
    $(submitButton).siblings('.alreadyaddedmsdev')[0].style.display = 'block';
}

function getSliderClass(p) {
    if (p < 33) {
        return 'eventdescsmall';
    } else if (p < 66) {
        return 'eventdescmedium';
    } else {
        return 'eventdesclarge';
    }
}

function getSliderPosition(p) {
    if (p < 33) {
        return 18;
    } else if (p < 66) {
        return 52;
    } else {
        return 84;
    }
}


function ajaxcall(method, data) {

    var formatted = data ? Sys.Serialization.JavaScriptSerializer.serialize(data) : "{}";
    
    $.ajax({
        type: "POST",
        url: "../../IsvInnovationService.asmx/" + method,
        contentType: "application/json; charset=utf-8",
        data: formatted,
        dataType: "json"
    });
}

function ajaxcallback(method, data, callback) {

    var formatted = data ? Sys.Serialization.JavaScriptSerializer.serialize(data) : "{}";

    $.ajax({
        type: "POST",
        url: "../../IsvInnovationService.asmx/" + method,
        contentType: "application/json; charset=utf-8",
        data: formatted,
        dataType: "json",
        success: callback
    });
}

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 selectregion(i) {
    $('.usregion').hide();
    $('#usregion' + i).show();
    setFacebookFeed(i);
}
function selecthashtag(hashtag) {
    ajaxcallback("SearchTwitter", { "searchString": hashtag, "count": 3 }, searchTwitterSuccess);
}

function searchTwitterSuccess(response) {
    var tweets = eval('(' + response.d + ')');
    var list = '';

        for (var i = 0; i < tweets.length; i++) {
            list = list + '<li>';
            list = list + '<span class="tweet">' + tweets[i].Text + '</span><br />';
            list = list + '<span class="tweettime">' + tweets[i].CreatedDate + '</span>';
            list = list + '</li>';
        }
    $("#tweetlist").html(list);
};

function getSearchBenefits(page) {
    partnerAjaxCall("SearchJsonBenefits", ajaxSearchJsonBenefitsSuccess,
		"{'search':'" + _search + "', 'audienceTypeId':" + _audienceTypeId + ", 'page':" + page + ", 'size':" + _pagesize + "}");
}

function ajaxSearchJsonBenefitsSuccess(response) {
    var benefits = eval('(' + response.d + ')');
    displayBenefit(benefits);
}


function getSearchCountJsonBenefits() {
    partnerAjaxCall("SearchCountJsonBenefits", ajaxSearchCountJsonBenefitsSuccess, "{'search':'" + _search + "', 'audienceTypeId':" + _audienceTypeId + "}");
}

function ajaxSearchCountJsonBenefitsSuccess(response) {
    _pagecount = (response.d % _pagesize == 0) ? response.d / _pagesize : response.d / _pagesize + 1;
    searchPagination(_page);
}

function searchPagination(page) {
    getSearchBenefits(page);

    $("#pagination").pagination({
        current: page
			, total: _pagecount
			, click: function (page) {
			    searchPagination(page);
			}

    });

    window.location.hash = '#' + _audienceTypeId + ',' + page;
}

function setPageAudienceTypeId() {
    var hashes = getHash();
    if (hashes.length > 1) {
        _audienceTypeId = hashes[0];
        _page = hashes[1];
    }
}

function getHash() {
    var hashParm = new Array();
    var hash = window.location.hash.replace('#', '');
    return hash.split(',');
}

function getQueryString(id) {
    id = String(id).toLowerCase();
    var qsParm = new Array();
    var query = window.location.search.substring(1);
    var parms = query.split('&');
    for (var i = 0; i < parms.length; i++) {
        var pos = parms[i].indexOf('=');
        if (pos > 0) {
            var key = String(parms[i].substring(0, pos)).toLowerCase();
            var val = parms[i].substring(pos + 1);
            qsParm[key] = val;
        }
    }
    return qsParm[id];
}

function displayBenefit(benefits) {
    var lists = '';

    if (benefits.length > 0) {
        for (var i = 0; i < benefits.length; i++) {

            var target = benefits[i].HasContent ? '_self' : '_blank';
            lists = lists +

			 '<div class="faqbftdetail blseperator">'
			+ '    <img class="bftimg" src="/Partner/Images.ashx?pictureId=' + benefits[i].PictureId + '" style="border-width:0px;" />'
			+ '    <div class="bfttitle">'
            + '        <a href="/Partner/BenefitRouter.ashx?benefitId=' + benefits[i].BenefitId + '" target="' + target + '">' + benefits[i].Title + '</a>'
            + '    </div>'
			+ '    <div class="bftdesc bftfnt">' + benefits[i].ShortDescription + '</div>'
			+ '    <div class="bftdesc">'
			+ '        <span class="bftavail bftfnt">Available to: </span>'
			+ '        <span class="ptnrblue bftfnt">' + benefits[i].Level + '</span>'
			+ '    </div>'
			+ '</div>'
        }

        $('#leftcontent').css("padding-bottom", "30px");
    }
    else {
        lists = '<div id="partnersearchempty">Sorry, there were no resources found for your search and filter criteria. Please try again.</div>';
        $('#pagination').remove();

        if (_audienceTypeId == 0) {
            $('#searchfilter').remove();
        }
    }

    $('#bftlist').html(lists).change();
}

function filterClick(link, id) {
    $('.filteritem').removeClass('filterselected');
    $(link).addClass('filterselected');
    _audienceTypeId = id;
    _page = 1;
    return false;
}

function getBenefits(page) {
    partnerAjaxCall("GetJsonBenefits", ajaxGetJsonBenefitsSuccees
			, "{'audienceTypeId':" + _audienceTypeId
			+ ", 'areaTypeId':" + _areaTypeId
			+ ", 'page':" + page
			+ ", 'size':" + _pagesize + "}");
}

function getBenefitCount() {
    partnerAjaxCall("GetBenefitCount", ajaxGetBenefitCountSuccees
			, "{'audienceTypeId':" + _audienceTypeId
			+ ", 'areaTypeId':" + _areaTypeId + "}");
}

function ajaxGetBenefitCountSuccees(response) {
    _pagecount = (response.d % _pagesize == 0)
			? response.d / _pagesize
			: response.d / _pagesize + 1;

    pagination(_page);
}

function partnerAjaxCall(method, success, data) {
    $.ajax({
        type: "POST",
        url: "/PartnerServices.asmx/" + method,
        contentType: "application/json; charset=utf-8",
        data: data,
        success: success,
        dataType: "json",
        failure: ajaxCallFailure
    });
}

function ajaxGetJsonBenefitsSuccees(response) {
    var benefits = eval('(' + response.d + ')');
    displayBenefit(benefits);
}

function ajaxCallFailure(error) {
    alert("failure");
    alert('error: ' + error);
}

function filterSelection() {
    if (_audienceTypeId != 0) {
        $('.filteritem').removeClass('filterselected');
        $('#filter' + _audienceTypeId).addClass('filterselected');
    }
}

function setPageTeamId() {
    var hashes = getHash();
    if (hashes.length > 1) {
        _teamMemberId = hashes[0];
        _page = hashes[1];
    }
}

function getRecommendedBenefitCount() {
    partnerAjaxCall("GetRecommendedBenefitCount", ajaxGetRecommendedBenefitCountSuccess, "{'individualId':" + _teamMemberId + "}");
}

function ajaxGetRecommendedBenefitCountSuccess(response) {
    _pagecount = (response.d % _pagesize == 0) ? response.d / _pagesize : response.d / _pagesize + 1;
    rbPagination(_page);
}

function rbPagination(page) {
    getRecommendedBenefits(page);

    $("#pagination").pagination({
        current: page
			, total: _pagecount
			, click: function (page) {
			    rbPagination(page);
			}

    });

    window.location.hash = '#' + _teamMemberId + ',' + page;
}

function getRecommendedBenefits(page) {
    partnerAjaxCall("GetJsonRecommendedBenefits", ajaxGetJsonRecommendedBenefitsSuccess,
		"{'individualId':" + _teamMemberId + ", 'page':" + page + ", 'size':" + _pagesize + "}");
}

function ajaxGetJsonRecommendedBenefitsSuccess(response) {
    var benefits = eval('(' + response.d + ')');
    displayRecommendedBenefit(benefits);
}

function displayRecommendedBenefit(benefits) {
    displayBenefit(benefits);
}

function TryParseInt(str, defaultValue) {
    var retValue = defaultValue;
    if (str != null) {
        if (str.length > 0) {
            if (!isNaN(str)) {
                retValue = parseInt(str);
            }
        }
    }
    return retValue;
}

(function ($) {
    $.fn.pagination = function (options) {

        var current = parseInt(options.current);
        var total = parseInt(options.total);

        var $pg = $('<ul class="pg"/>');

        //Add previous button
        var $previous = $('<li class="pg-end"/>');
        if (current > 1) {
            $previous.html('<img src="/partner/images/pgleft.gif" /><span style="padding:0px 0px 0px 8px;">Previous</span>');
            $previous.click(function () { options.click(current - 1); })
        }
        $pg.append($previous);

        //Calculate numbered buttons
        var first = 1;
        var last = 13;

        if (current > 6) {
            first = current - 6;
            last = current + 6;
        }

        if (last > total) {
            first = total - 12;
            last = total;
        }

        if (first < 1) {
            first = 1;
        }

        if (total != 1) {
            //Add numbered buttons
            for (var i = first; i <= last; i++) {
                var b = $('<li class="pg-pg">' + i + '</li>');
                (i == current) ? b.addClass('pg-selected')
					: b.click(function () { options.click(this.firstChild.data); });
                $pg.append(b);
            }
        }

        //Add Next Button
        var $next = $('<li class="pg-end" />');
        if (current < total) {
            $next.html('<span style="padding:0px 8px 0px 0px;">Next</span><img src="/partner/images/pgright.gif" />');
            $next.click(function () { options.click(current + 1); })
        }
        $pg.append($next);

        $(this).empty().append($pg);
    };
})(jQuery);

















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", "");
    });
}






















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", "");
    });
}

