Created
April 14, 2009 01:31
-
-
Save danahern/94884 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script type="text/javascript"> | |
function displaycal<%= params[:passfield] %>() | |
{ | |
var globalday = ''; | |
var globalweek = ''; | |
var globalcounter = ''; | |
var globalrangecounter = 0; | |
var daterange1; | |
var daterange2; | |
var startdate = new Date(); | |
month = startdate.getMonth(); | |
year = startdate.getYear(); | |
if(year < 1900) | |
year = year + 1900; | |
shortyear = year.toString(); | |
shortyear = shortyear.substring(2); | |
day = startdate.getDate(); | |
var date = new Date(year, month, day-(day-1)); | |
day = date.getDate(); | |
dayname = date.getDay(); | |
var monthname = ''; | |
caldisplay<%= params[:passfield] %>(); | |
displayval = document.getElementById('<%= params[:passfield] %>calendar').style.display; | |
if(displayval == 'none') | |
{ | |
document.getElementById('<%= params[:passfield] %>calendar').style.display = 'block'; | |
} | |
else if(displayval == 'block') | |
{ | |
document.getElementById('<%= params[:passfield] %>calendar').style.display = 'none'; | |
} | |
} | |
</script> | |
<div id='<%= params[:passfield] %>calendar' style='display: none;'> | |
<%= javascript_include_tag "prototype" %> | |
<!--[if gte IE 5.5]> | |
<script> | |
tableHover = function() { | |
var lis = document.getElementsByClassName('Sunday'); | |
for (var i=0; i<lis.length; i++) { | |
lis[i].onmouseover=function() { | |
this.className+=" iehover"; | |
} | |
lis[i].onmouseout=function() { | |
this.className=this.className.replace(new RegExp(" iehover\\b"), ""); | |
} | |
} | |
var lis = document.getElementsByClassName('Monday'); | |
for (var i=0; i<lis.length; i++) { | |
lis[i].onmouseover=function() { | |
this.className+=" iehover"; | |
} | |
lis[i].onmouseout=function() { | |
this.className=this.className.replace(new RegExp(" iehover\\b"), ""); | |
} | |
} | |
var lis = document.getElementsByClassName('Tuesday'); | |
for (var i=0; i<lis.length; i++) { | |
lis[i].onmouseover=function() { | |
this.className+=" iehover"; | |
} | |
lis[i].onmouseout=function() { | |
this.className=this.className.replace(new RegExp(" iehover\\b"), ""); | |
} | |
} | |
var lis = document.getElementsByClassName('Wednesday'); | |
for (var i=0; i<lis.length; i++) { | |
lis[i].onmouseover=function() { | |
this.className+=" iehover"; | |
} | |
lis[i].onmouseout=function() { | |
this.className=this.className.replace(new RegExp(" iehover\\b"), ""); | |
} | |
} | |
var lis = document.getElementsByClassName('Thursday'); | |
for (var i=0; i<lis.length; i++) { | |
lis[i].onmouseover=function() { | |
this.className+=" iehover"; | |
} | |
lis[i].onmouseout=function() { | |
this.className=this.className.replace(new RegExp(" iehover\\b"), ""); | |
} | |
} | |
var lis = document.getElementsByClassName('Friday'); | |
for (var i=0; i<lis.length; i++) { | |
lis[i].onmouseover=function() { | |
this.className+=" iehover"; | |
} | |
lis[i].onmouseout=function() { | |
this.className=this.className.replace(new RegExp(" iehover\\b"), ""); | |
} | |
} | |
var lis = document.getElementsByClassName('Saturday'); | |
for (var i=0; i<lis.length; i++) { | |
lis[i].onmouseover=function() { | |
this.className+=" iehover"; | |
} | |
lis[i].onmouseout=function() { | |
this.className=this.className.replace(new RegExp(" iehover\\b"), ""); | |
} | |
} | |
} | |
if (window.attachEvent) window.attachEvent("onload", tableHover); | |
</script> | |
<![endif]--> | |
<script type="text/javascript"> | |
var globalday = ''; | |
var globalweek = ''; | |
var globalcounter = ''; | |
var globalrangecounter = 0; | |
var startdate = new Date(); | |
month = startdate.getMonth(); | |
year = startdate.getYear(); | |
if(year < 1900) | |
year = year + 1900; | |
shortyear = year.toString(); | |
shortyear = shortyear.substring(2); | |
day = startdate.getDate(); | |
var date = new Date(year, month, day-(day-1)); | |
day = date.getDate(); | |
dayname = date.getDay(); | |
var monthname = ''; | |
function clear<%= params[:passfield] %>() | |
{ | |
var cells = document.getElementById("calendar<%= params[:passfield] %>").getElementsByTagName("td"); | |
for(i=0;i<cells.length;i++) | |
{ | |
cells[i].innerHTML = ''; | |
} | |
} | |
function monthback<%= params[:passfield] %>() | |
{ | |
date = new Date(year, month-1, day); | |
day = date.getDate(); | |
dayname = date.getDay(); | |
month = date.getMonth(); | |
year = date.getYear(); | |
if(year < 1900) | |
year = year + 1900; | |
shortyear = year.toString(); | |
shortyear = shortyear.substring(2); | |
clear<%= params[:passfield] %>(); | |
caldisplay<%= params[:passfield] %>(); | |
} | |
function monthforward<%= params[:passfield] %>() | |
{ | |
date = new Date(year, month+1, day); | |
day = date.getDate(); | |
dayname = date.getDay(); | |
month = date.getMonth(); | |
year = date.getYear(); | |
if(year < 1900) | |
year = year + 1900; | |
shortyear = year.toString(); | |
shortyear = shortyear.substring(2); | |
clear<%= params[:passfield] %>(); | |
caldisplay<%= params[:passfield] %>(); | |
} | |
function yearback<%= params[:passfield] %>() | |
{ | |
date = new Date(year-1, month, day); | |
day = date.getDate(); | |
dayname = date.getDay(); | |
month = date.getMonth(); | |
year = date.getYear(); | |
if(year < 1900) | |
year = year + 1900; | |
shortyear = year.toString(); | |
shortyear = shortyear.substring(2); | |
clear<%= params[:passfield] %>(); | |
caldisplay<%= params[:passfield] %>(); | |
} | |
function yearforward<%= params[:passfield] %>() | |
{ | |
date = new Date(year+1, month, day); | |
day = date.getDate(); | |
dayname = date.getDay(); | |
month = date.getMonth(); | |
year = date.getYear(); | |
if(year < 1900) | |
year = year + 1900; | |
shortyear = year.toString(); | |
shortyear = shortyear.substring(2); | |
clear<%= params[:passfield] %>(); | |
caldisplay<%= params[:passfield] %>(); | |
} | |
function yearjump<%= params[:passfield] %>(passyear) | |
{ | |
date = new Date(passyear, month, day); | |
day = date.getDate(); | |
dayname = date.getDay(); | |
month = date.getMonth(); | |
year = date.getYear(); | |
if(year < 1900) | |
year = year + 1900; | |
shortyear = year.toString(); | |
shortyear = shortyear.substring(2); | |
clear<%= params[:passfield] %>(); | |
caldisplay<%= params[:passfield] %>(); | |
} | |
function currentyear<%= params[:passfield] %>() | |
{ | |
var date = startdate; | |
day = date.getDate(); | |
month = date.getMonth(); | |
year = date.getYear(); | |
var date = new Date(year, month, day-(day-1)); | |
dayname = date.getDay(); | |
if(year < 1900) | |
year = year + 1900; | |
shortyear = year.toString(); | |
shortyear = shortyear.substring(2); | |
clear<%= params[:passfield] %>(); | |
caldisplay<%= params[:passfield] %>(); | |
} | |
function placedate<%= params[:passfield] %>(day) | |
{ | |
tempmonth = month + 1; | |
if(tempmonth < 10) | |
{ | |
tempmonth = '0'+tempmonth; | |
} | |
if(day < 10) | |
{ | |
day = '0'+day | |
} | |
document.getElementById('<%= params[:passfield] %>').value = ''; | |
document.getElementById('<%= params[:passfield] %>').value = tempmonth+'/'+day+'/'+year; | |
document.getElementById('<%= params[:passfield] %>calendar').style.display = 'none'; | |
/* | |
if(document.getElementById('daterange<%= params[:passfield] %>').checked == false) | |
{ | |
document.getElementById('<%= params[:passfield] %>').value = ''; | |
document.getElementById('<%= params[:passfield] %>').value = tempmonth+'/'+day+'/'+year; | |
document.getElementById('<%= params[:passfield] %>calendar').style.display = 'none'; | |
} | |
else if(document.getElementById('daterange<%= params[:passfield] %>').checked == true && globalrangecounter == 0) | |
{ | |
globalrangecounter++; | |
document.getElementById('<%= params[:passfield] %>').value = ''; | |
document.getElementById('<%= params[:passfield] %>').value = tempmonth+'/'+day+'/'+year; | |
daterange1 = new Date(year, month, day); | |
} | |
else if(document.getElementById('daterange<%= params[:passfield] %>').checked == true && globalrangecounter == 1) | |
{ | |
range1 = document.getElementById('<%= params[:passfield] %>').value; | |
daterange2 = new Date(year, month, day); | |
if(daterange1 > daterange2) | |
{ | |
var clearorcontinue = confirm("The first date is after the second date.\nClick OK to keep the first date.\nCancel to clear the dates and start over."); | |
if(clearorcontinue == true) | |
{ | |
document.getElementById('<%= params[:passfield] %>').value = range1; | |
globalrangecounter = 1; | |
} | |
else | |
{ | |
document.getElementById('<%= params[:passfield] %>').value = ''; | |
globalrangecounter = 0; | |
} | |
} | |
else | |
{ | |
document.getElementById('<%= params[:passfield] %>').value = range1+'--'+tempmonth+'/'+day+'/'+year; | |
document.getElementById('<%= params[:passfield] %>calendar').style.display = 'none'; | |
} | |
} | |
*/ | |
} | |
function jump2year<%= params[:passfield] %>(inputyear) | |
{ | |
var tmpyear; | |
var tmpyearstr; | |
inputyear = parseInt(inputyear); | |
if(inputyear != inputyear) | |
{ | |
; | |
} | |
else | |
{ | |
if(inputyear < 10) | |
{ | |
tmpyear = inputyear + 2000; | |
yearjump<%= params[:passfield] %>(tmpyear); | |
} | |
else | |
{ | |
if(inputyear < 100) | |
{ | |
tmpyear = inputyear + 1900; | |
yearjump<%= params[:passfield] %>(tmpyear); | |
} | |
else | |
{ | |
if(inputyear < 1000) | |
{ | |
; | |
} | |
else | |
{ | |
tmpyear = inputyear; | |
if(tmpyear > 2050) | |
{ | |
; | |
} | |
else | |
{ | |
yearjump<%= params[:passfield] %>(tmpyear); | |
} | |
} | |
} | |
} | |
} | |
} | |
</script> | |
<button onclick='yearback<%= params[:passfield] %>(); return(false);'>«</button><button onclick='monthback<%= params[:passfield] %>(); return(false);'><</button> <span id='monthname<%= params[:passfield] %>'></span> <button onclick='monthforward<%= params[:passfield] %>(); return(false);'>></button><button onclick='yearforward<%= params[:passfield] %>(); return(false);'>»</button> <input id='daterange<%= params[:passfield] %>' type='text' size='4' length='4' onkeyup='jump2year<%= params[:passfield] %>(this.value);'>Go To Year <button onclick='currentyear<%= params[:passfield] %>(); return(false);'>Current</button> | |
<table class='cal_display' id='calendar<%= params[:passfield] %>'> | |
<tr> | |
<th> | |
Sunday | |
</th> | |
<th> | |
Monday | |
</th> | |
<th> | |
Tuesday | |
</th> | |
<th> | |
Wednesday | |
</th> | |
<th> | |
Thursday | |
</th> | |
<th> | |
Friday | |
</th> | |
<th> | |
Saturday | |
</th> | |
<tr class='week1' id='week1<%= params[:passfield] %>'> | |
<td class='Sunday' id='Sunday1<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Monday' id='Monday1<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Tuesday' id='Tuesday1<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Wednesday' id='Wednesday1<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Thursday' id='Thursday1<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Friday' id='Friday1<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Saturday' id='Saturday1<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
</tr> | |
<tr class='week2' id='week2<%= params[:passfield] %>'> | |
<td class='Sunday' id='Sunday2<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Monday' id='Monday2<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Tuesday' id='Tuesday2<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Wednesday' id='Wednesday2<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Thursday' id='Thursday2<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Friday' id='Friday2<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Saturday' id='Saturday2<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
</tr> | |
<tr class='week3' id='week3<%= params[:passfield] %>'> | |
<td class='Sunday' id='Sunday3<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Monday' id='Monday3<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Tuesday' id='Tuesday3<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Wednesday' id='Wednesday3<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Thursday' id='Thursday3<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Friday' id='Friday3<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Saturday' id='Saturday3<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
</tr> | |
<tr class='week4' id='week4<%= params[:passfield] %>'> | |
<td class='Sunday' id='Sunday4<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Monday' id='Monday4<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Tuesday' id='Tuesday4<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Wednesday' id='Wednesday4<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Thursday' id='Thursday4<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Friday' id='Friday4<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Saturday' id='Saturday4<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
</tr> | |
<tr class='week5' id='week5<%= params[:passfield] %>'> | |
<td class='Sunday' id='Sunday5<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Monday' id='Monday5<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Tuesday' id='Tuesday5<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Wednesday' id='Wednesday5<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Thursday' id='Thursday5<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Friday' id='Friday5<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Saturday' id='Saturday5<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
</tr> | |
<tr class='week6' id='week6<%= params[:passfield] %>'> | |
<td class='Sunday' id='Sunday6<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Monday' id='Monday6<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Tuesday' id='Tuesday6<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Wednesday' id='Wednesday6<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Thursday' id='Thursday6<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Friday' id='Friday6<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
<td class='Saturday' id='Saturday6<%= params[:passfield] %>' onclick="placedate<%= params[:passfield] %>(this.innerHTML)"> | |
</td> | |
</tr> | |
</table> | |
<script type="text/javascript"> | |
function caldisplay<%= params[:passfield] %>() | |
{ | |
if(month==0) | |
{ | |
numdays = 31; | |
monthname = 'January'; | |
} | |
if(month==1) | |
{ | |
if(year%4 == 0 && (year%100!=0 || year%400==0)) | |
numdays = 29 | |
else | |
numdays = 28 | |
monthname = 'February'; | |
} | |
if(month==2) | |
{ | |
numdays = 31; | |
monthname = 'March'; | |
} | |
if(month==3) | |
{ | |
numdays = 30; | |
monthname = 'April'; | |
} | |
if(month==4) | |
{ | |
numdays = 31; | |
monthname = 'May'; | |
} | |
if(month==5) | |
{ | |
numdays = 30; | |
monthname = 'June'; | |
} | |
if(month==6) | |
{ | |
numdays = 31; | |
monthname = 'July'; | |
} | |
if(month==7) | |
{ | |
numdays = 31; | |
monthname = 'August'; | |
} | |
if(month==8) | |
{ | |
numdays = 30; | |
monthname = 'September'; | |
} | |
if(month==9) | |
{ | |
numdays = 31; | |
monthname = 'October'; | |
} | |
if(month==10) | |
{ | |
numdays = 30; | |
monthname = 'November'; | |
} | |
if(month==11) | |
{ | |
numdays = 31; | |
monthname = 'December'; | |
} | |
if(dayname==0) | |
dayname = 'Sunday'; | |
if(dayname==1) | |
dayname = 'Monday'; | |
if(dayname==2) | |
dayname = 'Tuesday'; | |
if(dayname==3) | |
dayname = 'Wednesday'; | |
if(dayname==4) | |
dayname = 'Thursday'; | |
if(dayname==5) | |
dayname = 'Friday'; | |
if(dayname==6) | |
dayname = 'Saturday'; | |
document.getElementById('monthname<%= params[:passfield] %>').innerHTML = monthname+' '+year; | |
for(i=1;i<=numdays;i++) | |
{ | |
if(i==1) | |
{ | |
document.getElementById(dayname+'1<%= params[:passfield] %>').innerHTML = '1'; | |
globalday = dayname; | |
globalweek = 1; | |
globalcounter = 1; | |
} | |
else if(globalday == 'Sunday') | |
{ | |
globalcounter = globalcounter + 1; | |
document.getElementById('Monday'+globalweek+'<%= params[:passfield] %>').innerHTML = globalcounter; | |
globalday = 'Monday'; | |
} | |
else if(globalday == 'Monday') | |
{ | |
globalcounter = globalcounter + 1; | |
document.getElementById('Tuesday'+globalweek+'<%= params[:passfield] %>').innerHTML = globalcounter; | |
globalday = 'Tuesday'; | |
} | |
else if(globalday == 'Tuesday') | |
{ | |
globalcounter = globalcounter + 1; | |
document.getElementById('Wednesday'+globalweek+'<%= params[:passfield] %>').innerHTML = globalcounter; | |
globalday = 'Wednesday'; | |
} | |
else if(globalday == 'Wednesday') | |
{ | |
globalcounter = globalcounter + 1; | |
document.getElementById('Thursday'+globalweek+'<%= params[:passfield] %>').innerHTML = globalcounter; | |
globalday = 'Thursday'; | |
} | |
else if(globalday == 'Thursday') | |
{ | |
globalcounter = globalcounter + 1; | |
document.getElementById('Friday'+globalweek+'<%= params[:passfield] %>').innerHTML = globalcounter; | |
globalday = 'Friday'; | |
} | |
else if(globalday == 'Friday') | |
{ | |
globalcounter = globalcounter + 1; | |
document.getElementById('Saturday'+globalweek+'<%= params[:passfield] %>').innerHTML = globalcounter; | |
globalday = 'Saturday'; | |
} | |
else if(globalday == 'Saturday') | |
{ | |
globalcounter = globalcounter + 1; | |
globalweek = globalweek + 1; | |
document.getElementById('Sunday'+globalweek+'<%= params[:passfield] %>').innerHTML = globalcounter; | |
globalday = 'Sunday'; | |
} | |
} | |
} | |
</script> | |
</div> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment