﻿var PROGRESS_INTERVAL = 500;
var PROGRESS_COLOR = '#000080';

var _divFrame;
var _divUploadMessage;
var _divUploadProgress;
var _ifrPhoto;

var _loopCounter = 1;
var _maxLoop = 10;
var _photoUploadProgressTimer;

function initPhotoUpload() {
    _divFrame = document.getElementById('divFrame');
    _divUploadMessage = document.getElementById('divUploadMessage');
    _divUploadProgress = document.getElementById('divUploadProgress');
    _ifrPhoto = document.getElementById('ifrPhoto');

    var btnEnviar = _ifrPhoto.contentWindow.document.getElementById('btnEnviar');

    btnEnviar.onclick = function(event) {
        var fileUpload1 = _ifrPhoto.contentWindow.document.getElementById('fileUpload1');

        _divUploadMessage.style.display = 'none';

        if (fileUpload1.value.length == 0) {
            _divUploadMessage.innerHTML = '<span style=\"color:#ff0000\">Especifique um arquivo válido.</span>';
            _divUploadMessage.style.display = '';
            fileUpload1.focus();
            return;
        }

        var regExp = /^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP)$/;

        if (!regExp.test(fileUpload1.value)) //Somehow the expression does not work in Opera
        {
            //_divUploadMessage.innerHTML = '<span style=\"color:#ff0000\">Tipo de arquivo inválido. Suportados jpg, gif, png and bmp.</span>';
            //_divUploadMessage.style.display = '';
            fileUpload1.focus();
            return;
        }

        beginPhotoUploadProgress();
        _ifrPhoto.contentWindow.document.getElementById('photoUpload').submit();
        //_divFrame.style.display = 'none';
    }
}

function beginPhotoUploadProgress() {
    _divUploadProgress.style.display = '';
    clearPhotoUploadProgress();
    _photoUploadProgressTimer = setTimeout(updatePhotoUploadProgress, PROGRESS_INTERVAL);
}

function clearPhotoUploadProgress() {
    for (var i = 1; i <= _maxLoop; i++) {
        document.getElementById('tdProgress' + i).style.backgroundColor = 'transparent';
    }

    document.getElementById('tdProgress1').style.backgroundColor = PROGRESS_COLOR;
    _loopCounter = 1;
}

function updatePhotoUploadProgress() {
    _loopCounter += 1;

    if (_loopCounter <= _maxLoop) {
        document.getElementById('tdProgress' + _loopCounter).style.backgroundColor = PROGRESS_COLOR;
    }
    else {
        clearPhotoUploadProgress();
    }

    if (_photoUploadProgressTimer) {
        clearTimeout(_photoUploadProgressTimer);
    }

    _photoUploadProgressTimer = setTimeout(updatePhotoUploadProgress, PROGRESS_INTERVAL);
}

function photoUploadComplete(message, isError) {
    clearPhotoUploadProgress();

    if (_photoUploadProgressTimer) {
        clearTimeout(_photoUploadProgressTimer);
    }

    _divUploadProgress.style.display = 'none';
    _divUploadMessage.style.display = 'none';
    _divFrame.style.display = '';

    if (message.length) {
        var color = (isError) ? '#ff0000' : '#008000';

        _divUploadMessage.innerHTML = '<span style=\"color:' + color + '\;font-weight:bold">' + message + '</span>';
        _divUploadMessage.style.display = '';

        if (isError) {
            _ifrPhoto.contentWindow.document.getElementById('fileUpload1').focus();
        }
    }
}
function endPhotoUpload() {
    $.prompt.close();
    $.atualizalistagalerias();
}
function fotoatualizada() {
    $('#imgeditfoto').empty();
    $('#imgeditfoto').hide();
}
