
function markRow(mark, row, field) {
	if (mark==false) {
		return true;
	}
	
	$(row).css('background-color','#A4285E');
	$(row+" td "+field).css('background-color','#EBF1F1');
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+cookiePLValue(value)+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return valuePLCookie(c.substring(nameEQ.length,c.length));
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/*
function cookieInputCheck(input, nazwa) {
	var date = new Date();

	if (input.checked || input.selected) {
		date.setTime(date.getTime()+(30*60*1000));
		document.cookie = nazwa+'='+cookiePLValue(input.value)+'; expires='+date.toGMTString()+'; path=/';
	}
	else {
		date.setTime(date.getTime()+(30*60*1000));
		document.cookie = nazwa+'=; expires='+date.toGMTString()+'; path=/';
	}
}

function cookieInputValue(input, nazwa) {
	var date = new Date();

	var wartosc = cookiePLValue(input.value);
	var igla = /\s/gi;

	if (input.value!='') {
		date.setTime(date.getTime()+(30*60*1000));
		document.cookie = nazwa+'_'+input.name+'='+wartosc.replace(igla, " ")+'; expires='+date.toGMTString()+'; path=/';
	}
	else {
		date.setTime(date.getTime()+(30*60*1000));
		document.cookie = nazwa+'_'+input.name+'=; expires='+date.toGMTString()+'; path=/';
	}
}
*/

function cookiePLValue(value) {
	var igla = new RegExp("ś", "g");
	value=value.replace(igla, "s~");

	igla = new RegExp("ą", "g");
	value=value.replace(igla, "a~");

	igla = new RegExp("ę", "g");
	value=value.replace(igla, "e~");

	igla = new RegExp("ż", "g");
	value=value.replace(igla, "z~");

	igla = new RegExp("ź", "g");
	value=value.replace(igla, "x~");

	igla = new RegExp("ć", "g");
	value=value.replace(igla, "c~");

	igla = new RegExp("ń", "g");
	value=value.replace(igla, "n~");

	igla = new RegExp("ó", "g");
	value=value.replace(igla, "o~");

	igla = new RegExp("ł", "g");
	value=value.replace(igla, "l~");

	igla = new RegExp("Ś", "g");
	value=value.replace(igla, "S~");

	igla = new RegExp("Ą", "g");
	value=value.replace(igla, "A~");

	igla = new RegExp("Ę", "g");
	value=value.replace(igla, "E~");

	igla = new RegExp("Ż", "g");
	value=value.replace(igla, "Z~");

	igla = new RegExp("Ź", "g");
	value=value.replace(igla, "X~");

	igla = new RegExp("Ć", "g");
	value=value.replace(igla, "C~");

	igla = new RegExp("Ń", "g");
	value=value.replace(igla, "N~");

	igla = new RegExp("Ó", "g");
	value=value.replace(igla, "O~");

	igla = new RegExp("Ł", "g");
	value=value.replace(igla, "L~");

	igla = /\n/gi;
	value=value.replace(igla, "w~");

	return value;
}

function valuePLCookie(value) {
	var igla = new RegExp("s~", "g");
	value=value.replace(igla, "ś");

	igla = new RegExp("a~", "g");
	value=value.replace(igla, "ą");

	igla = new RegExp("e~", "g");
	value=value.replace(igla, "ę");

	igla = new RegExp("z~", "g");
	value=value.replace(igla, "ż");

	igla = new RegExp("x~", "g");
	value=value.replace(igla, "ź");

	igla = new RegExp("c~", "g");
	value=value.replace(igla, "ć");

	igla = new RegExp("n~", "g");
	value=value.replace(igla, "ń");

	igla = new RegExp("o~", "g");
	value=value.replace(igla, "ó");

	igla = new RegExp("l~", "g");
	value=value.replace(igla, "ł");

	igla = new RegExp("S~", "g");
	value=value.replace(igla, "Ś");

	igla = new RegExp("A~", "g");
	value=value.replace(igla, "Ą");

	igla = new RegExp("E~", "g");
	value=value.replace(igla, "Ę");

	igla = new RegExp("Z~", "g");
	value=value.replace(igla, "Ż");

	igla = new RegExp("X~", "g");
	value=value.replace(igla, "Ź");

	igla = new RegExp("C~", "g");
	value=value.replace(igla, "Ć");

	igla = new RegExp("N~", "g");
	value=value.replace(igla, "Ń");

	igla = new RegExp("O~", "g");
	value=value.replace(igla, "Ó");

	igla = new RegExp("L~", "g");
	value=value.replace(igla, "Ł");

	//igla = /\n/gi;
	igla = new RegExp("w~", "g");
	value=value.replace(igla, "\n");

	return value;
}


function thisWindowClose() {
	this.window.close();
}

function switchEl2(elid) {
	if ($(elid).attr("disabled")) {
		$(elid).removeAttr("disabled");
	}
	else {
		$(elid).attr("disabled","disabled");
	}
}

function switchEl(elid) {
	if (document.getElementById(elid).disabled==true) 
	document.getElementById(elid).disabled=false;
	else
	document.getElementById(elid).disabled=true;
}

function switchEl_disable(elid) {
	$(elid).attr("disabled","disabled");
}

function switchEl_enable(elid) {
	$(elid).removeAttr("disabled");
}

function confirmLink(theLink, action /*, confirmMsg, confirmMsg2*/)
{
	var confirmMsg  = 'Próbujesz wykonać następującą akcję:';
	var confirmMsg2 = 'Kliknij OK jeżeli jesteś pewien.';

    // Confirmation is not required in the configuration file
    // or browser is Opera (crappy js implementation)
    if (confirmMsg == '' || typeof(window.opera) != 'undefined') {
        return true;
    }
    var is_confirmed = confirm(confirmMsg + '\n' + action + '\n' + confirmMsg2);
    return is_confirmed;
} // end of the 'confirmLink()' function 

function showHide(elid) {
	if (document.getElementById(elid).style.display=='none' || document.getElementById(elid).style.display=='')
		document.getElementById(elid).style.display='block';
	else 
		document.getElementById(elid).style.display='none';
}

function showHide2(elid) {
	if (document.getElementById(elid).style.visibility=='visible' || document.getElementById(elid).style.visibility=='') {
		document.getElementById(elid).style.visibility='collapse';
	}
	else {
		document.getElementById(elid).style.visibility='visible';	
	}
}

function showHide_show(elid) {
	document.getElementById(elid).style.display='block';
}

function showHide_hide(elid) {
	document.getElementById(elid).style.display='none';
}

function getTime4Form() {
	var thisdate=new Date();
	var returned=new String();

	if (thisdate.getHours()>9)
	{
		returned=thisdate.getHours();
	}
	else {
		returned="0"+thisdate.getHours();
	}

	returned+=":";

	if (thisdate.getMinutes()>9)
	{
		returned+=thisdate.getMinutes();
	}
	else {
		returned+="0"+thisdate.getMinutes();
	}

	return returned;
}

function addFavourite(url, title) {
	if (window.sidebar) {
		window.sidebar.addPanel(title, url,""); 
	} else if( document.all ) {
		window.external.AddFavorite(url, title);
	} else if( window.opera && window.print ) {
		return true;
	}
}

function go2urlNow(url) {
	var url2 = new String(url);
	if (url2.substring(0,4)!="http") {
		url = $("#base_url").attr("href") + url;
	}
	document.location.href=url;
}

function go2url(url, delay) {
	var code = "go2urlNow('"+url+"')";
	
	//if (navigator.appName=="Microsoft Internet Explorer")
	/*if (true)
	{
		code = "go2urlNow('"+ $("#base_url").val() + url +"')";
	}*/
	
	setTimeout(code, delay);
}

function setNumOnly(instr) {
	var str = new String(instr);
	str = str.replace(/ /g, "");
	str = str.replace(/-/g, "");
	str = str.replace(/[a-z]/ig, "");
	return str;
}

function checksubmitstatus(dosubmit_arr, form) {
	var ok = true;

	for (var i=0;i<dosubmit_arr.length;i++) {
		if (dosubmit_arr[i]==false) {
			ok = false;
			//console.log('zonk='+i);
		}
	}
	
	if (ok) {
		$("#"+form+" div.submit_warning").hide(0);
		//$("#"+form+" table.info tr td.submit div.submit").show(0);
	}
	else {
		$("#"+form+" div.submit_warning").show(0);
		//$("#"+form+" table.info tr td.submit div.submit").hide(0);
	}
	
	//console.log('---');
	
	return ok;
}


function popup(url) {
	var winW = 1024, winH = 768;

	/*if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			winW = window.innerWidth;
			winH = window.innerHeight;
		}
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			winW = document.body.offsetWidth;
			winH = document.body.offsetHeight;
		}
	}*/

	var name="popupno"+Math.floor((Math.random()*10000));
	var result = this.open(url, name, "toolbar=yes,menubar=yes,location=yes,scrollbars=yes,resizable=yes,height="+winH+",width="+winW)
}


/*var newwindow = '';

function popup(url) {
	if (!newwindow.closed && newwindow.location) {
		newwindow.location.href = url;
	}
	else {
		newwindow=window.open(url, 'popupWindow', "toolbar=yes,menubar=yes,location=yes,scrollbars=yes,resizable=yes");
		if (!newwindow.opener) newwindow.opener = self;
	}
	if (window.focus) {newwindow.focus()}
	return false;
}
*/

function TooltipBodyHandler(instr) {
	var str = new String(instr);
	str = str.replace(/headopen/g,"<h3>");
	str = str.replace(/headclose/g,"</h3>");
	str = str.replace(/breakline/g, "<br/>");
	str = str.replace(/headline/g, "<hr/>");
	return str;
}

/**
 * Function : dump()
 * Arguments: The data - array,hash(associative array),object
 *    The level - OPTIONAL
 * Returns  : The textual representation of the array.
 * This function was inspired by the print_r function of PHP.
 * This will accept some data as the argument and return a
 * text that will be a more readable version of the
 * array/hash/object that is given.
 * Docs: http://www.openjs.com/scripts/others/dump_function_php_print_r.php
 */
function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects 
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}

function pausecomp(millis)
{
	var date = new Date();
	var curDate = null;

	do {
		curDate = new Date();
	}
	while (curDate-date < millis);
}