﻿function showobj(obj1,obj2,obj3,obj4) {
  document.getElementById(obj1).style.display = 'block';
  document.getElementById(obj2).style.display = 'none';
  document.getElementById(obj3).style.display = 'none';
  document.getElementById(obj4).style.display = 'none';
  document.getElementById('recurtime').style.display = 'block';
}
function hideall() {
  document.getElementById('daily').style.display = 'none';
  document.getElementById('weekly').style.display = 'none';
  document.getElementById('monthly').style.display = 'none';
  document.getElementById('yearly').style.display = 'none';
  document.getElementById('recurtime').style.display = 'none';
}
function toggle(item) {
    if (document.getElementById(item).style.display != 'none') {
      document.getElementById(item).style.display = 'none';
      if(item == 'filters') {
        savepref('expandfilters','closed');
      }
    } else {
      document.getElementById(item).style.display = 'block';
      if(item == 'filters') {
        savepref('expandfilters','open');
      }
    }
}
function addnewcat(type) {
	var catname = prompt(JS_NEWCAT,JS_CATNAME);
	if(type == 'event') {
	  pref = 'nce';
	} else if(type == 'todo') {
	  pref = 'nct';
	}
	document.getElementById('newcat'+type).text = catname;
	document.getElementById('newcat'+type).value = pref+catname;
}
function showcustomise(type) {
	if(type == 'show') {
	    document.getElementById('customisepanel').style.display = 'block';
	    if(document.getElementById('day') != null) { document.getElementById('day').style.display = 'none'; }
	    if(document.getElementById('month') != null) { document.getElementById('month').style.display = 'none'; }
	    if(document.getElementById('year') != null) { document.getElementById('year').style.display = 'none'; }
	    getcustpanel();
	} else if(type == 'hide') {
	    if(document.getElementById('day') != null) { document.getElementById('day').style.display = 'inline'; }
	    if(document.getElementById('month') != null) { document.getElementById('month').style.display = 'inline'; }
	    if(document.getElementById('year') != null) { document.getElementById('year').style.display = 'inline'; }
	    new Effect.Fade('customisepanel', {duration:0.5} );
	}
}
function togglevis(type, item1, item2, item3, item4, item5, item6) {
	if(type == 'toggle') {
     	  if(document.getElementById(item1).style.display == 'none') {
	    document.getElementById(item1).style.display = 'block';
	    if(typeof item2 != "undefined") {
  	      document.getElementById(item2).style.display = 'none';
	    }
	    if(typeof item3 != "undefined") {
  	      document.getElementById(item3).style.display = 'none';
	    }
	    if(typeof item4 != "undefined") {
  	      document.getElementById(item4).style.display = 'none';
	    }
	    if(typeof item5 != "undefined") {
  	      document.getElementById(item5).style.display = 'none';
	    }
	    if(typeof item6 != "undefined") {
  	      document.getElementById(item6).style.display = 'none';
	    }
	  } else {
	    document.getElementById(item1).style.display = 'none';
	    if(typeof item2 != "undefined") {
  	      document.getElementById(item2).style.display = 'block';
	    }
	    if(typeof item3 != "undefined") {
  	      document.getElementById(item3).style.display = 'block';
	    }
	    if(typeof item4 != "undefined") {
  	      document.getElementById(item4).style.display = 'block';
	    }
	    if(typeof item5 != "undefined") {
  	      document.getElementById(item5).style.display = 'block';
	    }
	    if(typeof item6 != "undefined") {
  	      document.getElementById(item6).style.display = 'block';
	    }
	  }
	} else if(type == 'phase') {
	    new Effect.Phase(item1);
	    if(typeof item2 != "undefined") {
  	      new Effect.Phase(item2);
	    }
	    if(typeof item3 != "undefined") {
  	      new Effect.Phase(item3);
	    }
	    if(typeof item4 != "undefined") {
  	      new Effect.Phase(item4);
	    }
	    if(typeof item5 != "undefined") {
  	      new Effect.Phase(item5);
	    }
	    if(typeof item6 != "undefined") {
  	      new Effect.Phase(item6);
	    }
	} else if(type == 'on') {
	    document.getElementById(item1).style.display = 'block';
	    if(typeof item2 != "undefined") {
  	      document.getElementById(item2).style.display = 'none';
	    }
	    if(typeof item3 != "undefined") {
  	      document.getElementById(item3).style.display = 'none';
	    }
	    if(typeof item4 != "undefined") {
  	      document.getElementById(item4).style.display = 'none';
	    }
	    if(typeof item5 != "undefined") {
  	      document.getElementById(item5).style.display = 'none';
	    }
	    if(typeof item6 != "undefined") {
  	      document.getElementById(item6).style.display = 'none';
	    }
	} else if(type == 'off') {
	    document.getElementById(item1).style.display = 'none';
	    if(typeof item2 != "undefined") {
  	      document.getElementById(item2).style.display = 'block';
	    }
	    if(typeof item3 != "undefined") {
  	      document.getElementById(item3).style.display = 'block';
	    }
	    if(typeof item4 != "undefined") {
  	      document.getElementById(item4).style.display = 'block';
	    }
	    if(typeof item5 != "undefined") {
  	      document.getElementById(item5).style.display = 'block';
	    }
	    if(typeof item6 != "undefined") {
  	      document.getElementById(item6).style.display = 'block';
	    }
	}
        if((item1 == 'calwrapper') && (document.getElementById('addform').style.display == 'block')) {
          document.getElementById('addevtitle').focus();
          setallday('main', 'add');
        }
}
function canceledit(id) {
            new Effect.BlindUp('edit'+id, {duration:0.5} );
            new Effect.BlindDown('todo'+id, {duration:0.5} );
}
function markactive(menuid, id) {
	menuname = document.getElementById(menuid);
	as = menuname.getElementsByTagName('a');
	for(var i=0;i<as.length;i++) {
   	    as[i].className = 'inactivetab';
	}
	document.getElementById(id).className = 'activetab';
}
function dopost(buttonname, k1, v1, k2, v2, k3, v3, k4, v4, k5, v5, k6, v6) {
	var f = document.createElement('form'); 
	f.style.display = 'none'; 
	document.getElementById(buttonname).parentNode.appendChild(f);
        var h1 = document.createElement('input'); h1.type = 'hidden'; h1.name = k1; h1.value = v1; f.appendChild(h1);
        var h2 = document.createElement('input'); h2.type = 'hidden'; h2.name = k2; h2.value = v2; f.appendChild(h2);
        var h3 = document.createElement('input'); h3.type = 'hidden'; h3.name = k3; h3.value = v3; f.appendChild(h3);
        if(typeof k4 != "undefined") {
          var h4 = document.createElement('input'); h4.type = 'hidden'; h4.name = k4; h4.value = v4; f.appendChild(h4);
        }
        if(typeof k5 != "undefined") {
          var h5 = document.createElement('input'); h5.type = 'hidden'; h5.name = k5; h5.value = v5; f.appendChild(h5);
        }
        if(typeof k6 != "undefined") {
          var h6 = document.createElement('input'); h6.type = 'hidden'; h6.name = k6; h6.value = v6; f.appendChild(h6);
        }
        f.method = 'POST'; 
	f.action = 'index.php'; 
	f.submit();
	return false;
}
function toggleall(type) {
    if(type == 'event') {
      if(document.getElementById('eventall').checked) {
        for(var i=0;i<eventcats.length;i++) {
          document.getElementById(eventcats[i]).checked = true;
        }
      } else {
        for(var i=0;i<eventcats.length;i++) {
          document.getElementById(eventcats[i]).checked = false;
        }
      }
    } else if(type == 'todo') {
      if(document.getElementById('todoall').checked) {
        for(var i=0;i<todocats.length;i++) {
          document.getElementById(todocats[i]).checked = true;
        }
      } else {
        for(var i=0;i<todocats.length;i++) {
          document.getElementById(todocats[i]).checked = false;
        }
      }
    }
}
function setallday(id,type) {
    if((document.getElementById(type+'evallday') != null) || (document.getElementById(id+'allday') != null)) {
      if(id == 'main') {
        if(document.getElementById(type+'evallday').checked) {
            document.getElementById(type+'evstarthour').disabled = true;
            document.getElementById(type+'evstarthour').className = 'boxdisabled';
            document.getElementById(type+'evstartminute').disabled = true;
            document.getElementById(type+'evstartminute').className = 'boxdisabled';
            document.getElementById(type+'evendhour').disabled = true;
            document.getElementById(type+'evendhour').className = 'boxdisabled';
            document.getElementById(type+'evendminute').disabled = true;
            document.getElementById(type+'evendminute').className = 'boxdisabled';
        } else if(!document.getElementById(type+'evallday').checked) {
            document.getElementById(type+'evstarthour').disabled = false;
            document.getElementById(type+'evstarthour').className = 'small';
            document.getElementById(type+'evstarthour').focus();
            document.getElementById(type+'evstarthour').select();
            document.getElementById(type+'evstartminute').disabled = false;
            document.getElementById(type+'evstartminute').className = 'small';
            document.getElementById(type+'evendhour').disabled = false;
            document.getElementById(type+'evendhour').className = 'small';
            document.getElementById(type+'evendminute').disabled = false;
            document.getElementById(type+'evendminute').className = 'small';
        }
      } else {
        if(document.getElementById(id+'allday').checked) {
            document.getElementById(id+'starthour').disabled = true;
            document.getElementById(id+'starthour').className = 'boxdisabled';
            document.getElementById(id+'startminute').disabled = true;
            document.getElementById(id+'startminute').className = 'boxdisabled';
            document.getElementById(id+'endhour').disabled = true;
            document.getElementById(id+'endhour').className = 'boxdisabled';
            document.getElementById(id+'endminute').disabled = true;
            document.getElementById(id+'endminute').className = 'boxdisabled';
        } else if(!document.getElementById(id+'allday').checked) {
            document.getElementById(id+'starthour').disabled = false;
            document.getElementById(id+'starthour').className = 'small';
            document.getElementById(id+'starthour').focus();
            document.getElementById(id+'starthour').select();            
            document.getElementById(id+'startminute').disabled = false;
            document.getElementById(id+'startminute').className = 'small';
            document.getElementById(id+'endhour').disabled = false;
            document.getElementById(id+'endhour').className = 'small';
            document.getElementById(id+'endminute').disabled = false;
            document.getElementById(id+'endminute').className = 'small';
        }
      }
    }
}
function setchecks(type) {
         var inputs = Array();
         var idx = 0;
         var listtable = document.getElementById('listtable');
         var inputslisttable = listtable.getElementsByTagName('input');
         for(var t = 0;t < inputslisttable.length;t++) {
           if(inputslisttable[t].type == "checkbox") {
             inputs[idx] = inputslisttable[t];
             idx++;
           }
         }         
         if(document.getElementById('todotable') != null) {
           var todotable = document.getElementById('todotable');
           var inputstodotable = todotable.getElementsByTagName('input');
           for(var t2 = 0;t2 < inputstodotable.length;t2++) {
             if(inputstodotable[t2].type == "checkbox") {
               inputs[idx] = inputstodotable[t2];
               idx++;
             }
           }
         }

         if(type == 'all') {
           for(var t = 0;t < inputs.length;t++) {
             inputs[t].checked = true;
           }
         } else if(type == 'none') {
           for(var t = 0;t < inputs.length;t++) {
             inputs[t].checked = false;
           }
         } else if(type == 'invert') {
           for(var t = 0;t < inputs.length;t++){
             inputs[t].checked = !inputs[t].checked;
           }
         }
}
/**
@param string rowid the id o fthe row you want to make disappear
@param oject  opts  Effect options such as {duration:3}
*/
function fadeTableRow(rowid){
    var row = document.getElementById(rowid);
    var cells = row.childNodes;
    for(i=0;i<cells.length;i++){
        if(cells[i].tagName == 'TD'){
            new Effect.PhaseOut(cells[i], {duration:0.5} );
        }
    }
    new Effect.Fade(row, {duration:0.5} );
}
function setallbox() {
	var onnum = 0;
        for(var i=0;i<eventcats.length;i++) {
          if(document.getElementById(eventcats[i]).checked) {
            onnum++;
          }
        }
        if(cats.length == onnum) {
       	  document.getElementById('catAll').checked = true;
        }
}
function updatecats() {
	for(var c in eventcats) {
       	  var boxname = document.getElementById(eventcats[c]+'name');
       	  var tds = document.getElementsByTagName('div');
          for(i=0;i<tds.length;i++) {
            if(tds[i].className == eventcats[c]) {
              if(boxname.checked == true) {
                tds[i].style.display = 'block';
     	      } else {
                tds[i].style.display = 'none';
   	      }
            }
          }
        }
}
function getposOffset(overlay, offsettype){
  var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
  var parentEl=overlay.offsetParent;
  while (parentEl!=null){
    totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
    parentEl=parentEl.offsetParent;
  }
  return totaloffset;
}

function overlay(curobj, subobjstr, opt_position){
  if (document.getElementById) {
    var subobj = document.getElementById(subobjstr);
    if(subobj.style.display != 'block') {
	subobj.style.display = 'block';
    } else {
	subobj.style.display = 'none';
    }
    var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0) 
    var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
    subobj.style.left=xpos+"px";
    subobj.style.top=ypos+"px";
    return false;
  } else {
    return true;
  }
}

function overlayclose(subobj){
  document.getElementById(subobj).style.display = 'none';
}