function showPrompt(target,message,type,position) {
    var t = type || 'red';
    var p = position || 'topRight';
    $(target).validationEngine('showPrompt', message, t, p, true);
    
    var id = $(target).attr('id');
    var useNames = $(target).is(':radio') || $(target).is(':checkbox') ? true : false;
    
    $('.'+id+'formError').click(function(){
        $(this).fadeTo("fast", 0.3, function() {
            $(this).remove();
        });
    });
    
    var el = useNames ? 'input[name="'+$(target).attr('name')+'"]' : target;
    
    var onFocus = function() {
        $('.'+id+'formError').fadeTo("fast", 0.3, function() {
            $(el).unbind('focus',onFocus);
            $('.'+id+'formError').remove();
        });
    }
    
    $(el).focus(onFocus);
}

function showErrors(errors) {
    try{
        for(var i in errors) {
            showPrompt('#'+i,errors[i]);
        }
    }catch(e){}
}

function relatedCombos(source, destination, url, useLoading, onComplete, params) {
    var id = $('#'+source).val();
    var data = {id:parseInt(id)};
    $.extend(data, params || {});
    $.ajax({
        url: url,
        type:'POST',
        data: data,
        dataType:'html',
        success:function(response) {
            $('#'+source).attr('disabled', false);
            $('#'+destination).attr('disabled', false);
            $('#'+destination).html(response);
            if(useLoading) $('#mini-loading').remove();
            if(typeof onComplete == 'function') {
                onComplete();
            }
        },
        beforeSend:function(response) {
            $('#'+source).attr('disabled', true);
            $('#'+destination).attr('disabled', true);
            if(useLoading) $('#'+destination).after('<img id="mini-loading" src="/assets/img/loading.gif" />');
        },
        error:function(){
            $('#'+source).attr('disabled', false);
            $('#'+destination).attr('disabled', false);
            if(useLoading) $('#mini-loading').remove();
        }
    });
}



