var d = document;var n = "neal";var FamCom = FamCom || {};function _T(NodeText){return d.createTextNode(NodeText);}function $(El){if(typeof El == "string"){El = document.getElementById(El);}return El;}function IsCollection(a){ if(a && typeof a == "object"){if(a.constructor == Array){return true;}if(a.nodeType){return false;}if(typeof a.length != "undefined" && typeof a[0] != "undefined"){return true;}}return false;}function IsObject(a){ return typeof a == "object" || typeof a == "function";}if(!Array.prototype.indexOf){Array.prototype.indexOf = function(el){for(var i = 0, j = this.length; i < j; i++){if(el == this[i]){return i;}}return -1;};}function ToSource(o){if(o.toSource){return o.toSource();}if(o.outerHTML){return o.outerHTML;}if(typeof o === "string"){return o;}var txt,i,j;if(IsCollection(o)){txt = "[";for(i = 0, j = o.length; i < j; i++){txt += ToSource(o[i])+", ";}txt += "]";}if(typeof o === "object"){txt = "{";for(i in o){txt += i+":"+o[i];}}return o;}function printfire(){ if(d.createEvent) {if(window.opera){window.opera.dump(arguments);}else{printfire.args = arguments;var ev = d.createEvent("Events");ev.initEvent("printfire", false, true);dispatchEvent(ev);} }else{var o = $("printfire__DEBUGGER");if(!o){o = d.createElement("textarea");o.style.width="99%";o.style.height="300px";d.body.appendChild(o);o.id = "printfire__DEBUGGER";}o.value += arguments[0] + "\n";}}FamCom.Event = (function(){var GUID = 1;function Process(e){var ReturnValue = true;e = e || FixIE(window.event);var Handlers = this.Events[e.type];for(var i in Handlers){this.$$HandleEvent = Handlers[i];if(this.$$HandleEvent(e) === false){e.preventDefault();e.stopPropagation();ReturnValue = false;break;}this.$$HandleEvent = null;}return ReturnValue;}function FixIE(Event){Event.preventDefault = PreventDefaultIE;Event.stopPropagation = StopPropagationIE;return Event;}function PreventDefaultIE(){this.returnValue = false;}function StopPropagationIE(){this.cancelBubble = true;}return {AddToAll: function(o,Type,Func){this.Add(o,Type,Func);},RemoveFromAll: function(o,Type,Func){this.Remove(o,Type,Func);},Add: function(El,Type,Func){if(!El){return;}var i,j;if(IsCollection(El)){for(i = 0, j = El.length; i < j; i++){this.Add(El[i],Type,Func);}return;}else{El = $(El);}if(!Func.$$GUID){Func.$$GUID = GUID++;}if(!El.Events){El.Events = {};}var Handlers = El.Events[Type];if(!Handlers){Handlers = El.Events[Type] = {};if(El["on"+Type]){Handlers[0] = El["on"+Type];}El["on"+Type] = Process;}Handlers[Func.$$GUID] = Func;Handlers = null;El = null;},Remove: function(El,Type,Func){if(IsCollection(El)){var i,j;for(i = 0, j = El.length; i < j; i++){this.Remove(El[i],Type,Func);}return;}else{El = $(El);}if(Func){if(El.Events && El.Events[Type] && Func.$$GUID){delete El.Events[Type][Func.$$GUID];}}else{if(El.Events && El.Events[Type]){var tmp = El.Events[Type];for(var e in tmp){tmp[e] = null;delete tmp[e];}El.Events[Type] = null;delete El.Events[Type];}}},Kill: function(Event){Event.stopPropagation();Event.preventDefault();return false;},Clean: function(El){El = $(El);if(!El){return;}var a, i, j, n;if(El.Events){El.Events = null;}a = El.attributes;if(a){for(i = 0, j = a.length; i < j; ++i){n = a[i].name;if(typeof El[n] == "function"){El[n] = null;}}}a = El.childNodes;if(a){for (i = 0, j = a.length; i < j; ++i){if(a[i].nodeType != 3){FamCom.Event.Clean(a[i]);}}}},RemoveAll: function(El,Type){El = $(El);if(El.Events){El.Events[Type] = null;delete El.Events[Type];El["on"+Type] = null;}},GetMouseCoords: function(e){var c = {X:0, Y:0};if(e.pageX || e.pageY){c.X = e.pageX;c.Y = e.pageY;}else{c.X = e.clientX + (d.documentElement.scrollLeft || d.body.scrollLeft) -d.documentElement.clientLeft;c.Y = e.clientY + (d.documentElement.scrollTop || d.body.scrollTop) - d.documentElement.clientTop;}return c;},GetKeyStatus: function(e){var o, m = e.modifiers;if(m){o = {"Shift": m & 4,"Ctrl": m & 2,"Alt": (m & 9)};}else{o = {"Shift":e.shiftKey,"Ctrl": e.ctrlKey,"Alt": e.altKey};}return o;}};})();if(!window.XMLHttpRequest){window.XMLHttpRequest = function(){var Types = ["Microsoft.XMLHTTP","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"];for(var i = 0; i < Types.length; i++){try{return new ActiveXObject(Types[i]);}catch(e){}}return false; };}FamCom.Data = function(){var PendingRequests = {};function CreateReadyState(UID){var ID = UID;return function(){FamCom.Data.ProcessRequest(ID);};}return {DEFAULT: 0,XML: 1,TEXT: 2,JSON: 3,Request: function(PostData,Params,DataFormat,Script){if(!Script){Script = "xml.php";}var RequestObject;try{RequestObject = new XMLHttpRequest();}catch(e){return;}var UID = new Date().getTime();DataFormat = DataFormat || FamCom.Data.XML;PendingRequests[UID] = {"Request": RequestObject,"Params": Params,"Format":DataFormat};var f = CreateReadyState(UID);RequestObject.onreadystatechange = f;RequestObject.open("POST",Script+"?rand="+Math.random(),true);RequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");if(typeof PostData === "string"){RequestObject.send(PostData.replace(/\+/g,"%2b"));}else{var Data = "";var v;for(v in PostData){Data += v +"="+escape(PostData[v]).replace(/\+/g,"%2b")+"&";}RequestObject.send(Data);}},ProcessRequest: function(UID){if(!PendingRequests[UID]){return false;}if(PendingRequests[UID].Request.readyState == 4){if(PendingRequests[UID].Request.status == 200){if(PendingRequests[UID].Params){var CallbackParams = null;switch(PendingRequests[UID].Format){case FamCom.Data.XML:if(PendingRequests[UID].Request.responseXML){CallbackParams = PendingRequests[UID].Request.responseXML.documentElement;}break;case FamCom.Data.JSON:if(PendingRequests[UID].Request.responseText){CallbackParams = eval("("+PendingRequests[UID].Request.responseText+")");}break;case FamCom.Data.TEXT:CallbackParams = PendingRequests[UID].Request.responseText;break;default: CallbackParams = PendingRequests[UID].Request;break;}if(typeof PendingRequests[UID].Params === "function"){PendingRequests[UID].Params(CallbackParams);}else if(PendingRequests[UID].Params.Success){PendingRequests[UID].Params.Success(CallbackParams,PendingRequests[UID].Params.Target);PendingRequests[UID].Params.Success = null;PendingRequests[UID].Params.Failure = null;PendingRequests[UID].Params.Target = null;}}}else if(PendingRequests[UID].Params){if(typeof(PendingRequests[UID].Params) == "function"){PendingRequests[UID].Params(0+PendingRequests[UID].Request.status);}else if(PendingRequests[UID].Params.Failure){PendingRequests[UID].Params.Failure(0+PendingRequests[UID].Request.status,PendingRequests[UID].Params.Target);PendingRequests[UID].Params.Success = null;PendingRequests[UID].Params.Failure = null;PendingRequests[UID].Params.Target = null;}}PendingRequests[UID].Params = null;delete PendingRequests[UID];}}};}();FamCom.DOM = function(){var GUID = 0;return {UniqueID: function(){GUID++;return "FamCom_DOM_"+GUID;},Create: function(ElementName,ElementText,ID,ClassName,Properties){var NewElement = d.createElement(ElementName);if(ElementText){NewElement.innerHTML = ElementText;}if(ID){NewElement.id = ID;}if(ClassName){NewElement.className = ClassName;}if(Properties){var p;for(p in Properties){NewElement.setAttribute(p,Properties[p]);}}return NewElement;},Destroy: function(o){var i,j;if(IsCollection(o)){for(i = 0, j = o.length; i < j; i++){this.Destroy(o[i]);}return;}o = $(o);if(o){if(FamCom.Event){FamCom.Event.Clean(o);}if(o.parentNode){var t1 = o.parentNode;t1.removeChild(o);t1 = null;}}o = null;},Empty: function(o){o = $(o);if(o && o.childNodes){while(o.firstChild){this.Destroy(o.firstChild);}}},CreateInput: function(InputType,Value,ID,ClassName,LabelText,Properties){var NewInput = null;if(InputType === "textarea"){NewInput = FamCom.DOM.Create("textarea",Value,ID,ClassName);}else{NewInput = FamCom.DOM.Create("input",null,ID,ClassName);NewInput.type = InputType;if(Value){NewInput.value = Value;}}NewInput.name = ID;if(Properties){var p;for(p in Properties){NewInput[p] = Properties[p];}}if(LabelText){var OuterDiv = FamCom.DOM.Create("div",null,ID+"_FormRow","FormRow");OuterDiv.innerHTML = '<label for="'+ID+'">'+LabelText+'</label> ';OuterDiv.appendChild(NewInput);return OuterDiv;}else{return NewInput;}},CreateSelect: function(Value,ID,ClassName,Elements,LabelText){var NewInput = this.Create("select",null,ID,ClassName);NewInput.name = ID;var t = "";for(var Val in Elements){t += '<option value="'+Val+'"'+(Val == Value ? ' selected="selected"': '')+'>'+Elements[Val]+'</option>';}NewInput.innerHTML = t;NewInput.value = Value;if(LabelText){var OuterDiv = FamCom.DOM.Create("div",null,ID+"_FormRow","FormRow");OuterDiv.innerHTML = '<label for="'+ID+'">'+LabelText+'</label> ';OuterDiv.appendChild(NewInput);return OuterDiv;}else{return NewInput;}},CreateLink: function(LinkText,URL,OnClick,ID,ClassName){var a = null;if(typeof LinkText === "string"){a = FamCom.DOM.Create("a",LinkText);}else{a = FamCom.DOM.Create("a",LinkText[0]);a.title = LinkText[1];}if(OnClick){if(FamCom.Event){a.OnClicker = OnClick;FamCom.Event.Add(a,"click",OnClick);}}a.href = URL;if(ID){a.id = ID;}if(ClassName){a.className = ClassName;}return a;},Body: function(){return d.getElementsByTagName("body")[0];},GetPos: function(o){var Pos = {X: 0, Y:0};o = $(o);if((!o) || (o.parentNode === null) || (this.GetStyle(o, "display") == "none")){return null;}var Parent = null;var Box = null;if(d.getBoxObjectFor){ Box = d.getBoxObjectFor(o);Pos = {X:Box.x, Y:Box.y};}else if(o.getBoundingClientRect){ Box = o.getBoundingClientRect();var ScrollTop = d.documentElement.scrollTop || d.body.scrollTop;var ScrollLeft = d.documentElement.scrollLeft || d.body.scrollLeft;return {X:Box.left + ScrollLeft,Y:Box.top + ScrollTop};}else{ Pos = {X:o.offsetLeft, Y:o.offsetTop};Parent = o.offsetParent;if(Parent != o){while(Parent){Pos.X += Parent.offsetLeft;Pos.Y += Parent.offsetTop;Parent = Parent.offsetParent;}} var u = navigator.userAgent.toLowerCase();if(u.indexOf("opera") != -1|| ( u.indexOf("safari") != -1 && this.GetStyle(o, "position") === "absolute")){Pos.Y -= d.body.offsetTop;}}if(o.parentNode){Parent = o.parentNode;}else{Parent = null;}while(Parent && Parent.tagName != "BODY" && Parent.tagName != "HTML"){Pos.X -= Parent.scrollLeft;Pos.Y -= Parent.scrollTop;if(Parent.parentNode){Parent = Parent.parentNode;}else{Parent = null;}}return Pos;},SetPos: function(o,X,Y,NoRetry){o = $(o);if(typeof X === "object"){Y = X.Y;X = X.X;}var s = o.style;if(o.parentNode.tagName=="BODY"){s.top = Y+"px";s.left = X+"px";return true;}var Current = this.GetPos(o);if(Current === null){return null;}if(this.GetStyle(o,"position") === "static"){this.SetStyle(o,"position","relative");}var Delta = {X: parseInt(this.GetStyle(o,"left"),10),Y: parseInt(this.GetStyle(o,"top"),10)};if(isNaN(Delta.X)){Delta.X = 0;}if(isNaN(Delta.Y)){Delta.Y = 0;}if(typeof X != "undefined" && !isNaN(X)){s.left = X - Current.X + Delta.X + 'px';}if(typeof Y != "undefined" && !isNaN(Y)){s.top = Y - Current.Y + Delta.Y + 'px';}var NewPos = this.GetPos(o);if(!NoRetry && (NewPos.X != X || NewPos.Y != Y)){this.SetPos(o, X, Y, true);}return true;},Swap: function(oA,oB){oA = $(oA);oB = $(oB);if(oA && oB){if(oA.swapNode){oA.swapNode(oB);return;}var s = oA.nextSibling;var p = oA.parentNode;if(s === oB){p.insertBefore(oB,oA);return;}oB.parentNode.replaceChild(oA,oB);if(s){p.insertBefore(oB,s);}else{p.appendChild(oB);}s = null;p = null;}oA = null;oB = null;},Toggle: function(o){if(this.GetStyle(o,"display") === "none"){this.SetStyle(o,"display","block");}else{this.SetStyle(o,"display","none");}},GetStyle: function(o,p){var Value = null;var DV = d.defaultView;o = $(o);if(p === "opacity" && o.filters){Value = 1;try{Value = o.filters.item("DXImageTransform.Microsoft.Alpha").opacity / 100;}catch(e){try{Value = o.filters.item("alpha").opacity / 100;}catch(e){}}}else if(o.style[p]){Value = o.style[p];}else if(o.currentStyle && o.currentStyle[p]){Value = o.currentStyle[p];}else if(DV && DV.getComputedStyle){var Converted = "",i,j;for(i = 0, j = p.length;i < j; ++i){if(p.charAt(i) === p.charAt(i).toUpperCase()){ Converted = Converted + "-" + p.charAt(i).toLowerCase();}else{ Converted = Converted + p.charAt(i);}}if(DV.getComputedStyle(o,"").getPropertyValue(Converted)){Value = DV.getComputedStyle(o,"").getPropertyValue(Converted);}}return Value;},SetStyle: function(o,p,Value){var i,j;if(IsCollection(o)){for(i = 0, j = o.length; i < j; i++){this.SetStyle(o[i],p,Value);}return;}o = $(o);var s = o.style;switch(p){case "opacity":if(o.filters){s.filter = "Alpha(opacity="+Math.floor(Value * 100)+")";}else{s.opacity = Value;s['-moz-opacity'] = Value;s['-khtml-opacity'] = Value;}break;default:try{o.style[p] = Value;}catch(e){}break;}},AddClass: function(o,Class){var i,j;if(IsCollection(o)){for(i = 0, j = o.length; i < j; i++){this.AddClass(o[i],Class);}return;}o = $(o);if(o){o.className += " " + Class;}},RemoveClass: function(o,Class){var i,j;if(IsCollection(o)){for(i = 0, j = o.length; i < j; i++){this.RemoveClass(o[i],Class);}return;}o = $(o);var c = o.className;if(o && c.indexOf(Class) >= 0){var e = new RegExp('(?:^|\\s+)' + Class + '(?:\\s+|$)', 'g');o.className = c.replace(e," ");}},HasClass: function(o,Class){var re = new RegExp('(?:^|\\s+)' + Class + '(?:\\s+|$)'); return re.test(o.className);},IsSameNode: function(oA,oB){if(!oA || !oB){return false;}oA = $(oA);oB = $(oB);if(oA.isSameNode && oA.isSameNode(oB)){return true;}if(oA.uniqueID && oA.uniqueID === oB.uniqueID){return true;}if(oA.sourceIndex && oA.sourceIndex === oB.sourceIndex){return true;}if(oA.id === oB.id){return true;}return false;},GetMaxArea: function(o){o = $(o);var Tester = o.cloneNode(true);Tester.style.overflow = "visible";Tester.style.position = "absolute";Tester.style.visibility = "hidden";Tester.style.height = "auto";o.parentNode.insertBefore(Tester,o);var Dims = {"Height":Tester.offsetHeight,"Width": Tester.offsetWidth};this.Destroy(Tester);return Dims;},GetRegion: function(o){if(o.Top && o.Right && o.Bottom && o.Left){return o;}o = $(o);var Pos = this.GetPos(o);if(!Pos){return {Top:0,Right:0,Bottom:0,Left:0};}return {Top:Pos.Y,Right:Pos.X + o.offsetWidth,Bottom:Pos.Y + o.offsetHeight,Left:Pos.X};},ContainsPoint: function(o,x,y){if(typeof x === "object"){x = x.X;y = x.Y;}if(x >= o.Left && x <= o.Right && y >= o.Top && y <= o.Bottom){return true;}return false;},GetDistanceFromPoint: function(x1,y1,x2,y2){if(typeof y1 == "object"){x2 = y1.X;y2 = y1.Y;}if(typeof x1 === "object"){y1 = x1.Y;x1 = x1.X;}var DeltaX = x2 - x1;var DeltaY = y2 - y1;return Math.sqrt((DeltaX * DeltaX) + (DeltaY * DeltaY));},GetCenter: function(Region){return {X: (Region.Left + Region.Right) * 0.5,Y: (Region.Top + Region.Bottom) * 0.5};},Collision: function(RegA,RegB){if(RegA.Bottom < RegB.Top || RegA.Top > RegB.Bottom || RegA.Right < RegB.Left || RegA.Left > RegB.Right){return false;}return true;},GetNearestObject: function(Source,Targets,IgnoreNode){var SourceReg = this.GetRegion(Source);var MaxDist = 99999999;var Target = null;var i,j;for(i = 0, j = Targets.length; i < j; i++){if(IgnoreNode && this.IsSameNode(Targets[i],IgnoreNode)){continue;}var TestReg = this.GetRegion(Targets[i]);if(FamCom.DOM.Collision(TestReg,SourceReg)){var Dist = FamCom.DOM.GetDistanceFromPoint(this.GetCenter(TestReg),this.GetCenter(SourceReg));if(Dist <= MaxDist){MaxDist = Dist;Target = Targets[i];}}}return Target;},GetElementsByClassName: function(Class, TagName, RootNode){if(RootNode){RootNode = $(RootNode);}else{RootNode = d;}TagName = TagName || "*";var Elements;if(TagName === "*" && d.all){Elements = d.all;}else{Elements = RootNode.getElementsByTagName(TagName);}var r = new RegExp("(^|\\s)" + Class + "(\\s|$)");var e,i,j,o=[];for(i = 0, j = Elements.length; i < j; i++){e = Elements[i];if(r.test(e.className)){o.push(e);}}return o;},SplitColor: function(c){if(c.substr(0,1) == "#"){return {r: parseInt(c.substr(1,2),16),g: parseInt(c.substr(3,2),16),b: parseInt(c.substr(5,2),16)};}if(c.substr(0,3) === "rgb"){return {r: parseInt(c.substr(4,3),10),g: parseInt(c.substr(9,3),10),b: parseInt(c.substr(14,3),10)};}return {r:255,g:255,b:255};}};}();FamCom.Effect = function(){var EffectCount = 0; var EffectList = []; var Thread = null; var LastTime = 0;var DOM = FamCom.DOM;var D2Hex = [];var HexDigits="0123456789ABCDEF";function d2h(i){var h = HexDigits.substr(i&15,1);while(i>15){i>>=4;h=HexDigits.substr(i&15,1)+h;}return h;}var i,j,k;for(i = 0; i < 257; i++){D2Hex[i] = d2h(i);}function Create(o){var Time = (new Date()).getTime();EffectList.push(o);EffectCount++;if(!Thread){LastTime = Time;Thread = setInterval(Process,1);}}function Process(){var Key = null;var NewTime = (new Date()).getTime();var Delta = (NewTime-LastTime) * 0.001;var o, i;for(i = EffectList.length-1; i >= 0; i--){o = EffectList[i];if(!o.Tick(Delta)){EffectList.splice(i,1);EffectCount--;if(EffectCount === 0){clearInterval(Thread);Thread = null;break;}}}LastTime = NewTime;}function AnimTick(Delta){var Adjust = this.Adjust;var Assumed = this.Assumed;var Params = this.Params;var Target = this.Target;var TargetStyle = Target.style;this.Elapsed += Delta;var PercentFinished = this.Elapsed / Params.Time;if(this.Elapsed < Params.Time){if(Adjust.Opacity){var NewOpacity = (Params.FromOpacity + ((Params.ToOpacity - Params.FromOpacity) * PercentFinished));DOM.SetStyle(Target,"opacity",NewOpacity);}if(Adjust.Height){var CurrentHeight = Params.FromHeight + ((Params.ToHeight - Params.FromHeight) * PercentFinished);TargetStyle.height = Math.floor(CurrentHeight) + "px";}if(Adjust.Width){var CurrentWidth = Params.FromWidth + ((Params.ToWidth - Params.FromWidth) * PercentFinished);TargetStyle.width = Math.floor(CurrentWidth) + "px";}if(Adjust.Pos){var fX = Params.FromX;var fY = Params.FromY;var x = fX + ((Params.ToX - fX) * PercentFinished);var y = fY + ((Params.ToY - fY) * PercentFinished);FamCom.DOM.SetPos(Target,x,y);}if(Adjust.BGColor){var r = Params.FromBGColor.r + Math.floor((Params.ToBGColor.r -Params.FromBGColor.r) * PercentFinished);var g = Params.FromBGColor.g + Math.floor((Params.ToBGColor.g -Params.FromBGColor.g) * PercentFinished);var b = Params.FromBGColor.b + Math.floor((Params.ToBGColor.b -Params.FromBGColor.b) * PercentFinished);FamCom.DOM.SetStyle(Target,"backgroundColor","#"+D2Hex[r]+D2Hex[g]+D2Hex[b]);}Target = null;TargetStyle = null;Params = null;return true;}else{if(Adjust.Opacity){DOM.SetStyle(Target,"opacity",Params.ToOpacity);}if(Adjust.Height){TargetStyle.height = Assumed.Height ? "" : Params.ToHeight + "px";}if(Adjust.Width){TargetStyle.width = Assumed.Width ? "" : Params.ToWidth + "px";}if(Adjust.Height || Adjust.Width){FamCom.DOM.SetStyle(Target,"overflow",Params.OldOverflow);}if(Adjust.Pos){FamCom.DOM.SetPos(Target,Params.ToX ? Params.ToX : Params.FromX,Params.ToY ? Params.ToY : Params.FromY);}if(Adjust.BGColor){FamCom.DOM.SetStyle(Target,"backgroundColor","#"+D2Hex[Params.ToBGColor.r]+D2Hex[Params.ToBGColor.g]+D2Hex[Params.ToBGColor.b]);}if(Params.OnFinish){Params.OnFinish(Target);Params.OnFinish = null;}Target = null;TargetStyle = null;Params = null;this.Params = null;this.Target = null;return false;}}return {Fade: function(o,FadeTime,OnFinish,BeginOpacity,EndOpacity){return this.Animate(o,{"Time":FadeTime,"OnFinish":OnFinish,"FromOpacity":BeginOpacity,"ToOpacity":EndOpacity});},FadeOut: function(o,FadeTime){return this.Animate(o,{"Time":FadeTime,"OnFinish":FamCom.DOM.Destroy,"FromOpacity":1.0,"ToOpacity":0.0});},Resize: function(o,Params){return this.Animate(o,Params);},Animate: function(o,Params){o = $(o);if(!o){return;}var Assumed = {Height: false,Width: false};var Adjust = {"Height": false,"Width": false,"Pos": false,"Opacity": false,"BGColor": false};if(typeof Params.FromBGColor !== "undefined" || typeof Params.ToBGColor !== "undefined"){Adjust.BGColor = true;var t = "";var n = o;while(n && ((!t) || (t === "transparent" || t.length === 0))){t = FamCom.DOM.GetStyle(n,"backgroundColor");n = n.parentNode;if(!n.parentNode){break;}}if((!t) || (t === "transparent" || t.length === 0)){t = {r:255,g:255,b:255};}else{t = FamCom.DOM.SplitColor(t);}if(typeof Params.FromBGColor === "undefined"){Params.FromBGColor = t;}if(typeof Params.ToBGColor === "undefined"){Params.ToBGColor = t;}}if(typeof Params.FromHeight !== "undefined" || typeof Params.ToHeight !== "undefined"){Adjust.Height = true;if(typeof Params.ToHeight === "undefined"){Assumed.Height = true;Params.ToHeight = o.offsetHeight;}if(typeof Params.FromHeight !== "undefined"){o.style.height = Params.FromHeight +"px";}else{Params.FromHeight = o.offsetHeight;}}if(typeof Params.FromWidth !== "undefined" || typeof Params.FromWidth !== "undefined"){Adjust.Width = true;if(typeof Params.ToWidth === "undefined"){Assumed.Width = true;Params.ToWidth = o.offsetWidth;}if(typeof Params.FromWidth !== "undefined"){o.style.width = Params.FromWidth +"px";}else{Params.FromWidth = o.offsetWidth;}}if(typeof Params.ToX !== "undefined" || typeof Params.ToY !== "undefined"){Adjust.Pos = true;var Pos = FamCom.DOM.GetPos(o);Params.FromX = Pos.X;Params.FromY = Pos.Y;}if(typeof Params.FromOpacity !== "undefined" || typeof Params.ToOpacity !== "undefined"){Adjust.Opacity = true;if(typeof Params.FromOpacity === "undefined"){Params.FromOpacity = DOM.GetStyle(o,"opacity");}if(typeof Params.ToOpacity === "undefined"){Params.ToOpacity = DOM.GetStyle(o,"opacity");}}if(Adjust.Height || Adjust.Width){Params.OldOverflow = FamCom.DOM.GetStyle(o,"overflow");FamCom.DOM.SetStyle(o,"overflow","hidden");}if(!Params.Time){Params.Time = 1.0;}if(Params.Time > 10){Params.Time = Params.Time * 0.001;}var AnimObj = {"Target": o,"Elapsed": 0.0,"Params": Params,"Assumed": Assumed,"Adjust": Adjust,"Tick": AnimTick};Create(AnimObj);}};}();FamCom.Mail = function(){function SubmitLinkCallback(o){if(o.Status === "failure"){alert(o.Message);}}function SubmitLinkFailure(){alert("Unable to send message");}function FormSubmit(e){SubmitLink(this);return false;}function SubmitLink(e){var o = null;if(this.DataContainer){o = this.DataContainer;}else{if(e.keyCode == 13){o = this;}else{return;}}if(o.value){var Req = {"Link":o.MailToLink,"Subject":o.Subject,"Email": o.value};o.className += " Loading";FamCom.Data.Request(Req,{"Success":SubmitLinkCallback,"Failure":SubmitLinkFailure},FamCom.Data.JSON,"/public/sendlink/");}FamCom.Effect.FadeOut(o.parentNode.parentNode,1.0);FamCom.Event.Kill(e);return false;}return {CreateMailToBox: function(URL,Subject,Item){if(typeof(Item) == "string"){Item = $(Item);}var Dat = new Date();var Frm = FamCom.DOM.Create("form",null,null,"MailToBox");Item.parentNode.appendChild(Frm);var f = FamCom.DOM.Create("fieldset",null,null);f.appendChild(FamCom.DOM.Create("legend","Friend's Email address"));Frm.appendChild(f);var ID = "MailToBox"+Dat.getUTCMilliseconds();var i = FamCom.DOM.CreateInput("text",null,ID,"MailToBox");f.appendChild(i);var s = FamCom.DOM.CreateInput("submit","Send",null,"MailToBoxSubmit");f.appendChild(s);FamCom.Event.Add(Frm,"submit",SubmitLink);FamCom.Event.Add(i,"keypress",SubmitLink);Frm.DataContainer = i;i.MailToLink = URL;i.Subject = Subject;i.focus();},Subscribe: function(URL,o,Options){var Req = {Channel: "Subscribe",Format: "XML", Feed: URL,"Options":Options};if(typeof(o) == "string"){o = $(o);}o.onclick = "FamCom.Mail.Unsubscribe('"+URL+"',this,"+Options+"); return false;";o.NewURL = URL;o.firstChild.nodeValue = "Unsubscribe";FamCom.Effect.Animate(o,{"FromColor":{r:255,g:255,b:0},"Time":1.0});FamCom.Data.Request(Req,null,null,"/public/feed/");},Unsubscribe: function(URL,o,Options){var Req = {Channel: "Unsubscribe",Format: "XML", Feed: URL,"Options":Options};if(typeof(o) == "string"){o = $(o);}o.onclick = "FamCom.Mail.Subscribe('"+URL+"',this,"+Options+"); return false;";o.NewURL = URL;o.firstChild.nodeValue = "Subscribe via Email";FamCom.Data.Request(Req,null,null,"/public/feed/");},Validate: function(Email){var Filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(typeof Email === "string"){return Filter.test(Email) ? 0 : -1;}else{for(var i = Email.length-1; i > -1; i--){if(Email[i] === ""){continue;}if(!Filter.test(Email[i])){return i;}}}return -1;}};}();FamCom.Pheme = function(){var URL = "/public/tag/";function MakeTaggerCallback(r){if(typeof(r) !="integer"){var Para = $("TagMaker").getElementsByTagName("p")[0];Para.className = "";var Tags = r.getElementsByTagName("tag");var Inp= $("AddTag");Inp.focus();var i,l;for(i = 0; i < Tags.length;i++){l =FamCom.DOM.CreateLink(Tags[i].firstChild.nodeValue,Tags[i].getAttribute("href"));Para.insertBefore(l,Inp);Para.insertBefore(_T(","),Inp);}}}function AddTag(TagName){if(TagName.length){var Req= {a:"Add",Tag:TagName,Category:$__FAMCOMDATA.Category,Identifier:$__FAMCOMDATA.Identifier,Mode:"XML"};try{FamCom.Data.Request(Req,AddTagCallback,FamCom.Data.XML,URL);}catch(e){d.location = URL+"?a=Add&Tag="+TagName+"&Category="+$__FAMCOMDATA.Category+"&Identifier="+$__FAMCOMDATA.Identifier;}}}function TagHandler(e){if(e.keyCode == 13){var o = this;this.className = "TextBox Loading";AddTag(this.value);this.value = "";return false;}}function TagHandler2(e){var t = $("AddTag");t.className = "TextBox Loading";AddTag(t.value);t.value = "";return false;}function AddTagCallback(r){var Inp= $("AddTag");var TagBlock = $("TagMaker");Inp.className ="TextBox";if(r.getAttribute("result")== "failure"){var ErrorMessage = "";var Children = r.getElementsByTagName("error");for(var i =0; i < Children.length;i++){ErrorMessage +=Children[i].firstChild.nodeValue+"\n";}alert(ErrorMessage);}else{var Lnk= FamCom.DOM.CreateLink(r.firstChild.nodeValue,r.getAttribute("href"));var Para = TagBlock.getElementsByTagName("p")[0];Para.insertBefore(Lnk,Inp);Para.insertBefore(_T(", "),Inp);}}return {MakeTagger: function(Sibling){var TagBlock = $("TagMaker");if(!TagBlock){TagBlock = FamCom.DOM.Create("form",null,"TagMaker");Sibling.parentNode.insertBefore(TagBlock,Sibling);var FS = FamCom.DOM.Create("fieldset");TagBlock.appendChild(FS);FS.appendChild(FamCom.DOM.Create("legend","Your Tags (press enter to submit)"));var p = FamCom.DOM.Create("p",null,null,"Loading");FS.appendChild(p);var Tag= FamCom.DOM.CreateInput("text","","AddTag");Tag.maxlength = 32;p.appendChild(_T(" "));p.appendChild(Tag);p.appendChild(FamCom.DOM.CreateInput("submit","Add"));FamCom.Event.Add("AddTag","keypress",TagHandler);FamCom.Event.Add("TagMaker","submit",TagHandler2);FamCom.Data.Request({a:"GetForUser",Category:$__FAMCOMDATA.Category,Identifier:$__FAMCOMDATA.Identifier},MakeTaggerCallback,FamCom.Data.XML,URL);}Sibling = null;TagBlock = null;},SetRating: function(Rater,Rating){Rater.parentNode.parentNode.firstChild.style.width=(Rating* 16) +"px";},Startup: function(){var AddTag = $("AddTag");if(AddTag){FamCom.Event.Add("AddTag","keypress",TagHandler);FamCom.Event.Add("TagMaker","submit",TagHandler2);}AddTag = null;}};}();var Pheme =FamCom.Pheme;FamCom.Event.Add(window,"load",FamCom.Pheme.Startup);FamCom.Encrypt = function(){function RotateLeft(Value, ShiftBits){return (Value<<ShiftBits) | (Value>>>(32-ShiftBits));}function AddUnsigned(X,Y){var X4,Y4,X8,Y8,Result;X8 = (X & 0x80000000);Y8 = (Y & 0x80000000);X4 = (X & 0x40000000);Y4 = (Y & 0x40000000);Result = (X & 0x3FFFFFFF)+(Y & 0x3FFFFFFF);if (X4 & Y4){return (Result ^ 0x80000000 ^ X8 ^ Y8);}if (X4 | Y4){if (Result & 0x40000000){return (Result ^ 0xC0000000 ^ X8 ^ Y8);}else{return (Result ^ 0x40000000 ^ X8 ^ Y8);}}else{return (Result ^ X8 ^ Y8);}}function F(x,y,z){return (x & y) | ((~x) & z);}function G(x,y,z){return (x & z) | (y & (~z));}function H(x,y,z){return (x ^ y ^ z);}function I(x,y,z){return (y ^ (x | (~z)));}function FF(a,b,c,d,x,s,ac){a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));return AddUnsigned(RotateLeft(a, s), b);}function GG(a,b,c,d,x,s,ac){a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));return AddUnsigned(RotateLeft(a, s), b);}function HH(a,b,c,d,x,s,ac){a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));return AddUnsigned(RotateLeft(a, s), b);}function II(a,b,c,d,x,s,ac){a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));return AddUnsigned(RotateLeft(a, s), b);}function ConvertToWordArray(Message){var WordCount;var MessageLength = Message.length;var NumberOfWords_temp1=MessageLength + 8;var NumberOfWords_temp2=(NumberOfWords_temp1-(NumberOfWords_temp1 % 64))/64;var NumberOfWords = (NumberOfWords_temp2+1)*16;var WordArray=Array(NumberOfWords-1);var BytePosition = 0;var ByteCount = 0;while ( ByteCount < MessageLength ){WordCount = (ByteCount-(ByteCount % 4))/4;BytePosition = (ByteCount % 4)*8;WordArray[WordCount] = (WordArray[WordCount] | (Message.charCodeAt(ByteCount)<<BytePosition));ByteCount++;}WordCount = (ByteCount-(ByteCount % 4))/4;BytePosition = (ByteCount % 4)*8;WordArray[WordCount] = WordArray[WordCount] | (0x80<<BytePosition);WordArray[NumberOfWords-2] = MessageLength<<3;WordArray[NumberOfWords-1] = MessageLength>>>29;return WordArray;}function WordToHex(Value){var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;for(lCount = 0;lCount<=3;lCount++){lByte = (Value>>>(lCount*8)) & 255;WordToHexValue_temp = "0" + lByte.toString(16);WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);}return WordToHexValue;}return {Hash: function(Message){var x=[];var k,AA,BB,CC,DD,a,b,c,d;var S11=7, S12=12, S13=17, S14=22;var S21=5, S22=9 , S23=14, S24=20;var S31=4, S32=11, S33=16, S34=23;var S41=6, S42=10, S43=15, S44=21;x = ConvertToWordArray(Message);a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;for (k=0;k<x.length;k+=16){AA=a; BB=b; CC=c; DD=d;a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);c=FF(c,d,a,b,x[k+2], S13,0x242070DB);b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);c=FF(c,d,a,b,x[k+6], S13,0xA8304613);b=FF(b,c,d,a,x[k+7], S14,0xFD469501);a=FF(a,b,c,d,x[k+8], S11,0x698098D8);d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);a=FF(a,b,c,d,x[k+12],S11,0x6B901122);d=FF(d,a,b,c,x[k+13],S12,0xFD987193);c=FF(c,d,a,b,x[k+14],S13,0xA679438E);b=FF(b,c,d,a,x[k+15],S14,0x49B40821);a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);d=GG(d,a,b,c,x[k+6], S22,0xC040B340);c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);d=GG(d,a,b,c,x[k+10],S22,0x2441453);c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);d=HH(d,a,b,c,x[k+8], S32,0x8771F681);c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);b=HH(b,c,d,a,x[k+6], S34,0x4881D05);a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);a=II(a,b,c,d,x[k+0], S41,0xF4292244);d=II(d,a,b,c,x[k+7], S42,0x432AFF97);c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);b=II(b,c,d,a,x[k+5], S44,0xFC93A039);a=II(a,b,c,d,x[k+12],S41,0x655B59C3);d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);b=II(b,c,d,a,x[k+1], S44,0x85845DD1);a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);c=II(c,d,a,b,x[k+6], S43,0xA3014314);b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);a=II(a,b,c,d,x[k+4], S41,0xF7537E82);d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);b=II(b,c,d,a,x[k+9], S44,0xEB86D391);a=AddUnsigned(a,AA); b=AddUnsigned(b,BB); c=AddUnsigned(c,CC); d=AddUnsigned(d,DD);}var temp= WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);return temp.toLowerCase();}};}();FamCom.Login = function(){var User = null;var Pass = null;var UseCookie = null;function SubmitLogin(){var User = $("UserName");var Pass = $("Password");var UseCookie = $("UseCookie");if(User.value && Pass.value){FamCom.DOM.AddClass([User,Pass],"Loading");var Req = {"UserName":User.value,"Password":FamCom.Encrypt.Hash(Pass.value),"UseCookie":UseCookie.value,"IsEncrypted":true};FamCom.Data.Request(Req,{"Success":SubmitCallback},FamCom.Data.TEXT,"/public/login/");}return false;}function SubmitCallback(Response,SetFocus){var User = $("UserName");var Pass = $("Password");var UseCookie = $("UseCookie");FamCom.DOM.RemoveClass([User,Pass],"Loading");switch(Response){case "E_BAD_USERNAME":User.className += " Error";User.focus();break;case "E_BAD_PASSWORD":Pass.className += " Error";Pass.focus();break;default:var LoginForm = $("LoginForm");FamCom.Pheme.MakeTagger(LoginForm.nextSibling);FamCom.Effect.Resize(LoginForm,{"Time": 0.5,"ToHeight": 0,"FromOpacity": 1.0,"ToOpacity": 0.0,"OnFinish": FamCom.DOM.Destroy});$("Comment").disabled = false;$("Comment").value = "";$("CommentSubmit").disabled = false;$("HeaderLinks").innerHTML = Response;break;break;}}return {BindForm: function(){var LoginForm = $("LoginForm");if(LoginForm){FamCom.Event.Add(LoginForm,"submit",SubmitLogin);}}};}();FamCom.Event.Add(window,"load",FamCom.Login.BindForm);