﻿function domAlert(msg, confirma, btTextOk, titulo, div_base) {
    var title;
    title = (titulo ? titulo : "Alerta");
    var bDiv;
    bDiv = (div_base ? div_base : "body");
    var confirm;
    confirm = (confirma ? true : false);
    var textOk;
    textOk = (btTextOk ? btTextOk : "ACEPTAR");
    // para prevenir doble aparicion...
    remove();
    $('a,input').blur();
    var ancho = 415;
    /*var alto = 198;*/
    var dispatcher = {};
    // para prevenir problemas de js al no usar el evento...
    dispatcher.onControlPressed = function() { }
    $('body #' + bDiv).append('<div id="overlayAlert" />').find('#overlayAlert').css({
        position: 'absolute',
        top: 0,
        left: 0,
        width: $('body #' + bDiv).width()+18,
        height: $('body #' + bDiv).height(),
        background: '#FFFFFF'
    }).fadeTo(0, .9);
    $('body #'+bDiv).append('<div id="domAlert"><h3>'+title+'</h3><p>'+msg+'</p><div class="controls"></div></div>');
    
    $('body #' + bDiv + ' #domAlert .controls').append('<input type="button" class="ok" name="aceptar" value="' + textOk + '" />');
    confirm ? 
        $('body #'+bDiv+' #domAlert .controls').append('<input type="button" class="cancel" name="cancelar" value="CANCELAR" />') :
        false;
    $('body #' + bDiv + ' #domAlert').css({
        position:'absolute',
        top: (($('body #' + bDiv + '').offset()['top'] + $(window).scrollTop()) - 36) + 'px',
        left: (($('body #' + bDiv + '').width() - ancho) / 2) + "px",
        padding: "18px",
        width: ancho - (18*2) + "px",
        /*height:alto - (18*2) + "px",*/
        background: '#FFFFFF',
        border: '1px solid #cacaca'

    });
    $('body #' + bDiv + ' #domAlert .controls .ok').bind('click', function () {
        remove();
        dispatcher.value = true;
        dispatcher.onControlPressed();
        return true;
    })
    $('body #' + bDiv + ' #overlayAlert').bind('click', function () {
        remove();
        dispatcher.value = true;
        dispatcher.onControlPressed();
        return true;
    })
    $('body #' + bDiv + ' #domAlert .controls .cancel').bind('click', function () {
        remove();
        dispatcher.value = false;
        return false;
    })
    $(window).bind('scroll',function(){
        $('body #' + bDiv + ' #domAlert').css({
            top: (($('body #' + bDiv + '').offset()['top'] + $(window).scrollTop()) - 60) + 'px'
    	});
    })

    function remove() {
    	$('body #' + bDiv + ' #domAlert').remove();
    	$('body #' + bDiv + ' #overlayAlert').remove();
    }
    return dispatcher;
}
function customAlert(msg, titulo) {
    domAlert(msg, false, "ACEPTAR", titulo);
}

