// addEvent()
// written by Dean Edwards, 2005
// with input from Tino Zijdel, Matthias Miller, Diego Perini
//
// http://dean.edwards.name/weblog/2005/10/add-event/

function addEvent(element, type, handler) {
	if (element.addEventListener) {
		element.addEventListener(type, handler, false);
	} else {
		if (!handler.$$guid) handler.$$guid = addEvent.guid++;
		if (!element.events) element.events = {};
		var handlers = element.events[type];
		if (!handlers) {
			handlers = element.events[type] = {};
			if (element["on" + type]) {
				handlers[0] = element["on" + type];
			}
		}
		handlers[handler.$$guid] = handler;
		element["on" + type] = handleEvent;
	}
};
addEvent.guid = 1;

function removeEvent(element, type, handler) {
	if (element.removeEventListener) {
		element.removeEventListener(type, handler, false);
	} else {
		if (element.events && element.events[type]) {
			delete element.events[type][handler.$$guid];
		}
	}
};

function handleEvent(event) {
	var returnValue = true;
	event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
	var handlers = this.events[event.type];
	for (var i in handlers) {
		this.$$handleEvent = handlers[i];
		if (this.$$handleEvent(event) === false) {
			returnValue = false;
		}
	}
	return returnValue;
};

function fixEvent(event) {
	event.preventDefault = fixEvent.preventDefault;
	event.stopPropagation = fixEvent.stopPropagation;
	return event;
};
fixEvent.preventDefault = function() {
	this.returnValue = false;
};
fixEvent.stopPropagation = function() {
	this.cancelBubble = true;
};
// Addition by Tino Zijdel
// http://therealcrisp.xs4all.nl/upload/addEvent_dean.html
if (!window.addEventListener) {
	document.onreadystatechange = function() {
		if (window.onload && window.onload != handleEvent)
		{
			addEvent(window, 'load', window.onload);
			window.onload = handleEvent;
		}
	}
};
// end addEvent()	
//
// mailTo() written by RC Pierce Copyright 2006-2008 my.tenfingers.net
// Permission to use is granted as long as this message remains intact
// version3.080427.4
var addr = new Array();
//addr[]=['','','','','',''];
addr[0]=['E-mail:','Contact CALL','info','callw.org','info','callw.org'];
addr[1]=['','E-mail','info','callw.org','','<img src="/images/e-mail.png" alt="e-mail" width="95" height="99" />'];
addr[2]=['','Contact Us','info','callw.org','','Write to Us'];
addr[3]=['E-mail:','Contact the Webmaster','webmaster','callw.org','webmaster','callw.org'];
addr[4]=['','Contact the Webmaster','webmaster','callw.org','webmaster','callw.org'];
addr[5]=['','Contact the Webmaster','webmaster','callw.org','','Write to the Webmaster'];
addr[6]=['','Report problems','webmaster','callw.org','','Notify the webmaster'];
addr[7]=['E-mail:','Contact LEARN','wwlearn','wy-com.ca','wwlearn','wy-com.ca'];
//
function mailTo(x,y){
 if(!document.getElementById || !document.createTextNode) return;
 else if(!document.getElementById(x)) return;
 var i=parseInt(y,10);
 if(isNaN(i) || i<=0 || i>addr.length) return;
 else i--;
 var anchor=document.getElementById(x);
 var textNode=addr[i][0],isRecipient=addr[i][4];
 if(textNode){anchor.parentNode.insertBefore(document.createTextNode(textNode+' '), anchor)};
 anchor.setAttributeNode(attr('title',addr[i][1]));
 anchor.setAttributeNode(attr('href','mailto:'+addr[i][2]+'@'+addr[i][3]));
 anchor.innerHTML=isRecipient? isRecipient+'@'+addr[i][5]:addr[i][5];
};
// version 2.0504.1
function attr(att,nv){
 var at = document.createAttribute(att);
     at.nodeValue = nv;
     return at;
};
//
function passed() {
 var form =	document.getElementById('mynote');
 var strict = /(^[a-z0-9]([a-z0-9_\.\-]*)@([a-z0-9_\.\-]*)([.][a-z]{3})$)|(^[a-z0-9]([a-z0-9_\.\-]*)@([a-z0-9_\.\-]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
 var simple = /^.+@.+\..+$/ ;
 clearErrs();
 if (!form.myname.value) {
  document.getElementById('nameError').style.display = "block";
  form.myname.select();
  form.myname.focus();
  return false
  } else
  if (!form.myemail.value) {
   document.getElementById('mailError').style.display = "block";
   form.myemail.select();
   form.myemail.focus();
   return false
   } else
   if (!simple.test(form.myemail.value)) {
    document.getElementById('expError').style.display = "block";
    form.myemail.select();
    form.myemail.focus();
    return false
    } else
    if (!strict.test(form.myemail.value)) {
     document.getElementById('expError').style.display = "block";
     form.myemail.select();
     form.myemail.focus();
     return false
     }
return true
}
//
function clearErrs() {
 document.getElementById('nameError').style.display = "none";
 document.getElementById('mailError').style.display = "none";
 document.getElementById('expError').style.display = "none";
}
//
 /* 
 v1.0.090109
 by RC Pierce Copyright 2006-2009
 Use by permission with above line in tact.
 open new window for PDF and select external links
 dependency: attr(), addEvent()
 */
function windowOpen(x) {
 window.open(x,'newWindow','height=480,width=640,status=yes,resizable=yes,scrollbars=yes,toolbar=yes,location=yes,menubar=yes');
}
function filter(x){
 return x.replace(/download\.php\?file\=/, '');
}
function pdfTest(x) {
 var pdf = /\.pdf/;
 return (!pdf.test(x))?"Opens link in new window":"Opens PDF in a new window";
}
function newWindow(x) {
 if(!document.getElementById || !document.getElementsByTagName) return;
 if(!document.getElementById(x)) return;
 dx=document.getElementById(x);
 an=dx.getElementsByTagName('a');
 for(var i=0,n=an.length,url,val;i<n;i++) {
  url = filter(an[i].href);
  val = "windowOpen(\"" + url + "\"); return false;";
  an[i].href = url;
  an[i].title = pdfTest(url);
  an[i].setAttributeNode(attr('onclick',val));
  an[i].setAttributeNode(attr('target','_blank'));
 }
}
// end newWindow();