﻿/// <reference path="jquery-1.3.2-vsdoc.js" />
/// <reference name="MicrosoftAjax.js"/>

jQuery.preloadImages = function() {
    for (var i = 0; i < arguments.length; i++) {
        $("<img>").attr("src", arguments[i]);
    }
}

$().ready(function() {
    viewstate = $('#__VIEWSTATE').val().length;
    application_init();

    //Evita que o ao validar com summary a página salte para o topo
    window.scrollTo = function() { };

    function application_init() {
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_endRequest(prm_endRequest);
        prm_endRequest();
    }

    $.preloadImages('/images/ajax-loader2.gif');

    //UPLOAD
    function UploadSetup() {
        var fup = $('#fUpload');
        $('.loader').remove();
        if (fup.length != 0) {
            fup.show();
            new AjaxUpload('#fUpload', {
                action: '/fileUpload.aspx?id=' + $('#ctl00_content_userId').val(),
                name: 'myFile',
                responseType: 'application/json',
                hoverClass: '',
                onChange: function(file, extension) { },
                onSubmit: function(file, extension) {
                    if (validateExtension(extension)) {
                        if ($('.fileNotValid').length != 0)
                            $('.fileNotValid').remove();
                        fup.hide().after('<img class="loader" src="/images/ajax-loader2.gif"/>');
                    }
                    else {
                        $('#' + this._button.id).parent().next().next().after('<span class=\"fileNotValid\" style=\"color:#B41616\"><br/>File format not valid</span>')
                        return false;
                    }
                },
                onComplete: function(file, response) {
                    var fileInfo = eval('(' + response + ')');
                    $('#ctl00_content_fileListChanged').val('true');
                    $('#ctl00_content_fileTitle').val(fileInfo.title);
                    $('#ctl00_content_fileExtension').val(fileInfo.extension);
                    $('#ctl00_content_fileFilename').val(fileInfo.filename);
                    $('#ctl00_content_fileIsCV').val('0');
                    __doPostBack('ctl00$content$TEST', '');
                    //$('.loader').remove();
                    //fup.show();
                    //UploadSetup();
                }
            });
        }
    }
    UploadSetup();




    function UploadCVSetup() {
        var fupCV = $('#fCVUpload');
        $('.loader').remove();
        if (fupCV.length != 0) {
            fupCV.show();
            new AjaxUpload('#fCVUpload', {
                action: '/fileUpload.aspx?id=' + $('#ctl00_content_userId').val(),
                name: 'myFile',
                responseType: 'application/json',
                hoverClass: '',
                onChange: function(file, extension) { },
                onSubmit: function(file, extension) {
                    if (validateExtension(extension)) {
                        if ($('.fileNotValid').length != 0)
                            $('.fileNotValid').remove();
                        fupCV.hide().after('<img class="loader" src="/images/ajax-loader2.gif"/>');
                    }
                    else {
                        $('#' + this._button.id).parent().next().next().after('<span class=\"fileNotValid\" style=\"color:#B41616\"><br/>File format not valid</span>')
                        return false;
                    }
                },
                onComplete: function(file, response) {
                    var fileInfo = eval('(' + response + ')');
                    $('#ctl00_content_fileListChanged').val('true');
                    $('#ctl00_content_fileTitle').val(fileInfo.title);
                    $('#ctl00_content_fileExtension').val(fileInfo.extension);
                    $('#ctl00_content_fileFilename').val(fileInfo.filename);
                    $('#ctl00_content_fileIsCV').val('1');
                    __doPostBack('ctl00$content$TEST', '');
                    //$('.loader').remove();
                    //fupCV.show();
                    //UploadCVSetup();
                }
            });
        }
    }
    UploadCVSetup();



    function prm_endRequest() {
        UploadSetup();
        UploadCVSetup();
        
        //Datepicker para data
        $('.date').datepicker({
            changeMonth: true,
            changeYear: true,
            dateFormat: 'mm-yy',
            showButtonPanel: true,
            yearRange: '1920:2020'
        });

        //Collapse das secções
        $('.profileHeaderBar').unbind('click').click(function() {
            $(this).next('table').toggle();
            var sign = $(this).children('.expand').children('a').get(0);
            if (sign.innerHTML == '+')
                sign.innerHTML = '-';
            else sign.innerHTML = '+';
        });

        //Esconde buttoes e caixas cinza do modo de edição
        if ($('#ctl00_content_overview').attr('value') == '1') {
            //$('.hidable').hide();
            $('.hidable').remove();
            $('.grayBox').each(function() { $(this).removeClass('grayBox') });
        }

        //
        if ($("#ctl00_content_pnlChangedProfile").length != 0) {
            $("#ctl00_content_pnlChangedProfile").jOverlay({
                bgClickToClose: false
            });
        }

        //Alterna vista da submissao do cv

        ToggleCVAreaVisibility();

        //Define se os dados foram guardados
        if ($('#ctl00_content_overview').attr('value') == '1') {
            changed = false;
        }
        else {
            if (viewstate != $('#__VIEWSTATE').val().length) {
                changed = true;
            }
            else {
                changed = false;
            }
        }
        causeValidation = true;
    }
    $('#ctl00_content_pnlPersonalInfo a').live('click', function() { causeValidation = false; });

});

var viewstate;
var changed = false;
var causeValidation = true;

function SetupExit() {
    window.onbeforeunload = function(e) {
        if (!changed) return;
        if (!causeValidation) return;
        
        if (!e) var e = window.event || window.Event;
        e.cancelBubble = true;
        e.returnValue = 'There are some data that may be lost with this action. \n To avoid this please save before exiting!';
        if (e.stopPropagation) {
            e.stopPropagation();
            e.preventDefault();
        }
    }
}
SetupExit();

function ToggleCVAreaVisibility() {
    var cvSVisible = $('#ctl00_content_cvSubmitVisible').val();
    var pnlSubmit = $('#ctl00_content_pnlSubmitCV');
    var upCV = $('#ctl00_content_upCV')

    if (cvSVisible == '1') {
        pnlSubmit.show();
        if ($('#ctl00_content_overview').val() == '0') {
            upCV.hide();
        }
        else { upCV.show(); }
    }
    else if (cvSVisible == "0") {
        pnlSubmit.hide();
        upCV.show();
    }
}

function validateExtension(ext) {
    if (!ext) return false;
    switch (ext[0]) {
        case 'doc':
        case 'docx':
        case 'pdf':
        case 'rtf':
        case 'txt':
        case 'htm':
        case 'html':
        case 'jpeg':
        case 'jpg':
        case 'png':
            return true;
            break;
        default: return false; break;
    }
}
        

