﻿var uploadedFilesFlag;
function OnBtnUploadClick(s, e) {

    pnlIncorrectFileformat.SetVisible(false);
    btnUpload.SetEnabled(false);
    pnlProgress.SetVisible(false);

    if (uploadControl.GetText() != "" && isAllowUpload(uploadControl)) {
        //console.log('GO');        
        pnlComplete.SetVisible(false);
        uploadedFilesFlag = null;
        lblCompleteMessage.SetVisible(false);
        pbUpload.SetPosition(0);
        uploadControl.Upload();
        btnUpload.SetEnabled(false);
        pnlUpload.SetVisible(true);
    }
    else {
        e.cancel = true;
        pnlIncorrectFileformat.SetVisible(true);
        btnUpload.SetEnabled(true);
        pnlProgress.SetVisible(false);
    }
}

function ShowUploadPanel() {    
    pnlIncorrectFileformat.SetVisible(false);
    btnUpload.SetEnabled(true);
    pcUpload.Show()
}

function OnUploadProgressChanged(s, e) {
    //console.log('PROGRESS CHANGE');
    pbUpload.SetPosition(e.progress);
}

function OnFileUploadComplete(s, e) {
    //console.log('OnFileUploadComplete');
    uploadedFilesFlag = e.isValid;
    var aspxPreviewImgSrc = getPreviewImageElement().src;
    var imgSrc = aspxPreviewImgSrc;
    if (e.isValid) {
        var date = new Date();
        imgSrc = e.callbackData;
    }
    getPreviewImageElement().src = imgSrc;
    pcUpload.Hide()
    pnlComplete.SetVisible(true);
}

function OnFilesUploadComplete(s, e) {
    //console.log('OnFilesUploadComplete');
    if (uploadedFilesFlag) {
        btnCancel.SetVisible(false);
        btnUpload.SetEnabled(true);
        pbUpload.SetPosition(100);
        lblCompleteMessage.SetVisible(true);      
    }
    else {
        btnUpload.SetEnabled(true);
        pnlProgress.SetVisible(false);
    }
}

function OnBtnCancelClick(s, e) {
    uploadControl.Cancel();
    btnUpload.SetEnabled(true);
    pnlProgress.SetVisible(false);
}

function getPreviewImageElement() {
    return _aspxGetElementById("previewImage");
}

var extensionRegExp = /.+\.([^.]+)$/;
var uploadAllowed = true;

function isAllowUpload(uploadControl) {
    uploadAllowed = true;

    for (var i = 0; i < uploadControl.GetFileInputCount(); i++) {              
        if (getFileExtension(uploadControl.GetText(i)).toLowerCase() != "jpg" &&
            getFileExtension(uploadControl.GetText(i)).toLowerCase() != "gif" &&
            getFileExtension(uploadControl.GetText(i)).toLowerCase() != "bmp") {            
            uploadAllowed = false;
            break;
        }
    }    
    
    return uploadAllowed;
}
function getFileExtension(fileName) {
    var matches = extensionRegExp.exec(fileName);
    if (matches.length == 2)
        return matches[1];
    else
        return "";
}

