function getElement(id)
		{
			if (document.getElementById) return document.getElementById(id);
			else if (document.all) return document.all[id];
			return null;
		}

		function thickRadio (imgId, on) {
			imgObj = getElement(imgId);
			if (on == 1) {
				imgObj.src = '/files/sys/images/radio_on.gif';
			}
			else {
				imgObj.src = '/files/sys/images/radio_off.gif';
			}
		}

		function setInput (inputId, val) {
			inputObj = getElement(inputId);
			inputObj.value = val;
		}

		function show(id) {
			obj = getElement(id);
			obj.style.visibility = 'visible';
		}

		function hide(id) {
			obj = getElement(id);
			obj.style.visibility = 'hidden';
		}
		
		function showColor(id) {
			obj = getElement(id);
			obj.style.color = 'red';
		}

		function hideColor(id) {
			obj = getElement(id);
			obj.style.color = 'black';
		}
		
		

function getById(id)
{
	if (document.getElementById) return document.getElementById(id);
	else if (document.all) return document.all[id];
	return null;
}

function goTo (page)
{
	window.location.href=page;
}

function enter (e)
{
	if(window.event && e.keyCode == "13")
	{
		document.form_club.submit();
	}
	else if(e.which && e.which == "13")
	{
		document.form_club.submit();
	}
}

mailValidator = /^[a-zA-Z0-9._-]+\@([a-zA-Z0-9_-]+\.){1,}[\w]{1,4}$/;
function subscribe ()
{
	if (document.forms.newsletter.email.value == '' || document.forms.newsletter.email.value == 'Twój email' || document.forms.newsletter.email.value.search (mailValidator) == -1)
	{
		alert ('Popraw adres e-mail !');
		return;
	}
	if (document.forms.newsletter.is_subscribe.value == '1')
	{
		document.forms.newsletter.action.value='newsubscriber'
	}
	if (document.forms.newsletter.is_subscribe.value == '0')
	{
		document.forms.newsletter.action.value='unsubscribe'
	}
	document.forms.newsletter.submit();
}

function vote (id)
{
	var o = eval ('document.forms.probe.a_' + id);
	if (o)
	{
		o.value = id;
		document.forms.probe.action.value = 'vote';
		document.forms.probe.submit ();
	}
}

function results (id)
{
	document.forms.probe.action.value = 'results';
	document.forms.probe.probe_id.value = id;
	document.forms.probe.submit ();
}

/*
					function correctPNG() // correctly handle PNG transparency in Win IE 5.5 &amp; 6.
					{
					   var arVersion = navigator.appVersion.split("MSIE")
					   var version = parseFloat(arVersion[1])
					   if ((version >= 5.5) && (document.body.filters))
					   {
					      for(var i=0; i < document.images.length; i++)
					      {
						 var img = document.images[i]
						 var imgName = img.src.toUpperCase()
						 if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
						 {
						    var imgID = (img.id) ? "id='" + img.id + "' " : ""
						    var imgClass = (img.className) ? "class='" + img.className + "' " : ""
						    var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
						    var imgStyle = "display:inline-block;" + img.style.cssText
						    if (img.align == "left") imgStyle = "float:left;" + imgStyle
						    if (img.align == "right") imgStyle = "float:right;" + imgStyle
						    if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
						    var strNewHTML = "<span " + imgID + imgClass + imgTitle
						    + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
						    + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
						    + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
						    img.outerHTML = strNewHTML
						    i = i-1
						 }
					      }
					   }
					}
					
							v = parseFloat(navigator.appVersion.split("MSIE")[1]);
					   if (v >= 5.5)
							{
										 window.attachEvent("onload", correctPNG);
							}
*/				
					
					
function getCalendar (objId, objReturn, objDate)
{
	if (objDate=='' || objDate==null)
	{
		var Calendar = new Date();
		var objYear = ''+Calendar.getYear();
		var objMonth = Number(Calendar.getMonth())+1;
		var objDay = Number(Calendar.getDate());
		if (objYear.length==3) objYear = '20'+objYear.substring(1,3);
		else if (objYear.length==2) objYear = '19'+objYear;
		getCalendarFull (objId,objReturn,(objYear+'-'+get2digits(objMonth)+'-'+get2digits(objDay)),objYear,get2digits(objMonth));
	}
	else
	{
		var objYear = Number(objDate.substring(0,4));
		var objMonth = Number(objDate.substring(5,7));
		getCalendarFull (objId,objReturn,objDate,objYear,objMonth);
	}
}

