(function( $ ){
  
  
  $.ajax_xml = function (options) {
		return $.ajax_xml.exec(options);
  };
  
  $.fn.ajax_xml = function (options) {
		return $.ajax_xml.exec(options);
  };
  
  
  /*
	 * AJAX_XML default options
	 * 
	 * type:			(String:'POST') Způsob odesílaní dat.
	 * url:				(String:'main.php') URL adresa pro odeslání
	 * data:			(String:'') Paramatere s kterýmy sa odesíla požadavek
	 * async:			(Boolean:true) V případe synchronné požadavku jsou všechny akce zakazane
	 * onSuccess:		(Function:null) Jaka funkce se má vykonat po uspešném požadavku
	 * onError:			(Function:null) Jaka funkce sa ma vykonat při chybe při požadavku
	 * showErrorData:	(Boolean:false) Pokud vrácena data obahuji chybovou hlašku >>> Zobrazit/nezobrazit 
	 * onSuccessUpdate:	(String:'null') Jaky objekt se ma po uspšném požadavku aktualizovat
	 
  */
  
  
  
  $.ajax_xml.defaults = {
	  	type: 'POST',
		url: 'main.php',
		data: null,
		async: true,
		onSuccess: null,
		onError: function (){$.modal("<div id='modal_bg' style='width:300px;'><div id='modal_title'>Error</div><div id='modal_other'>Při komunikaci ze servrem došlo k chybě, systém neodpovídá. Skuste to ještě opět za chvíly. </div></div></div>",myModal_styl["clasic"]);},
		showErrorData:false,
		onSuccessUpdate:null,
	};
  
  $.ajax_xml.exec=function (options) {
	  
	  	this.options=$.extend({}, this.defaults, options);
		
		this.options.success= function (xml) {
			
			opt=this;
			var res={};
			
			$(xml).find("zaznam").children().each(function () {
					
					res[this.nodeName]=$(this).text();
				});
			
			
			if ((opt.showErrorData) && (res["error"]))  $.modal(res["error"]);
			else {
				if (opt.onSuccessUpdate) $("#"+opt.onSuccessUpdate).html(res["data"]);
				if ($.isFunction(opt.onSuccess)) opt.onSuccess.apply(this,[res]);
				else if(opt.onSuccess) eval(opt.onSuccess+"(res)")
			}
		}
	  	
		this.options.error = function(res){
			if ($.isFunction(this.onError)) this.onError.apply(this,[res]);
		}
		
		$.ajax(this.options);
		
  };
  
})( jQuery );



//  Modalní okno pro vymenu dat . need Jquery


var myModal_styl= new Object;
myModal_styl["clasic"]={opacity:60, overlayClose:true, autoResize: false, close:true};


function ajax_fn(url,send,func,param,async)  {
	
  
	var url   = typeof(url) != 'undefined' ? url : "main.php";
	var send  = typeof(send) != 'undefined' ? send : '';
	var async = typeof(async) != 'undefined' ? async : true;
	var param = typeof(param) != 'undefined' ? param : {}; 
	if (typeof(send) == 'undefined') return false;
	

	
	$.ajax({
	  
		type: "POST",
		url: url,
	  	data: send,
		async: async,
		dataType: "xml",
	  	success: function(xml){
			
				$(xml).find("zaznam").children().each(function () {
					
					var_name=this.nodeName;
					var_val  = $(this).text();
					
					param[var_name]=var_val;
				});
			
				
				if ($.isFunction(func)) func.apply(param);
				else {
					my_fn=func+"(param)";
					eval(my_fn);
				}
				
  		},
		error: function(res){
			modal_ajax_error('clasic')
		}

	});
	
	
}	
 
 
 


 
function modal_req(url,send,styl) {
	
	// informaci o spuštení ajaxu
	
	if (!isset(styl)) styl="clasic";	

	// spuštení ajaxu
	$.ajax_xml({
			url: url,
			data:send,
			showErrorData:true,
			onSuccess: function (data) {
				if (data["modal_text"]) txt=data["modal_text"];
				else txt=data["data"];
				if (txt) {
					$("#modal_data").html(txt);
					txt=$("#modal_data").html();
					$("#modal_data").html("");
				
					if (!styl) styl="clasic";
				
					$.modal(txt,myModal_styl[styl]);
				}
				else modal_ajax_error('clasic')
				
			},
			   
		});
	

}

function modal_ajax_error(styl) {
	
	$("#modal_data").html("<div id='modal_bg' style='width:300px;'><div id='modal_title'>Error</div><div id='modal_other'>Při komunikaci ze servrem došlo k chybě, systém neodpovídá. Skuste to ještě opět za chvíly. </div></div></div>");
	
	$("#myModal").modal(myModal_styl["clasic"]);		
	
}

function myModal_OSX(txt) {
	
	if (txt) $("#osx_modal_data_padding").html(txt);
	$("#osx-modal-content").modal({
				overlayId: 'osx-overlay',
				containerId: 'osx-container',
				closeHTML: null,
				closeClass: 'simplemodal-close-osx',
				minHeight: 80,
				minWidth:300,
				opacity: 65, 
				position: ['0',],
				overlayClose: true,
				onOpen: function (d) {
					var self = this;
					self.container = d.container[0];
					d.overlay.fadeIn('fast', function () {
						$("#osx-modal-content", self.container).show();
						var title = $("#osx-modal-title", self.container);
						title.show();
						d.container.slideDown('normal', function () {
							setTimeout(function () {
								var h = $("#osx-modal-data", self.container).height()
									+ title.height()
									+ 20; // padding
								d.container.animate(
									{height: h}, 
									100,
									function () {
										$("div.close", self.container).show();
										$("#osx-modal-data", self.container).show();
									}
								);
							}, 100);
						});
					})
				},
				onClose: function (d) {
					var self = this; // this = SimpleModal object
					d.container.animate(
						{top:"-" + (d.container.height() + 20)},
						100,
						function () {
							self.close(); // or $.modal.close();
						}
					);
				}
			});
	return false;
}

function isset(variable) {
    return typeof(variable) != "undefined" && variable !== null;
}
