/**
 * upload Javascript
 * 
 * @author: Chanel Munezero <chanel.munezero@escapemg.com>
 */
(function(){
    if(!window.gs) {
        return;
    }
    /*
     *  
     * 
     */
    var upload = window.gs.upload = {
        // default options/settings
        boo: 1,
        
        empty: null
    };
    
    upload.init = function(widgetID)
    {
        debug('upload init, widgetid: '+widgetID);
        // create model box
        var options = {
            ajax: '/upload?action=lb&widgetID='+widgetID,
            onHide: function(hash) {
                gs.widget.showPreviews();
                gs.modal_hide(hash);
            },
            onShow: function(hash) {
                gs.widget.hidePreviews();
                // allow for browse to update file info
                $('#fileUploadInput').change(function(){
					$('#songFileLocation').html($(this).val());
				});
				
				// don't handle form for now
				//upload.handleForm();
                gs.modal_show(hash);
                
                setTimeout(function() {
                    $('#uploadSubmit').css('opacity', 0.5);
                }, 500);
            }
        };
        var divinfo = {
            newid: 'uploadBox',
            newclass: 'modalbox'
        };
        gs.lbFactory.newModalBox(options, divinfo, true);
        // make sure genre box is closed
        if($('#genreBox').length) {
            gs.lbFactory.disposeModalBox($("#genreBox"));
        }
    };
    
    upload.fileChange = function(obj)
    {
        $('#songFileLocation').html($(obj).val());
        if($(obj).val() == '') {
            $('#uploadSubmit').css('opacity', 0.5);
        } else {
            $('#uploadSubmit').css('opacity', 1.0);
        }
    }
    
    upload.hideForm = function()
    {
        // delay close so loading icon goes away
        setTimeout(function() {
            gs.lbFactory.disposeModalBox($("#uploadBox"));
            $('#uploadBox').remove();
            gs.util.objRedraw();
        }, 1000);
    }
    
    upload.showLoading = function()
    {
        var divinfo = {
            newid: 'uploadingBox',
            newclass: 'modalbox'
        };
        gs.lbFactory.newModalBox({ajax:'/upload.php?widgetid='+gs.widget.widgetid}, divinfo, true);
    }
    
    upload.hideLoading = function()
    {
        gs.lbFactory.disposeModalBox($("#uploadingBox"));
    }
    
    upload.submit = function(event)
    {
        var form = document.getElementById("uploadForm");
        
        if(form && form.file && form.file.value!="") {
            $('#uploadBox').hide();
            gs.upload.showLoading();
            return true;
        }
        debug("all those false", form, form.file, form.file.value);
        return false;
    }
    
    upload.load = function(iframeObj, isGS)
    {
        isGS = isGS || false;
        $('#uploadBox').show();
        $('#uploadError').hide();
        gs.upload.hideLoading();
        debug("load iframe obj",iframeObj);
        var iframeDoc = iframeObj.contentWindow || iframeObj.contentDocument;
        if (iframeDoc.document) {
            iframeDoc = iframeDoc.document;
        }
        var response_str = iframeDoc.body.innerHTML;
        debug(response_str);
        if (response_str) {
            var response = $.parseJSON(response_str);
            debug(response);
            if (parseInt(response.Code)) {
                // get songid from
                var songID = 0;
                if(isGS) {
                    gs.playlist.addMusic('song', response.Message, 1);
                } else {
                    $('#singleWidgetButtonSubmit').removeAttr('disabled').css('opacity', 1);
                    gs.playlist.addFile(response.Custom.fileID, 1, response.Custom);
                }
                gs.upload.hideForm();
            } else {
                debug('upload error');
                $('#uploadError').html('<p>' + response.Message + '</p>').show();
            }
        }
    }
})();