iframes = [];
window.addEvent("load", function () {
	
	if(iframes.length) {
		iframes.each(
			function (a,i) {
				(function () {a.element.src = a.src}).delay(1000);
				}
			);
		}
	// Get all the links	
	$$("a").each(
		function(element, indx, arr) {
			// New window it if it links to an external location
			if(element.get("target") == null && element.get("href").indexOf("http") != -1) {
				element.set("target", "_blank");
				}
			// If the link goes to the S3 bucket...
			if (element.get("href").toString().indexOf("amazonaws") != -1) {
				
				// Add click event
				element.addEvent("click", function (ev) {
					var amz = "http://s3.amazonaws.com/threesquares/" + document.domain.replace("www.", "");
					// Strip out the S3 buck path and leave the local path
					filePath = element.get("href").toString().replace(amz, "");
					// Track it with google analytics if it is being used
					if (typeof(_gaq) == "object") {
						_gaq.push(['_trackPageview', filePath])
						}	
					// Make a request to log it with the web server
					var req = new Request({
						method : "get",
						url : filePath
						}).send();
					// Immeediatly cancel the request because we dont want to actually load the file
					req.cancel();
					})
				}
			
			}
		);
	/*
	showSubscribe = false;
	if(!showSubscribe) {
		if(Cookie.read("loads")) {
			//alert(Cookie.read("loads"))
			if (parseFloat(Cookie.read("loads")) < 5) {
				Cookie.write("loads", parseFloat(Cookie.read("loads")) + 1, {duration: 400});
				// Open registration form
				if (!$("site-mask")) {
					mask = new Mask({
						elementClass	: "enews-subscribe",
						title	: "E-Newsletter Subscribe",
						type 	: "panel",
						size 	: "large",
						url 	: "viewmodes/subscriptions/subscribe.cfm?entry",
						buttons	: [{label:"Close",id: "close-mask"}]
						}).create();
					}
				}
			}
		else {
			Cookie.write("loads", 1, {duration: 400});
			if (!$("site-mask")) {
				mask = new Mask({
					elementClass	: "enews-subscribe",
					title	: "E-Newsletter Subscribe",
					type 	: "panel",
					size 	: "large",
					url 	: "viewmodes/subscriptions/subscribe.cfm?entry",
					buttons	: [{label:"Close",id: "close-mask"}]
					}).create();
				}
			}
		}
	 */
	
	$("newsletter-signup").getFirst("a").addEvent("click", function (ev) {
		if(ev) ev.stop();
		if (!$("site-mask")) {
				mask = new Mask({
					elementClass	: "enews-subscribe",
					title	: "E-Newsletter Subscribe",
					type 	: "panel",
					size 	: "large",
					url 	: "viewmodes/subscriptions/subscribe.cfm?entry",
					buttons	: [{label:"Close",id: "close-mask"}]
					}).create();
			}
		});
	});

	
