function show_preloader() {
    // center_elem('preloader', 0, 0);
    // $('#preloader').show();
}

function validate_form(url, form, preloader) {
    var pass = 1;
    $('#'+form+' input, select').each(function() {
        if($(this).attr('disabled') != true && $(this).attr('data-required') == 1 && $(this).attr('value') == '') {
            alert($(this).attr('data-explanation'));
            $(this).focus;
            pass = 0;
            return false;
        }
    });
    if(pass == 1) post_data(url, form, preloader);
}
        
function post_data(url, form, preloader, force_reload) {
    if(preloader == 1) show_preloader();
    $.post(url, $('#'+form).serialize(), function(data) {
        response_handler(data, force_reload);
    });
}

function get_data(url, vars, preloader) {
    if(preloader == 1) show_preloader();
    $.post(url, vars, function(data) {
        response_handler(data);
    });
}

function tiny_handler(response) {
    var instances = response.split('[-]');
    for(i = 0; i < instances.length; i++) {
        var jquery = instances[i].substr(8);
        eval.call(window, jquery);
    }
}

function response_handler(response, force_reload) {
    $('#preloader').hide();
    var instances = response.split('[-]');
    for(i = 0; i < instances.length; i++) {
        var parts = instances[i].split('[:]');
        if(instances[i].substr(0, 5) == "Error") {
            alert(instances[i]);
        } else if(instances[i].substr(0, 4) == "Echo") {
            alert(instances[i].substr(6));
        } else if(instances[i].substr(0, 3) == "Add") {
            var content = $('#'+parts[1]).html();
            $('#'+parts[1]).html(parts[2] + content);
        } else if(instances[i].substr(0, 6) == "Insert") {
            $('#'+parts[1]).html(parts[2]);
        } else if(instances[i].substr(0, 6) == "Delete") {
            $('#'+parts[1]).remove();
        } else if(instances[i].substr(0, 6) == "Update") {
            $('#'+parts[0]).attr(parts[1], parts[2]);
        } else if(instances[i].substr(0, 8) == "Redirect") {
            $(location).attr('href', instances[i].substr(9));
        } else if(instances[i].substr(0, 3) == "CSS") {
            $('#'+parts[1]).css(parts[2], parts[3]);
        } else if(instances[i].substr(0, 6) == "Custom") {
            eval.call(window, parts[1]);
        } else if(instances[i].substr(0, 6) == "jQuery") {
            var jquery = instances[i].substr(8);
            eval.call(window, jquery);
        } else if(instances[i].substr(0, 7) == "Session") {
            save_session(instances[i].substr(9));
        } else if(instances[i].substr(0, 4) == "Wait") {
            //Do nothing
        } else if(instances[i].substr(0, 4) == "Reload") {
           window.location.reload(true);
        } else {
           // window.location.reload(true);
        }
		
		if(force_reload == true)
			window.location.reload(true);
		
    }
}
