
VIEWS.viewingOptions = {

    init: function(args) {
        AMOSTV.showView("viewingOptions", false);
        $('GreyOut').setStyle({
          display: 'block'
        });
    },

    updateTextPos: function(direction){
        var textStyle = $('viewOptsText').getStyle('top');
        var textHeight = $('viewOptsTextDiv').getHeight() - $('viewOptsText').getHeight();
        textStyle = (parseInt(textStyle.substring(0, textStyle.length - 2)) + (direction * 40));
        var safeSizeDown = ((textStyle)*(-1));

        if((safeSizeDown > textHeight) && (safeSizeDown + textHeight) > 0) {
            textStyle = (textHeight-20);
        } else if(textStyle > 0) {
            textStyle = 0;
        }

        if(textStyle > textHeight && ($('viewOptsTextDiv').getHeight() < $('viewOptsText').getHeight())) {
            $('viewOptsTextDOWNOSD').show();
        } else {
            $('viewOptsTextDOWNOSD').hide();
        }

        if(textStyle < 0 && ($('viewOptsTextDiv').getHeight() < $('viewOptsText').getHeight())){
            $('viewOptsTextUPOSD').show();
        } else {
            $('viewOptsTextUPOSD').hide();
        }

        if(direction < 0 && textStyle >= (textHeight-20)) {
            $('viewOptsText').setStyle({
                    top: textStyle + "px"
            });
        } else if(direction > 0 && textStyle <= 0){
            $('viewOptsText').setStyle({
                    top: textStyle + "px"
            });
        }
    },

    show: function(self) {
        $('viewOptsTextDOWNOSD').show();
        $('viewOptsTextUPOSD').hide();
		this.updateTextPos(1);
        // $('viewOptsText').setStyle({
            // top: "1px"
        // });
    },
    
    exit: function() {
        $('GreyOut').setStyle({
          display: 'none'
        });
    },
    
    keyHandler: function(key) {
        if ( key == KEYS.BACK ) {
            AMOSTV.loadView('Menu');
        } else if ( key == KEYS.OK ) {
            AMOSTV.loadView('Menu');
        } else if ( key == KEYS.ESC ) {
            AMOSTV.loadView('Menu');
        } else if ( key == KEYS.UP ) {
           this.updateTextPos(1);
        } else if ( key == KEYS.DOWN ) {
           this.updateTextPos(-1);
        } 
    },

    mouseClicked: function(idOfElement) {
        if (idOfElement == "viewOptsTextDOWNOSD") {
            this.keyHandler(KEYS.DOWN);
        } else if (idOfElement == "viewOptsTextUPOSD") {
            this.keyHandler(KEYS.UP);
        } else if(idOfElement == "GreyOut" || idOfElement == "viewingOptions" || idOfElement == "closePopUp"){
			AMOSTV.loadView('Menu');
		} else {
            /*NOOP*/
        }
    }
};

