﻿//## fileUpload: args = {}
function fileUpload(args) {
    $.getScript("/js/fileuploader.js", function () {
        loadCss([{href:'/css/fileuploader.css'}]);

        var defaults = {
            element: $('#file-uploader')[0],
            action: '/members/uploads/process.ashx',
            params: { memberNo: $('span#MemberNo').text(), uploadDir: $('#UploadPath').val() },
            allowedExtensions: ['doc', 'docx', 'pdf', 'xls', 'xlsx', 'jpg', 'jpeg', 'gif', 'png', 'zip', 'txt'],
            clientID: "ctl00_LeftPlaceHolder_"
        }; 
        
        if (args) {
            $.extend(defaults, args);
        }

        var uploader = new qq.FileUploader({
            element: defaults.element,
            action: defaults.action,
            params: defaults.params,
            allowedExtensions: defaults.allowedExtensions,
            onComplete: function (id, fileName, responseJSON) {
                if (responseJSON.success) {
                    //add filename to hidden field
                    var uploadedFiles = $("#" + defaults.clientID + "UploadedFiles").val();
                    uploadedFiles += fileName.replace(/ /gi,'_') + ',';
                    $("#" + defaults.clientID + "UploadedFiles").val(uploadedFiles);
                    postBack = false;
                }
                else {
                    if (responseJSON.error)
                        alert(responseJSON.error);
                }
            }
        });
    });
}

//## load css on the fly: args = [{}] 
function loadCss(args) {

    var defaults = {
        rel: 'stylesheet',
        type: 'text/css',
        href: null,
        media: 'screen'
    }

    $.each(args, function (index, value) {
        if (args) {
            $.extend(defaults, value);
        }

        if (defaults.href) {
            $("<link>").appendTo('head').attr({
                rel: defaults.rel,
                type: defaults.type,
                href: defaults.href,
                media: defaults.media
            });
        }
    });
}

function launchOverlay(){
  var $loading = $('<div class="center"></div>');
  $loading.append('<img align="middle" src="/images/loading.gif" class="ui-loading-icon" />');
  $loading.append('<span style="padding-left:10px;">Processing ...</span>');
  
  var $dialog = null;  
  if ($('#process').html() == null) {
    $dialog = $('<div id="process"></div>')
  }
  else {
    $('#process').html('');
    $dialog = $('#process');
    $dialog.empty();
  }
  
  $dialog.append($loading);
  $dialog.dialog({
		autoOpen: false,
		closeOnEscape: false,
		draggable: false,
		width: 200,
		minHeight: 50,
		modal: true,
		buttons: {},
		resizable: false,
		open: function() {
			// scrollbar fix for IE
			$('body').css('overflow','hidden');
		},
		close: function() {
			// reset overflow
			$('body').css('overflow','auto');
		}
	}); // end of dialog
  return $dialog;
}
