Changeset 665 for trunk/expressoCalendar/js/calendar_functions.js
- Timestamp:
- 02/06/09 08:41:18 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoCalendar/js/calendar_functions.js
r656 r665 29 29 document.getElementById("div_main").style.opacity = 1; 30 30 document.getElementById("div_main").filters.alpha.opacity=100; 31 } catch (e) { }31 } catch (e) {}; 32 32 return true; 33 33 } … … 55 55 divAddDialog.innerHTML = xtools.parse(data, xsl); 56 56 var closeButton = document.getElementById('closeDialog'); 57 if (is_ie){ 57 if (is_ie) 58 { 58 59 closeButton.style.left = '285px'; 59 60 closeButton.style.top = '5px'; 60 }else{ 61 } 62 else 63 { 61 64 closeButton.style.left = '320px'; 62 65 closeButton.style.top = '25px'; … … 112 115 document.getElementById("l_date").innerHTML += "<a href=\"javascript:calendar.getView('div_main','"+viewType+"','&time='+this.nextView);\"> \>\></a>"; 113 116 114 var events = document.getElementById('returnEvents'); 115 while(typeof(events.firstChild.id) == 'string'){ 116 createEventDiv(events.firstChild); 117 var getEventsDay = function (data) 118 { 119 var xsl = XMLTools.load('xsl/events'+type+'.xsl'); 120 var div = document.getElementById('div_main'); 121 div.innerHTML += xtools.parse(data, xsl); 122 var events = document.getElementById('returnEvents'); 123 while(typeof(events.firstChild.id) == 'string') 124 createEventDiv(events.firstChild); 117 125 } 126 XMLTools.__RETURN_MODE__ = 'XML'; 127 XMLTools.request('$this.uicalendar.getEvents'+type+(data?data:'')+'&uid='+calendar.uid, 'GET', getEventsDay); 118 128 119 129 }; … … 137 147 var div = document.getElementById(this.idEl); 138 148 div.innerHTML = xtools.parse(data, xsl); 149 document.getElementById('divAppbox').style.height = "100%"; 139 150 } 140 151 catch(e){ … … 142 153 } 143 154 144 if (type == 'Week' || type == 'Month'){ 155 if (type == 'Week' || type == 'Month') 156 { 145 157 var trWeek = document.getElementById('tr_week'); 146 158 for (var i=0; i < trWeek.childNodes.length; i++) … … 202 214 default: month = ""; break; 203 215 } 204 return get_lang( month);216 return get_lang("%1 of %2",get_lang(month),(obj.getYear()+1900)); 205 217 } 206 218 Calendar.prototype.parseDate = function (timeStamp) { … … 242 254 } 243 255 var calendar = new Calendar(); 256 257 // This array stores the events in table to avoid conflict in screen 258 var screenTable = new Array(); 259 var today = new Date(); 260 var weekDay = today.getDay(); 261 function createEventDiv(eventDiv){ 262 eventDiv.className = "event_div"; 263 eventDiv.style.height = parseInt(eventDiv.childNodes[1].id-eventDiv.childNodes[0].id)/120000+"px"; 264 var end_ = timeStamp2id(eventDiv.childNodes[1].id).substr(8); 265 var start_ = parseInt(timeStamp2id(eventDiv.childNodes[0].id).substr(8),10); 266 if (viewType == "Day"){ 267 if (!screenTable[weekDay]) 268 screenTable[weekDay] = new Array(); 269 eventDiv.style.width = "190px"; 270 271 currentPos = 1; 272 for (var hour = parseInt(start_,10); hour < parseInt(end_,10);(hour%100 == 30)?hour+=70:hour+=30){ 273 if (!screenTable[weekDay][hour]) 274 screenTable[weekDay][hour] = 0; 275 276 if (currentPos <= screenTable[weekDay][hour]) 277 currentPos = screenTable[weekDay][hour]+1; 278 } 279 for (var hour = parseInt(start_,10); hour < parseInt(end_,10);(hour%100 == 30)?hour+=70:hour+=30) 280 screenTable[weekDay][hour] = currentPos; 281 eventDiv.style.left = 90+(205*(currentPos-1)) + "px" ; 282 eventDiv.onmouseover = function(){ createButtons(eventDiv); }; 283 eventDiv.onmouseout = function(){ removeButtons(eventDiv); }; 284 var resizeDiv = document.createElement('DIV'); 285 resizeDiv.id = "resize_" + eventDiv.id; 286 resizeDiv.className = 'resize_div'; 287 resizeDiv.onmousedown = function() { resizeEvent(eventDiv); }; 288 eventDiv.appendChild(resizeDiv); 289 } 290 if (viewType == "Week"){ 291 var tempDate = new Date; 292 tempDate.setTime(eventDiv.childNodes[1].id); 293 if (!screenTable[tempDate.getDay()]) 294 screenTable[tempDate.getDay()] = new Array(); 295 currentPos = 1; 296 if (!screenTable[tempDate.getDay()][start_]) 297 screenTable[tempDate.getDay()][start_] = 0; 298 299 if (currentPos <= screenTable[tempDate.getDay()][start_]) 300 currentPos = screenTable[tempDate.getDay()][start_]+1; 301 screenTable[tempDate.getDay()][start_] = currentPos; 302 303 var widthValue = 100; 304 eventDiv.style.width = widthValue+"px"; 305 306 var headerElement = document.getElementById('weekHeader_'+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); 307 if (currentPos > 1) 308 eventDiv.style.left = (10+(tempDate.getDay()*122)+(widthValue*currentPos))+"px"; 309 headerElement.style.width = (widthValue*currentPos)+"px"; 310 eventDiv.style.height = "20px"; 311 eventDiv.style.cursor = "pointer"; 312 eventDiv.onmouseover = function () { this.style.height = "auto"; this.style.zIndex = 2;}; 313 eventDiv.onmouseout = function () { this.style.height = "20px"; this.style.zIndex = 1; }; 314 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); }; 315 } 316 317 var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[0].id)); 318 319 if (viewType == "Month"){ 320 var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[0].id).substr(0,8)+'0000'); 321 eventDiv.style.width = "60px"; 322 eventDiv.style.height = "15px"; 323 eventDiv.onmouseover = function () { if (this.childNodes[2].length > 9) this.style.width = "auto"; this.style.zIndex = 2; }; 324 eventDiv.onmouseout = function () { this.style.width = "60px"; this.style.zIndex = 1; }; 325 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); }; 326 eventDiv.style.cursor = "pointer"; 327 328 tdElement.style.height = (tdElement.childNodes.length * 10) + "px"; 329 330 if (tdElement.childNodes.length > 3) 331 eventDiv.style.margin = "20 0 0 "+(20+(tdElement.childNodes.length-4)*25); 332 else 333 eventDiv.style.margin = "0 0 0 "+(20+(tdElement.childNodes.length-1)*25); 334 } 335 336 eventDiv.style.top = (tdElement.offsetTop + 160) + "px"; 337 tdElement.appendChild(eventDiv); 338 } 339 340
Note: See TracChangeset
for help on using the changeset viewer.