/* Oh, Rats! - Birthday calendar v1.03
   (c) Tale 2007-2008                  */
var calVersion=1.03;var calYear;var calName,calBirth,calDeath;var calRats=new Array();var calDates;function getElement(id){if(document.all)return document.all.item(id);if(typeof(document.getElementById)!="undefined")return document.getElementById(id);return null;}function htmlEscape(text){var html="",n,c;for(n=0;n<text.length;n++){c=text.charAt(n);if(c=="<")html+="&lt;";else if(c==">")html+="&gt;";else if(c=='"')html+="&quot;";else if(c=="&")html+="&amp;";else html+=c;}return html;}function valueOfDateNum(date){if(date=="        ")return null;return new Date(1*date.substring(0,4),1*date.substring(4,6)-1,1*date.substring(6,8));}function getURLParam(name){if(!(window.location&&window.location.search))return"";var n=window.location.search.indexOf("&"+name+"=");if(n<0){n=window.location.search.indexOf("?"+name+"=");if(n<0){n=window.location.search.indexOf(name+"=");if(n>0)n=-1;}}if(n<0)return"";var s=window.location.search.substring(n,window.location.search.length);s=s.substring(s.indexOf("=")+1,s.length);n=s.indexOf("&");if(n>=0)s=s.substring(0,n);return unescape(s);}function gotoYear(year){if(year<=999)year+=calYear;var url="";if(calName)url+=(url?"&":"")+"n="+escape(calName);if(calBirth)url+=(url?"&":"")+"b="+escape(calBirth);if(calDeath)url+=(url?"&":"")+"d="+escape(calDeath);url+=(url?"&":"")+"w="+escape(year);if(window.location&&window.location.pathname){url=window.location.pathname+"?"+url;if(typeof(window.location.replace)!="undefined")window.location.replace(url);else window.location=url;}return false;}var selectedImage;function selectImage(a){var img=getElement("calImage");if(img){img.src=a.href;if(!selectedImage)selectedImage=getElement("calDefaultImage");if(selectedImage)selectedImage.className="";selectedImage=a;selectedImage.className="selected";}if(typeof(a.blur)!="undefined")a.blur();return false;}function parseCookie(){if(!(window.navigator&&window.navigator.cookieEnabled&&document.cookie))return false;var n=document.cookie.indexOf("; myrats=");if(n<0){n=document.cookie.indexOf(";myrats=");if(n<0){n=document.cookie.indexOf("myrats=");if(n>0)n=-1;}}if(n<0)return false;var s=document.cookie.substring(n,document.cookie.length);s=s.substring(s.indexOf("=")+1,s.length);n=s.indexOf(";");if(n>=0)s=s.substring(0,n);while(true){n=s.indexOf("&");if(n<0)n=s.length;if(s.length<16+1)break;var count=calRats.length;calRats[count]=s.substring(0,n);if(n>=s.length)break;s=s.substring(n+1,s.length);}return true;}function parseURL(){calYear=getURLParam("w");if(!calYear){var date=new Date();calYear=date.getYear();if(calYear<1900)calYear+=1900;}else calYear=1*calYear.substring(0,4);calName=getURLParam("n");calBirth=getURLParam("b");calDeath=getURLParam("d");if(!(calBirth&&calName))return false;calRats[calRats.length]=calBirth+(calDeath?calDeath:"        ")+escape(calName);return true;}function fillCal(){if(!window.calcAgeVersion)return false;if(window.ieVersion>=6.0||window.mozillaVersion>=5.0||window.safariVersion>=522)var deathChar=unescape("%u2020");else var deathChar=null;calDates=new Array(12*31);var rat,birth,birthValue,death,deathValue,date,dateValue,age,day,year;for(rat=0;rat<calRats.length;rat++){birth=valueOfDateNum(calRats[rat].substring(0,8));birthValue=birth.valueOf();death=valueOfDateNum(calRats[rat].substring(8,16));if(death)deathValue=death.valueOf();date=new Date(calYear,0,0);age=-1;do{calcAge(birth,date);dateValue=date.valueOf();if(age<0)age=calcAge_humanYears;else if((dateValue==birthValue)||(calcAge_humanYears!=age&&(!death||dateValue<=deathValue))||(death&&dateValue==deathValue&&deathChar)){day=date.getMonth()*31+date.getDate()-1;if(!calDates[day])calDates[day]="";else calDates[day]+=", ";calDates[day]+=htmlEscape(unescape(calRats[rat].substring(16,calRats[rat].length)));if(death&&dateValue==deathValue)calDates[day]+=deathChar;calDates[day]+="&nbsp;("+calcAge_humanYears+")";age=calcAge_humanYears;}date.setDate(date.getDate()+1);year=date.getYear();if(year<1900)year+=1900;}while(year<=calYear);}return true;}function writeCal(){parseURL();parseCookie();if(!fillCal())return false;document.writeln('<DIV CLASS="foreground">');document.writeln('<A HREF="http://www.taletn.com/rats/" TARGET="_blank" onclick="if(window.opener){window.close();return false;}else return true;"><IMG SRC="/rats/oh-rats-print.gif" HEIGHT=24 BORDER=0 ALIGN=RIGHT ALT="Oh, Rats!" TITLE="Home" CLASS="logo"></A>');document.writeln('<H1>');document.write('<NOBR><BUTTON CLASS="lastYear" TITLE="');if(window.clientLang=="nl")document.write('Vorig jaar');else document.write('Last year');document.write('" onclick="return gotoYear(-1);">&nbsp;&lt;&nbsp;</BUTTON>');document.write(calYear);document.write('<BUTTON CLASS="nextYear" TITLE="');if(window.clientLang=="nl")document.write('Volgend jaar');else document.write('Next year');document.write('" onclick="return gotoYear(1);">&nbsp;&gt;&nbsp;</BUTTON>');var image,n;for(n=0;window.calDefaultImages&&n<calDefaultImages.length&&calDefaultImages[n];n+=2){image=calDefaultImages[n+1];if(calYear==calDefaultImages[n])break;}if((!window.calDefaultImages||!calDefaultImages[n])&&window.calImages){n=calImages.length;while(!calImages[n-1])n--;image=calImages[calYear%n];}document.write('<SPAN TITLE="');if(window.clientLang=="nl")document.write('Achtergrond');else document.write('Background');document.write('" CLASS="thumbs">');for(n=0;window.calImages&&n<calImages.length&&calImages[n];n++)document.write('<A HREF="'+calImages[n]+'" '+(calImages[n]==image?'CLASS="selected" ID="calDefaultImage" ':'')+'onclick="return selectImage(this);"><IMG SRC="'+calImages[n].substring(0,calImages[n].length-4)+'-thumb'+calImages[n].substring(calImages[n].length-4,calImages[n].length)+'" WIDTH=16 HEIGHT=24 BORDER=1></A>');document.write('<A HREF="/rats/void.gif" onclick="return selectImage(this);"><IMG SRC="/rats/void.gif" WIDTH=16 HEIGHT=24 BORDER=1></A>');if(typeof(window.print)!="undefined"){document.write('</SPAN>'+'<BUTTON CLASS="print" onclick="window.print();return false;">');if(window.clientLang=="nl")document.write('Afdrukken...');else document.write('&nbsp;Print...&nbsp;');document.write('</BUTTON>');}else document.writeln('</SPAN>');if(window.opener){document.write('<BUTTON CLASS="close" onclick="window.close();return false;">');if(window.clientLang=="nl")document.write('Sluiten');else document.write('&nbsp;Close&nbsp;');document.write('</BUTTON>');}document.writeln('</NOBR></H1>');document.writeln('<P CLASS="year"><TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0><COL WIDTH="33%"><COL WIDTH="33%"><COL WIDTH="33%"><TBODY><TR><TD>');var date=new Date(calYear,0,1),day,month=-1,year;do{if(month!=date.getMonth()){month=date.getMonth();if(month>0)document.writeln('</TABLE></TD></TR></TABLE></P>');if(month%3==0){if(month>0)document.writeln('</TD></TR><TR><TD>');}else document.writeln('</TD><TD>');document.writeln('<H2>'+(window.clientMonths?clientMonths[month]:(month+1))+'</H2>');document.write('<P CLASS="month">');document.writeln('<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0><COL WIDTH="50%"><COL WIDTH="50%"><TBODY><TR><TD><TABLE WIDTH="90%" CELLPADDING=0 CELLSPACING=0><COL><COL WIDTH="100%">');}day=date.getDate();if(day==17)document.writeln('</TABLE></TD><TD><TABLE WIDTH="90%" CELLPADDING=0 CELLSPACING=0><COL><COL WIDTH="100%">');document.write('<TR><TD CLASS="day">'+date.getDate()+'&nbsp;</TD><TD CLASS="names">');if(calDates[month*31+day-1])document.write(calDates[month*31+day-1]);document.writeln('<BR></TD></TR>');date.setDate(date.getDate()+1);year=date.getYear();if(year<1900)year+=1900;}while(year<=calYear);document.writeln('</TABLE></TD></TR></TABLE></TD></TR></TABLE></P>');year=2008;var meta;if(document.all)meta=document.all.tags("META");else if(typeof(document.getElementsByTagName)!="undefined")meta=document.getElementsByTagName("META");if(meta&&meta.length>0){for(n=0;n<meta.length;n++)if(meta[n]&&meta[n].name&&meta[n].name.toUpperCase()=="REVIEW"){if(meta[n].content&&meta[n].content.length==11){var yyyy=meta[n].content.substring(7,11)*1;if(yyyy>=year)year=yyyy;}break;}}if(year>2007)year="2007-"+year;document.writeln('<P CLASS="credits"><SMALL>&copy; '+year+' <A HREF="http://www.taletn.com/rats/" TARGET="_blank">www.taletn.com/rats</A></SMALL></P>');document.writeln('</DIV>');document.writeln('<IMG SRC="'+(image?image:'/rats/void.gif')+'" WIDTH=1 CLASS="background" ID="calImage">');return true;}