var Marlite = {
    tracker : '',
	load : function(className) {
		$(document).ready(function(){
			className.init();
		});
	},
	init : function() {
		Marlite.setBodyClass();
	},
	setBodyClass : function() {
		$('body').addClass('has-js');
	},
	externalWindows : function() {
	},
	trackClick : function(url) {
	},
	setTracker : function(tracker) {
        Marlite.tracker = tracker;
	},
	getLinksForPdf : function() {
	    var links = $("a[href$='.pdf']");
	    return links;
	},
	getLinksForDoc : function() {
	    var links = $("a[href$='.doc']")
	    return links;
	},
	getLinksForImages : function() {
	    var links = $("a[href^='javascript']");
	    return links; 
	},
	trackImageLinks : function() {
	    Marlite.getLinksForImages().click(function(el) {
	        Marlite.tracker._trackPageView($(this).children().attr('src'));
	        console.log('testing');
	        el.preventDefault();
	    })
	},
	trackPdfLinks : function() {
	    Marlite.getLinksForPdf().click(function(el) {
            Marlite.tracker._trackPageview($(this).attr('href'));
        })
	},
	trackDocLinks : function() {
	    Marlite.getLinksForDoc().click(function(el) {
            Marlite.tracker._trackPageview($(this).attr('href'));
        })
	},
	trackExternalLinks : function(gaPageTracker) {
	    Marlite.setTracker(gaPageTracker);
        Marlite.trackDocLinks;
        Marlite.trackPdfLinks;
        Marlite.trackImageLinks;
	}
}
var PanelViewer = {
	init : function() {
		//check to see if this page has a panel-viewer, if it doesn't return and do nothing
		var hasPanelViewer = $('ul.panel-viewer');
		if (!hasPanelViewer) { return };
		
		PanelViewer.normalizeAll();
		PanelViewer.createLinks();
	},
	createLinks : function() {
		$('ul.panel-viewer li h3 em').each(function(){
			var displayBoxId = $(this).attr('class');
			
			//need to wrap it with an 'a' tag in order to set the .href and get a cursor
			$(this).wrap("<a id=\"" + displayBoxId + "-link\"></a>");
			var linkElement = $("#" + displayBoxId + "-link");
			linkElement.attr('href', '#');

			linkElement.click(function(e) {
				PanelViewer.showDetails(displayBoxId);
				e.preventDefault();
			})
		})
	},
	showDetails : function(id) {
		var displayBox = $('#' + id);
		displayBox.toggle();
	},
	normalizeAll : function() {
		$('ul.panel-viewer div.display-box').hide();
	}
}

var ImagePanelViewer = {
	init : function() {
		var hasPanelViewer = $('div.image-panel-viewer');
		if (!hasPanelViewer) { return };
		
		var placeholder = $('div.image-panel-viewer img.expanded');
		
		$('div.image-panel-viewer ul a').each(function() {
			var sourceImage = $(this).attr('href');
			
			$(this).click(function(e) {
				placeholder.attr('src', sourceImage);
				e.preventDefault();
			})
		})
	}
}

Marlite.load(Marlite);
Marlite.load(ImagePanelViewer);
Marlite.load(PanelViewer);