/*
 * Copyright (c) 2009, The Walt Disney Company All Rights Reserved.
 */


dojo._xdResourceLoaded(function (dojo, dijit, dojox) {
	return {depends:[["provide", "com.family.gap_12152009.gallery.Gallery"], ["require", "com.family.gap_12152009.Page"], ["require", "com.family.gap_12152009.search.SearchEntries"], ["require", "dijit.form.Button"]], defineResource:function (dojo, dijit, dojox) {
		if (!dojo._hasResource["com.family.gap_12152009.gallery.Gallery"]) {
			dojo._hasResource["com.family.gap_12152009.gallery.Gallery"] = true;
			dojo.provide("com.family.gap_12152009.gallery.Gallery");
			dojo.require("com.family.gap_12152009.Page");
			dojo.require("com.family.gap_12152009.search.SearchEntries");
			dojo.require("dijit.form.Button");
			dojo.declare("com.family.gap_12152009.gallery.Gallery", [com.family.gap_12152009.Page], {userObject:null, category:"all", pagereset:false, sort:"recent", page:1, totalPages:1, constructor:function (document) {
				this._document = document;
				dojo.addOnLoad(dojo.hitch(this, "_onLoad"));
			}, _onLoad:function () {
				this.category = dojo.byId("hd_category").value;
				this.sort = dojo.byId("hd_sort").value;
				this.page = dojo.byId("hd_page").value;
				this.totalPages = dojo.byId("hd_totalPages").value;
				this.inherited(arguments);
				this.makeMagicButtons();
			}, updateView:function () {
				url = "/gapcastingcall/galleries";
				url += "/" + this.category;
				if (this.sort == "popular") {
					url += "/popular";
				}
				if (this.sort == "finalists") {
					url += "/finalists";
				}
				if (this.pagereset) {
					this.page = 1;
				}
				url += "/" + this.page;
				window.location = url + "/";
			}, viewByCategory_click:function (evt) {
				dojo.query(".viewByCategory button").removeClass("selected");
				this.category = evt.target.value.replace(" ", "").toLowerCase();
				this.pagereset = true;
				this.updateView();
			}, sortBy_click:function (evt) {
				dojo.query(".sortBy button").removeClass("selected");
				this.sort = evt.target.value;
				if (this.sort == "Most Fan Favorite Votes") {
					this.sort = "popular";
				} else {
					if (this.sort == "Entry Date") {
						this.sort = "recent";
					} else {
						if (this.sort == "Finalists") {
							this.sort = "finalists";
						}
					}
				}
				this.pagereset = true;
				this.updateView();
			}, paging_click:function (evt) {
				dojo.stopEvent(evt);
				this.page = evt.target.innerHTML;
				this.updateView();
			}, pagingForward_click:function (evt) {
				dojo.stopEvent(evt);
				this.page++;
				this.updateView();
			}, pagingBackward_click:function (evt) {
				dojo.stopEvent(evt);
				this.page--;
				this.updateView();
			}, makeMagicButtons:function () {
				dojo.query(".viewByCategory button").connect("onclick", dojo.hitch(this, "viewByCategory_click"));
				dojo.query(".sortBy button").connect("onclick", dojo.hitch(this, "sortBy_click"));
				dojo.query(".paging li a").connect("onclick", dojo.hitch(this, "paging_click"));
				dojo.query(".paging a.forward").connect("onclick", dojo.hitch(this, "pagingForward_click"));
				dojo.query(".paging a.backward").connect("onclick", dojo.hitch(this, "pagingBackward_click"));
				dojo.query("button").connect("onclick", function (e) {
					dojo.addClass(e.target, "selected");
					e.target.blur();
				}).connect("onmouseover", function (e) {
					dojo.addClass(e.target, "hover");
				}).connect("onmouseout", function (e) {
					dojo.removeClass(e.target, "hover");
				});
			}});
			window._ThisPage = new com.family.gap_12152009.gallery.Gallery(document);
		}
	}};
});

