/* site.js */

Ext.onReady(function(){
    var oDoc = Ext.getDoc();
    var oBody = Ext.getBody();
    var oMain = Ext.get('main');
    var oContent = Ext.get('content');
    var oSocialMedia;

    function initContentHeight(){
        return;
        var oBodyHeight = oBody.getViewSize().height;
        var fluffHeight = oContent.getTop() + 84 + oContent.getPadding('tb');
        if(oBodyHeight > oContent.getHeight() + fluffHeight){
            oContent.setHeight(oBodyHeight - fluffHeight);
        }
    }
    
    function initSocialMedia(){
        oSocialMedia = Ext.get('social-media');
        if(oSocialMedia && oMain){
            oSocialMedia.setStyle('display', 'block');
            fixSocialMedia(null, oDoc, null);
            oDoc.on('scroll', fixSocialMedia);
        }
    }
    
    function resetSocialMedia(){
        oSocialMedia.setStyle({ 
            position: 'absolute',
            top: '219px',
            left: '10px'
        });
    }
    
    function fixSocialMedia(event, element, options){
        if (Ext.get(element).getScroll().top > 209){ 
            oSocialMedia.setStyle({
                position: 'fixed',
                top: '10px',
                left: (oMain.getLeft() - 41) + 'px'
            });
        }
        else { 
            resetSocialMedia();
        }
    }
    
    function initPoll(){
        var oPollDiv = Ext.get('poll');
        var oPollForm = Ext.get('poll-form');
        var oPollSubmit = Ext.get('poll-submit');
        if(oPollDiv && oPollForm && oPollSubmit){
            oPollDiv.setVisibilityMode(Ext.Element.DISPLAY);
        
            oPollForm.on('submit', function(){
                return false;
            }, null, {
                stopEvent: true
              , preventDefault: true
              , stopPropagation: true
            });
            oPollSubmit.on('click', function(){
                var checkedRadio = oPollForm.child('div.required label.labelRadio input.inputRadio:checked');
                var redirectInput = Ext.get('poll-redirect');
                if(checkedRadio == null){
                    alert('You must select one of the choices.');
                }else if(checkedRadio && redirectInput){
                    oPollDiv.addCls('loading');
                    Ext.Ajax.request({
                        url: oPollForm.dom.action
                      , method: 'POST'
                      , params: { 
                            answer: checkedRadio.getValue()
                          , redirect: redirectInput.getValue()
                        }
                      , success: function(msg){
                            oPollDiv.update(msg.responseText);
                            oPollDiv.removeCls('loading');
                        }
                      , failure: function(){
                            oPollDiv.hide();
                        }
                    });                    
                }
                return false;
            }, null, {
                stopEvent: true
              , preventDefault: true
              , stopPropagation: true
            })
        }
    }
    
    function initHomeSlides(){
        var oHomePage = Ext.get('page-home');
        var oSlideWrapper, oSlideUL, oSlide, oDot, oSlides, nSlides, nSlideWidth, nSlideIDParts, nSlideIndex, nNewLeft, nCurrentLeft, nDifference;
        if(oHomePage){
            var oDotsUL = Ext.select('ul.dots', true);
            for(var i = 0; i < oDotsUL.elements.length; i++){
                oDotsUL.elements[i].addCls('setup');
                oSlides = oDotsUL.elements[i].select('li.dot', true);
                nSlides = oSlides.elements.length;
                oSlideWrapper = oDotsUL.elements[i].parent();
                oSlideUL = oSlideWrapper.child('ul.results');
                nSlideWidth = oSlideWrapper.getWidth();
                oSlideUL.setWidth(nSlideWidth * nSlides);
                oDotsUL.elements[i].on('click', function(evt, el, o){
                    oDot = Ext.get(el);
                    oSlide = Ext.get(oDot.dom.id.replace('-dot', ''));
                    nSlideIDParts = oSlide.dom.id.split('-');
                    nSlideIndex = nSlideIDParts[nSlideIDParts.length - 1];
                    oSlideUL = oSlide.parent();
                    nSlideWidth = oSlide.getWidth();
                    nCurrentLeft = oSlideUL.getPositioning().left.replace('px', '');
                    nNewLeft = nSlideWidth * (nSlideIndex - 1) * -1;
                    sDirection = (nCurrentLeft > nNewLeft) ? 'left' : 'right';
                    nDifference = Math.abs(nCurrentLeft - nNewLeft);
//                    console.log(nCurrentLeft, nNewLeft, nCurrentLeft - nNewLeft, nDifference);
                    oSlideUL.move(sDirection, nDifference, true);
//                    oSlideUL.setLeft(nNewLeft);
                    oDot.radioCls('selected');
                }, null, {
                    delegate: 'li'
                });
            }
        }
    }

    initContentHeight();
    initSocialMedia();
    initPoll();
    initHomeSlides();
});

