$( document ).ready( function () {

    function is_int( mixed_var ) {
        if (typeof mixed_var !== 'number') {
            return false;
        }
     
        if (parseFloat(mixed_var) != parseInt(mixed_var)) {
            return false;
        }
 
        return true;
    }

    function fileDelete() {
        var c = $(this);
        if (confirm('Вы действительно желаете удалить указанный файл?')) {
            $.ajax({
                url     : "/personal/detail/upload.php",
                data    : {deleteFileFId: c.attr("rel")},
                type    : 'POST',
                success : function() {
                    c.parent().remove();
                },
                error   : function(msg) {
                    alert(msg);
                }
            });
        }
    }
    
    function imgDelete() {
        var c = $(this);
        if (confirm('Вы действительно желаете удалить указанный файл?')) {
            $.ajax({
                url     : "/personal/detail/upload.php",
                data    : {deleteImgId: c.attr("rel")},
                type    : 'POST',
                success : function() {
                    c.parent().remove();
                },
                error   : function(msg) {
                    alert(msg);
                }
            });
        }
    }
    
    function logoDelete() {
        var c = $(this);
        if (confirm('Вы действительно желаете удалить логотип компании?')) {
            $.ajax({
                url: "/personal/detail/upload.php",
                data: {deleteFileId: c.attr("rel")},
                type: 'POST',
                success: function() {
                    c.parent().removeClass("uploaded").css({backgroundImage: "url('/images/addLogo-ico.gif')", backgroundPosition: "-200px 0px"});
                    c.remove();
                },
                error: function(msg) {
                    alert(msg);
                }
            });
        }
    }

    function officeDelete() {
        var c = $(this);
        if (confirm('Вы действительно желаете удалить фотографию здания?')) {
            $.ajax({
                url: "/personal/detail/upload.php",
                data: {deleteFileОId: c.attr("rel")},
                type: 'POST',
                success: function() {
                    c.parent().removeClass("uploaded").css({backgroundImage: "url('/images/addLogo-ico.gif')", backgroundPosition: "-200px 0px"});
                    c.remove();
                },
                error: function(msg) {
                    alert(msg);
                }
            });
        }
    }

    $('.editarea').editable('/personal/detail/save.php', { 
        id          : 'fullDescId',
        name        : 'fullDescValue',
        type        : 'textarea',
        rows        : 8,
        cancel      : ' ',
        submit      : ' ',
        indicator   : '<img src="/images/loading.gif">',
        tooltip     : 'Редактировать',
        placeholder : 'Кликните чтобы начать редактирование...',
        width       : 'none',
        onblur      : function() {return false;}
    });

    var button1 = $('#fileUploadBtn_1');

    new Ajax_upload ( button1, {
        action      : '/personal/detail/upload.php',
        name        : 'uploadingLogo',
        onSubmit    : function ( file, ext ) {
            var allowed = new Array( "jpg", "gif" );
            if ( ext && new RegExp( '^(' + allowed.join( '|' ) + ')$' ).test( ext ) ){
                return true;
            } else {
                alert( 'Как логотип вы можете загружать только файлы *.gif или *.jpg' );
                return false;               
            }
            this.disable();
        },
        onComplete  : function ( file, response ) {
            file = response.substring(0, response.lastIndexOf('@@@'));
            response = response.substring(response.lastIndexOf('@@@')+3, response.length - response.lastIndexOf('@@@') + 3);
            var tmp = file;
            file = response;
            response = tmp;
                                                
            if ( response.length > 0 ) {
                if ( is_int( (+response) ) ) {
                    this.wrapper.parent()
                        .addClass("uploaded")
                        .css( { backgroundImage: "url(" + file + ")", backgroundPosition: "center center" } )
                        .append( "<img width='16' height='16' src='/images/dialog-cancel-16.png' title='Удалить' class='png logoDelete' rel='" + response + "'>" );
                    this.wrapper.next().click( logoDelete );
                }
                else {
                    alert( response );
                }
            }
            this.enable();
        }
    });


    var button10 = $('#fileUploadBtn_10');

    new Ajax_upload ( button10, {
        action      : '/personal/detail/upload.php',
        name        : 'uploadingOffice',
        onSubmit    : function ( file, ext ) {
            var allowed = new Array( "jpg", "gif" );
            if ( ext && new RegExp( '^(' + allowed.join( '|' ) + ')$' ).test( ext ) ){
                return true;
            } else {
                alert( 'В качестве фотографии вы можете загружать только файлы *.gif или *.jpg' );
                return false;               
            }
            this.disable();
        },
        onComplete  : function ( file, response ) {
            file = response.substring(0, response.lastIndexOf('@@@'));
            response = response.substring(response.lastIndexOf('@@@')+3, response.length - response.lastIndexOf('@@@') + 3);
            var tmp = file;
            file = response;
            response = tmp;
                                                
            if ( response.length > 0 ) {
                if ( is_int( (+response) ) ) {
                    this.wrapper.parent()
                        .addClass("uploaded")
                        .css( { backgroundImage: "url(" + file + ")", backgroundPosition: "center center" } )
                        .append( "<img width='16' height='16' src='/images/dialog-cancel-16.png' title='Удалить' class='png logoDelete' rel='" + response + "'>" );
                    this.wrapper.next().click( officeDelete );
                }
                else {
                    alert( response );
                }
            }
            this.enable();
        }
    });

    var button2 = $('#fileUploadBtn_2');

    new Ajax_upload( button2, {
        action      : '/personal/detail/upload.php',
        name        : 'uploadingFile',
        onSubmit    : function ( file, ext ) {
            var allowed = new Array( "doc", "xls", "pdf", "rar", "zip", "docx", "xslx" );
            if ( ext && new RegExp( '^(' + allowed.join( '|' ) + ')$' ).test( ext ) ){
                return true;
            } else {
                alert( 'В данную категорию вы можете загружать только файлы *.doc, *.docx, *.pdf, *.rar, *.zip, *.xls, *.xlsx' );
                return false;               
            }
            this.disable();
        },
        onComplete  : function ( file, response ) {                                                                                                                                                                                                 
            if ( response.length > 0 ) {
                if ( is_int( (+response) ) ) {
                    this.wrapper.parent().after( "<li class='uploaded'></li>" );
                    this.wrapper.parent().next()
                        .css( {backgroundImage: "url('/images/file_icons/" + this.get_ext(file) + ".gif')"} )
                        .html( "<img width='16' height='16' src='/images/dialog-cancel-16.png' title='Удалить' class='png fileDelete' rel='" + (+response) + "'><div class='uploadedFileName' id='" + (+response) + "'></div>" )
                        .children( ".fileDelete" ).click( fileDelete )
                        .next( ".uploadedFileName" ).editable( '/personal/detail/save.php', { 
                            id      : 'fileId',
                            name    : 'fileName',
                            type    : 'text',
                            tooltip : 'Редактировать',
                            placeholder : 'Описание файла...',
                            onblur  : 'submit'
                        });
                    this.disable();
                }
                else {
                    alert(response);
                    this.disable();
                }
            }
            else {
                this.disable();
            }
            if ( this.wrapper.parents().filter(".fileUpload").children().length < 7 ) this.enable();
        }
    });

    var button3 = $('#fileUploadBtn_3');

    new Ajax_upload( button3, {
        action      : '/personal/detail/upload.php',
        name        : 'uploadingImage',
        onSubmit    : function ( file, ext ) {
            var allowed = new Array( "jpg", "gif", "png" );
            if ( ext && new RegExp( '^(' + allowed.join( '|' ) + ')$' ).test( ext ) ){
                return true;
            } else {
                alert('В данную категорию вы можете загружать только файлы *.gif, *.jpg, *.png');
                return false;               
            }
            this.disable();
        },
        onComplete  : function ( file, response ) {
            file = response.substring(0, response.lastIndexOf('@@@'));
            response = response.substring(response.lastIndexOf('@@@')+3, response.length - response.lastIndexOf('@@@'));
            var tmp = file;
            file = response;
            response = tmp;
            if ( response.length > 0 ) {
                if ( is_int( (+response) ) ) {
                    this.wrapper.parent().after( "<li class='uploaded'></li>" );  
                    this.wrapper.parent().next()
                        .css( {backgroundImage: "url('" + file + "')"} )
                        .html( "<img width='16' height='16' src='/images/dialog-cancel-16.png' title='Удалить' class='png fileDelete' rel='" + (+response) + "'><div class='uploadedFileName' id='" + (+response) + "'></div>" )
                        .children( ".fileDelete" ).click( imgDelete )
                        .next( ".uploadedFileName" ).editable( '/personal/detail/save.php', { 
                            id      : 'imgId',
                            name    : 'imgName',
                            type    : 'text',
                            tooltip : 'Редактировать',
                            placeholder : 'Описание фотографии...',
                            onblur  : 'submit'
                        });
                    this.disable();
                }
                else {
                    alert(response);
                    this.disable();
                }
            }
            if ( this.wrapper.parents().filter(".fileUpload").children().length < 11 ) this.enable();
        }
    });

    $(".fileUpload li:first-child").not(".uploaded, .logoWrapper").hover(
        function () {
            $(this).css({backgroundPosition: "0% 50%"});
        },
        function () {
            $(this).css({backgroundPosition: "100% 50%"});
        }
    );

    $(".fileUpload li.logoWrapper").hover(
        function () {
            if ( !$(this).is(".uploaded") ) $(this).css({backgroundPosition: "0px 0px"});
        },
        function () {
            if ( !$(this).is(".uploaded") ) $(this).css({backgroundPosition: "-200px 0px"});
        }
    );

    $("input#showStrings").click(function () {
        var c = $(this);
        $.ajax({
            url     : "/personal/detail/save.php",
            data    : {showStringsId: c.attr("value")},
            type    : 'POST',
            success : function(data) {
                c.attr("value", data);
                if ( data == 1 ) { 
                    c.attr("checked", "checked"); 
                    alert('Строчки транслируются'); 
                } 
                else { 
                    c.attr("checked", ""); 
                    alert('Строчки не транслируются'); 
                }
            },
            error   : function(msg) {
                alert(msg);
            }
        });
    });
});

