// SHOW
function show(elementToShow) {
	$('#' + elementToShow).show();
}

// BULLET SWITCHER
function activateSwitcher() {
	$('.bulletContent').cycle({
		fx:      'fade',
		speed:   '300',
		timeout:  6000,
		next: '.bulletSwitcher',
		pager:  '.bulletSwitcher',
		pause: 1
	});
}

// SHOW MORE POSTS
function showWritings() {
    $('#readMore').hide();
    $('#hiddenWritings').removeClass('noBorderBottom').slideDown();
    $('#hiddenEvents').slideDown();
}

// SHOW MORE PEOPLE
function showMore(peopleToShow) {
    $('#aside > div').hide();
    $('#aside #' + peopleToShow).show();
    $('#aside .viewMore').show();
    $('#aside .hiddenPeople').hide();
    $('#' + peopleToShow + ' .viewMore').hide();
    $('#' + peopleToShow + ' .filter').css({'display' : 'block'});
    $('#' + peopleToShow + ' .hiddenPeople').slideDown();
}
// RESET PEOPLE SIDEBAR
function resetAside() {
    $('#aside .hiddenPeople').hide();
    $('#aside > div:hidden').slideDown();
    $('#aside .viewMore').show();
    $('#aside .filter').css({'display' : 'none'});
}

// WRITINGS VIEW TOGGLES
function gridView() {
    $('#writingsList').removeClass('listView');
}
function listView() {
    $('#writingsList').addClass('listView');
}

// INCARNATE AVATAR IMAGES
function previousIncarnateAvatar() {
    index = index - 1;
    if (index == -1) {
        index = 0;
    }
    //populate img tag
    $("#incarnateImg").attr("src", avatars[index].imgSrc);
    //populate hidden field for form submit
    $("#incarnateImgSrc").attr("value", avatars[index].imgSrc);
    $("#incarnateCounter").empty().append((index + 1) + " of " + avatars.length);
    $("#incarnateProviderImg").attr("src", "http://incarnate.blob.core.windows.net/images/" + avatars[index].provider + ".png");

}
function nextIncarnateAvatar() {
    index = index + 1;
    if (index == avatars.length) {
        index = avatars.length - 1;
    }
    //populate img tag
    $("#incarnateImg").attr("src", avatars[index].imgSrc);
    //populate hidden field for form submit
    $("#incarnateImgSrc").attr("value", avatars[index].imgSrc);
    $("#incarnateCounter").empty().append((index + 1) + " of " + avatars.length);
    $("#incarnateProviderImg").attr("src", "http://incarnate.blob.core.windows.net/images/" + avatars[index].provider + ".png");
}

/// <reference path="http://ajax.microsoft.com/ajax/jQuery/jquery-1.3.2.min-vsdoc.js"/>

window._emailRegex = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/i;

//set the incarnate service URL
var IncarnateServiceURL = "http://incarnate.visitmix.com/incarnate/";

//list the services you want to use for incarnation
//note that you can get the list of services supported by the instance of the incarnate service
//you are using by calling incarnate.svc/providers (json) or incarnate.svc/providers.xml
var providers = ["Twitter", "MySpace", "Facebook", "YouTube", "XBoxLive"];

var avatars = [];
var shown = false;
//index is state variable for paging
var index = 0;
var searchTerm;
function Incarnate() {

    //clear out all state
    index = 0;
    avatars = [];

    //add default avatar to the stack
    index++;
    avatars.push({ "provider": "blank", "imgSrc": "../images/contributeDefaultAvatar.gif" });

    //don't search for empty string
    if ($("#comment_email").val() == "" && shown == false) {
        return;
    }
    searchTerm = $("#comment_email").val()

    if (window._emailRegex.test(searchTerm)) {
        //do gravatar
        $.getJSON(IncarnateServiceURL + "GetHash?email=" + searchTerm + "&callback=?",
        function(data) {
            //populate img tag
        $("#incarnateImg").attr("src", "http://gravatar.com/avatar.php?d=http%3A%2F%2Fvisitmix.com%2Fimages%2FcontributeDefaultAvatar.gif&gravatar_id=" + data);
            //populate hidden field for form submit
        $("#incarnateImgSrc").attr("value", "http://gravatar.com/avatar.php?d=http%3A%2F%2Fvisitmix.com%2Fimages%2FcontributeDefaultAvatar.gif&gravatar_id=" + data);
            //hide paging ui
            $("#incarnatePager .next").hide();

        });
        return;
    }
    //use incarnate service
    $(providers).each(function(name, value) {

        $.getJSON(IncarnateServiceURL + value + "/" + searchTerm + "?callback=?",
        function(data) {
            if (data != null) {
                if (searchTerm == $("#comment_email").val()) {
                    // show the paging ui
                    $("##incarnatePager .next").show();
                    $("##incarnatePager .previous").show();
                    avatars.push({ "provider": value, "imgSrc": data });
                    $("#incarnateCounter").empty().append("2 of " + avatars.length);
                    if (shown == false) {
                        shown = true;
                        //populate img tag                
                        $("#incarnateImg").attr("src", data);
                        //populate hidden field for form submit
                        $("#incarnateImgSrc").attr("value", data);
                        $("#incarnateProviderImg").attr("src", "http://incarnate.blob.core.windows.net/images/" + value + ".png");
                    }
                }
            }
        });
    });
}

/*
var IE6 = (navigator.userAgent.indexOf("MSIE 6") >= 0) ? true : false;
if (IE6) {

    $(function() {

        $("<div>")
			.css({
			    'position': 'absolute',
			    'top': '0px',
			    'left': '0px',
			    backgroundColor: 'black',
			    'opacity': '0.75',
			    'width': '100%',
			    'height': $(window).height(),
			    zIndex: 5000
			})
			.appendTo("body");

        $("<div><img src='no-ie6.png' alt='' style='float: left;'/><p><br /><strong>Sorry! This page doesn't support Internet Explorer 6.</strong><br /><br />If you'd like to read our content please <a href='http://getfirefox.org'>upgrade your browser</a> or <a href='http://feeds.feedburner.com/CssTricks'>subscribe to our RSS feed</a>.</p>")
			.css({
			    backgroundColor: 'white',
			    'top': '50%',
			    'left': '50%',
			    marginLeft: -210,
			    marginTop: -100,
			    width: 410,
			    paddingRight: 10,
			    height: 200,
			    'position': 'absolute',
			    zIndex: 6000
			})
			.appendTo("body");
    });
}*/