window.addEvent('domready', function(){
	// remove all the src values form the iframes cause it slows the load times. onLoad set them all again
	$$("iframe").each(
		function (f) {
			iframes[iframes.length] = {element : f, src : f.get("src")}
			f.set("src", "");
			}
		);
		
		
	if($("date-filter")) {
		firstDate = new Date();
		firstDate.setYear(2011);
		firstDate.setMonth(1);
		firstDate.setDate(1);
		dateFilter = new Calendar(
			{ "date-filter" : 'Y-M-d' }, 
			{ 
				classes: ['dashboard'], 
				direction: 1 ,
				defaultDate : firstDate,
				onShowStart : function () {
					$("date-filter").value = "";
					}
				}
			)
		};
	
	partnerShow = new SlideShow($("partner-slide"), {
		delay:5000, 
		onStart : function () {
			Cookie.write("PartnerSlidePosition", this.getPosition()-1);
			},
		onInitialize : function () {
			Cookie.write("PartnerSlidePosition", this.getPosition());
			},
		position : Cookie.read("PartnerSlidePosition")
		});
	partnerShow.play();
	
	
	
	if ($("home-event-carosel")) {
		slideShow = new SlideShow($("home-event-carosel").getFirst("ul"), {
			delay: 10000,
			duration: 1000,
			onInitialize: function(){
				var c = this.getCount();
				
				$("home-event-carosel").getElement("a[title=prev]").addEvent("click", function(ev){
					ev.stop();
					this.prev();
					}.bindWithEvent(this));
				$("home-event-carosel").getElement("a[title=next]").addEvent("click", function(ev){
					ev.stop();
					this.next();
					}.bindWithEvent(this));
				
				$("slide-positions").getElements("a").addEvent("click", function (ev) {
					ev.stop();
					
					this.goTo(parseInt($(ev.target).get("text"))-1)
					}.bindWithEvent(this));
				
				this.start();
			},
			onStart: function(){
				$("slide-positions").getElements("a").removeClass("active");
				$("slide-positions").getElements("a")[this.getPosition()-1].addClass("active")
				
			},
			
			onMouseOver: function(){
				this.stop();
			},
			onMouseOut: function(){
				this.play();
			}
		}).play();
	}
	
	// Accordian panel
	
	if($("accordian-panels")) {
		startPanel = null;
		/*
$("accordian-panels").getElements("h3").each(
			function (el, indx) {
				if(el.get("text").indexOf("New Mardi Gras News") != -1) {
					startPanel = indx;
					}
				}
			);
*/
		myAccordion = new Accordion($('accordian-panels'), 'h3.panel-title', 'div.panel-content', {
			opacity: false, display : ($("home-container") ? 3 : $$(".panel-content").length == 1 ? 0 : startPanel), alwaysHide : true,
			onBackground : function () {
				if(this.wasOpen != null) {
					this.elements[this.wasOpen].setStyle("overflow", "hidden");
					}
				if(this.wasOpen != null) {
					this.elements[this.wasOpen].setStyle("visibility", "hidden");
					}
				},
			onComplete : function (togglers, elements) {
				
				if(this.isOpen != null) {
					this.togglers[this.isOpen].removeClass("right");
					this.togglers[this.isOpen].addClass("down");
					this.elements[this.isOpen].setStyle("overflow", "visible");
					this.elements[this.isOpen].setStyle("visibility", "visible");
					/*
					this.togglers[this.isOpen].getFirst().set("text", "-");
					this.togglers[this.isOpen].getFirst().set("class", "toggle-indicator-minus");
					this.elements[this.isOpen].setStyle("overflow", "visible");
					this.elements[this.isOpen].setStyle("visibility", "visible");
					*/
					}
				if(this.wasOpen != null) {
					this.togglers[this.wasOpen].removeClass("down");
					this.togglers[this.wasOpen].addClass("right");
					/*
					this.togglers[this.wasOpen].getFirst().set("text", "+");
					this.togglers[this.wasOpen].getFirst().set("class", "toggle-indicator");
					*/
					}
				
				}
			});
				
		}
	
	if($("partners-accordian")) {
		myAccordion = new Accordion(
			$('partners-accordian'), 
			'h3.partner-panel-title', 
			'div.partner-panel-content', 
			{
				opacity: false, 
				display : 0, 
				fixedHeight : false,
				alwaysHide : true,
				onBackground : function () {
					
					if(this.wasOpen != null) {
						this.elements[this.wasOpen].setStyle("overflow", "hidden");
						}
					if(this.wasOpen != null) {
						this.elements[this.wasOpen].setStyle("visibility", "hidden");
						}
						
					},
				onComplete: function(togglers, elements){
				
					if (this.isOpen != null) {
						this.togglers[this.isOpen].removeClass("right");
						this.togglers[this.isOpen].addClass("down");
						this.elements[this.isOpen].setStyle("overflow", "visible");
						this.elements[this.isOpen].setStyle("visibility", "visible");
						}
					if (this.wasOpen != null) {
						this.togglers[this.wasOpen].removeClass("down");
					this.togglers[this.wasOpen].addClass("right");
						}
					}
			});
				
		}
	/*
	if($("footer-menu-panel")){
		footerSiteMap = new Fx.Slide($("footer-menu-panel"), {onComplete : function () {new Fx.Scroll(window).toBottom()}});
		footerSiteMap.hide();
		$("footer-menu-panel").setStyle("display", "block");
		$("footer-site-map").addEvent("click", function (ev) {
			ev.stop(); 
			footerSiteMap.toggle();
			ev.target.toggleClass("open");
			});
		}
	*/
	
	
	//////////////////////////////////////////////////////////////////
	// Open specific links in mask ///////////////////////////////////
	//////////////////////////////////////////////////////////////////
	$$("a.ajax-content-window").each(
		function (el) {
			if(el.get("text") != "Sitemap") {
				if (!el.getProperty("title")) {
					el.setProperty("title", el.get("text").toLowerCase());
					}
				el.addEvent("click", function (ev){
					ev.stopPropagation();
					ev.stop();
					openContent(el);
					
					});
				}
			}
		);
		
	//////////////////////////////////////////////////////////////////
	// Open content type windows /////////////////////////////////////
	//////////////////////////////////////////////////////////////////
	$$("a.related-content-type").each(
		function (el) {
			
			if (!el.getProperty("title")) {
				el.setProperty("title", el.get("text").toLowerCase());
				}
			el.addEvent("click", function (ev){
				ev.stopPropagation();
				ev.stop();
				openRelatedContent(el);
				
				});
				
			}
		);
	
	//////////////////////////////////////////////////////////////////
	// Open specific links in mask ///////////////////////////////////
	//////////////////////////////////////////////////////////////////
	$$("a.ajax-related-link").each(
		function (el) {
			if(el.get("text") != "Sitemap") {
				el.removeProperty("onclick")
				if (!el.getProperty("title")) {
					el.setProperty("title", el.get("text").toLowerCase());
					}
				el.addEvent("click", function (ev){
					ev.stopPropagation();
					ev.stop();
					openLink(el);
					
					});
				}
			}
		);
	
	////// End /////////////////////
	
	}); 


