// ======================================================== function do_nothing() { event.returnValue = 0; } // ======================================================== // ======================================================== function escapeFromFrame() { try { if(top != self) { top.location.replace(location); } return true; } catch(err) { return false; } } // ======================================================== // ======================================================== function WebBrowserWindowNorm() { try { escapeFromFrame(); return true; } catch(err) { return false; } } // ======================================================== // ======================================================== function WebBrowserWindowMax() { try { window.moveTo(0, 0); window.resizeTo(screen.width, screen.height); escapeFromFrame(); return true; } catch(err) { return false; } } // ======================================================== // ======================================================== function IsValidDate(str) { // -------------------------------------------------------- var regEx = /^((0?[1-9])|([1-2][0-9])|(3[01])).((0?[1-9])|(1[012])).\d{4}$/; if(!regEx.test(str)) { return false; } var arr = str.split('.'); var d = parseInt(arr[0], 10); var m = parseInt(arr[1], 10); var y = parseInt(arr[2], 10); var dt=new Date(y,m-1,d); if(dt.getFullYear()!=y || dt.getMonth()!=m-1 || dt.getDate()!=d) { return false; } // -------------------------------------------------------- return true; } // ======================================================== // ======================================================== function porovnej_datumy(strOD,strDO) { // -------------------------------------------------------- var strSeparatorArray = new Array("-"," ","/","."); var strDateArrayOD; var strDateArrayDO; var intElementNr; for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) { if (strOD.indexOf(strSeparatorArray[intElementNr]) != -1) { strDateArrayOD = strOD.split(strSeparatorArray[intElementNr]); } } for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) { if (strDO.indexOf(strSeparatorArray[intElementNr]) != -1) { strDateArrayDO = strDO.split(strSeparatorArray[intElementNr]); } } var intDayOD = parseInt(strDateArrayOD[0],10); var intMonthOD = parseInt(strDateArrayOD[1],10); var intYearOD = parseInt(strDateArrayOD[2],10); var intDayDO = parseInt(strDateArrayDO[0],10); var intMonthDO = parseInt(strDateArrayDO[1],10); var intYearDO = parseInt(strDateArrayDO[2],10); var d_od = new Date(); d_od.setFullYear(intYearOD,intMonthOD-1,intDayOD); var d_do = new Date(); d_do.setFullYear(intYearDO,intMonthDO-1,intDayDO); if (d_od > d_do) { return false; } // -------------------------------------------------------- return true; } // ======================================================== // ======================================================== function show_napoveda_datum_OD() { show_calendar2('DATUM_OD'); return true; } // ======================================================== // ======================================================== function show_napoveda_datum_DO() { show_calendar2('DATUM_DO'); return true; } // ======================================================== // ======================================================== function show_calendar2(str_id_target) { // var oTarget = window.document.getElementById(str_id_target); var str_target = "document." + oTarget.form.name + "." + oTarget.name; var str_datetime = oTarget.value; show_calendar3(str_target,str_datetime,str_id_target); } // ======================================================== // ======================================================== function show_calendar3(str_target, str_datetime, str_id_target) { // var arr_months = ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"]; var week_days = ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"]; var n_weekstart = 1; // day week starts from (normally 0 or 1) var dt_datetime = (str_datetime == null || str_datetime =="" ? new Date() : str2dt(str_datetime)); var dt_prev_month = new Date(dt_datetime); var dt_prev_year = new Date(dt_datetime); dt_prev_month.setMonth(dt_datetime.getMonth()-1); dt_prev_year.setMonth(dt_datetime.getMonth()-12); var dt_next_month = new Date(dt_datetime); var dt_next_year = new Date(dt_datetime); dt_next_month.setMonth(dt_datetime.getMonth()+1); dt_next_year.setMonth(dt_datetime.getMonth()+12); var dt_firstday = new Date(dt_datetime); dt_firstday.setDate(1); dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7); var dt_lastday = new Date(dt_next_month); dt_lastday.setDate(0); // hlavicka var str_buffer = new String ( "\n"+ "\n"+ "\n"+ "Vyberte datum\n"+ "\n"+ "\n"+ "\n"+ "\n"+ "\n"+ "" ); // zacatek tela body teto html kalendarove stranky str_buffer += "\n"+ "\n"; str_buffer += "
\n"+ "\n"+ "\n \n"+ "\n"+ " \n"+ " \n"+ " \n\n"; var dt_current_day = new Date(dt_firstday); // dny v tydnu str_buffer += "\n"; for (var n=0; n<7; n++) str_buffer += " \n"; // tabulka kaledare str_buffer += "\n"; while (dt_current_day.getMonth() == dt_datetime.getMonth() || dt_current_day.getMonth() == dt_firstday.getMonth()) { // nadpis radku str_buffer += "\n"; for (var n_current_wday=0; n_current_wday<7; n_current_wday++) { if (dt_current_day.getDate() == dt_datetime.getDate() && dt_current_day.getMonth() == dt_datetime.getMonth()) str_buffer += " \n"; dt_current_day.setDate(dt_current_day.getDate()+1); } // konec radku str_buffer += "\n"; } str_buffer += "
"+ "<<"+ "<"+ "" +arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+""+ ">"+ ">>
"+ ""+ week_days[(n_weekstart+n)%7]+"
"; else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6) // vikendy str_buffer += " "; else // pracovni dny str_buffer += " "; if (dt_current_day.getMonth() == dt_datetime.getMonth()) str_buffer += ""+ ""; else str_buffer += ""+ ""; str_buffer += dt_current_day.getDate()+"
\n" + "
\n"; str_buffer += "\n" + "\n"; // vytvorim dcerinne okno var vWinCal = window.open("", "Calendar", "width=350,height=200,status=no,resizable=yes,top=200,left=200"); // rodic=vWinCal.opener; // reference na rodic. okno // vWinCal.opener.blur(); // potlaceni focusu rodic. okna // vWinCal.focus(); // nastaveni focusu na stavajici dcerinne okno if (!vWinCal.closed) { vWinCal.focus(); } if (window.top!=window.self) { vWinCal.focus(); } vWinCal.opener = self; // ukazatel na rodice bude ukaz. na dcerinne okno var calc_doc = vWinCal.document; calc_doc.write (str_buffer); calc_doc.close(); } // ======================================================== // ======================================================== function str2dt (str_datetime) { var re_date = /^(\d+)\.(\d+)\.(\d+)$/; if (!re_date.exec(str_datetime)) return alert("Neplatný formát v zadání datumu: "+ str_datetime); return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6)); } // ======================================================== // ======================================================== function dt2dtstr (dt_datetime) { return (new String ( dt_datetime.getDate()+"."+(dt_datetime.getMonth()+1)+"."+dt_datetime.getFullYear() )); } // ======================================================== // ======================================================== function dt2tmstr (dt_datetime) { return (new String ( dt_datetime.getHours()+":"+dt_datetime.getMinutes()+":"+dt_datetime.getSeconds())); } // ========================================================