function browserVersion() {
	var agt = navigator.userAgent.toLowerCase();
	this.major = parseInt(navigator.appVersion);
	this.minor = parseFloat(navigator.appVersion);

	this.nav    = ((agt.indexOf('mozilla')!=-1) && ((agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1)));
	this.nav4 = this.nav && this.major == 4;
	this.nav4up = this.nav && (this.major >= 4);
	this.navonly = this.nav && (this.major < 5);
	this.gecko	= (agt.indexOf("gecko") != -1);

	this.ie     = (agt.indexOf("msie") != -1);
	this.ie4up  = this.ie  && (this.major >= 4);
	this.opera = (agt.indexOf("opera") != -1);

	this.ver4up = (this.ie4up || this.nav4up );
}

var browser = new browserVersion();

function open_window(file, width, height)
{
	window.open(file, '_blank', 'width='+width+', height='+height+', resizable=no, scrollbars=yes, toolbar=no, location=no, directories=no, status=yes, menubar=no');
}

function handle_action(action, arg)
{
	if((action == "delete" || action == "remove") && !confirm("delete?")) return;
    if((action == "save" || action == "saveexit") && !validate_form()) return;

    document.forms.main.form_arg.value = arg;
    document.forms.main.form_action.value = action;
    window.setTimeout("document.forms.main.submit()", 100);
}

function validate_ne(name, field)
{
    if(document.forms.main[field].value.length == 0)
	{
	    alert("Pole \"" + name + "\" musi być wypełnone");
		return false;
	}
	else return true;
}

function checkEmail(field) {
	
	var dt=document.forms.main[field];
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(dt.value))	return true;
	alert("Nieprawidłowy adres e-mail");
	dt.focus();
	return false;
}

/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "-";
var minYear=1900;
var maxYear=2100;

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;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31;
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30};
		if (i==2) {this[i] = 29};
   } 
   return this
}

function isDate(dtStr, checkCur){
	if(dtStr.length < 1) return true;
	var daysInMonth = DaysArray(12);
	var pos1=dtStr.indexOf(dtCh);
	var pos2=dtStr.indexOf(dtCh,pos1+1);
	var strDay=dtStr.substring(0,pos1);
	var strMonth=dtStr.substring(pos1+1,pos2);
	var strYear=dtStr.substring(pos2+1);
	strYr=strYear;
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	}
	month=parseInt(strMonth);
	day=parseInt(strDay);
	year=parseInt(strYr);
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : dd-mm-yyyy");
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day");
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month");
		return false;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear);
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date");
		return false;
	}
	
	if(checkCur)
    {
		var variable = new Date();
		var upper=0;
		var cYear=variable.getYear();
		if(!browser.ie4up && !browser.ie) cYear+=1900;
		if(year>=cYear)
		{
			if(year>cYear) upper=1;
			else if(month>=(variable.getMonth()+1))
			{
				if(month>(variable.getMonth()+1)) upper=1;
				else if(day>variable.getDate()) upper=1;
			}   
		}

		if(upper)
		{
			alert("Data nie może być nowsza niż dzisiejsza");
			return false;
		}
	}
	return true;
}

function checkDate(field, checkCur){
	var dt=document.forms.main[field];
	if (isDate(dt.value, checkCur)==false){
		dt.focus();
		return false;
	}
    return true;
 }

function delete_form(path)
{
	if(!confirm("Czy chcesz usun±ć?")) return;
	document.location.href=path;
}



