מדיה ויקי:Hebcalendar.js

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/*** Hebrew Calendar Options *****
 * Shows three radio buttons for the Hebrew calendar options.
 * Writen by [[User:Yonidebest]]
 *
 */
function hebrewCalendarInit() {
 var hebrewOptions = document.getElementById('HebrewOptions');
 if (!hebrewOptions) return;
 
 hebrewOptions.innerHTML = "";
 
 var elForm = document.createElement("FORM");
 elForm.style.display = "inline";
 
 try { // IE
    var elInput1 = document.createElement('<INPUT name="hebrewOptionsRadio">');
 } catch(e) { // other browsers
    var elInput1 = document.createElement('INPUT');    
    elInput1.name = "hebrewOptionsRadio";
 }
 elInput1.type = "radio";
 elInput1.value = "0";
 elInput1.onclick = function(){ hebrewCalendar(this.value);return true; }
 elForm.appendChild(elInput1);
 elForm.appendChild(document.createTextNode("כולם   "));
 
 try { // IE
    var elInput2 = document.createElement('<INPUT name="hebrewOptionsRadio">');
 } catch(e) { // other browsers
    var elInput2 = document.createElement('INPUT');    
    elInput2.name = "hebrewOptionsRadio";
 }
 elInput2.type = "radio";
 elInput2.value = "1";
 elInput2.defaultChecked = true;
 elInput2.onclick = function(){ hebrewCalendar(this.value);return true; }
 elForm.appendChild(elInput2);
 elForm.appendChild(document.createTextNode("עיקריים   "));
 
 try { // IE
    var elInput3 = document.createElement('<INPUT name="hebrewOptionsRadio">');
 } catch(e) { // other browsers
    var elInput3 = document.createElement('INPUT');    
    elInput3.name = "hebrewOptionsRadio";
 }
 elInput3.type = "radio";
 elInput3.value = "2";
 elInput3.onclick = function(){ hebrewCalendar(this.value);return true; }
 elForm.appendChild(elInput3);
 elForm.appendChild(document.createTextNode("ללא"));
 
 hebrewOptions.appendChild(elForm);
 hebrewOptions.style.display = "inline";
 
 hebrewCalendar("1");
}
 
function hebrewCalendar(index) {
 var spans = document.getElementsByTagName("SPAN");
 for (var i = 0; i < spans.length; i++) {
    switch (index) {
      case "0": // כולם
        if (spans[i].id == "MainHoliday" || spans[i].id == "NonMainHoliday")
          toggleHoliday(spans[i], false);
        break;
      case "1": // עיקריים
        if (spans[i].id == "MainHoliday")
          toggleHoliday(spans[i], false);
        if (spans[i].id == "NonMainHoliday")
          toggleHoliday(spans[i], true);
        break;
      case "2": // ללא
        if (spans[i].id == "MainHoliday" || spans[i].id == "NonMainHoliday")
          toggleHoliday(spans[i], true);
        break;
    }
 }
}
 
// where action is true: remove color;
function toggleHoliday(span, action) {
 var aHoliday = span.parentNode;
 var supHoliday = aHoliday.parentNode;
 var tdHoliday = supHoliday.parentNode;
 if (tdHoliday.tagName != "TD") tdHoliday = tdHoliday.parentNode;
 if (action) { // then remove
   span.removeAttribute("style");
   if (tdHoliday.id)
     tdHoliday.removeAttribute("bgColor");
   else {
     tdHoliday.id = tdHoliday.bgColor;
     tdHoliday.removeAttribute("bgColor");
   }
 } else {
   span.style.cursor = "help";
   span.style.borderBottom = "2px solid red";
   if (tdHoliday.id)
     tdHoliday.bgColor = tdHoliday.id;
 }
}

$(hebrewCalendarInit);