jQuery(function(){
	var	Initializer = function(){ 
		var base = "http://www.eskapism.com/";
		var $ = jQuery;
		
		function setupMailLinks(){
			$('a.email').each(function(){
				var addr = jQuery(this).text();
				addr = addr.replace(' [at] ','@');
				addr = addr.replace(' [dot] ','.');
				//jQuery(this).text(addr);
				addr = 'mailto:' + addr;
				$(this).attr("href",addr);
			});
		}
		
		
		function setupLightboxThumbs(){
			$("a.with-info").hover(
				function(){
					$(this).find(".pic-info").hide().slideDown("fast");
				},
				function(){
					$(this).find(".pic-info").show().slideUp("fast");
				});
			
			//$("#lightbox-infoBox").remove();
		}
		
		function setupLinkFading(){
			var linkColorChangeDuration = 400;
		
			$('a.fade-normal, #blog a, p.featured a, div.meta a, div.storycontent a, div#page-navigation a, .entry a, #comments-block a, .navigation a, #sw-holder a').dwFadingLinks({ color: '#2F7BFF', duration: linkColorChangeDuration });
			
			$('#sidebar a').dwFadingLinks({ color: '#000', duration: linkColorChangeDuration });
			
			$('a.fade-navi, .post h3 a, .post h2 a').dwFadingLinks({ color: '#0F457F', duration: linkColorChangeDuration });
		}
	
		function insertAfter(newElement,targetElement) {
		  var parent = targetElement.parentNode;
		  if (parent.lastChild == targetElement) {
		    parent.appendChild(newElement);
		  } else {
		    parent.insertBefore(newElement,targetElement.nextSibling);
		  }
		}
	
		
		function setupLinkIcons() { 
			
		  $(".storycontent a, a.fav, .block-text a, .entry a, .comment-content a").each(function(){
		  		if (!$(this).attr("class").match(/.*nofav.*/)) {
					var hoststring = /^http:/;
			  		var hrefvalue = $(this).attr("href");
					if (hrefvalue && !hrefvalue.match(/.*eskapism.*/) && hrefvalue.search(hoststring) != -1) {
						var domain = hrefvalue.match(/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/);
						domain = RegExp.$2;
						var cue = document.createElement("img");
						cue.className = "faviconimg";
						var cuesrc = "http://"+domain+"/favicon.ico";
						$(cue).attr("src",base+"wp-content/themes/eskapism/images/external.gif");
					//	cue.onerror = function () {
					//		this.src = "../images/external.gif";
					//		}
						insertAfter(cue,$(this).get(0));
					}
				}	
			});
		}
		
		function setupOther(){
			if ($.browser.safari){ // change to webkit if using jq1.4 !!!
				
			} else if ($.browser.msie){
				$("div.navi a, div.navi span").css({"margin-right":"9px"});
				$("#progress-bar-fill").css({"margin":"auto"});
			}
		}
		
		return {
			setupMailLinks : setupMailLinks,
			setupLightboxThumbs : setupLightboxThumbs,
			setupLinkFading : setupLinkFading,
			setupLinkIcons : setupLinkIcons,
			setupOther : setupOther
		}
	}();
	
	
	Initializer.setupMailLinks();
	Initializer.setupLightboxThumbs();
	Initializer.setupLinkFading();
	//Initializer.setupLinkIcons();
	Initializer.setupOther();

});