//łłąśłśó
Util={};

Util.getStyle = function(oElm, strCssRule){
	var strValue = "";
	if(document.defaultView && document.defaultView.getComputedStyle){
		strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
	}
	else if(oElm.currentStyle){
		strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
			return p1.toUpperCase();
		});
		strValue = oElm.currentStyle[strCssRule];
	}
	return strValue;
};

Util.loadjscssfile = function(filename, filetype){
	var zaladowane=[];
	for(var i=0; i<zaladowane.length; i++){
		if (zaladowane[i]=='filename') {
			return;
		}
	}
	
	if (filetype=="js"){ //if filename is a external JavaScript file
		var fileref=document.createElement('script');
		fileref.setAttribute("type","text/javascript");
		fileref.setAttribute("src", filename);
	}
	else if (filetype=="css"){ //if filename is an external CSS file
		var fileref=document.createElement("link");
		fileref.setAttribute("rel", "stylesheet");
		fileref.setAttribute("type", "text/css");
		fileref.setAttribute("href", filename);
	}
	if (typeof fileref!="undefined"){
		document.getElementsByTagName("head")[0].appendChild(fileref);
	}
};


Util.czyIE = function(){
	return document.all&&!window.opera?true:false;

}


Util.dialog=function(tresc, callback){
	if(typeof($.modal)!='undefined' && !Util.czyIE()){	
			$.modal("<div style='text-align:center;'>\
								<p>"+tresc+"</p>\
								<p class='modalCloseD'><span class='modalCloseB button modalClose'>OK</span></p>\
							 </div>", {
								
								 close: false , 
								 containerId : 'dialogModalContainer', 
								 overlayId : 'dialogModalOverlay' , 
								 closeClass : 'modalClose',
								onShow: function (dialog) {
									dialog.data.find('.modalCloseB').click(function () {
										if ($.isFunction(callback)) {
											callback.apply();
										}
										$.modal.close();
									});
								}									 
							 });	
	} else {
		alert(tresc);
		callback.apply();
	}								 
};


Util.confirm=function(tresc, callback){
	if(typeof($.modal)!='undefined' && !Util.czyIE()){	
			$.modal("<div style='text-align:center;'>\
								<p>"+tresc+"</p>\
								<p class='modalCloseD'><span class='modalOK button' style='' >TAK</span><span class='modalClose button' onclick='$.modal.close();'  style='margin-left:130px;'>NIE</span>\
								</p>\
							 </div>", {								
								 close: false ,
								onShow: function (dialog) {
									dialog.data.find('.modalOK').click(function () {
										if ($.isFunction(callback)) {
											callback.apply();
										}
										$.modal.close();
									});
								},								 
								 containerId : 'dialogModalContainer', 
								 overlayId : 'dialogModalOverlay' , 
								 closeClass : 'modalClose'
							 });	
	} else {
		if(confirm(tresc)){
			callback.apply();
		}
	}								 
};

Util.overlay = (function(){
	var opt={
		overlayID : 'custom-background-overlay',
		zIndex : 199,
		color : 'black',
		opacity : 0.5
	};
	
	var overlay = null;
	
	var setSize = function(){
		var width = parseInt(Util.getStyle(document.body, 'width'));
		var height = parseInt(Util.getStyle(document.body, 'height'));
		//document.getElementById(opt.overlayID).style.width=width+'px';
		//document.getElementById(opt.overlayID).style.height=height+'px';
		$('#'+opt.overlayID).css({'width': width, 'height' : height});
	};
	

	
	return {
		display : function(b){
			if(Util.czyIE()){ return; }
			if(!document.getElementById(opt.overlayID)){
				var html = '<div id="'+opt.overlayID+'" style="background:'+opt.color+'; z-index:'+opt.zIndex+'; display:none; position: absolute; top:0; left:0;  _filter:alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5;"></div>';
				$('body').append(html);
				$(window).resize(setSize);
			}
			setSize();
			overlay = $('#'+opt.overlayID);
			if (b){
				overlay.show();
			} else {
				overlay.hide();
			}
		}
	};
})()



Util.isFloat = function(l){
	return l.match(/^\d+(\.\d+)?$/);
};

Util.cenaOK = function(l){
	return l.match(/^\d+(\.\d+)?$/) && l>0;
};

Util.dataMySQLOK = function(l){
	return l.match(/^\d{4}-\d{2}-\d{2}$/);
};


/**
 * łączenie w obiektów
 * @param {object} o1
 * @param {object} o2
 * @return {object}
 */
Util.mergeObject = function(o1, o2) {
	if(typeof(o1) !== 'object'){
		o1 = {};
	}
	if(typeof(o2) !== 'object'){
		o2 = {};
	}
	var result = {};
	for(var i in o1){
		result[i] = o1[i];
	}
	for(var i in o2){
		result[i] = o2[i];
	}
	return result;
};