function getCalendarFull (objId, objReturn, objDate, newYear, newMonth)
{
	var day_of_week = new Array('Pn','Wt','Sr','Cz','Pt','So','Nd');
	var month_of_year = new Array('Styczen','Luty','Marzec','Kwiecien','Maj','Czerwiec','Lipiec','Sierpien','Wrzesien','Pazdziernik','Listopad','Grudzien');

	var arrStr = generateCalendarString(newYear,newMonth,Number(objDate.substring(0,4)),Number(objDate.substring(5,7)),Number(objDate.substring(8,10)));
	var arr = convertCalendarStringToArray(arrStr);
	
	//Wyswietla surowa tablice (DEBUG)
	//printCalendarArray(arr);
	
	var cal = buildCalendar(arr,day_of_week,month_of_year,newYear,newMonth,objId,objReturn,objDate);


	if (document.getElementById)
	{
		 document.getElementById(objId).innerHTML = cal;
		 document.getElementById(objId).parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'block';
	}else
	if (document.all)
	{
		document.all[objId].innerHTML = cal;
		document.all[objId].parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'block';
	}
}

function closse(objId)
{
	//objId.parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'none';	
}

function generateCalendarString(nYear,nMonth,cYear,cMonth,cDay)
{
	var arrStr = '';

	var cCalendar = new Date();
	cCalendar.setYear(cYear);
	cCalendar.setMonth(cMonth-1);
	cCalendar.setDate(cDay);

	var Calendar = new Date();
	Calendar.setYear(nYear);
	Calendar.setMonth(nMonth-1);
	Calendar.setDate(1);
	var month = Number(Calendar.getMonth());
	var year = Number(Calendar.getYear());
	
	while (month == Number(Calendar.getMonth()) && year==Number(Calendar.getYear()))
	{
		if (Calendar.getDate()==1 && getCalendarWeek(Calendar.getDay())>1)
		{
			var tmpCal = new Date();
			tmpCal.setYear(Calendar.getYear());
			tmpCal.setMonth(Calendar.getMonth());
			tmpCal.setDate(Calendar.getDate());
			for (var x=1;x<getCalendarWeek(Calendar.getDay());x++)
			{
				tmpCal.setDate(tmpCal.getDate()-1);
				if (getCalendarWeek(tmpCal.getDay())==6 || getCalendarWeek(tmpCal.getDay())==7) arrStr='bew'+tmpCal.getDate()+':'+arrStr;
				else arrStr='bef'+tmpCal.getDate()+':'+arrStr;
			}
		}
		
		if (Calendar.getYear()==cCalendar.getYear() && Calendar.getMonth()==cCalendar.getMonth() && Calendar.getDate()==cCalendar.getDate()) arrStr+='now'+Calendar.getDate()+':';
		else if (getCalendarWeek(Calendar.getDay())==6 || getCalendarWeek(Calendar.getDay())==7) arrStr+='cuw'+Calendar.getDate()+':';
		else arrStr+='cur'+Calendar.getDate()+':';
		
		if (getCalendarWeek(Calendar.getDay())==7) arrStr+='|';
		Calendar.setDate(Calendar.getDate()+1);
		if (Calendar.getDate()==1 && getCalendarWeek(Calendar.getDay())>1 && month != Calendar.getMonth())
		{
			var tmpCal = new Date();
			tmpCal.setYear(Calendar.getYear());
			tmpCal.setMonth(Calendar.getMonth());
			tmpCal.setDate(Calendar.getDate());
			for (var x=getCalendarWeek(Calendar.getDay());x<=7;x++)
			{
				if (getCalendarWeek(tmpCal.getDay())==6 || getCalendarWeek(tmpCal.getDay())==7) arrStr+='afw'+tmpCal.getDate()+':';
				else arrStr+='aft'+tmpCal.getDate()+':';
				tmpCal.setDate(tmpCal.getDate()+1);
			}
		}
		
	}
	return arrStr;
}

