function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != "function") {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
function addEvent(obj, evType, fn){ 
	if (obj.addEventListener) { 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} 
	else if (obj.attachEvent) { 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	}
	else { 
		return false; 
	} 
}
function addClass(element,value) {
  if (!element.className) {
    element.className = value;
  } else {
    newClassName = element.className;
    newClassName+= " ";
    newClassName+= value;
    element.className = newClassName;
  }
}
function insertAfter(newChild,refChild) { 
	var parent = refChild.parentNode;
	if(parent.lastChild == refChild) return parent.appendChild(newChild);
	else return parent.insertBefore(newChild,refChild.nextSibling);
}
function resetFields(whichform) {
  for (var i=0; i<whichform.elements.length; i++) {
    var element = whichform.elements[i];
    if (element.type == "submit") continue;
    if (!element.defaultValue) continue;
      
    element.onfocus = function() {
    if (this.value == this.defaultValue) {
      this.value = "";
     }
    }
    element.onblur = function() {
      if (this.value == "") {
        this.value = this.defaultValue;
      }
    }
  }
}
function prepareForms() {
  for (var i=0; i<document.forms.length; i++) {
    var thisform = document.forms[i];
    resetFields(thisform);
  }
}
function styleAbbr() {
  var oldBodyText, newBodyText, reg
  if (isIE) {
    oldBodyText = document.body.innerHTML;
    reg = /<ABBR([^>]*)>([^<]*)<\/ABBR>/g;
    newBodyText = oldBodyText.replace(reg, '<ABBR $1><SPAN class=\"abbr\" $1>$2</SPAN></ABBR>');
    document.body.innerHTML = newBodyText;
  }
  if (!document.getElementsByTagName) return;
  var spans = document.getElementsByTagName("span");
  for (var i=0; i<spans.length; i++) {
    if (spans[i].className == "abbr" && spans[i].getAttribute("title")) {
    addClass(spans[i],"title");
    }
  }
  var abbrs = document.getElementsByTagName("abbr");
  for (var i=0; i<abbrs.length; i++) {
    if (abbrs[i].getAttribute("title")) {
      addClass(abbrs[i],"title");
    }
  }
}
function linkPreview(){
	var links = document.getElementsByTagName("a");
	for (i=0; i<links.length; i++){
		var currentLink = links[i];
		var images = currentLink.getElementsByTagName("img");
		if (images.length == 0){
			var linkHref = currentLink.href;
			if (linkHref.match(/amazon.com/)){
				append(currentLink, "amazon");
			}
			else{
				checkLinks(linkHref, currentLink)
			}
		}
	}
}
function checkLinks(linkHref,currentLink) {
	var linkHrefParts = linkHref.split(".");
	var extension = linkHrefParts[linkHrefParts.length - 1];
	extension = extension.replace("/","");
	if (extension in {flp:1, doc:1, pdf:1, ppt:1, txt:1, xls:1, zip:1}) {
		append(currentLink,extension);
	}
}
function append(currentLink,extension){
	var span = document.createElement('span');
	span.innerHTML = "&nbsp;";
	currentLink.parentNode.insertBefore(span,currentLink.nextSibling);
	span.className = extension;
}		
function createLinkSpans() { 
	if (!document.createElement || !document.getElementsByTagName) return;
	contentDiv = document.getElementById("content");
	links = contentDiv.getElementsByTagName("a");
	for (var i=0;i<links.length;i++){
		var myLink = links[i];
		var myHref = links[i].href;
		var myHost = window.location.host;
		var myLinkText = myLink.innerHTML;
		if(myLinkText.indexOf("http://") == -1 && myLinkText.indexOf("ftp://") == -1 && myLinkText.indexOf("mailto://") == -1 && myLinkText.indexOf("@") == -1){
			var myNewSpan = document.createElement("span");
			myNewSpan.className = "printMe";	 	
			if(myHref.indexOf("mailto:") > -1){
				displayTxt = myHref.substring(7);
			}
			else if(myHref.indexOf("http:") > -1){
				displayTxt = myHref.substring(7);  
			}			
			else{
				displayTxt = myHref;
			}
			myNewSpanText = document.createTextNode(" [" + displayTxt + "]");  
			myNewSpan.appendChild(myNewSpanText); 
			insertAfter(myNewSpan,myLink); 
		}
	}
}

var isIE = (document.all) ? true:false;

addLoadEvent(styleAbbr);
addEvent(window, "load", linkPreview);
addEvent(window, "load", createLinkSpans);
addLoadEvent(prepareForms);