var bDate = 0; var eDate = 0; var mDown = false; var firstday = 0; var lastday = 0; function processDates (){ cbDate = parseFloat(bDate.replace(/-/g,'')); ceDate = parseFloat(eDate.replace(/-/g,'')); if (cbDate>ceDate) { tmp = bDate; bDate = eDate; eDate = tmp; } window.location = 'events.php?a=list&b=' + bDate + '&e=' + eDate; } var compareCal = 0; var prevClass = ''; function createCalendar(parentID, theID, idname, type) { var theBody = document.getElementById(parentID); var theCal = document.createElement('div'); var theInput = document.createElement('input'); var compareCal = 0; theInput.id = theID; theCal.id = idname; theCal.name = idname; theInput.value = idname; theInput.type = 'hidden'; theBody.appendChild(theInput); theBody.appendChild(theCal); var currentTime = new Date(); var month = currentTime.getMonth() + 1; //var day = currentTime.getDate(); var day = 0; var year = currentTime.getFullYear(); ajax(month, year, day, theID, type); } function deselect () { if (document.selection) { document.selection.empty(); } else if (window.getSelection) { window.getSelection().removeAllRanges(); } } function calHighlight (begin,end,myClass) { if (begin>end) { tmp = begin; begin = end; end = tmp; } for (i=begin;i<=end;i++) { changeClass(i, myClass); } } function changeClass(Elem, myClass) { var elem; Elem = 'c'+Elem; if(document.getElementById) { var elem = document.getElementById(Elem); } else if (document.all){ var elem = document.all[Elem]; } if (prevClass!='') { prevClass = ''; } else { prevClass = elem.className; } elem.className = myClass; } function uMouseEvent (evt, xid, month, year, day){ if (day<10) {day='0'+day} deselect(); switch (evt) { case 'down': mDown = true; bDate = year + '-' + month + '-' + day; eDate = bDate; calHighlight (firstday,lastday,'c_transparent'); cbDate = parseFloat(bDate.replace(/-/g,'')); changeClass(cbDate, 'c_select'); break; case 'up': if (mDown) { mDown = false; if (bDate!=0) { processDates(); } break; } case 'over': thisday = year + '-' + month + '-' + day; cbDate = parseFloat(thisday.replace(/-/g,'')); changeClass(cbDate, 'c_mo'); if (mDown) { calHighlight (firstday,lastday,'c_transparent'); eDate=thisday; cbDate = parseFloat(bDate.replace(/-/g,'')); ceDate = parseFloat(eDate.replace(/-/g,'')); calHighlight (cbDate,ceDate,'c_select'); } break; default : //out thisday = year + '-' + month + '-' + day; cbDate = parseFloat(thisday.replace(/-/g,'')); changeClass(cbDate, prevClass); //xid.ClassName = 'c_mouseout'; break; } } function ajax(nmonth, nyear, nday, xnid, ntype){ var param = '?nday=' + nday + '&nmonth=' + nmonth + '&nyear=' + nyear + '&nid=' + xnid + '&ntype=' + ntype + '&width=' + '170' + '&height=' + '180'; if(window.XMLHttpRequest) { request = new XMLHttpRequest(); } else if(window.ActiveXObject) { request = new ActiveXObject("Microsoft.XMLHTTP"); } params = '/_classes/class.calendar.php' + param; //alert(params); InitializeTimer(param); request.open('GET', params, true); request.onreadystatechange = parse_result; request.send(null); } function parse_result(){ if(request.readyState == 4) { if(request.status == 200) { var answer = trimme(request.responseText); //alert(answer); var nx= answer.split('|'); eval(nx[1]); var ans = nx[2]; for(i = 3; i < nx.length; i++) ans = ans + '|' + nx[i]; theId = document.getElementById(nx[0]).value; //alert(theId); document.getElementById(theId).innerHTML = ans; StopTheClock(); return true; } else { return false; } } else { return false; } } function trimme(sInString) { sInString = sInString.replace ( /^\s+/g, '' );// strip leading return sInString.replace( /\s+$/g, '' );// strip trailing } function regenerateCal(nmonth, nyear, nday, nid, ntype) { //alert(document.getElementById(nid + '_day').value); if(compareCal == 1) { var val_cal1 = (nid == cal1 ? nyear : document.getElementById(cal1 + '_year').value) + '' + (nid == 'cal1' ? (nmonth < 10 ? '0'+nmonth : nmonth) : (document.getElementById(cal1 + '_month').value < 10 ? '0'+document.getElementById(cal1 + '_month').value : document.getElementById(cal1 + '_month').value)) + '' + (nid == cal1 ? (nday < 10 ? '0'+nday : nday) : (document.getElementById(cal1 + '_day').value < 10 ? '0'+document.getElementById(cal1 + '_day').value : document.getElementById(cal1 + '_day').value)); var val_cal2 = (nid == cal2 ? nyear : document.getElementById(cal2 + '_year').value) + '' + (nid == cal2 ? (nmonth < 10 ? '0'+nmonth : nmonth) : (document.getElementById(cal1 + '_month').value < 10 ? '0'+document.getElementById(cal1 + '_month').value : document.getElementById(cal1 + '_month').value)) + '' + (nid == cal2 ? (nday < 10 ? '0'+nday : nday) : (document.getElementById(cal1 + '_day').value < 10 ? '0'+document.getElementById(cal1 + '_day').value : document.getElementById(cal1 + '_day').value)); if(val_cal2 < val_cal1) { document.getElementById(alertCal).innerHTML = 'Invalid time selection'; } else if(val_cal2 >= val_cal1) { document.getElementById(alertCal).innerHTML = ''; } } ajax(nmonth, nyear, nday, nid, ntype); } var secs; var timerID = null; var timerRunning = false; var delay = 1000; var tick = 0; function InitializeTimer(param) { // Set the length of the timer, in seconds secs = 5; StopTheClock() StartTheTimer(param) } function StopTheClock() { if(timerRunning) clearTimeout(timerID) timerRunning = false } function StartTheTimer(param) { if (secs==0) { if(!parse_result()) { if (tick<2) { request = 0; ajax(param); StopTheClock(); tick++; } else { answer = 'connection failed.
' + eval('document.getElementById(\'' + idname + '\').innerHTML'); eval('document.getElementById(\'' + idname + '\').innerHTML = answer'); tick = 0; } }; } else { self.status = secs secs = secs - 1 timerRunning = true timerID = self.setTimeout("StartTheTimer()", delay) } }