var teamReports = function(inc) {
	var sUrl,resultContainer;
	resultContainer = document.getElementById("teamsWrapper");
	var handleSuccess = function(o){ 
		if(o.responseText !== undefined) {
			resultContainer.innerHTML =  o.responseText;
			setUpImages.init();
	       } 	
	   } 
	var handleFailure = function(o){ 
	    if(o.responseText !== undefined){
	        resultContainer.innerHTML = o.responseText;
	    } 
	}
	var callback = { 
	  success:handleSuccess, 
	  failure: handleFailure
	}
	var doRequest = function() {
		var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
	};
	return {
		init: function(ev, inc) {
			sUrl = inc;
			doRequest();
		}
	}
}();

var reportImg = function(id, url, desc) {
	this.reportID = id;
	this.imageUrl = url;
	this.imageDesc = desc;
}
var currentView = function(imgs, id) {
	this.imgArray = imgs;
	this.currentImg = 0;
	this.firstImg = 0;
	this.lastImg = imgs.length-1;
	this.reportID = id;
}
var showImages = (function() {
	var wholeThing,mask,populate,images,previous,next,close,placeholder,placeHolderImage,description; 
	wholeThing=  document.getElementsByTagName("html")[0];
	mask = YAHOO.util.Dom.get("mask");
	populate = YAHOO.util.Dom.get("populate");
	images = YAHOO.util.Dom.get("images");
	previous = YAHOO.util.Dom.get("previous");
	next = YAHOO.util.Dom.get("next");
	close = YAHOO.util.Dom.get("close");
	placeholder = YAHOO.util.Dom.get("placeholder");
	placeHolderImage = YAHOO.util.Dom.get("placeHolderImage");
	description = YAHOO.util.Dom.get("description");
	
	var imgArray = [];
	var view = new currentView([], 0);
		
	var setCurrentArray = function(elem) {		
		var currentImgs = [];
		
		var windowWidth = YAHOO.util.Dom.getViewportWidth();
		
		for(var i=0, il = imgArray.length; i < il; i++) {
			if(imgArray[i].reportID === elem.id) {
				currentImgs.push(imgArray[i]);
			}
		}
		if(currentImgs.length === 0) {
			return false
		} else {
			setUpBrowse(currentImgs, elem);
			YAHOO.util.Dom.setStyle(mask, "display", "block");
			if(YAHOO.env.ua.ie > 0 && wholeThing.scrollHeight > 30000) {
				//Nice bug IE!!!!
				YAHOO.util.Dom.setStyle(mask, "height", "30000px");
			} else {
				YAHOO.util.Dom.setStyle(mask, "height", wholeThing.scrollHeight + "px");
			}
			YAHOO.util.Dom.setStyle(images, "display", "block");
			YAHOO.util.Dom.setStyle(images, "top", wholeThing.scrollTop + 25 + "px");
			YAHOO.util.Dom.setStyle(images, "left", (windowWidth - images.clientWidth)/2 + "px");
		}
	}
	var setUpBrowse = function(thisView, eventLink) {
		var inView = new currentView(thisView, eventLink.id);
		view = inView;
		setImage(view.imgArray[view.currentImg]);
		YAHOO.util.Dom.setStyle(previous, "visibility", "hidden");
		if(view.imgArray.length === 1) {
			YAHOO.util.Dom.setStyle(next, "visibility", "hidden");
		} else {
			if(!YAHOO.util.Event.getListeners(next, "click", changeImage)) {
				YAHOO.util.Event.addListener(next, "click", changeImage);
			}
			if(!YAHOO.util.Event.getListeners(previous, "click", changeImage)) {
				YAHOO.util.Event.addListener(previous, "click", changeImage);
			}
		}
	}
	var changeImage = function(ev) {
		if(this === next) {
			YAHOO.util.Dom.setStyle(previous, "visibility", "visible");
			if(manageIndex(view.currentImg, next) === "isPenultimate") {
				YAHOO.util.Dom.setStyle(next, "visibility", "hidden");	
			}
			setImage(view.imgArray[view.currentImg]);
		} else {
			YAHOO.util.Dom.setStyle(next, "visibility", "visible");
			if(manageIndex(view.currentImg, previous) === "isSecond") {
				YAHOO.util.Dom.setStyle(previous, "visibility", "hidden");	
			}
			setImage(view.imgArray[view.currentImg]);
		}
	}
	var manageIndex = function(index, obj) {	
		if(obj === previous) {
			if(view.currentImg === view.firstImg + 1) {
				view.currentImg--;
				return "isSecond";
			} else {
				view.currentImg--;
				return "ignore";
			}
		} else {
			if(view.currentImg === view.lastImg - 1) {
				view.currentImg++;
				return "isPenultimate";
			} else {
				view.currentImg++;
				return "ignore";
			}
		}
	}
	var setImage = function(obj) {
		//COME BACK TO THIS FOR IE
		placeHolderImage.src = obj.imageUrl;
		placeHolderImage.alt = obj.imageDesc;
		if(YAHOO.env.ua.ie === 0) {
			description.innerHTML = "<strong>&quot;</strong>" + obj.imageDesc + "<strong>&quot;</strong>";
		}
	}
	var closeImages = function() {
		YAHOO.util.Dom.setStyle(images, "display", "none");
		YAHOO.util.Dom.setStyle(mask, "display", "none");
		YAHOO.util.Dom.setStyle(previous, "visibility", "visible");
		YAHOO.util.Dom.setStyle(next, "visibility", "visible");
		placeHolderImage.src = "";
		placeHolderImage.alt = "";
		view = {};
	}
	return {
		init: function() {
			setCurrentArray(this);
			YAHOO.util.Event.addListener(close, "click", closeImages);
		},
		addToImageArray: function(obj) {
			imgArray.push(obj);
		}
	}
})();
var setUpImages = (function() {
	var sUrl = "../includes/getEventImages.php";
	var getImageData = function(json) {
		for(var i=0, il = json.images.length; i < il; i++) {
			var thisImg = new reportImg(json.images[i].eID,json.images[i].URL,json.images[i].DESC);
			showImages.addToImageArray(thisImg);
		}
	}
	var handleSuccess = function(o){ 
		if(o.responseText !== undefined){
			var json = o.responseText.substring(o.responseText.indexOf('{'), o.responseText.lastIndexOf('}') + 1);
			var update_string = YAHOO.lang.JSON.parse(json);
			getImageData(update_string);
			YAHOO.util.Event.addListener(YAHOO.util.Dom.getElementsByClassName("report_photos", "h3", "teamsWrapper"), "click", showImages.init);
	       } 	
	   } 
	var handleFailure = function(o){ 
	    if(o.responseText !== undefined){
			alert(o); 
	    } 
	}			   
	var callback = { 
	  success:handleSuccess, 
	  failure: handleFailure
	}
	var doRequest = function() {
		var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
	}
	return {
		init: function() {
			doRequest();
		}
	}
})();