
YAHOO.photoViewer.config = {
	viewers: {
		"lightbox1" : {
			properties: {
				id: "lightbox1",
				grow: 0.6,
				fade: 0.6,
				modal: true,
				dragable: false,
				fixedcenter: true,
				xy: [0,0],
				loadFrom: "html",
				position: "absolute",
				easing: YAHOO.util.Easing.easeBothStrong, 
				buttonText: { 
					next: " ", 
					prev: " ", 
					close: "X" 
				}
			}
		},
		"lightbox2" : {
			properties: {
				id: "lightbox2",
				grow: 0.6,
				fade: 0.6,
				modal: true,
				dragable: false,
				fixedcenter: true,
				xy: [0,0],
				loadFrom: "html",
				position: "absolute",
				easing: YAHOO.util.Easing.easeBothStrong, 
				buttonText: { 
					next: " ", 
					prev: " ", 
					close: "X" 
				}
			}
		},
		"gallery" : {
			properties: {
				id: "gallery",
				grow: 0.6,
				fade: 0.6,
				modal: false,
				dragable: true,
				fixedcenter: true,
				xy: [0,0],
				loadFrom: "html",
				position: "absolute",
				easing: YAHOO.util.Easing.easeBothStrong, 
				buttonText: { 
					next: " ", 
					prev: " ", 
					close: "X" 
				}
			}
		},
		"gallery-notcentered" : {
			properties: {
				id: "gallery-notcentered",
				grow: 0.6,
				fade: 0.6,
				modal: false,
				dragable: true,
				fixedcenter: false,
				xy: [200,200],
				loadFrom: "html",
				position: "absolute",
				easing: YAHOO.util.Easing.easeBothStrong, 
				buttonText: { 
					next: " ", 
					prev: " ", 
					close: "X" 
				}
			}
		},
		"lightbox3" : {
			properties: {
				id: "lightbox3",
				grow: 0.6,
				fade: 0.6,
				modal: false,
				dragable: false,
				fixedcenter: false,
				xy: [0,0],
				loadFrom: "html",
				position: "relative",
				container: "relshowcase",
				easing: YAHOO.util.Easing.easeBothStrong, 
				buttonText: { 
					next: " ", 
					prev: " ", 
					close: "X" 
				}
			}
		},
		"lightbox4" : {
			properties: {
				id: "lightbox4",
				grow: 0.6,
				fade: 0.6,
				modal: true,
				dragable: false,
				fixedcenter: true,
				xy: [0,0],
				loadFrom: "xml",
				url: "yui/examples/photos.xml",
				position: "absolute",
				easing: YAHOO.util.Easing.easeBothStrong, 
				buttonText: { 
					next: " ", 
					prev: " ", 
					close: "X" 
				}
			}
		},
		"lightbox5" : {
			properties: {
				id: "lightbox5",
				grow: 0.2,
				fade: 0.2,
				modal: true,
				dragable: false,
				fixedcenter: true,
				loadFrom: "html",
				position: "absolute",
				easing: YAHOO.util.Easing.easeBothStrong,
				buttonText: { 
					next: " ", 
					prev: " ", 
					close: "X" 
				},
				slideShow: { 
					loop: true,
					duration: 5000, 
					autoStart: false,
					playMode: "ordered",
					controlsText: {
						play: " ",
						pause: " ",
						stop: " ",
						display: "({0} of {1})"
					}
				}
			}
		},
		"lightbox6" : {
			properties: {
				id: "lightbox6",
				grow: 0.3,
				fade: 0.3,
				modal: true,
				dragable: false,
				fixedcenter: true,
				loadFrom: "flickr",
				position: "absolute",
				easing: YAHOO.util.Easing.easeBothStrong,
				buttonText: {
					next: " ",
					prev: " ",
					close: "X"
				},
				flickrRss: {
					id: "26965636@N00",
					thumbSize: "square" // square|thumb
				}
			}
		},
		"lightbox7" : {
			properties: {
				id: "lightbox7",
				grow: 0.2,
				fade: 0.2,
				modal: true,
				dragable: false,
				fixedcenter: true,
				position: "absolute",
				easing: YAHOO.util.Easing.easeBothStrong,
				buttonText:{
					next: " ",
					prev: " ",
					close: "X"
				},
				slideShow: { 
					loop:true,
					duration:5000,
					autoStart:false,
					playMode:"ordered",
					controlsText: {
						play: " ",
						pause: " ",
						stop: " ",
						display: "({0} of {1})"
					}
				},
				flickrApi: {
					apikey: "5ae7887a41f1354366a18ab8a03b32ef",
					thumbSize: "square",
					method: "flickr.photos.search",
					params: {text:"kittens AND puppies",per_page:"25",page:"1",sort:"interestingness-desc"}
				}
			}
		}
	}
};
YAHOO.photoViewer.hideCode = function(){
	var codes = null;
	var demos = ["lightbox1","lightbox2","lightbox3","lightbox4","lightbox5","lightbox6","lightbox7"];
	var that = this;
	return{
		init: function(){
			codes = document.getElementsByTagName("code");
			setEvents();
		},
		hide: function(){
			for (var a = 0; a < codes.length; a++){
				//YAHOO.util.Dom.setStyle(codes[a].parentNode, "visibility", "hidden");
				YAHOO.util.Dom.setStyle(codes[a].parentNode, "overflow", "hidden");
			}
		},
		show: function(){
			for (var a = 0; a < codes.length; a++){
				//YAHOO.util.Dom.setStyle(codes[a].parentNode, "visibility", "visible");
				YAHOO.util.Dom.setStyle(codes[a].parentNode, "overflow", "auto");
			}
		}
	};
	function setEvents(){
		addListeners();
		for (var a = 0; a < demos.length; a++){
			YAHOO.photoViewer.controller.getViewer(demos[a]).on("flickrload", addListeners);
			YAHOO.photoViewer.controller.getViewer(demos[a]).on("xmlload", addListeners);
		}
	};
	function addListeners(){
		for (var a = 0; a < demos.length; a++){
			YAHOO.photoViewer.controller.getViewer(demos[a]).on("openviewer", YAHOO.photoViewer.hideCode.hide);
			YAHOO.photoViewer.controller.getViewer(demos[a]).on("closeviewer", YAHOO.photoViewer.hideCode.show);
		}
	};
}();
lib.e.onDOMReady(YAHOO.photoViewer.hideCode.init, YAHOO.photoViewer.hideCode, YAHOO.photoViewer.hideCode);

