// Plik ze skryptami

function show_squash_res_popup(doy,zone,zonename,slot,slotname) {
	//var obj_calwindow = window.open('/2807797055/respopup.cgi?rk=squash&doy='+doy+'&zone='+zone+'&zonename='+zonename+'&slot='+slot+'&slotname='+slotname+'&person='+person,'Reservation','width=500,height=310,status=no,resizable=no,top=250,left=250,dependent=yes,alwaysRaised=yes');
	var obj_calwindow = window.open('/120/respopup.cgi?rk=squash&doy='+doy+'&zone='+zone+'&zonename='+zonename+'&slot='+slot+'&slotname='+slotname,'Reservation','width=500,height=310,status=no,resizable=no,top=250,left=250,dependent=yes,alwaysRaised=yes');
	obj_calwindow.opener = window;
	obj_calwindow.focus();
}

function show_sched_res_popup(ses,zone,zonename,group,person,trp,trpid,name,pass,vdf,vdt,st,sd,wdn,descr) {
	var obj_calwindow = window.open('/120/respopup.cgi?rk=sched&ses='+ses+'&zone='+zone+'&zonename='+zonename+'&group='+group+'&person='+person+'&trp='+trp+'&trpid='+trpid+'&name='+name+'&pass='+pass+'&vdf='+vdf+'&vdt='+vdt+'&st='+st+'&sd='+sd+'&wdn='+wdn+'&descr='+descr,'Reservation','width=500,height=310,status=no,resizable=no,top=250,left=250,dependent=yes,alwaysRaised=yes');
	obj_calwindow.opener = window;
	obj_calwindow.focus();
}

function del_sched_res_popup(ses,zonename,person,trp,pass,st,sd,wdn,descr) {
	var obj_calwindow = window.open('/120/delpopup.cgi?dk=sched&ses='+ses+'&zonename='+zonename+'&person='+person+'&trp='+trp+'&pass='+pass+'&st='+st+'&sd='+sd+'&wdn='+wdn+'&descr='+descr,'DeleteReservation','width=500,height=310,status=no,resizable=no,top=250,left=250,dependent=yes,alwaysRaised=yes');
	obj_calwindow.opener = window;
	obj_calwindow.focus();
}

function del_squash_res_popup(doy,zone,zonename,slot,slotname,rec_id) {
	var obj_calwindow = window.open('/120/delpopup.cgi?dk=squash&doy='+doy+'&zone='+zone+'&zonename='+zonename+'&slot='+slot+'&slotname='+slotname+'&rec_id='+rec_id,'DeleteReservation','width=500,height=310,status=no,resizable=no,top=250,left=250,dependent=yes,alwaysRaised=yes');
	obj_calwindow.opener = window;
	obj_calwindow.focus();
}

