function $(e){if(typeof e=='string')e=document.getElementById(e);return e};
function collect(a,f){var n=[];for(var i=0;i<a.length;i++){var v=f(a[i]);if(v!=null)n.push(v)}return n};

ajax={};
ajax.x=function(){try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){return new XMLHttpRequest()}}};
ajax.serialize=function(f){var g=function(n){return f.getElementsByTagName(n)};var nv=function(e){if(e.name)return encodeURIComponent(e.name)+'='+encodeURIComponent(e.value);else return ''};var i=collect(g('input'),function(i){if((i.type!='radio'&&i.type!='checkbox')||i.checked)return nv(i)});var s=collect(g('select'),nv);var t=collect(g('textarea'),nv);return i.concat(s).concat(t).join('&');};
ajax.send=function(u,f,m,a){var x=ajax.x();x.open(m,u,true);x.onreadystatechange=function(){if(x.readyState==4)f(x.responseText)};if(m=='POST')x.setRequestHeader('Content-type','application/x-www-form-urlencoded');x.send(a)};
ajax.get=function(url,func){ajax.send(url,func,'GET')};
ajax.gets=function(url){var x=ajax.x();x.open('GET',url,false);x.send(null);return x.responseText};
ajax.post=function(url,func,args){ajax.send(url,func,'POST',args)};
ajax.update=function(url,elm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.get(url,f)};
ajax.submit=function(url,elm,frm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.post(url,f,ajax.serialize(frm))};

function showimg( img_url, evt ) {
	var text  = "<img src=\"" + img_url + "\">";
	var div   = document.getElementById( 'popup' );
	var cx; var cy;
	if ( evt ) {
		cx = evt.clientX + document.documentElement.scrollLeft;
		cy = evt.clientY + document.documentElement.scrollTop;
	} else {
		cx = event.clientX + document.body.scrollLeft;
		cy = event.clientY + document.body.scrollTop;
	}
	div.style.left = (cx + 16) + 'px';
	div.style.top  = (cy + 12) + 'px';
	div.innerHTML = text;
	div.style.zIndex   = 9999;
	div.style.display  = 'block';
}

function hideimg() {
	document.getElementById('popup').style.display = 'none';
}
 function showHide(entryID, entryLink, htmlObj) {
     extTextDivID = ('Ext' + (entryID));
     extLinkDivID = ('Link' + (entryID));
     if( document.getElementById ) {
         if( document.getElementById(extTextDivID).style.display ) {
             if( entryLink != 0 ) {
                 document.getElementById(extTextDivID).style.display = "block";
                 document.getElementById(extLinkDivID).style.display = "none";
                 htmlObj.blur();
             } else { 
                 document.getElementById(extTextDivID).style.display = "none";
                 document.getElementById(extLinkDivID).style.display = "block";
             }
         } else {
             location.href = entryLink;
             return true;
         }
     } else {
         location.href = entryLink;
         return true;
     }
 }

 function cal (date,now) {
var serial = new Date();
var url = "./calendar.cgi";
var pars = 'ym=' + date + '&now=' + now + '&' + serial;
ajax.update(url + "?" + pars, "calendar");
}