function convertCalendarStringToArray(arrStr)
{
	var arr = new Array();
	var tmp = arrStr.split('|');
	var _without = 0;
	if (tmp[tmp.length-1]=='' || tmp[tmp.length-1]==null) _without=1;
	for (var x=0; x<(tmp.length-_without);x++)
	{
		arr[x] = tmp[x].split(':');
	}
	return arr;
}

function getCalendarWeek(num)
{
	if (num==0) return 7;
	return num;
}

function get2digits(num)
{
	if ((''+num).length==1) return '0'+num;
	return num;
}

function buildCalendar(arr,day_of_week,month_of_year,newYear,newMonth,objId,objReturn,objDate)
{
	var str='';
	
	str+= '<table width="100%" class="cal_table" cellspacing="0" cellpadding="0">';
	str+= '<tr>';
	str+= '<td>';
		str+= '<table width="100%" class="cal_top_header" cellspacing="0" cellpadding="0">';
				str+= '<td colspan="7" style="padding-top: 4px;" valign="middle">';
					str+= '<table width="100%" class="cal_header" cellspacing="0" cellpadding="0">';
						str+= '<tr valign="middle">';
							str+= '<td width="13%" align="left" valign="middle">';
							str+= '<img src="/files/sys/images/arrow_black_left.gif" style="cursor:pointer;display:inline;" onClick="prevYear(\''+objId+'\',\''+objReturn+'\',\''+objDate+'\','+newYear+','+newMonth+')"/>'
							str+= '<img src="/files/sys/images/arrow_black_left.gif" style="cursor:pointer;display:inline;" onClick="prevYear(\''+objId+'\',\''+objReturn+'\',\''+objDate+'\','+newYear+','+newMonth+')"/>'
								str+= '&#160;<img src="/files/sys/images/arrow_black_left.gif" style="cursor:pointer;display:inline;" onClick="prevMonth(\''+objId+'\',\''+objReturn+'\',\''+objDate+'\','+newYear+','+newMonth+')"/>';
							str+= '</td>';
							str+= '<td width="74%" class="hd_text" align="center" valign="middle" onClick="setDate(\''+ newYear +'-'+get2digits(newMonth) +'-01\'' + ',true);closse(' + objId + ')' + '" style="cursor:pointer;closs">';
								str+= month_of_year[newMonth-1]+' '+newYear;
							str+= '</td>';
							str+= '<td width="13%" align="right" valign="middle">';
							str+= '<img src="/files/sys/images/arrow_black.gif" style="cursor:pointer;display:inline;" onClick="nextMonth(\''+objId+'\',\''+objReturn+'\',\''+objDate+'\','+newYear+','+newMonth+')"/>';
								str+= '&#160;<img src="/files/sys/images/arrow_black.gif" style="cursor:pointer;display:inline;" onClick="nextYear(\''+objId+'\',\''+objReturn+'\',\''+objDate+'\','+newYear+','+newMonth+')"/>';
								str+= '<img src="/files/sys/images/arrow_black.gif" style="cursor:pointer;display:inline;" onClick="nextYear(\''+objId+'\',\''+objReturn+'\',\''+objDate+'\','+newYear+','+newMonth+')"/>';
							str+= '</td>';
						str+= '</tr>';
					str+= '</table>';
				str+= '</td>';
			str+= '</tr>';
	
			str+= '<tr>';
				for (var x=0; x<day_of_week.length;x++)
				{
					if (x==5 || x==6) str+= '<td class="cal_weekW">'+day_of_week[x]+'</td>';
					else str+= '<td class="cal_week">'+day_of_week[x]+'</td>';
				}
			str+= '</tr>';
		str+= '</table>';
	str+= '</td>';
	str+= '</tr>';

	str+= '<tr>';
	str+= '<td>';
	str+= '<table  width="100%" class="cal_content" cellspacing="0" cellpadding="0">';
	for (var y=0; y<arr.length;y++)
	{
		str+= '<tr>';
		for (var x=0; x<arr[y].length-1;x++)
		{
			var dayType = arr[y][x].substring(0,3);
			
			if (dayType == 'now' || dayType == 'cuw' || dayType == 'cur')
				str += buildDay(arr, x, y, newYear, newMonth, objId, objReturn);
			else
				str += buildEmptyDay(arr, x, y);
						
		}
		str+= '</tr>';
	}
	str+= '<tr>';
	str+= '<td colspan="9" height="1" />'
	str+= '</tr>';
	
	str+= '</table>';
	str+= '</td>';
	str+= '</tr>';
	str+= '</table>';
	
	return str;
}

