/*
    Base Page object for all pages and templates in the site
*/

Site.Page = Class.create
(
    Site.Base,
    {
        initialize: function($super) 
        {
            $super();
            
            this.addObservers("windowOnLoad", "domOnLoad", "searchFieldOnClick", "searchTypeSelect", "searchDropdownOnClick", "searchFieldOnSubmit", "signInOnClick");
            this.addBlocks("getWelcomeMenuOffset");
            
            addEvent(window, 'load', this.observers.windowOnLoad);
            Event.observe(document, 'dom:loaded', this.observers.domOnLoad);
        },

        windowOnLoad: function(event)
        {
            
        },
        
        domOnLoad: function($super, event) 
        {
            // Setup the browse categories and menu drop downs
           this.categoriesDropDown = new Site.Widgets.DropDown( $('navigation-browse-categories'),  $('categories-menu'), {hideDelay: 1000});
           
           var welcomeOther = $('welcome-other');
           var welcomeMenu = $('welcome-menu');
           
           if (welcomeOther)
           {
               // CHANGED: 08 Feb 2008
               this.welcomeDropDown = new Site.Widgets.Tooltip(  welcomeMenu, welcomeOther, { offsetY: -76, showOnClick: true, offsetX: Prototype.Browser.IE ? 196: 27, getElementOffset: this.blocks.getWelcomeMenuOffset } );
           }
           
           
           // Setup the sign in module
        
           var signInTrigger = $('signin_module_trigger');
           var signInModule = $('signin_module');
           
           if (signInTrigger)
           {
               this.signInDropDown = new Site.Widgets.Tooltip(  signInModule, signInTrigger, { offsetY: -76,  offsetX: Prototype.Browser.IE ? 102: -67, getElementOffset: this.blocks.getWelcomeMenuOffset, showOnClick: true } );
           }
           
           
           
           //setup the search field dropdown
           this.searchtype_select = $('search-anchor-ul').select("a.searchtype_dd");
           
           this.searchtype_select.each
           (
                function(link)
                {
                    addEvent(link, "click", this.observers.searchTypeSelect);
                },
                this
            );
           
           // Setup the ticker
           this.ticker = new Site.Widgets.Ticker($('ticker'));

           addEvent($('s'), "click", this.observers.searchFieldOnClick);
           
           // addEvent($('s2'), "click", this.observers.searchFieldOnClick);  */
           // addEvent($('username'), "click", this.observers.searchFieldOnClick); 
           // addEvent($('password'), "click", this.observers.searchFieldOnClick); 
           
           addEvent($('search-1'), "submit", this.observers.searchFieldOnSubmit);
           
           // addEvent($('search-2'), "submit", this.observers.searchFieldOnSubmit);*/
		   //alert($('signin_module_trigger_li').id);
		   if ($('signin_module_trigger_li')) {
           		addEvent($('signin_module_trigger_li'), "click", this.observers.signInOnClick);
		   }
           
           if($('search-widget')){ addEvent($('search-anchor'), "click", this.observers.searchDropdownOnClick); }

        },
        
        
        searchDropdownOnClick: function(event){
            
            /*
            if($('search-anchor-ul').style.display == 'none'){
                $('search-anchor-ul').show();                
            } else {
                $('search-anchor-ul').hide();
            }
            */
            $('search-anchor-ul').toggle();
            Event.stop(event);
            
        },        
        
        getWelcomeMenuOffset: function()
        {
            return [ $('welcome').offsetLeft + $('welcome-other').offsetLeft, 0 ];
        },
        
        searchTypeSelect: function(event)
        {
            
            var element = Event.element(event);
            $('search-anchor-ul').hide();
            $('searchtype_hdn').value = element.rel;
            $('search_term_type').innerHTML = element.innerHTML;
            $('s').focus();
            
            this.reset_search_li = $('search-anchor-ul').select("li");
            this.reset_search_li.each
            (
                function(link)
                {
                    Element.removeClassName(link, "selected");
                },
                this
            );
            
            Element.addClassName(element.parentNode, "selected");
            
            Event.stop(event);
            
        },
        
        searchFieldOnClick: function(event)
        {
            
            var element = Event.element(event);
            element.value = '';

            removeEvent(element, "click", this.observers.searchFieldOnClick);
        },
        
        searchFieldOnSubmit: function(event)
        {
            var element = Event.element(event);
            
            if(element.id == 'search-1'){
                if($F('s') == '' || $F('s') == 'Enter search term'){
                    alert('You must enter a search term.');
                    //alert($F('s'));
                    Event.stop(event);
                }
            } else {
                if($F('s2') == '' || $F('s2') == 'Enter search term'){
                    alert('You must enter a search term.');
                    Event.stop(event);
                }
            }           
            
        
        },
        
        signInOnClick: function(event)
        {
            
            $('username').focus();
        },
        
        destroy: function($super)
        {
            removeEvent($('s'),  "click", this.observers.searchFieldOnClick);
			//alert($('signin_module_trigger_li'));
            if($('signin_module_trigger_li')){ 
                removeEvent($('signin_module_trigger_li'),  "click", this.observers.signInOnClick); 
                }
            //removeEvent($('s2'), "click", this.observers.searchFieldOnClick);
           
            this.release(this.categoriesDropDown, this.welcomeDropDown, this.ticker);

            $super();

        }
    }
);

function trackPdfDownload(pdfName)
{
    var s=s_gi("christiesprod"); 
    s.linkTrackVars='eVar29,events,prop8'; 
    s.linkTrackEvents='event11';
    s.eVar29='PDF';
    s.prop8=pdfName;
    s.events='event11';
    s.tl(this,'o','Download');
}