var aIsDateValue=true;var hide=false;var divid=""; function LZ(x){return(x<0||x>9?"":"0")+x} function isDate(val,format){ var date=getDateFromFormat(val,format); if(date==0){return false;} return true;} function compareDates(date1,dateformat1,date2,dateformat2){ var d1=getDateFromFormat(date1,dateformat1); var d2=getDateFromFormat(date2,dateformat2); if(d1==0||d2==0){ return-1;} else if(d1>d2){ return 1;} return 0;} function formatDate(date,format,objInput){ format=format+""; var result=""; var i_format=0; var c=""; var token=""; var y=date.getFullYear()+""; var M=date.getMonth()+1; var d=date.getDate(); var E=date.getDay(); var H=date.getHours(); var m=date.getMinutes(); var s=date.getSeconds(); var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k; var value=new Object(); if(y.length<4){ y=""+(y-0+1900);} value["y"]=""+y; value["yyyy"]=y; value["yy"]=y.substring(2,4); value["M"]=M; value["MM"]=LZ(M); value["MMM"]=MONTH_NAMES[M-1]; value["NNN"]=MONTH_NAMES[M+11]; value["d"]=d; value["dd"]=LZ(d); value["E"]=DAY_NAMES[E+7]; value["EE"]=DAY_NAMES[E]; value["H"]=H; value["HH"]=LZ(H); if(H==0){value["h"]=12;} else if(H>12){value["h"]=H-12;} else{value["h"]=H;} value["hh"]=LZ(value["h"]); if(H>11){value["K"]=H-12;}else{value["K"]=H;} value["k"]=H+1; value["KK"]=LZ(value["K"]); value["kk"]=LZ(value["k"]); if(H>11){value["a"]="PM";} else{value["a"]="AM";} value["m"]=m; value["mm"]=LZ(m); value["s"]=s; value["ss"]=LZ(s); while(i_format<format.length){ c=format.charAt(i_format); token=""; while((format.charAt(i_format)==c)&&(i_format<format.length)){ token+=format.charAt(i_format++);} if(value[token]!=null){ result=result+value[token];} else{ result=result+token;}} if((aIsDateValue==false)&&(objInput!=null)){ objInput.focus(); objInput.select();} return result;} function _isInteger(val){ var digits="1234567890"; for(var i=0;i<val.length;i++){ if(digits.indexOf(val.charAt(i))==-1){return false;}} return true;}function _getInt(str,i,minlength,maxlength){ for(var x=maxlength;x>=minlength;x--){ var token=str.substring(i,i+x); if(token.length<minlength){return null;} if(_isInteger(token)){return token;}} return null;} function getDateFromFormat(val,format,ErrorStr,ErrorStrActual){ val=val+""; format=format+""; var i_val=0; var i_format=0; var c=""; var token=""; var token2=""; var x,y; var now=new Date(); var year=now.getFullYear(); var month=now.getMonth()+1; var date=1; var hh=now.getHours(); var mm=now.getMinutes(); var ss=now.getSeconds(); var ampm=""; var dtToday=new Date(); dtToday=dateToString(dtToday); DateString=dtToday.split("."); while(i_format<format.length){ c=format.charAt(i_format); token=""; while((format.charAt(i_format)==c)&&(i_format<format.length)){ token+=format.charAt(i_format++);} if(token=="yyyy"||token=="yy"||token=="y"){ if(token=="yyyy"){x=4;y=4;} if(token=="yy"){x=2;y=2;} if(token=="y"){x=2;y=4;} yearhelp=_getInt(val,i_val,x,y); if(yearhelp==null){ alert(ErrorStr); aIsDateValue=false; var newdate=new Date(DateString[2],DateString[1]-1,DateString[0]); return newdate.getTime(); return false;} else{ year=yearhelp; if((year.length==4)&&((year<1753)||(year>9000))){ alert(ErrorStrActual); aIsDateValue=false; var newdate=new Date(DateString[2],DateString[1]-1,DateString[0]); return newdate.getTime();}} i_val+=year.length; if(year.length==2){ if(year>70){year=1900+(year-0);} else{year=2000+(year-0);}}} else if(token=="MMM"||token=="NNN"){ month=0; for(var i=0;i<MONTH_NAMES.length;i++){ var month_name=MONTH_NAMES[i]; if(val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()){ if(token=="MMM"||(token=="NNN"&&i>11)){ month=i+1; if(month>12){month-=12;} i_val+=month_name.length; break;}}} if((month<1)||(month>12)){return 0;}} else if(token=="EE"||token=="E"){ for(var i=0;i<DAY_NAMES.length;i++){ var day_name=DAY_NAMES[i]; if(val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()){ i_val+=day_name.length; break;}}} else if(token=="MM"||token=="M"){ monthhelp=_getInt(val,i_val,token.length,2); if(monthhelp==null||(monthhelp<1)||(monthhelp>12)){ alert(ErrorStr); aIsDateValue=false; var newdate=new Date(DateString[2],DateString[1]-1,DateString[0]); return newdate.getTime(); return false;} else{ month=monthhelp;} i_val+=month.length;} else if(token=="dd"||token=="d"){ datehelp=_getInt(val,i_val,token.length,2); if(datehelp==null||(datehelp<1)||(datehelp>31)){ alert(ErrorStr); aIsDateValue=false; var newdate=new Date(DateString[2],DateString[1]-1,DateString[0]); return newdate.getTime(); return false;} else{ date=datehelp;} i_val+=date.length;} else if(token=="hh"||token=="h"){ hh=_getInt(val,i_val,token.length,2); if(hh==null||(hh<1)||(hh>12)){return 0;} i_val+=hh.length;} else if(token=="HH"||token=="H"){ hh=_getInt(val,i_val,token.length,2); if(hh==null||(hh<0)||(hh>23)){return 0;} i_val+=hh.length;} else if(token=="KK"||token=="K"){ hh=_getInt(val,i_val,token.length,2); if(hh==null||(hh<0)||(hh>11)){return 0;} i_val+=hh.length;} else if(token=="kk"||token=="k"){ hh=_getInt(val,i_val,token.length,2); if(hh==null||(hh<1)||(hh>24)){return 0;} i_val+=hh.length;hh--;} else if(token=="mm"||token=="m"){ mm=_getInt(val,i_val,token.length,2); if(mm==null||(mm<0)||(mm>59)){return 0;} i_val+=mm.length;} else if(token=="ss"||token=="s"){ ss=_getInt(val,i_val,token.length,2); if(ss==null||(ss<0)||(ss>59)){return 0;} i_val+=ss.length;} else if(token=="a"){ if(val.substring(i_val,i_val+2).toLowerCase()=="am"){ampm="AM";} else if(val.substring(i_val,i_val+2).toLowerCase()=="pm"){ampm="PM";} else{return 0;} i_val+=2;} else{ if(val.substring(i_val,i_val+token.length)!=token){ alert(ErrorStr); aIsDateValue=false; var newdate=new Date(DateString[2],DateString[1]-1,DateString[0]); return newdate.getTime(); return false;} else{i_val+=token.length;}}} if(i_val!=val.length){ alert(ErrorStr); aIsDateValue=false; var newdate=new Date(DateString[2],DateString[1]-1,DateString[0]); return newdate.getTime(); return false;} if(month==2){ if(((year%4==0)&&(year%100!=0))||(year%400==0)){ if(date>29){ alert(ErrorStr); aIsDateValue=false; var newdate=new Date(DateString[2],DateString[1]-1,DateString[0]); return newdate.getTime(); return false;}} else{ if(date>28){ alert(ErrorStr); aIsDateValue=false; var newdate=new Date(DateString[2],DateString[1]-1,DateString[0]); return newdate.getTime(); return false;}}} if((month==4)||(month==6)||(month==9)||(month==11)){ if(date>30){ alert(ErrorStr); aIsDateValue=false; var newdate=new Date(DateString[2],DateString[1]-1,DateString[0]); return newdate.getTime(); return false;}} if(hh<12&&ampm=="PM"){hh=hh-0+12;} else if(hh>11&&ampm=="AM"){hh-=12;} var newdate=new Date(year,month-1,date,hh,mm,ss); return newdate.getTime();} function parseDate(val){ var preferEuro=(arguments.length==2)?arguments[1]:false; generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d'); monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d'); dateFirst=new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M'); var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst'); var d=null; for(var i=0;i<checkList.length;i++){ var l=window[checkList[i]]; for(var j=0;j<l.length;j++){ d=getDateFromFormat(val,l[j]); if(d!=0){return new Date(d);}}} return null;} function findPosLeft(inputid){ var objekt=GetObjDiv(inputid); var curleft=0; if(objekt.offsetParent){ while(objekt.offsetParent){ curleft+=objekt.offsetLeft; objekt=objekt.offsetParent;}} else if(objekt.x) curleft+=objekt.x; return curleft;} function findPosTop(inputid){ var objekt=GetObjDiv(inputid); var curtop=0; if(objekt.offsetParent){ while(objekt.offsetParent){ curtop+=objekt.offsetTop; objekt=objekt.offsetParent;}} else if(objekt.y) curtop+=objekt.y; return curtop;} function showDiv(inputid,thediv,top,left){ if(document.getElementById(inputid).value!=''){ divid=thediv; hide=false; setTimeout("doAfterWait(divid)",1000); document.getElementById(divid).style.top=findPosTop(inputid)+top; document.getElementById(divid).style.left=findPosLeft(inputid)+left;}} function doAfterWait(divid){ if(hide!=true){ document.getElementById(divid).style.visibility='visible';}} function hideDiv(divid){ hide=true; document.getElementById(divid).style.visibility='hidden';} function isvaliddate(datestring){ if(datestring.match(/^(\d{4}-([1-9]{1}|\d{2})-([1-9]{1}|\d{2})$)/)!=null){ return true;}else{ return false;}} function showDay(thediv,dateformat,dateseparator,inputid,wert,monday,tuesday,wednesday,thursday,friday,saturday,sunday){ var datetosplit=""; var datestring2check=""; if(typeof wert=='undefined'){ datetosplit=GetObjDiv(inputid).value;}else{ datetosplit=wert;} var datearray=datetosplit.split(dateseparator); var datum=new Date(); if(dateformat=="dd"+dateseparator+"mm"+dateseparator+"yyyy"){ datestring2check=datearray[2]+"-"+datearray[1]+"-"+datearray[0]; datum.setDate(datearray[0]); datum.setMonth(datearray[1]-1); datum.setFullYear(datearray[2]);} else if(dateformat=="yyyy"+dateseparator+"mm"+dateseparator+"dd"){ datestring2check=datearray[0]+"-"+datearray[1]+"-"+datearray[2]; datum.setDate(datearray[2]); datum.setMonth(datearray[1]-1); datum.setFullYear(datearray[0]);} else if(dateformat=="mm"+dateseparator+"dd"+dateseparator+"yyyy"){ datestring2check=datearray[2]+"-"+datearray[0]+"-"+datearray[1]; datum.setDate(datearray[1]); datum.setMonth(datearray[0]-1); datum.setFullYear(datearray[2]);} var divobj=document.getElementById('DayDiv'); if(isvaliddate(datestring2check)==true){ var TagInWoche=datum.getDay(); var Wochentag=new Array(sunday,monday,tuesday,wednesday,thursday,friday,saturday); if(divobj!=null){ showDiv(inputid,thediv,19,4); divobj.innerHTML="<nobr>"+Wochentag[TagInWoche]+", "+datetosplit+"</nobr>";}}}