function buildDay (arr, x, y, newYear, newMonth, objId, objReturn)
{
	var str = '';
	
	str+= '<td onMouseOver="this.oldClassName=this.className;this.className=this.oldClassName+\' ';
	if (x == 0 && y >= arr.length-1)
		str += 'cal_dayOver_bl\';"'
	else if (x >= arr[y].length-2 && y >= arr.length-1)
		str += 'cal_dayOver_br\';"'
	else
		str += 'cal_dayOver\';"'
	
	str+= ' onMouseOut="this.className=this.oldClassName;" style="';			
	if (x==arr[y].length-2) str+= 'border-right:0px !important;';
	if (y==arr.length-1) str+= 'border-bottom:0px !important;';
	str+= '" onClick="setDate(\''+ newYear +'-'+get2digits(newMonth) +'-'+get2digits(arr[y][x].substring(3)) +'\',false)' + ';closse(' + objId + ')' + '"';
	switch (arr[y][x].substring(0,3))
	{
		case "now":
			if (x == 0 && y >= arr.length-1)
				str+= ' class="cal_dayNow_bl">'+arr[y][x].substring(3)+'</td>';
			else if (x >= arr[y].length-2 && y >= arr.length-1)
				str+= ' class="cal_dayNow_br">'+arr[y][x].substring(3)+'</td>';
			else
				str+= ' class="cal_dayNow">'+arr[y][x].substring(3)+'</td>';
			break;
		case "cuw":
			str+= ' class="cal_dayCuw">'+arr[y][x].substring(3)+'</td>';
			break;
		default:
			str+= ' class="cal_dayCur">'+arr[y][x].substring(3)+'</td>';
	}
	
	return str;
}

function buildEmptyDay (arr, x, y)
{
	var str = '<td class="cal_dayEmpty" style="'
	if (x==arr[y].length-2) str+= 'border-right:0px !important;';
	if (y==arr.length-1) str+= 'border-bottom:0px !important;';
	str += '">&#160;</td>'
	
	return str;
}

function prevMonth(objId,objReturn,objDate,newYear,newMonth)
{
	var tmpCal = new Date();
	tmpCal.setYear(newYear);
	tmpCal.setMonth(newMonth-1);
	tmpCal.setDate(1);
	tmpCal.setMonth(tmpCal.getMonth()-1);
	if (newMonth==1) newYear = Number(newYear)-1;
	getCalendarFull(objId,objReturn,objDate,newYear,tmpCal.getMonth()+1);
}

function nextMonth(objId,objReturn,objDate,newYear,newMonth)
{
	var tmpCal = new Date();
	tmpCal.setYear(Number(newYear));
	tmpCal.setMonth((Number(newMonth)-1));
	tmpCal.setDate(1);
	tmpCal.setMonth((Number(tmpCal.getMonth())+1));
	if (newMonth==12) newYear = Number(newYear)+1;
	getCalendarFull(objId,objReturn,objDate,newYear,tmpCal.getMonth()+1);
}

function prevYear(objId,objReturn,objDate,newYear,newMonth)
{
	getCalendarFull(objId,objReturn,objDate,Number(newYear)-1,newMonth);
}

function nextYear(objId,objReturn,objDate,newYear,newMonth)
{	
	getCalendarFull(objId,objReturn,objDate,Number(newYear)+1,newMonth);
}

//For Debug
function printCalendarArray(arr)
{
	var str="";
	for (y=0; y<arr.length;y++)
	{
		for (x=0; x<arr[y].length;x++)
		{
			str+=arr[y][x]+' ';
		}
		str+='\n';
	}
	alert(str);
}

