/* site.js */

// set to false if you want that older ShareThis widget.
var switchTo5x = true;
var nActiveAccordion = 1;

Ext.override(Ext.lib.Scroll, {
    setAttr : function(attr, val, unit) {
        var me = this;

        if(attr == 'scroll'){
            if(me.el == Ext.getBody().dom){
                window.scrollTo(val[0], val[1]);
            }else{
                me.el.scrollLeft = val[0];
                me.el.scrollTop = val[1];
            }
        }else{
            superclass.setAttr.call(me, attr, val, unit);
        }
    }
});

Ext.onReady(function(){

    Ext.lib.Ajax.defaultXhrHeader = 'XMLHttpRequest';

    Ext.isiPhone = Ext.isSafari && /iphone/.test(navigator.userAgent.toLowerCase()); // disregards iphone OS version no.
    Ext.isiPod = Ext.isSafari && /ipod/.test(navigator.userAgent.toLowerCase()); // ipod touch - disregards iphone OS version no.    
    Ext.isiPad = Ext.isSafari && /ipad/.test(navigator.userAgent.toLowerCase()); // ipad - disregards iphone OS version no.    
    
    var oBody = Ext.getBody();
    
    function init(){
        initHomeAccordion();
        initCloseInfoBar();
    }
    
    function initHomeAccordion(){
        var oAccordion = Ext.get('accordion');
        var oClosingDT, oClosingDD, oOpeningDT, oOpeningDD, oTarget;
        if(oAccordion){
            oAccordion.addClass('setup');
            oAccordion.on('click', function(evt, el, o){
                oTarget = Ext.get(el);
                if(oTarget.dom.id != 'accordion-' + nActiveAccordion){
                    oClosingDT = Ext.get('accordion-' + nActiveAccordion);
                    oClosingDD = Ext.get('accordion-' + nActiveAccordion + '-content');
                    oOpeningDT = oTarget;
                    oOpeningDD = Ext.get(oTarget.dom.id + '-content');
                    oOpeningDT.addClass('open');
                    oOpeningDD.setHeight(oOpeningDD.child('div').getHeight(), {
                        duration: 0.3,
                        callback: function(){
                            oOpeningDD.addClass('open');
                        }
                    });
                    oClosingDT.removeClass('open');
                    oClosingDD.removeClass('open');
                    oClosingDD.setHeight(0, {
                        duration: 0.3
                    });
                }
                nActiveAccordion = oTarget.dom.id.split('-')[1];
            }, null, {
                delegate: 'dt'
            });
        }
    
      /*
        var oItems = Ext.select('ul.items');
        if(oItems){
            oItems.each(function(el, array, index){
                oItem = Ext.get(el);
                oItem.addClass('clickable');
            });
            oItems.on('click', function(evt, el, o){
                var oTarget = Ext.get(el);
                var oLink = oTarget.child('a');
                if(oLink){
                    location.href = oLink.dom.href;
                }
            }, null, {
                delegate: 'li.item'
            });
        }
      */
    }
    
    function initCloseInfoBar(){
        var oClose = Ext.get('x-info-bar');
        if(oClose){
            oClose.enableDisplayMode('block');
            oClose.show(true);
            oClose.on('click', function(evt, el, o){
                this.parent().fadeOut({
                    endOpacity: 0
                  , duration: 0.5
                  , remove: true
                });
            }, null, {
                preventDefault: true
              , stopEvent: true
              , stopPropagation: true
            });
        }
    }
    
    init();
});

function launchYoutube(title, youtube_src, width, height){
    if(Shadowbox.plugins.fla){
        Shadowbox.open({
            player: 'swf',
            width: width + 'px',
            height: height + 'px',
            title: title,
            content: 'http://www.youtube.com/v/' + youtube_src + '&hd=1&hl=en&fs=1&rel=0&autoplay=1'
        });
        return false;
    }
    return true;
}
