var aPopups = new Array();
var aModalPopups = new Array();

window.onfocus = function()
{
	if(aModalPopups.length != 0)
	{
		aModalPopups[0].focus();
	}
}


var sDefaultFeatures = 'channelmode=0, fullscreen=0, location=0, menubar=0, resizable=0, scrollbars=0, status=0, titlebar=0, toolbar=0';

// create popup
function createPopup(sURL, sName, sFeatures, iWidth, iHeight)
{
	var iLeft	= (screen.availWidth - iWidth) / 2;
	var iTop	= (screen.availHeight - iHeight) / 2;
	
	return window.open(sURL, sName, sFeatures + ', width=' + iWidth + ', height=' + iHeight + ', left=' + iLeft + ', top=' + iTop);
}




// getcookie
function getCookie(sName){
	var aCookie = document.cookie.split("; ");
	
	for (var i=0; i < aCookie.length; i++){
		var aCrumb = aCookie[i].split("=");
		if (sName == aCrumb[0]){
			return unescape(aCrumb[1]);
		}
	}
	
	return null;
}



// 
document.getElementsByClassName = function (needle){
    var s = [document.documentElement || document.body], i = 0, r = [], l = 0, e;
    var re = new RegExp('(^|\\s)' + needle + '(\\s|$)');

    do{
        e = s[i];

        while (e){
            if (e.nodeType == 1){
                if (e.className && re.test(e.className)) r[l++] = e;

                s[i++] = e.firstChild;
            }

            e = e.nextSibling;
        }
    }
	
    while (i--);

    return r;
}


 function handleBodyLoad(){
  zebraTables();
  markLinks();
  initBlankImg();
}

 // mark links
function markLinks(){
	var aLinks = document.getElementsByTagName('a');
	var oLink, oMark;
	
	for(var i = 0; i < aLinks.length; i++){
		oLink = aLinks[i];
		
		if(oLink.getElementsByTagName('img').length == 0){
			
			switch(oLink.getAttribute('rel')){
				case 'ext': case 'external':
					oLink.className += ' external';
					oLink.target = '_blank';
					
					
					if(oLink.getAttribute('href').indexOf('.pdf') != -1){
						oMark = document.createElement('img');
						oMark.src = '/data/link-icons/pdf.gif';
						oLink.insertBefore(oMark , (oLink.firstChild));
					}else{
						oMark = document.createElement('img');
						oMark.src = '/data/link-icons/external.gif';
						oLink.appendChild(oMark);
					}
					
					break;
			}
		}
	}
	
	aLinks = document.getElementById('content').getElementsByTagName('a');
	
	for(var i = 0; i < aLinks.length; i++){
		if(aLinks[i].getAttribute('href')){
			oHref = document.createElement('span');
				oHref.className = 'print';
				oHref.appendChild((document.createTextNode(' [' + aLinks[i].href + ']')));
			
			aLinks[i].appendChild(oHref);
		}
	}
} // init thumbnails
function initThumbnails(){
	var aThumbnails = document.getElementsByTagName('img');
	var oThumbnail;
	
	for(var i = 0; i < aThumbnails.length; i++)	{
		oThumbnail = aThumbnails[i];
		
		if(oThumbnail.className.toLowerCase() == 'thumbnail'){
			
			oThumbnail.parentNode.setAttribute('naturalWidth', oThumbnail.width);
			oThumbnail.parentNode.setAttribute('naturalHeight', oThumbnail.height);
			
			// resize image
			if(oThumbnail.width > oThumbnail.height){
				oThumbnail.style.width = '90px';
			}else{
				oThumbnail.style.height = '60px';
			}
			
			// create popup
			oThumbnail.parentNode.onclick = function(){
				var iWidth = this.getAttribute('naturalWidth');
				var iHeight = this.getAttribute('naturalHeight');
				
				createPopup(this.getAttribute('href'), 'thumbnail', sDefaultFeatures, iWidth, iHeight);
				
				return false;
			}
		}
	}
} /*
	zebra tables
*/

function zebraTables(){

	var rows = document.getElementsByTagName('tr');

	for(var i = 0; i< rows.length; i++){

               rows[i].className = rows[i].className.replace('odd','');
               rows[i].className = rows[i].className.replace('even','');

		if((i % 2) == 0){
			rows[i].className += ' odd';

		}else{

			rows[i].className += ' even';

		}
	}
}

/*
function called from the sortable table script used in the members page
*/

function addZebraAndIndex() {
  zebraTables();
}

/* gives all arrow img the correct src*/
function initBlankImg(){
  if(document.getElementById('tblMembers')){

    var tblImg = document.getElementById('tblMembers').getElementsByTagName('thead')[0].getElementsByTagName('img');
    for (var i = 0; i < tblImg.length; i++ ){
      tblImg[i].src = "/img/blank.gif";
    }
  }
}
 // zoomlinks
function initZoom(){
	switch(getCookie('switchZoom')){
		case 'zoom-small':
			document.getElementsByTagName('body')[0].className += ' zoom-small';
			break;
		case 'zoom-medium':
			document.getElementsByTagName('body')[0].className += ' zoom-medium';
			break;
		case 'zoom-large':
			document.getElementsByTagName('body')[0].className += ' zoom-large';
			break;
		default:
			document.getElementsByTagName('body')[0].className += ' zoom-small';
			break;
	}
}

function switchZoom(zoomClassName){
	var sClassName = document.getElementsByTagName('body')[0].className;
		sClassName = sClassName.replace(' zoom-small', '');
		sClassName = sClassName.replace('zoom-small', '');
		sClassName = sClassName.replace(' zoom-medium', '');
		sClassName = sClassName.replace('zoom-medium', '');
		sClassName = sClassName.replace(' zoom-large', '');
		sClassName = sClassName.replace('zoom-large', '');
		sClassName += ' ' + zoomClassName;
	
	document.cookie = 'switchZoom=' + zoomClassName + '; path=/';
	document.getElementsByTagName('body')[0].className = sClassName;
}