function chpasswdbutton() {
    var form = document.chpasswdform;
    var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\=|\*|\$|\^|\!|\/|\?|\,|\:|\`|\~]", "i");

    if (form.passwd1.value.length < 6) {
        alert( "Proszę podać poprawne hasło. Bez spacji, conajmniej 6 znaków zawierających się w 0-9, a-z, A-Z" );
    } else if (r.exec(form.passwd1.value)) {
        alert( "Proszę poprawnie podać Hasło:. Bez spacji, conajmniej 6 znaków zawierających się w 0-9, a-z, A-Z" );
    } else if (form.passwd2.value.length < 6) {
        alert( "Proszę podać poprawne hasło. Bez spacji, conajmniej 6 znaków zawierających się w 0-9, a-z, A-Z" );
    } else if (r.exec(form.passwd2.value)) {
        alert( "Proszę poprawnie podać Hasło:. Bez spacji, conajmniej 6 znaków zawierających się w 0-9, a-z, A-Z" );
    } else if (form.passwd2.value != form.passwd1.value) {
        alert( "Hasła w polach nie są identyczne. Proszę spróbować ponownie." );
    } else {
        form.submit();
    }
}

function submitbutton() {
    var form = document.loginform;
    var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\=|\*|\$|\^|\!|\/|\?|\,|\:|\`|\~]", "i");
			    
    if (form.u.value == "test" && form.p.value == "test") {
        form.submit();
    } else if (form.u.value == "") {
        alert( "Proszę podać nazwę użytkownika." );
    } else if (r.exec(form.u.value) || form.u.value.length < 3) {
	alert( "Proszę podać poprawną nazwę użytkownika:. Bez spacji, więcej niż 3 znaki zawierających się w 0-9, a-z, A-Z" );
    } else if (form.p.value.length < 6) {
        alert( "Proszę podać poprawne hasło. Bez spacji, conajmniej 6 znaków zawierających się w 0-9, a-z, A-Z" );
    } else if (r.exec(form.p.value)) {
        alert( "Proszę poprawnie podać Hasło:. Bez spacji, conajmniej 6 znaków zawierających się w 0-9, a-z, A-Z" );
    } else {
        form.submit();
    }
}

    
function regbutton() {
    var form = document.registerform;
    var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\*|\$|\^|\/|\?|\,|\:|\`|\~]", "i");
    var rn = new RegExp("[0-9|\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-|\=|\*|\$|\^|\!|\/|\?|\.|\,|\:|\`|\~]", "i");		    
    
    if (form.fname.value == "") {
        alert( "Proszę podać swoje imię." );
    } else if ( rn.exec(form.fname.value) ) {
	alert( "Proszę podać poprawne imię. Bez spacji, znaki muszą zawierać się w przedziałach a-z, A-Z" );
    } else if (form.lname.value == "") {
        alert( "Proszę podać swoje nazwisko." );
    } else if (rn.exec(form.lname.value)) {
        alert( "Proszę podać poprawne nazwisko. Bez spacji, znaki muszą zawierać się w przedziałach a-z, A-Z" );
    } else if (form.email.value == "") {
        alert( "Proszę podać swój e-mail." );
    } else if (r.exec(form.email.value)) {
        alert( "Proszę podać poprawy email." );
    } else if( !(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(form.email.value))) {
	alert( "Podaj poprawny adres e-mail.");
    } else {
        form.submit();
    }
}

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

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


var dtCh= "-";
var minYear=2006;
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 = "";
    // 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){
    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("Data musi być w formacie: dd-mm-rrrr")
	return false
    }
    if (strMonth.length<1 || month<1 || month>12){
	alert("Proszę podać prawidłowy miesiąc")
	return false
    }
    if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
	alert("Proszę podać prawidłowy dzień")
	return false
    }
    if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
	alert("Proszę podać prawidłowy rok: 4 cyfry pomiędzy "+minYear+" a "+maxYear)
	return false
    }
    if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
	alert("Proszę podać prawidłową datę")
	return false
    }
    return true
}
																																							    
function ValidateForm() {
    var form=document.date_select.rd
    if (isDate(form.value)==false){
	form.focus()
	return false
    }
    return true
}
	
function RefreshBooking() {
    var form=document.date_select;
    if (ValidateForm()==true) {
	form.submit();
    }
}

function goodchars(e, goods) {
    var key, keychar;
    key = getkey(e);
    if (key == null) return true;

    alert("Aby określić datę proszę użyć przycisku z prawej strony pola.");

    // get character
    keychar = String.fromCharCode(key);
    keychar = keychar.toLowerCase();
    goods = goods.toLowerCase();

    // check goodkeys
    if (goods.indexOf(keychar) != -1)
	return true;
    
    // control keys
    //if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
      // return true;
      
    if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
       alert("Aby określić datę proszę użyć przycisku z prawej strony pola.");
       
       // else return false
       return false;
}

function getkey(e) {
    if (window.event)
	return window.event.keyCode;
    else if (e)
	return e.which;
    else
	return null;
}