function styleTables () {
	$$("table.style").each(
		function (e) {
			var rows = e.getElements("tr");
			var count = 0;
			for (var i = 0; i < rows.length; ++i) {
				if (rows[i].getParent().tagName.toLowerCase() != "tfoot") {
					rows[i].removeClass("odd");
					rows[i].removeClass("even");
					if (rows[i].style.display != "none") {
						rows[i].addClass(rows[i].getElements("th").length > 0 ? "head" : (count % 2 == 0 ? "odd" : "even"));
						++count;
						}
					}
				}
			}
		);
	}


function openFeatureContent(id) {
	mask = new Mask({
		elementClass	: "content-view",
		title	: arguments.length == 2 ? arguments[1] : "",
		type 	: "panel",
		size 	: "xlarge",
		url 	: "/viewmodes/feature-articles/raw-feature.cfm?featurearticleid=" + arguments[0],
		buttons	: [{label:"Close",id: "close-mask"}],
		onComplete : function () {
			if (window.getScroll() > 30) {
				this.containerElement.setStyle("top", "20px");
				}
			}
		}).create();
	}	

function openContent(linkEl) {
	mask = new Mask({
		elementClass	: "content-view",
		title	: arguments.length == 2 ? arguments[1] : linkEl.title,
		type 	: "panel",
		size 	: "large",
		url 	: "/viewmodes/content/raw-content.cfm?link=" + linkEl.href,
		buttons	: [{label:"Close",id: "close-mask"},{label:"Print",id:"print-mask"}],
		onComplete : function () {
			if (window.getScroll() > 30) {
				this.containerElement.setStyle("top", "20px");
				}
			}
		}).create();
	}
	
function openRelatedContent(linkEl) {
	mask = new Mask({
		elementClass	: "content-view",
		title	: linkEl.title,
		type 	: "panel",
		size 	: "large",
		url 	: linkEl.href,
		buttons	: [{label:"Close",id: "close-mask"},{label:"Print",id:"print-mask"}],
		onComplete : function () {
			if (window.getScroll() > 30) {
				this.containerElement.setStyle("top", "20px");
				}
			}
		}).create();
	}

function openLink(linkEl) {
		mask = new Mask({
		elementClass	: "content-view",
		title	: linkEl.title,
		type 	: "panel",
		size 	: "large",
		url 	: "/viewmodes/feature-articles/link-intro.cfm?link=" + linkEl.href,
		buttons	: [
					{
					label:"Close",
					id: "close-mask"
					},
					{
					label:"Coninute",
					id:"link-continue",
					onClick : function () {
						if (linkEl.href.indexOf(document.domain) != -1) {
							location.href = linkEl.href;
							}
						else {
							window.open(linkEl.href);
							}
						}
					}
					],
		onComplete : function () {
			if (window.getScroll() > 30) {
				this.containerElement.setStyle("top", "20px");
				}
			if (this.getBodyElement().get("text") == "This page is not available.") {
				this.maskElement.addClass("error");
				$("link-continue").dispose();
				}
			}
		}).create();
		
	}	

String.prototype.reverse = function () {
	var newString = "";
	for (var i = 0; i < this.length; ++i) {
		newString = this.substring(i,i+1) + newString;
		}
	return newString
	}

Number.prototype.dollarFormat = function () {
	var formatted = "";
	var tmp = new String(this);
	var parts = tmp.split(".");
	var whole = parts[0].reverse();
	for (var i = 0; i < whole.length; ++i) {
		//alert(i % 3) 
		if (i % 3 == 0 && i != 0) {
			formatted += ",";
			}
			formatted += whole.substring(i,i+1);
		}
	return "$" + formatted.reverse() + "." + (parts.length == 2 ? parts[1] : "00")
	
	}

	

	