function winopen(plik, w, h, scroll) 
{
	winopen (plik, w, h, scroll, 'no');
}

function winopen(plik, w, h, scroll, resizable) 
{
	 aw=640;
	 ah=450;
	 if(window.screen) {
	  aw=screen.availwidth;
	  ah=screen.availheight;
	  if (!(aw > 0)) {
	   aw=screen.width;
	   ah=screen.height;
	  }
	 }
	 ustawienia=
	 "left="+(aw-w)/2+","
	 +"top="+(ah-h)/2+","
	 +"screenX="+(aw-w)/2+","
	 +"screenY="+(ah-h)/2+","
	 +"width="+w+","
	 +"height="+h+","
	 +"toolbar=no,"
	 +"location=no,"
	 +"directories=no,"
	 +"status=np,"
	 +"menubar=no,"
	 +"scrollbars="+scroll+","
	 +"name="+plik+","
	 +"resizable="+resizable;
	 noweokno=window.open(plik,
	 	('o_' + Math.random (100)).replace ('.','_'),
	 	ustawienia);
	 return noweokno;
}

function addSafeEvent(obj,event_name,event_handler)
{
	event_name = event_name.toLowerCase();
	if (event_name.substring(0,2)=="on") event_name = event_name.substring(2,event_name.length);
	
	if(obj.addEventListener) obj.addEventListener(event_name,event_handler,false);
	else if (obj.attachEvent) obj.attachEvent("on"+event_name,event_handler);
}


var menuTableEvent = new Object();
menuTableEvent[0] = new Object();
menuTableEvent[1] = new Object();

function top_menu_over(obj,maxH,table)
{
try
{
	var elem = obj.childNodes.item(1);
	if (elem!=null)
	{
		if (menuTableEvent[table]['current']!='') menuTableEvent[table][menuTableEvent[table]['current']] = 'out';
		if (menuTableEvent[table][elem.id] != 'over')
		{
			menuTableEvent[table]['current'] = elem.id;
			menuTableEvent[table][elem.id] = 'over';

			elem.style.overflow = 'hidden';
			elem.style.display = 'block';
			expandMenu(elem,maxH,table);
			shrinkMenu(elem,table);
		}
	}
}
catch (ex)
{
}
}
function top_menu_out(obj,table)
{
try
{
	var elem = obj.childNodes.item(1);
	if (elem!=null)
	{
		menuTableEvent[table][elem.id] = 'out';
		var objStyle = elem.style;
		objStyle.overflow = 'visible';
		objStyle.display = 'none';
		objStyle.height = '1px';
		menuTableEvent[table][elem.id] = '';
	}
}
catch (ex)
{
}
}

function expandMenu(obj,maxH,table)
{
	try
	{
		if (menuTableEvent[table][obj.id] == 'over')
		{
			var objStyle = obj.style;
			//var curHdouble = Number(objStyle.height.replace('px',''))*1.5;
			//if (curHdouble>=maxH)
			//{
				objStyle.overflow = 'visible';
				objStyle.height = "auto";
				return;
			//}
			//objStyle.height = Math.round(curHdouble)+'px';
			//setTimeout(function() {expandMenu(obj,maxH,table);},15);
		}
	}
	catch(ex)
	{
	}
}

function shrinkMenu(obj,table)
{
	try
	{
		//var objStyle = obj.style;
		//var curHdouble = Number(objStyle.height.replace('px',''));

		if (menuTableEvent[table][obj.id] != 'over')
		{
			//objStyle.overflow = 'hidden';
			//curHdouble = curHdouble*0.5;
			//if (curHdouble<=1)
			//{
				var objStyle = obj.style;
				objStyle.overflow = 'visible';
				objStyle.display = 'none';
				objStyle.height = '1px';
				menuTableEvent[table][obj.id] = '';
				return;
			//}
			//objStyle.height = Math.round(curHdouble)+'px';

		}
		setTimeout(function() {shrinkMenu(obj,table);},5);
	}
	catch (ex)
	{
	}
}
