var ERR_BLANK 		= ' - wymagana warto\u015B\u0107 ';
var ERR_INT	   		= ' - wymagana warto\u015B\u0107 liczbowa ';
var ERR_RANGE  		= ' - wymagana warto\u015B\u0107 z zakresu ';
var ERR_LENGTH  	= ' - z\u0142a ilo\u015B\u0107 znak\u00F3w';
var ERR_FLOAT 		= ' - wymagana poprawna kwota';
var ERR_MIN_VALUE	= ' - wymagana jest kwota wy\u017Csza ni\u017C ';
var ERR_DATE_FORMAT = ' - wymagany format daty to rrrr-mm-dd';
var ERR_DATE_MONTH 	= ' - prosz\u0119 wpisa\u0107 poprawny miesi\u0105c';
var ERR_DATE_DAY	= ' - prosz\u0119 wpisa\u0107 poprawny dzie\u0144';
var ERR_DATE_YEAR	= ' - prosz\u0119 wpisa\u0107 poprawny rok z zakresu ';
var ERR_DATE		= ' - prosz\u0119 wpisa\u0107 poprawn\u0105 dat\u0119 w formacie rrrr-mm-dd';
var dtCh			= 	"-";
var minYear			=	2004;
var maxYear			=	2100;


var curDate = new Date();
curDate.setDate(1);			
curDate.getTheYear = curDate.getFullYear ? curDate.getFullYear : curDate.getYear;
var CurrDay=(new Date()).getDate();
var CurrMon=curDate.getMonth()+1;
var CurrYear=curDate.getTheYear();
var oDoc;
var ua = navigator.userAgent.toLowerCase();
var opOrEscape = window.opera || ( document.layers && !navigator.mimeTypes['*'] ) || navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled );
			
var monthList = ['Stycze\u0144','Luty','Marzec','Kwiecie\u0144','Maj','Czerwiec','Lipiec','Sierpie\u0144','Wrzesie\u0144','Pa\u017adziernik','Listopad','Grudzie\u0144'];
var today = "Dzisiaj jest";
var LANG_CALENDAR = 'Kalendarz';
var LANG_MON_SHORT = 'Pn';
var LANG_TUE_SHORT = 'Wt';
var LANG_WED_SHORT = 'Sr';
var LANG_THU_SHORT = 'Cz';
var LANG_FRI_SHORT = 'Pt';
var LANG_SAT_SHORT = 'So';
var LANG_SUN_SHORT = 'N';

var arrRegularHolidays = new Array('0101', '0501', '0503', '0815', '1101', '1111', '1225', '1226'); //mmdd
var arrIrregularHolidays = new Array(
          '20060416', '20060417', '20060615',
          '20070408', '20070409', '20070607',
          '20080323', '20080324', '20080522',
          '20090412', '20090413', '20090611',
          '20100404', '20100405', '20100603',
          '20110424', '20110425', '20110623',
          '20120408', '20120409', '20120607',
          '20130331', '20130401', '20130530',
          '20140420', '20140421', '20140619',
          '20150405', '20150406', '20150604',
          '20160327', '20160328', '20160526',
          '20170416', '20170417', '20170615',
          '20180401', '20180402', '20180531',
          '20190421', '20190422', '20190620',
          '20200412', '20200413', '20200611',
          '20210404', '20210405', '20210603',
          '20220417', '20220418', '20220616',
          '20230409', '20230410', '20230608',
          '20240331', '20240401', '20240530',
          '20250420', '20250421', '20250619',
          '20260405', '20260406', '20260604',
          '20270328', '20270329', '20270527',
          '20280416', '20280417', '20280615',
          '20290401', '20290402', '20290531'); //yyyymmdd
function isHolidayDate(dt) {
	for (var i=0; i<arrRegularHolidays.length; i++)
	if (dt.substr(4) == arrRegularHolidays[i]) return 1;
	for (var i=0; i<arrIrregularHolidays.length; i++)
		if (dt == arrIrregularHolidays[i]) return 1;
			return 0;
}


function addCardProduct(form,cardId) {
		Item= form.period.selectedIndex;
    	id = form.period.options[Item].value;
		var loc = "basket.do?mode=add&groupId=5&qty=1&cardId="+ cardId + "&id=" + id;
		window.location = loc;
	    return true;
}