YAHOO.photoViewer.changeNsid = function(){
	var nsid = null;
	var FlickrRss = null;
	return{
		init: function(){
			nsid = lib.d.get("nsid");
		},
		load: function(){
			FlickrRss = YAHOO.photoViewer.controller.getViewer("lightbox6").getProperty("flickrRss");
			FlickrRss.id = nsid.value;
			YAHOO.photoViewer.controller.getViewer("lightbox6").setProperty("flickrRss", FlickrRss);
			YAHOO.photoViewer.controller.getViewer('lightbox6').loadFlickr();
		}
	};
}();
lib.e.onDOMReady(YAHOO.photoViewer.changeNsid.init, YAHOO.photoViewer.changeNsid, YAHOO.photoViewer.changeNsid);

YAHOO.photoViewer.tabView = function(){
	var properties = {};
	var control = null;
	var tabs = null;
	var views = null;
	
	this.init = function(id){
		id = properties.id;
		control = lib.d.get(id);
		tabs = lib.d.getChildren(lib.d.getElementsByClassName("yui-nav", "ul", control)[0]);
		views = lib.d.getChildren(lib.d.getElementsByClassName("yui-content", "div", control)[0]);
		setEvents();
	};
	// private
	function setEvents(){
		for (var a = 0; a < tabs.length; a++){
			lib.e.on(tabs[a], "click", openView, tabs[a], true);
		}
	};
	function openView(){
		var index = getTabIndex(this);
		setTab(index);	
		setView(index);
	};
	function setTab(index){
		for (var a = 0; a < tabs.length; a++){
			lib.d.removeClass(tabs[a], "selected");
		}
		lib.d.addClass(tabs[index], "selected");
	};
	function setView(index){
		for (var a = 0; a < views.length; a++){
			lib.d.addClass(views[a], "remove");
		}
		lib.d.removeClass(views[index], "remove");
	};
	function getTabIndex(tab){
		for (var a = 0; a < tabs.length; a++){
			if (tabs[a] === tab){
				return a;
			}
		}
	};
};
YAHOO.photoViewer.tabs = function(){
	var tab = null;
	var public = {
		init: function(){
			tab = new YAHOO.photoViewer.tabView();
			tab.init("demo");
		}
	};
	return public;
}();
lib.e.onDOMReady(YAHOO.photoViewer.tabs.init, YAHOO.photoViewer.tabs, YAHOO.photoViewer.tabs);

