/*

Generic Image Preloader - passes in an array of images to preload.

*/

image = {
	
	preload: function(arr){
			i = 0;
		
			arr.each(function(item){
				ext 	 = item.match(/[^.]+\w*$/g)
				//fileName = item.match(/[^\/]+\w*$/g)
				
				var imgName = ext + "_" + i
			
				imgName = new Image();
				imgName.src = item;
				
				i++;
			})
	
	},
	
	mouse_over: function(event){
		element = event.element(event)
		$(element.id).src = $(element.id).src.replace(/_off/gi, '_on');
	},
	
	mouse_out: function(event){
		element = event.element(event)
		$(element.id).src = $(element.id).src.replace(/_on/gi, '_off');
	}

}


//======================================================================================
// Handles "XHTML Strict" and lack of target="_new" support
//======================================================================================
function popout() {
 if (document.getElementsByTagName) {
  
  var i, a;
  a = document.getElementsByTagName('a');
  
  for(i=0; i < a.length; i++){
  	if (a[i].getAttribute('href') != null && a[i].getAttribute('rel') == 'popout' ){ a[i].target = '_blank';    }
  }
 }
}


//****************************************************************************************
// Open New Window
//****************************************************************************************
function openWin(URLtoOpen, windowName, h, w) {
	window.open(URLtoOpen,windowName,'toolbar=no,width=' + w + ',height=' + h + ',location=0,directories=0,status=0,menuBar=0,scrollBars=0,resizable=0')
}


//======================================================================================
// Google Analytics
//======================================================================================

var analytics = {

	root : 'http://' + window.location.host + '/',
	
	analize: function(url) {
	
		var pageTracker = _gat._getTracker("UA-2373255-1");
		//var root = 'http://' + window.location.host + '/'
		
		if (window.Prototype) document.observe('mouseup', function(event) {
		  if (!pageTracker._trackPageview) return
		  
		  // After we have a mouseup event, we determine if the elementTagName was a link, area, etc. Take the URL associated with that tag and then parse the appropriate stuff for analytics processing
		  if(url == '' || url == undefined){
		  
			  var element = event.element(event);
			  switch(element.tagName){
			  	case 'A':
				case 'IMG':
					var link = event.findElement('a[href]')
				break;
				case 'AREA':
					var link = event.findElement('area[href]')
				break;
				case 'DIV':
					var link = $(element).up('a[href]');
				break;
				case 'object':
						if(element.id.indexOf('sIFR_replacement') >= 0){
							var link = $(element.id).next('span').down('a[href]');
						}
				break;
			  }
		  
		  }else{
		  		// If we want to track stuff other than clicks (which we do) we call the function directly i.e. AJAX calls
		  		var link = url
		  
		  }
		 
		 //if(link != undefined)
		 // alert('link = ' + link + '\ntagName = ' + element.tagName)
		  
		  
		  
		  
		  if (link) {
			var url = null, leftOrMiddle = (event.isLeftClick() || event.isMiddleClick())
		    // track outgoing clicks:
		    if (!link.href.startsWith(analytics.root) && leftOrMiddle){
			  url = '/outgoing/' + link.href.replace(/^http:\/\//, '')
		    // track clicks to files with extensions other than ".html"
		    
			} else if (/.(\w{2,5})$/.test(link.href) && RegExp.$1.toLowerCase() != 'html' && leftOrMiddle) {
		      
			  if(link.hash && link.hash == '#print'){
				url = analytics.printURL(link.href)
			  }else{
				url = '/' + link.href.replace(analytics.root, '')
			  }
			  
			  
			  
			}
			
		    if (url){
				pageTracker._initData();
				pageTracker._trackPageview(url);
			}else{
				pageTracker._initData();
				pageTracker._trackPageview();
			}
			
		  }
		})
	},
	
	printURL: function(link){
			url = link.replace(analytics.root, analytics.root + 'print/')
			url = url.replace('#print', '')
			return url;
	}
	
	

}