function EmailFormat(eName,eAddress,eText) {
	var ToName = eName;
	var ToAddress = eAddress;
	var ToDisplayText = eText;
	document.write("<a href=\"mailto:"+ToName+"@"+ToAddress+"\">"+ToDisplayText+"</a>");
}	

function EmailFormatConverge(eName,eAddress,eText) {
	var ToName = eName;
	var ToAddress = eAddress;
	var ToDisplayText = eText;
	document.write("<a style=\"color:#2E267C; text-decoration:none;\" href=\"mailto:"+ToName+"@"+ToAddress+"\">"+ToName+"@"+ToAddress+"</a>");
}

function addListener(element, type, expression, bubbling)
{
  bubbling = bubbling || false;
  if(window.addEventListener)	{ // Standard
    element.addEventListener(type, expression, bubbling);
    return true;
  } else if(window.attachEvent) { // IE
    element.attachEvent('on' + type, expression);
    return true;
  } else return false;
}

var ImageLoader = function(url){
  this.url = url;
  this.image = null;
  this.loadEvent = null;
};

ImageLoader.prototype = {
  load:function(){
    this.image = document.createElement('img');
    var url = this.url;
    var image = this.image;
    var loadEvent = this.loadEvent;
    addListener(this.image, 'load', function(e){
      if(loadEvent != null){
        loadEvent(url, image);
      }
    }, false);
    this.image.src = this.url;
  },
  getImage:function(){
    return this.image;
  }
};


function ImageViewer(width, height, url)
{
	document.body.style.cssText = 'margin:0; overflow:hidden;';
	if (document.documentElement) { document.documentElement.style.cssText = 'margin:0; overflow:hidden;'; }
	
	CreateElement('div', 'viewerholderbg', 'viewerimg', null, null, ''); //Background
	CreateElement('div', 'viewimgholder', 'viewerimgself', width, height, url); //Image Div centered

	var OpenArr = ['viewerholderbg', 'viewimgholder'];
    for (var i=0, len=OpenArr.length; i<len; ++i)
	{
		var el = document.getElementById(OpenArr[i]);
		el.onclick = function() { kill(); };
    }

	this.kill = function()
	{
		RemoveElement(document.body, document.getElementById(OpenArr[0]));
		RemoveElement(document.body, document.getElementById(OpenArr[1]));
		document.body.style.cssText = 'overflow:auto; height:;';
		if (document.documentElement) { document.documentElement.style.cssText = 'overflow-x:hidden; overflow-y:auto'; } 
	}
	
}


function CreateElement(eltype, elid, elclass, width, height, url) 
{
	var newel=document.createElement(eltype);
	newel.setAttribute('id', elid);
	newel.setAttribute((document.all ? 'className':'class'), elclass);
	
	//Used for Image Holder
	if (width != null && height != null)
	{
		var margintop;
		var yoffset = window.pageYOffset;
		if (isNaN(yoffset))
		{
			yoffset = document.documentElement.scrollTop;
		}
		
		if (yoffset == 0)
		{
			margintop = '-'+(height/2)+'px'; 
		} else {
			margintop = (yoffset)-(height/2)+'px'; 
		}
		
		var marginleft = '-'+width/2+'px'; 
		newel.style.cssText = 'width:'+ width+'px; height:'+height+'px; margin-top:'+margintop+'; margin-left:'+marginleft+';';
		document.body.appendChild(newel);
		
		//Add Image
		var imgloader = new ImageLoader(url);
		imgloader.loadEvent = function(url, image){
			newel.appendChild(image);
		}
		imgloader.load();

	} 
	else 
	{
		newel.style.cssText = 'height:'+document.body.scrollHeight+'px;';
		document.body.appendChild(newel);
	}
}


function RemoveElement(parentel,elrmv) {
	RemoveObj = elrmv;
	parentel.removeChild(RemoveObj);
}
