﻿var pageItems = 20;
var results = [];
jQuery(document).ready(function() {

	/* convert classes to lowercase */
	$('.department').each(function(){
		$(this).attr("class",$(this).attr("class").toLowerCase());
	});	

	$('#dept-filter option').each(function(){
		$(this).attr("value",$(this).attr("value").toLowerCase());
	});
	
	
	
	var dept = "";
	dept = getParameterByName('dept');
	if (dept != "" && "all-departments")
	{		
		$("#directory > .department:not(."+dept+")").hide();
		$("#dept-filter option[value*='"+dept+"']").attr('selected', 'selected');
		
		//$("h1").html($("#directory > ."+dept+" .letter").html());
		//$("h1").append(' Directory');		
	}	
	
	jQuery("select").change(function() {
		dept = jQuery("select option:selected").val()
		if ($("h1").text() == "Faculty and Staff Directory")
		{
			if (dept == 'all-departments'){
				window.location = "/about-us/directory/?list=department";	
			}
			else
			{
			window.location = "/about-us/directory/?list=department&dept="+dept;		
			}
			
		}
		else
		{
			if (dept == 'all-departments'){
				window.location = "/faculty/directory/?list=department";	
			}
			else
			{
			window.location = "/faculty/directory/?list=department&dept="+dept;		
			}
		}		
/*		
        jQuery(".department").hide();
        dept = jQuery("select option:selected").val();
        if (dept == "all-departments") { jQuery(".department").show(); }
        else { jQuery("." + dept).show(); }
*/
  })

  jQuery("#directory-letters li a").bind("click", function(e) {
  	jQuery('.peeps').hide();
        switch (jQuery(this).attr('href')) {
            case "#A":
                jQuery('#A').show();
                jQuery('#B').show();
                jQuery('#C').show();
                break;
            case "#D":
                jQuery('#D').show();
                jQuery('#E').show();
                jQuery('#F').show();
                break;
            case "#G":
                jQuery('#G').show();
                jQuery('#H').show();
                jQuery('#I').show();
                break;
            case "#J":
                jQuery('#J').show();
                jQuery('#K').show();
                jQuery('#L').show();
                break;
            case "#M":
                jQuery('#M').show();
                jQuery('#N').show();
                jQuery('#O').show();
                break;
            case "#P":
                jQuery('#P').show();
                jQuery('#Q').show();
                jQuery('#R').show();
                break;
            case "#S":
                jQuery('#S').show();
                jQuery('#T').show();
                jQuery('#U').show();
                break;
            case "#V":
                jQuery('#V').show();
                jQuery('#W').show();
                jQuery('#X').show();
                jQuery('#Y').show();
                jQuery('#Z').show();
                break;
            default:
                jQuery('.peeps').show();
                break;
        }
        return false;
    });
});

function getParameterByName( name )
{
	  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	  var regexS = "[\\?&]"+name+"=([^&#]*)";
	  var regex = new RegExp( regexS );
	  var results = regex.exec( window.location.href );
	  if( results == null )
	    return "";
	  else
	    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

/* pagination code */
function pageselectCallback(pageIndex, jq) {
    var max = Math.min((pageIndex + 1) * pageItems, results.length);
    var newContent = "";
    for (var i = pageIndex * pageItems; i < max; i++) {
        newContent += "<div class='news-item'>";
        newContent += results[i];
        newContent += "</div>";
    }
    jQuery('#news-listing').empty().append(newContent);
    return false;
}

function initPagination() {
    results = [];
    var listedItems = jQuery('#hiddenResult div.news-item');
    listedItems.each(function () { results.push($(this).html()) })
    var numEntries = listedItems.length;
    jQuery("#pagination").pagination(numEntries, {
        callback: pageselectCallback,
        items_per_page: pageItems,
        prev_text: "<< Previous",
        next_text: "Next >>",
				num_display_entries: 25
    });
}