function addProduct(groupId,productId,quantity) {

		var loc = "basket.do?mode=add&groupId="+ groupId + "&id="+ productId + "&qty="+quantity + "&backLocation="+ window.location;
		window.location = loc;
	    return true;
}

function addProductSms(groupId,productId,quantity) {

		var loc = "order.do?mode=completeSms&groupId="+ groupId + "&id="+ productId + "&qty="+quantity + "&backLocation="+ window.location;
		window.location = loc;
	    return true;
}

function deleteProduct(p) {
		var loc = "basket.do?mode=delete&id="+ p;
		window.location = loc;
	    return true;
}


function deleteAll() {
		var loc = "basket.do?mode=deleteAll";
		window.location = loc;
	    return true;
}
function checkOut() {
		var loc = "order.do?mode=create";
		window.location = loc;
	    return true;
}
 
function updateQty(qtyButton,p) {
	var qty = document.getElementById(qtyButton).value;
	
	if (checkValue(qty)){
		var loc = "basket.do?mode=update&qty="+ qty + "&id="+ p;
		window.location = loc;
	    return true;
	}

 }

function completeOrder(pt) {
	var loc = "order.do?mode=complete&paymentTypeId="+pt;
	window.location = loc;
	return true;

 }

 
  function checkValue(qty)
  {
    if (isNaN(qty) || qty < 1 || qty > 99){
      alert("Please select a quantity between 1-99.");
      return false;
    } 
    return true;
  } 
  
  
  
function checkInt(theField, fieldLabel){
	if (isInteger(theField.value)==false){
		alert(fieldLabel + ERR_INT);
		theField.focus();
		return false;
	}
    return true;
 }
  
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
       // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
//		if  (s.search(/^\d$/)  == -1)	{
//            return(false);
//            };
    return true;
}

function hl_el(el) {
	el.style.fontWeight = 'bold';
}

function unhl_el(el) {
	el.style.fontWeight = 'normal';
}

function resetSearchForm() {
	document.forms['search_form'].elements['searchTerm'].value = '';
	document.forms['search_form'].elements['city'].value = '';
	document.forms['search_form'].elements['sDay'].value = '';
	document.forms['search_form'].elements['sMonth'].value = '';
	document.forms['search_form'].elements['sYear'].value = '';
	document.forms['search_form'].elements['eDay'].value = '';
	document.forms['search_form'].elements['eMonth'].value = '';
	document.forms['search_form'].elements['eYear'].value = '';
	document.forms['search_form'].elements['searchType'].value = '0';
}

function hl() {
	var labels = $('searchContainer').getElementsByTagName('label');
	for(var i=0;i<labels.length;i++) {
		unhl_el(labels[i]);
	}
	var e = new Array, l = new Array;
	var f = document.forms.searchForm;
	if(f.string.value != '' ) {l.push($('stringL')); e.push(f.string)}
	if(f.title.checked ) {l.push($('titleL')); e.push(f.closed)}
}

function changeSelection(t) {
	index = t.selectedIndex + 1;
	var loc = "KATALOG-FIRM-SZUKAJ-BRANZA-" + index + "-.html";
	window.location = loc;
	return true;
}

function openCalendar(e, day, mon, year, fun) {
//	day.disabled = false;
//	if (day.disabled==true) {
//		oDoc=null;
//		return;
//	}
	if (oDoc) {
		if (oDoc.closed!=true) {
			oDoc.close();
		}
	}
	var sX = 0, sY = 0;
	if (!e) { e = window.event; }
	if (ua.indexOf("msie") != -1) { 
		sX = e.screenX;
		sY = e.screenY;
	}
	else if (ua.indexOf("opera") != -1) {
		sX = e.clientX;
		sY = e.clientY;
	}
	else if (ua.indexOf("firefox") != -1 || ua.indexOf("netscape") != -1) {
		sX = e.clientX;
		sY = e.clientY;
	}
	else {}
	if (sX > screen.availWidth - 190) { sX = sX - 190; }
	if (sY > screen.availHeight - 190) { sY = screen.availHeight - 190; }
	doReDraw(sX,sY);
				
	this.CDay = day;
	this.CMon = mon;
	this.CYear = year;
	this.RefreshFun = fun;
}

