function ajax_execute(ajax_page,ajax_data){
document.body.style.cursor = 'wait';
$.ajax({ 
	type: "POST", 
	dataType:"json", 
	error: function(request,error, errortxt) {alert(errortxt);document.body.style.cursor = 'default';},
	url: ajax_page, data: ajax_data, success: function(data){
		document.body.style.cursor = 'default';
		ajax_execute_json(data);
	}
});
}

function ajax_execute_json(data){
$.each(data, function(index,ajax_action){
	eval(ajax_action);
});
}

function ajax_execute_text(ajax_page,ajax_data){
document.body.style.cursor = 'wait';
$.ajax({ 
	type: "POST", 
	dataType:"text", 
	error: function(request,error, errortxt) {alert(errortxt);document.body.style.cursor = 'default';},
	url: ajax_page, data: ajax_data, success: function(data){
		document.body.style.cursor = 'default';
		alert(data);
	}
});
}

function jp_sound(selector,sound){
$(selector).jPlayer("setFile", sound);
$(selector).jPlayer("play");
}

function s_tooltip(){
$("[tooltip]").tooltip({
	track: true,
	delay: 0,
	showURL: false,
	bodyHandler: function() { 
		return $(this).attr("tooltip");
	} 
});
}

function stripslashes(str){return (str+'').replace(/\\(.?)/g, function (s, n1) {switch (n1) {
case '\\':return '\\';
case '0':return '\u0000';
case '':return '';
default:return n1;}});}

function addslashes (str) {return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\u0000/g, "\\0");}

function htmlspecialchars(str){
str = str.replace(/\\/g,"&#92;");
str = str.replace(/\"/g,"&#34;");
str = str.replace(/\'/g,"&#39;");
str = str.replace(/</g,"&#60;");
str = str.replace(/>/g,"&#62;");
return(str);
}

function rgb2hex(rgb) {
 rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
 return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
function hex(x) {return ("0" + parseInt(x).toString(16)).slice(-2);}

function showhide(selector){if($(selector).is(":visible")) $(selector).hide(); else $(selector).show();}

function updateEditor() {for ( instance in CKEDITOR.instances ) CKEDITOR.instances[instance].updateElement();}

function is_int(varinput){return typeof(varinput)=='number'&&parseInt(varinput)==varinput;}

function basename(path) {return path.replace(/\\/g,'/').replace( /.*\//, '' );}
     
function dirname(path) {return path.replace(/\\/g,'/').replace(/\/[^\/]*$/, '');}
