dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.StackContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.dijit");
// optimize: load dijit layer
dojo.require("dojox.image.SlideShow");
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dijit.Tooltip");
dojo.require("dijit.Dialog");
dojo.require("dojox.layout.ContentPane");
dojo.require("dojo.parser");


//global variables
// catalogs
var nlsCatGeneral = new Object(eval((new XMLHttpLoader()).getSync("./data/content/common_stuff/general_nls_content.json")));
var titleCycleDelay = 5000;

// catalogs
     var rndPool = new Object(eval((new XMLHttpLoader()).getSync("./data/content/sculptures/rndtext.json")));





//end global variables


dojo.addOnLoad(function() {
dojo.parser.parse();




    var buildUI = function() {



        var filestore = new dojo.data.ItemFileReadStore({
            url: "../../../data/context/sculptures.json"
        });



        var slideshow = new dojox.image.SlideShow({
            slideShowInterval: 10,
            loop: true,
            autoLoad: true,
            id: 'defaultslideshow',
            autoStart: false,
            noLink: true,
            dynamicScale: true
        }).placeAt(dojo.body());


        dojo.style(dijit.byId("defaultslideshow").domNode, {
            "position": "absolute",
            "left": "0px",
            "top": "0px",
            "width": "100%",
            "height": "100%",
            "text-align": "left",
            "margin": "0px",
            "padding": "0px",
            "z-index": "0",
            "border": "none"
        });



        slideshow.setDataStore(
        filestore,
        {
            query: {},
            count: 64
        },
        {
            imageThumbAttr: "thumb",
            imageLargeAttr: "large"
        }
        );









        var statuscheck = function() {

 
            var titlescript = function() {
				console.log("titlescript running");
                //detect layouting fail and correct the problem
                if (dijit.byId("outer")._contentBox.h === 0) {
                    location.reload();
                }
                hidden_content = dojo.byId("work_title_hidden");

                dojo.subscribe(
                dijit.byId("defaultslideshow").getShowTopicName(),
                function(packet) {
                    var title = dojo.byId('image_title');
                    var hidetitle = dojo.animateProperty({
                        node: title,
                        duration: 500,
                        properties: {
                            opacity: {
                                end: 0
                            }
                        },
                        onEnd: function() {
                            title.innerHTML = packet.title;
                        }
                    });
                    var showtitle = dojo.animateProperty({
                        node: title,
                        duration: 500,
                        properties: {
                            opacity: {
                                end: 1
                            }
                        }
                    });

                    var titlereplacer = dojo.fx.chain([hidetitle, showtitle]);


                    titlereplacer.play();

                });

            };




            titlescript();


            var footerscript = function() {
                //detect layouting fail and correct the problem
                if (dijit.byId("outer")._contentBox.h === 0) {
                    location.reload();
                }

                //internationalize footer content




                //internationalize footer content
                nls.regCatId("i18n_slideshow_playpayse_tt", nlsCatGeneral.i18n_slideshow_playpayse_tt);
                nls.regCatId("i18n_slideshow_prev_tt", nlsCatGeneral.i18n_slideshow_prev_tt);
                nls.regCatId("i18n_slideshow_next_tt", nlsCatGeneral.i18n_slideshow_next_tt);


                //variables needed by the content toggling function
                setupSlideshowNaviDisplacerVars();

                slideshowNaviDisplacer();


                //this is the new slideshow navigation menu, takes context from the first slideshow widget instantiated
                dojo.connect(dojo.byId("slideshow_playpause"), "onclick", dijit.byId("defaultslideshow"), 'toggleSlideShow');
                dojo.connect(dojo.byId("slideshow_playpause"), "onclick",
                function() {
                    dojo.toggleClass(dojo.byId("slideshow_playpause"), "slideShowActive");
                })
                dojo.connect(dojo.byId("slideshow_next"), "onclick", dijit.byId("defaultslideshow"), '_next');
                dojo.connect(dojo.byId("slideshow_prev"), "onclick", dijit.byId("defaultslideshow"), '_prev');


                dojo.subscribe(
                dijit.byId("defaultslideshow").getShowTopicName(),
                function(packet) {

                    dojo[ + (dijit.byId("defaultslideshow").imageIndex) < 1 ? "addClass": "removeClass"](dojo.byId("slPrev"), "slideShowCtrlHide");
                    dojo[( + (dijit.byId("defaultslideshow").imageIndex) + 1) >= dijit.byId("defaultslideshow").maxPhotos ? "addClass": "removeClass"](dojo.byId("slNext"), "slideShowCtrlHide");
                    dojo[( + (dijit.byId("defaultslideshow").imageIndex) === 0) && (dijit.byId("defaultslideshow").maxPhotos == 1) ? "addClass": "removeClass"](dojo.byId("slPlay"), "slideShowCtrlHide");
                });

                dojo.connect(dojo.byId("i18n_gallerytext"), "onclick", togglecontent);
                dojo.connect(dojo.query(".blackLink")[0], "onclick", togglecontent);

            };


            var footerscript_trigger = function() {
                return (dijit.byId("bottom_region").isLoaded === true) ? footerscript: dojo.connect(dijit.byId("bottom_region"), "onLoad", footerscript);
            };

            footerscript_trigger();


            var contentscript = function() {

                //detect layouting fail and correct the problem
                if (dijit.byId("outer")._contentBox.h === 0) {
                    location.reload();
                }

				dojo.byId("randtext").innerHTML = " ";
				
				dojo.attr("rndtextcontainer",{
				    style:{
				        height:"42px", minHeight:"42px", maxHeight:"42px", overflow:"hidden"
				    }
				});


		     	// animations
		     	new RndText(dojo.byId("randtext"), rndPool, titleCycleDelay);


//                dojo.connect(dojo.byId("viewallgallery"), "onclick", togglecontent);
				dojo.connect(dojo.byId("viewallgallery"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(0); togglecontent(); });

				dojo.connect(dojo.byId("sculptures_img1"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(1); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img2"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(2); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img3"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(3); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img4"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(4); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img5"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(5); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img6"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(6); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img7"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(7); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img8"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(8); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img9"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(9); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img10"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(10); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img11"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(11); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img12"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(12); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img13"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(13); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img14"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(14); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img15"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(15); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img16"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(16); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img17"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(17); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img18"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(18); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img19"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(19); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img20"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(20); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img21"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(21); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img22"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(22); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img23"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(23); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img24"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(24); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img25"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(25); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img26"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(26); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img27"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(27); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img28"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(28); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img29"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(29); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img30"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(30); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img31"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(31); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img32"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(32); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img33"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(33); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img34"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(34); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img35"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(35); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img36"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(36); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img37"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(37); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img38"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(38); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img39"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(39); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img40"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(40); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img41"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(41); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img42"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(42); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img43"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(43); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img44"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(44); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img45"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(45); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img46"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(46); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img47"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(47); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img48"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(48); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img49"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(49); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img50"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(50); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img51"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(51); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img52"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(52); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img53"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(53); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img54"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(54); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img55"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(55); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img56"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(56); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img57"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(57); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img58"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(58); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img59"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(59); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img60"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(60); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img61"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(61); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img62"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(62); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img63"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(63); togglecontent(); });
				dojo.connect(dojo.byId("sculptures_img64"), "onclick", dijit.byId("defaultslideshow"), function(evt) { this.showImage(64); togglecontent(); });              

            };



            contentscript();



            var headerscript = function() {

                //detect layouting fail and correct the problem
                if (dijit.byId("outer")._contentBox.h === 0) {
                    location.reload();
                }


                //internationalize stuff
                // animations
                //static texts
                //tooltips
            };


       headerscript();



        };



        // do all the layout etc
        statuscheck();

		dojo.style(dojo.query(".soria")[0], "opacity", 0);
		dojo.style(dojo.query(".soria")[0], "visibility", "visible");
		dojo.animateProperty({node: dojo.query(".soria")[0], duration: 500, properties: {opacity: { end: 1 }} }).play();


    };

    dojo.addOnLoad(buildUI);



});