function update_endDate() {
	var pday = trim(document.forms['search_form'].elements['endDay'].value);
	var pmon = trim(document.forms['search_form'].elements['endMonth'].value);
	if (pday.length==1) pday='0'+pday;
	if (pmon.length==1) pmon='0'+pmon;
	document.forms['search_form'].elements['endDay'].value = pday;
	document.forms['search_form'].elements['endMonth'].value = pmon;
}

function update_startDate() {
	var pday = trim(document.forms['search_form'].elements['startDay'].value);
	var pmon = trim(document.forms['search_form'].elements['startMonth'].value);
	if (pday.length==1) pday='0'+pday;
	if (pmon.length==1) pmon='0'+pmon;
	document.forms['search_form'].elements['startDay'].value = pday;
	document.forms['search_form'].elements['startMonth'].value = pmon;
}

function doReDraw(sX,sY) {
	var isHaliday = 0;
	var theContent = '<html><head><title>'+LANG_CALENDAR+'</title><style type="text/css">'+
		'.left_pad { padding-left:8px }\n'+
		'OPTION,.selCal{font-family: Verdana, Times, Serif; font-size: 10px;color:#2A2E65;BACKGROUND-COLOR: #F4FAFA; }\n'+
		'a { text-decoration: none; color:2A2E65; font-size: 10px;}\n'+
		'td{ font-family: Verdana, Times, Serif; font-size: 11px;color:#2A2E65 }\n'+
		'th { font-family: Verdana, Times, Serif; font-size: 11px; color:#2A2E65}\n'+
		'a.MWJCAL { display: block; width: 100%; font-weight: bold;}\n'+
		'body { margin-left:0px; margin-top:0px; margin-width:0px; margin-height:0px;}</style></head>'+
		'<body bgcolor="#ffffff" text="#757575" link="#00007f" alink="#00007f" vlink="#00007f" marginleft="0px" margintop="0px" marginwidth="0px" marginheight="0px">'+
		'<form onsubmit="return false;">'+
		'<table border="0" cellpadding="0" cellspacing="0" width="191">'+
		'<tr><td height="26" bgcolor="#F3F7FF"  class="left_pad"><select name="" onchange="window.opener.MWJ_setYear(this.options[selectedIndex].value)" class="selCal">';
					
		for (yr = CurrYear; yr <= CurrYear+9; yr++) {
			if (yr == (curDate.getTheYear())) {
				theContent += '<option value="' + yr + '" selected="selected">' + yr + '</option>';
			}
			else {
				theContent += '<option value="' + yr + '">' + yr + '</option>';
			}
		}
					
		theContent+='</select>&nbsp;&nbsp;'+
			'<select name="" onchange="window.opener.MWJ_setMonth(this.options[selectedIndex].value)" class="selCal">';
				
		for (mr = 0; mr < 12; mr++) {
			if (mr == (curDate.getMonth())) {
				theContent += '<option value="' + mr + '" selected="selected">' + monthList[mr] + '</option>';
			}
			else {
				theContent += '<option value="' + mr + '">' + monthList[mr] + '</option>';
			}
		}
				
		theContent+='</select></td></tr>'+
			'<tr><td bgcolor="#B9C5CF" height="1px"></td></tr>'+
			'<tr><td bgcolor="#ffffff" height="2px"></td></tr>'+
			'<tr><td bgcolor="#FFFFFF" nowrap="nowrap" style="color:#2A2E65" class="left_pad">'+today+': '+CurrDay+'.'+CurrMon+'.'+CurrYear+'</td></tr>' +
			'</table>'+
			'<table border="0" cellpadding="0" cellspacing="0" width="191" align="left"><tr><td>'+
			'<table border="0" cellpadding="0" cellspacing="1" width="159" align="left" style="margin-left:7px;">'+
			'<tr><td bgcolor="#ffffff" height="4px"></td></tr>'+
			'<tr><th bgcolor="#ffffff">'+LANG_MON_SHORT+'</th><th bgcolor="#ffffff">'+LANG_TUE_SHORT+'</th><th bgcolor="#ffffff">'+LANG_WED_SHORT+'</th><th bgcolor="#ffffff">'+LANG_THU_SHORT+'</th><th bgcolor="#ffffff">'+LANG_FRI_SHORT+'</th><th bgcolor="#ffffff">'+LANG_SAT_SHORT+'</th><th bgcolor="#ffffff"><font color="#ff0000">'+LANG_SUN_SHORT+'</font></th></tr>'
			;
				
		for (var x = 1; x <= [31,((!( curDate.getTheYear() % 4 ) && ( ( curDate.getTheYear() % 100 ) || !( curDate.getTheYear() % 400 ) ))?29:28),31,30,31,30,31,31,30,31,30,31][curDate.getMonth()]; x++) {
			isHoliday = 0;
			curDate.setDate(x);
			if (x == 1 && (curDate.getDay()-1)) { 
				tmp = (curDate.getDay() - 1);
				if (tmp == -1) tmp = 6;
				theContent += '<tr><td bgcolor="#ffffff" colspan="' + tmp + '"></td>'; 
			}
					//alert(eval(curDate.getYear()+1900) + '' + eval(curDate.getMonth()+1));
			theContent += ((!(curDate.getDay()-1) ) ? '<tr>' : '' ) + 
				'<td align="center" bgcolor="#'+((curDate.getMonth()==(new Date()).getMonth() && curDate.getYear()==(new Date()).getYear() && x==(new Date()).getDate())?'D8E8F5':((!curDate.getDay() || curDate.getDay()==6) ? 'ffffff' : 'ffffff')) + '">' +
				'<a href="javascript:if( window.opener && window.opener.datePickerReturn ) { void(window.opener.setTimeout(\'datePickerReturn('+x+','+(curDate.getMonth()+1)+','+curDate.getTheYear()+');\',1)); window.close(); } else { window.alert( \'Error:\\nCould not communicate with opening window.\' ); }">' +
				'<span style="' + ((curDate.getMonth()==(new Date()).getMonth() && curDate.getYear()==(new Date()).getYear() && x==(new Date()).getDate()) ? 'color:#2A2E65;font-weight:bold;' : ((!curDate.getDay() || curDate.getDay()==7 || isHolidayDate(eval(curDate.getTheYear()) + '' + (curDate.getMonth()<10 ? '0'+eval(curDate.getMonth()+1) : eval(curDate.getMonth()+1)) + '' + (x<10 ? '0'+x : x)) ) ? 'color:#FF0000;' : 'color:#2A2E65;')) + '">'+x+'</span></a></td>';
			if (curDate.getDay() == 0) {
				theContent += '</tr>'; 
			}
		} 
		curDate.setDate(1);
		theContent += '</tr></table></td></tr></table>';
		theContent += '</form><%@include file="/util/googleAnalytics.jsp"%></body></html>';
		// koniec generowania kalendarza
		oDoc = window.open((opOrEscape ? '../blank.html' : '../blank.html' ), 'MWJ_TOFR', 'left='+sX+',top='+sY+',width=190,height=150','resizable=1,location=0,menubar=0,scrollbars=0,status=0,toolbar=0');
		oDoc.document.open(); oDoc.document.write(theContent); oDoc.document.close(); window.MWJwinStore = oDoc;
	}
			
	if (!window.onunload) { window.onunload = function () { if( window.MWJwinStore && !window.MWJwinStore.closed ) { window.MWJwinStore.close(); } }; 
}

function MWJ_setYear(sYear) {
	curDate.setYear(sYear); doReDraw(); 
}
function MWJ_setMonth(sMonth) {
	curDate.setMonth(sMonth); doReDraw(); 
}
function datePickerReturn(oDay, oMonth, oYear) {
	if (oDay <= 9) {CDay.value="0"+oDay} else CDay.value = oDay;
	if (oMonth <= 9) {CMon.value="0"+oMonth} else CMon.value = oMonth;
	CYear.value = oYear;
	RefreshFun(); // refresh pola na formularzu.
}
function trim(s) {
	return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}
function getCurrentDateShort() {
	return '20060717';
}
			

 
