var YUE = YAHOO.util.Event;
var YUD = YAHOO.util.Dom;

var zu_preloaded = new Array();

/**
 * Preloads images passed to this function as an array of filenames.  
 *   Usage: preloadImages( 'img1.jpg', 'img2.jpg', 'img3.jpg' )
 */
function preloadImages( arr )
{
	if ( typeof(arr) == 'object' ) {
		arguments = arr;
	}
	
	for( var i = 0; i < arguments.length; i++ ) {
		zu_preloaded[i] = new Image();
		zu_preloaded[i].src = arguments[i];
	}	
}


/**
 * Attach event handler to a specific class
 * @param c class to apply handler.
 * @param t type of event to attach.
 * @param f function to call when event fires.
 */
function _attachClassEventHandler( c, t, f )
{
	var arr = YUD.getElementsByClassName( c );
	YUE.on( arr, t, f );	
}

/**
 *
 */
function str_replace(search, replace, subject) 
{
    var f = search, r = replace, s = subject;
    var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
 
    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
        }
    };
 
    return sa ? s : s[0];
}


/**
 * Trim function for strings
 */
String.prototype.trim = function() {
	str = this;
	str = str.replace(/^\s+/, '');
	for (var i = str.length - 1; i >= 0; i--) {
		if (/\S/.test(str.charAt(i))) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return str;	
}



function externalLinks() {
	if (!document.getElementsByTagName) return;
		var anchors = document.getElementsByTagName("a");
		for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
			anchor.target = "_blank";
		}
}

YUE.onDOMReady( externalLinks );

/**
 * Google Analytics Tracking
 */

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-1476935-50']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
  })();