function addStackMap(){
	$("body").append('<div id="blockScreen" class="blockScreen" onclick="hideStackMapPopups();">&nbsp;</div>');
	
	var request = {'holding':new Array(0), 'alt':true};
	var entries = new Array(0);
	
	$("table.bibItems tr.bibItemsEntry").each(function(i){
		var parts = $(this).find('td:first');
		var location = trimHTML(parts.find('a').html());
		var holdingString = "Belk$$" + location;
		parts = parts.next();
		holdingString += "$$" + trimHTML(parts.find('a').html());
		
		if(location.length < 3 || location.substring(0,3) != 'ASU') return;

		request.holding.push(holdingString);
		entries.push($(this));
	});
	
	
	$.getJSON("http://appstate.stackmap.com/json/?callback=?", request, function(data, textStatus){
		for(var i = 0; i < entries.length; i++){
			result = data.results[i];
			if(result.maps.length != 0){
				map = result.maps[0];
								
				var popupHtml = '<div class="SMpopup" id="SM'+i+'"><input type="button" onclick="hideStackMapPopups();" value="Close" style="float:right;" /><h2>ASU Belk Library</h2><img width="800" mapurl="'+map.mapurl+'&marker=1" /><p><b>Directions</b>: ' + map.directions + '</p><p>Item is on row(s) highlighted in red on the above map with call numbers  ';
				for(var j = 0; j < map.ranges.length; j++){
					if(map.ranges[j].startcallno != '*'){
						popupHtml += map.ranges[j].startcallno + '-' + map.ranges[j].endcallno;
						if(j != map.ranges.length - 1) popupHtml += ', ';
					}
				}
				
				popupHtml += '</p></div>';
				$("body").append(popupHtml);
				entries[i].append('<td><input type="button" onclick="showStackMapPopup(\'SM'+i+'\', {\'callno\':\'' + result.callno + '\',\'location\':\'' + result.location + '\',\'library\':\'' + result.library + '\'});" value="Map It!" /></td>');
			}			
		}
	});
	//
		
}


$(document).ready(addStackMap);


function trimHTML(text){
	text = jQuery.trim(text).replace('&', '%26');
	if(text.indexOf('<') != -1)
		return text.substring(0, text.indexOf('<'));
	else
		return text;
}


function showStackMapPopup(popup, data){
	$.getJSON("http://appstate.stackmap.com/logmapit/", data);
	
	var popupElem = $('#'+popup);
	
	var mapImage = popupElem.find('img');
	if(!mapImage.attr('src'))
		mapImage.attr('src', mapImage.attr('mapurl'));
	
    popupElem.css("top", ($(window).scrollTop() + 10)  + "px");
	var left = ( $(window).width() - 850 ) / 2+$(window).scrollLeft();
	if(left < 0) left = 0;
    popupElem.css("left", left + "px");
	popupElem.show();

	$('#blockScreen').show();
	$('#blockScreen').css('height', $(document).height());
}


function hideStackMapPopups(){
	$('.SMpopup').hide();
	$('#blockScreen').hide();
}
