if(!("console"in window)||!("firebug"in console)){(function()
{window.console={log:function()
{},debug:function()
{},info:function()
{},warn:function()
{},error:function()
{},assert:function(truth,message)
{},dir:function(object)
{},dirxml:function(node)
{},group:function()
{},groupEnd:function()
{},time:function(name)
{},timeEnd:function(name)
{},count:function()
{},trace:function()
{},profile:function()
{},profileEnd:function()
{},clear:function()
{},open:function()
{},close:function()
{}};})();}
var MooTools={version:"1.2.4",build:"0d9113241a90b9cd5643b926795852a2026710d4"};var Native=function(k){k=k||{};var a=k.name;var i=k.legacy;var b=k.protect;var c=k.implement;var h=k.generics;var f=k.initialize;var g=k.afterImplement||function(){};var d=f||i;h=h!==false;d.constructor=Native;d.$family={name:"native"};if(i&&f){d.prototype=i.prototype;}d.prototype.constructor=d;if(a){var e=a.toLowerCase();d.prototype.$family={name:e};Native.typize(d,e);}var j=function(n,l,o,m){if(!b||m||!n.prototype[l]){n.prototype[l]=o;}if(h){Native.genericize(n,l,b);}g.call(n,l,o);return n;};d.alias=function(n,l,p){if(typeof n=="string"){var o=this.prototype[n];if((n=o)){return j(this,l,n,p);}}for(var m in n){this.alias(m,n[m],l);}return this;};d.implement=function(m,l,o){if(typeof m=="string"){return j(this,m,l,o);}for(var n in m){j(this,n,m[n],l);}return this;};if(c){d.implement(c);}return d;};Native.genericize=function(b,c,a){if((!a||!b[c])&&typeof b.prototype[c]=="function"){b[c]=function(){var d=Array.prototype.slice.call(arguments);return b.prototype[c].apply(d.shift(),d);};}};Native.implement=function(d,c){for(var b=0,a=d.length;b<a;b++){d[b].implement(c);}};Native.typize=function(a,b){if(!a.type){a.type=function(c){return($type(c)===b);};}};(function(){var a={Array:Array,Date:Date,Function:Function,Number:Number,RegExp:RegExp,String:String};for(var h in a){new Native({name:h,initialize:a[h],protect:true});}var d={"boolean":Boolean,"native":Native,object:Object};for(var c in d){Native.typize(d[c],c);}var f={Array:["concat","indexOf","join","lastIndexOf","pop","push","reverse","shift","slice","sort","splice","toString","unshift","valueOf"],String:["charAt","charCodeAt","concat","indexOf","lastIndexOf","match","replace","search","slice","split","substr","substring","toLowerCase","toUpperCase","valueOf"]};for(var e in f){for(var b=f[e].length;b--;){Native.genericize(a[e],f[e][b],true);}}})();var Hash=new Native({name:"Hash",initialize:function(a){if($type(a)=="hash"){a=$unlink(a.getClean());}for(var b in a){this[b]=a[b];}return this;}});Hash.implement({forEach:function(b,c){for(var a in this){if(this.hasOwnProperty(a)){b.call(c,this[a],a,this);}}},getClean:function(){var b={};for(var a in this){if(this.hasOwnProperty(a)){b[a]=this[a];}}return b;},getLength:function(){var b=0;for(var a in this){if(this.hasOwnProperty(a)){b++;}}return b;}});Hash.alias("forEach","each");Array.implement({forEach:function(c,d){for(var b=0,a=this.length;b<a;b++){c.call(d,this[b],b,this);}}});Array.alias("forEach","each");function $A(b){if(b.item){var a=b.length,c=new Array(a);while(a--){c[a]=b[a];}return c;}return Array.prototype.slice.call(b);}function $arguments(a){return function(){return arguments[a];};}function $chk(a){return!!(a||a===0);}function $clear(a){clearTimeout(a);clearInterval(a);return null;}function $defined(a){return(a!=undefined);}function $each(c,b,d){var a=$type(c);((a=="arguments"||a=="collection"||a=="array")?Array:Hash).each(c,b,d);}function $empty(){}function $extend(c,a){for(var b in(a||{})){c[b]=a[b];}return c;}function $H(a){return new Hash(a);}function $lambda(a){return($type(a)=="function")?a:function(){return a;};}function $merge(){var a=Array.slice(arguments);a.unshift({});return $mixin.apply(null,a);}function $mixin(e){for(var d=1,a=arguments.length;d<a;d++){var b=arguments[d];if($type(b)!="object"){continue;}for(var c in b){var g=b[c],f=e[c];e[c]=(f&&$type(g)=="object"&&$type(f)=="object")?$mixin(f,g):$unlink(g);}}return e;}function $pick(){for(var b=0,a=arguments.length;b<a;b++){if(arguments[b]!=undefined){return arguments[b];}}return null;}function $random(b,a){return Math.floor(Math.random()*(a-b+1)+b);}function $splat(b){var a=$type(b);return(a)?((a!="array"&&a!="arguments")?[b]:b):[];}var $time=Date.now||function(){return+new Date;};function $try(){for(var b=0,a=arguments.length;b<a;b++){try{return arguments[b]();}catch(c){}}return null;}function $type(a){if(a==undefined){return false;}if(a.$family){return(a.$family.name=="number"&&!isFinite(a))?false:a.$family.name;}if(a.nodeName){switch(a.nodeType){case 1:return"element";case 3:return(/\S/).test(a.nodeValue)?"textnode":"whitespace";}}else{if(typeof a.length=="number"){if(a.callee){return"arguments";}else{if(a.item){return"collection";}}}}return typeof a;}function $unlink(c){var b;switch($type(c)){case"object":b={};for(var e in c){b[e]=$unlink(c[e]);}break;case"hash":b=new Hash(c);break;case"array":b=[];for(var d=0,a=c.length;d<a;d++){b[d]=$unlink(c[d]);}break;default:return c;}return b;}var Browser=$merge({Engine:{name:"unknown",version:0},Platform:{name:(window.orientation!=undefined)?"ipod":(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase()},Features:{xpath:!!(document.evaluate),air:!!(window.runtime),query:!!(document.querySelector)},Plugins:{},Engines:{presto:function(){return(!window.opera)?false:((arguments.callee.caller)?960:((document.getElementsByClassName)?950:925));},trident:function(){return(!window.ActiveXObject)?false:((window.XMLHttpRequest)?((document.querySelectorAll)?6:5):4);},webkit:function(){return(navigator.taintEnabled)?false:((Browser.Features.xpath)?((Browser.Features.query)?525:420):419);},gecko:function(){return(!document.getBoxObjectFor&&window.mozInnerScreenX==null)?false:((document.getElementsByClassName)?19:18);}}},Browser||{});Browser.Platform[Browser.Platform.name]=true;Browser.detect=function(){for(var b in this.Engines){var a=this.Engines[b]();if(a){this.Engine={name:b,version:a};this.Engine[b]=this.Engine[b+a]=true;break;}}return{name:b,version:a};};Browser.detect();Browser.Request=function(){return $try(function(){return new XMLHttpRequest();},function(){return new ActiveXObject("MSXML2.XMLHTTP");},function(){return new ActiveXObject("Microsoft.XMLHTTP");});};Browser.Features.xhr=!!(Browser.Request());Browser.Plugins.Flash=(function(){var a=($try(function(){return navigator.plugins["Shockwave Flash"].description;},function(){return new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version");})||"0 r0").match(/\d+/g);return{version:parseInt(a[0]||0+"."+a[1],10)||0,build:parseInt(a[2],10)||0};})();function $exec(b){if(!b){return b;}if(window.execScript){window.execScript(b);}else{var a=document.createElement("script");a.setAttribute("type","text/javascript");a[(Browser.Engine.webkit&&Browser.Engine.version<420)?"innerText":"text"]=b;document.head.appendChild(a);document.head.removeChild(a);}return b;}Native.UID=1;var $uid=(Browser.Engine.trident)?function(a){return(a.uid||(a.uid=[Native.UID++]))[0];}:function(a){return a.uid||(a.uid=Native.UID++);};var Window=new Native({name:"Window",legacy:(Browser.Engine.trident)?null:window.Window,initialize:function(a){$uid(a);if(!a.Element){a.Element=$empty;if(Browser.Engine.webkit){a.document.createElement("iframe");}a.Element.prototype=(Browser.Engine.webkit)?window["[[DOMElement.prototype]]"]:{};}a.document.window=a;return $extend(a,Window.Prototype);},afterImplement:function(b,a){window[b]=Window.Prototype[b]=a;}});Window.Prototype={$family:{name:"window"}};new Window(window);var Document=new Native({name:"Document",legacy:(Browser.Engine.trident)?null:window.Document,initialize:function(a){$uid(a);a.head=a.getElementsByTagName("head")[0];a.html=a.getElementsByTagName("html")[0];if(Browser.Engine.trident&&Browser.Engine.version<=4){$try(function(){a.execCommand("BackgroundImageCache",false,true);});}if(Browser.Engine.trident){a.window.attachEvent("onunload",function(){a.window.detachEvent("onunload",arguments.callee);a.head=a.html=a.window=null;});}return $extend(a,Document.Prototype);},afterImplement:function(b,a){document[b]=Document.Prototype[b]=a;}});Document.Prototype={$family:{name:"document"}};new Document(document);Array.implement({every:function(c,d){for(var b=0,a=this.length;b<a;b++){if(!c.call(d,this[b],b,this)){return false;}}return true;},filter:function(d,e){var c=[];for(var b=0,a=this.length;b<a;b++){if(d.call(e,this[b],b,this)){c.push(this[b]);}}return c;},clean:function(){return this.filter($defined);},indexOf:function(c,d){var a=this.length;for(var b=(d<0)?Math.max(0,a+d):d||0;b<a;b++){if(this[b]===c){return b;}}return-1;},map:function(d,e){var c=[];for(var b=0,a=this.length;b<a;b++){c[b]=d.call(e,this[b],b,this);}return c;},some:function(c,d){for(var b=0,a=this.length;b<a;b++){if(c.call(d,this[b],b,this)){return true;}}return false;},associate:function(c){var d={},b=Math.min(this.length,c.length);for(var a=0;a<b;a++){d[c[a]]=this[a];}return d;},link:function(c){var a={};for(var e=0,b=this.length;e<b;e++){for(var d in c){if(c[d](this[e])){a[d]=this[e];delete c[d];break;}}}return a;},contains:function(a,b){return this.indexOf(a,b)!=-1;},extend:function(c){for(var b=0,a=c.length;b<a;b++){this.push(c[b]);}return this;},getLast:function(){return(this.length)?this[this.length-1]:null;},getRandom:function(){return(this.length)?this[$random(0,this.length-1)]:null;},include:function(a){if(!this.contains(a)){this.push(a);}return this;},combine:function(c){for(var b=0,a=c.length;b<a;b++){this.include(c[b]);}return this;},erase:function(b){for(var a=this.length;a--;a){if(this[a]===b){this.splice(a,1);}}return this;},empty:function(){this.length=0;return this;},flatten:function(){var d=[];for(var b=0,a=this.length;b<a;b++){var c=$type(this[b]);if(!c){continue;}d=d.concat((c=="array"||c=="collection"||c=="arguments")?Array.flatten(this[b]):this[b]);}return d;},hexToRgb:function(b){if(this.length!=3){return null;}var a=this.map(function(c){if(c.length==1){c+=c;}return c.toInt(16);});return(b)?a:"rgb("+a+")";},rgbToHex:function(d){if(this.length<3){return null;}if(this.length==4&&this[3]==0&&!d){return"transparent";}var b=[];for(var a=0;a<3;a++){var c=(this[a]-0).toString(16);b.push((c.length==1)?"0"+c:c);}return(d)?b:"#"+b.join("");}});Function.implement({extend:function(a){for(var b in a){this[b]=a[b];}return this;},create:function(b){var a=this;b=b||{};return function(d){var c=b.arguments;c=(c!=undefined)?$splat(c):Array.slice(arguments,(b.event)?1:0);if(b.event){c=[d||window.event].extend(c);}var e=function(){return a.apply(b.bind||null,c);};if(b.delay){return setTimeout(e,b.delay);}if(b.periodical){return setInterval(e,b.periodical);}if(b.attempt){return $try(e);}return e();};},run:function(a,b){return this.apply(b,$splat(a));},pass:function(a,b){return this.create({bind:b,arguments:a});},bind:function(b,a){return this.create({bind:b,arguments:a});},bindWithEvent:function(b,a){return this.create({bind:b,arguments:a,event:true});},attempt:function(a,b){return this.create({bind:b,arguments:a,attempt:true})();},delay:function(b,c,a){return this.create({bind:c,arguments:a,delay:b})();},periodical:function(c,b,a){return this.create({bind:b,arguments:a,periodical:c})();}});Number.implement({limit:function(b,a){return Math.min(a,Math.max(b,this));},round:function(a){a=Math.pow(10,a||0);return Math.round(this*a)/a;},times:function(b,c){for(var a=0;a<this;a++){b.call(c,a,this);}},toFloat:function(){return parseFloat(this);},toInt:function(a){return parseInt(this,a||10);}});Number.alias("times","each");(function(b){var a={};b.each(function(c){if(!Number[c]){a[c]=function(){return Math[c].apply(null,[this].concat($A(arguments)));};}});Number.implement(a);})(["abs","acos","asin","atan","atan2","ceil","cos","exp","floor","log","max","min","pow","sin","sqrt","tan"]);String.implement({test:function(a,b){return((typeof a=="string")?new RegExp(a,b):a).test(this);},contains:function(a,b){return(b)?(b+this+b).indexOf(b+a+b)>-1:this.indexOf(a)>-1;},trim:function(){return this.replace(/^\s+|\s+$/g,"");},clean:function(){return this.replace(/\s+/g," ").trim();},camelCase:function(){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase();});},hyphenate:function(){return this.replace(/[A-Z]/g,function(a){return("-"+a.charAt(0).toLowerCase());});},capitalize:function(){return this.replace(/\b[a-z]/g,function(a){return a.toUpperCase();});},escapeRegExp:function(){return this.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1");},toInt:function(a){return parseInt(this,a||10);},toFloat:function(){return parseFloat(this);},hexToRgb:function(b){var a=this.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);return(a)?a.slice(1).hexToRgb(b):null;},rgbToHex:function(b){var a=this.match(/\d{1,3}/g);return(a)?a.rgbToHex(b):null;},stripScripts:function(b){var a="";var c=this.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){a+=arguments[1]+"\n";return"";});if(b===true){$exec(a);}else{if($type(b)=="function"){b(a,c);}}return c;},substitute:function(a,b){return this.replace(b||(/\\?\{([^{}]+)\}/g),function(d,c){if(d.charAt(0)=="\\"){return d.slice(1);}return(a[c]!=undefined)?a[c]:"";});}});Hash.implement({has:Object.prototype.hasOwnProperty,keyOf:function(b){for(var a in this){if(this.hasOwnProperty(a)&&this[a]===b){return a;}}return null;},hasValue:function(a){return(Hash.keyOf(this,a)!==null);},extend:function(a){Hash.each(a||{},function(c,b){Hash.set(this,b,c);},this);return this;},combine:function(a){Hash.each(a||{},function(c,b){Hash.include(this,b,c);},this);return this;},erase:function(a){if(this.hasOwnProperty(a)){delete this[a];}return this;},get:function(a){return(this.hasOwnProperty(a))?this[a]:null;},set:function(a,b){if(!this[a]||this.hasOwnProperty(a)){this[a]=b;}return this;},empty:function(){Hash.each(this,function(b,a){delete this[a];},this);return this;},include:function(a,b){if(this[a]==undefined){this[a]=b;}return this;},map:function(b,c){var a=new Hash;Hash.each(this,function(e,d){a.set(d,b.call(c,e,d,this));},this);return a;},filter:function(b,c){var a=new Hash;Hash.each(this,function(e,d){if(b.call(c,e,d,this)){a.set(d,e);}},this);return a;},every:function(b,c){for(var a in this){if(this.hasOwnProperty(a)&&!b.call(c,this[a],a)){return false;}}return true;},some:function(b,c){for(var a in this){if(this.hasOwnProperty(a)&&b.call(c,this[a],a)){return true;}}return false;},getKeys:function(){var a=[];Hash.each(this,function(c,b){a.push(b);});return a;},getValues:function(){var a=[];Hash.each(this,function(b){a.push(b);});return a;},toQueryString:function(a){var b=[];Hash.each(this,function(f,e){if(a){e=a+"["+e+"]";}var d;switch($type(f)){case"object":d=Hash.toQueryString(f,e);break;case"array":var c={};f.each(function(h,g){c[g]=h;});d=Hash.toQueryString(c,e);break;default:d=e+"="+encodeURIComponent(f);}if(f!=undefined){b.push(d);}});return b.join("&");}});Hash.alias({keyOf:"indexOf",hasValue:"contains"});var Event=new Native({name:"Event",initialize:function(a,f){f=f||window;var k=f.document;a=a||f.event;if(a.$extended){return a;}this.$extended=true;var j=a.type;var g=a.target||a.srcElement;while(g&&g.nodeType==3){g=g.parentNode;}if(j.test(/key/)){var b=a.which||a.keyCode;var m=Event.Keys.keyOf(b);if(j=="keydown"){var d=b-111;if(d>0&&d<13){m="f"+d;}}m=m||String.fromCharCode(b).toLowerCase();}else{if(j.match(/(click|mouse|menu)/i)){k=(!k.compatMode||k.compatMode=="CSS1Compat")?k.html:k.body;var i={x:a.pageX||a.clientX+k.scrollLeft,y:a.pageY||a.clientY+k.scrollTop};var c={x:(a.pageX)?a.pageX-f.pageXOffset:a.clientX,y:(a.pageY)?a.pageY-f.pageYOffset:a.clientY};if(j.match(/DOMMouseScroll|mousewheel/)){var h=(a.wheelDelta)?a.wheelDelta/120:-(a.detail||0)/3;}var e=(a.which==3)||(a.button==2);var l=null;if(j.match(/over|out/)){switch(j){case"mouseover":l=a.relatedTarget||a.fromElement;break;case"mouseout":l=a.relatedTarget||a.toElement;}if(!(function(){while(l&&l.nodeType==3){l=l.parentNode;}return true;}).create({attempt:Browser.Engine.gecko})()){l=false;}}}}return $extend(this,{event:a,type:j,page:i,client:c,rightClick:e,wheel:h,relatedTarget:l,target:g,code:b,key:m,shift:a.shiftKey,control:a.ctrlKey,alt:a.altKey,meta:a.metaKey});}});Event.Keys=new Hash({enter:13,up:38,down:40,left:37,right:39,esc:27,space:32,backspace:8,tab:9,"delete":46});Event.implement({stop:function(){return this.stopPropagation().preventDefault();},stopPropagation:function(){if(this.event.stopPropagation){this.event.stopPropagation();}else{this.event.cancelBubble=true;}return this;},preventDefault:function(){if(this.event.preventDefault){this.event.preventDefault();}else{this.event.returnValue=false;}return this;}});function Class(b){if(b instanceof Function){b={initialize:b};}var a=function(){Object.reset(this);if(a._prototyping){return this;}this._current=$empty;var c=(this.initialize)?this.initialize.apply(this,arguments):this;delete this._current;delete this.caller;return c;}.extend(this);a.implement(b);a.constructor=Class;a.prototype.constructor=a;return a;}Function.prototype.protect=function(){this._protected=true;return this;};Object.reset=function(a,c){if(c==null){for(var e in a){Object.reset(a,e);}return a;}delete a[c];switch($type(a[c])){case"object":var d=function(){};d.prototype=a[c];var b=new d;a[c]=Object.reset(b);break;case"array":a[c]=$unlink(a[c]);break;}return a;};new Native({name:"Class",initialize:Class}).extend({instantiate:function(b){b._prototyping=true;var a=new b;delete b._prototyping;return a;},wrap:function(a,b,c){if(c._origin){c=c._origin;}return function(){if(c._protected&&this._current==null){throw new Error('The method "'+b+'" cannot be called.');}var e=this.caller,f=this._current;this.caller=f;this._current=arguments.callee;var d=c.apply(this,arguments);this._current=f;this.caller=e;return d;}.extend({_owner:a,_origin:c,_name:b});}});Class.implement({implement:function(a,d){if($type(a)=="object"){for(var e in a){this.implement(e,a[e]);}return this;}var f=Class.Mutators[a];if(f){d=f.call(this,d);if(d==null){return this;}}var c=this.prototype;switch($type(d)){case"function":if(d._hidden){return this;}c[a]=Class.wrap(this,a,d);break;case"object":var b=c[a];if($type(b)=="object"){$mixin(b,d);}else{c[a]=$unlink(d);}break;case"array":c[a]=$unlink(d);break;default:c[a]=d;}return this;}});Class.Mutators={Extends:function(a){this.parent=a;this.prototype=Class.instantiate(a);this.implement("parent",function(){var b=this.caller._name,c=this.caller._owner.parent.prototype[b];if(!c){throw new Error('The method "'+b+'" has no parent.');}return c.apply(this,arguments);}.protect());},Implements:function(a){$splat(a).each(function(b){if(b instanceof Function){b=Class.instantiate(b);}this.implement(b);},this);}};var Chain=new Class({$chain:[],chain:function(){this.$chain.extend(Array.flatten(arguments));return this;},callChain:function(){return(this.$chain.length)?this.$chain.shift().apply(this,arguments):false;},clearChain:function(){this.$chain.empty();return this;}});var Events=new Class({$events:{},addEvent:function(c,b,a){c=Events.removeOn(c);if(b!=$empty){this.$events[c]=this.$events[c]||[];this.$events[c].include(b);if(a){b.internal=true;}}return this;},addEvents:function(a){for(var b in a){this.addEvent(b,a[b]);}return this;},fireEvent:function(c,b,a){c=Events.removeOn(c);if(!this.$events||!this.$events[c]){return this;}this.$events[c].each(function(d){d.create({bind:this,delay:a,"arguments":b})();},this);return this;},removeEvent:function(b,a){b=Events.removeOn(b);if(!this.$events[b]){return this;}if(!a.internal){this.$events[b].erase(a);}return this;},removeEvents:function(c){var d;if($type(c)=="object"){for(d in c){this.removeEvent(d,c[d]);}return this;}if(c){c=Events.removeOn(c);}for(d in this.$events){if(c&&c!=d){continue;}var b=this.$events[d];for(var a=b.length;a--;a){this.removeEvent(d,b[a]);}}return this;}});Events.removeOn=function(a){return a.replace(/^on([A-Z])/,function(b,c){return c.toLowerCase();});};var Options=new Class({setOptions:function(){this.options=$merge.run([this.options].extend(arguments));if(!this.addEvent){return this;}for(var a in this.options){if($type(this.options[a])!="function"||!(/^on[A-Z]/).test(a)){continue;}this.addEvent(a,this.options[a]);delete this.options[a];}return this;}});var Element=new Native({name:"Element",legacy:window.Element,initialize:function(a,b){var c=Element.Constructors.get(a);if(c){return c(b);}if(typeof a=="string"){return document.newElement(a,b);}return document.id(a).set(b);},afterImplement:function(a,b){Element.Prototype[a]=b;if(Array[a]){return;}Elements.implement(a,function(){var c=[],g=true;for(var e=0,d=this.length;e<d;e++){var f=this[e][a].apply(this[e],arguments);c.push(f);if(g){g=($type(f)=="element");}}return(g)?new Elements(c):c;});}});Element.Prototype={$family:{name:"element"}};Element.Constructors=new Hash;var IFrame=new Native({name:"IFrame",generics:false,initialize:function(){var f=Array.link(arguments,{properties:Object.type,iframe:$defined});var d=f.properties||{};var c=document.id(f.iframe);var e=d.onload||$empty;delete d.onload;d.id=d.name=$pick(d.id,d.name,c?(c.id||c.name):"IFrame_"+$time());c=new Element(c||"iframe",d);var b=function(){var g=$try(function(){return c.contentWindow.location.host;});if(!g||g==window.location.host){var h=new Window(c.contentWindow);new Document(c.contentWindow.document);$extend(h.Element.prototype,Element.Prototype);}e.call(c.contentWindow,c.contentWindow.document);};var a=$try(function(){return c.contentWindow;});((a&&a.document.body)||window.frames[d.id])?b():c.addListener("load",b);return c;}});var Elements=new Native({initialize:function(f,b){b=$extend({ddup:true,cash:true},b);f=f||[];if(b.ddup||b.cash){var g={},e=[];for(var c=0,a=f.length;c<a;c++){var d=document.id(f[c],!b.cash);if(b.ddup){if(g[d.uid]){continue;}g[d.uid]=true;}if(d){e.push(d);}}f=e;}return(b.cash)?$extend(f,this):f;}});Elements.implement({filter:function(a,b){if(!a){return this;}return new Elements(Array.filter(this,(typeof a=="string")?function(c){return c.match(a);}:a,b));}});Document.implement({newElement:function(a,b){if(Browser.Engine.trident&&b){["name","type","checked"].each(function(c){if(!b[c]){return;}a+=" "+c+'="'+b[c]+'"';if(c!="checked"){delete b[c];}});a="<"+a+">";}return document.id(this.createElement(a)).set(b);},newTextNode:function(a){return this.createTextNode(a);},getDocument:function(){return this;},getWindow:function(){return this.window;},id:(function(){var a={string:function(d,c,b){d=b.getElementById(d);return(d)?a.element(d,c):null;},element:function(b,e){$uid(b);if(!e&&!b.$family&&!(/^object|embed$/i).test(b.tagName)){var c=Element.Prototype;for(var d in c){b[d]=c[d];}}return b;},object:function(c,d,b){if(c.toElement){return a.element(c.toElement(b),d);}return null;}};a.textnode=a.whitespace=a.window=a.document=$arguments(0);return function(c,e,d){if(c&&c.$family&&c.uid){return c;}var b=$type(c);return(a[b])?a[b](c,e,d||document):null;};})()});if(window.$==null){Window.implement({$:function(a,b){return document.id(a,b,this.document);}});}Window.implement({$$:function(a){if(arguments.length==1&&typeof a=="string"){return this.document.getElements(a);}var f=[];var c=Array.flatten(arguments);for(var d=0,b=c.length;d<b;d++){var e=c[d];switch($type(e)){case"element":f.push(e);break;case"string":f.extend(this.document.getElements(e,true));}}return new Elements(f);},getDocument:function(){return this.document;},getWindow:function(){return this;}});Native.implement([Element,Document],{getElement:function(a,b){return document.id(this.getElements(a,true)[0]||null,b);},getElements:function(a,d){a=a.split(",");var c=[];var b=(a.length>1);a.each(function(e){var f=this.getElementsByTagName(e.trim());(b)?c.extend(f):c=f;},this);return new Elements(c,{ddup:b,cash:!d});}});(function(){var h={},f={};var i={input:"checked",option:"selected",textarea:(Browser.Engine.webkit&&Browser.Engine.version<420)?"innerHTML":"value"};var c=function(l){return(f[l]||(f[l]={}));};var g=function(n,l){if(!n){return;}var m=n.uid;if(Browser.Engine.trident){if(n.clearAttributes){var q=l&&n.cloneNode(false);n.clearAttributes();if(q){n.mergeAttributes(q);}}else{if(n.removeEvents){n.removeEvents();}}if((/object/i).test(n.tagName)){for(var o in n){if(typeof n[o]=="function"){n[o]=$empty;}}Element.dispose(n);}}if(!m){return;}h[m]=f[m]=null;};var d=function(){Hash.each(h,g);if(Browser.Engine.trident){$A(document.getElementsByTagName("object")).each(g);}if(window.CollectGarbage){CollectGarbage();}h=f=null;};var j=function(n,l,s,m,p,r){var o=n[s||l];var q=[];while(o){if(o.nodeType==1&&(!m||Element.match(o,m))){if(!p){return document.id(o,r);}q.push(o);}o=o[l];}return(p)?new Elements(q,{ddup:false,cash:!r}):null;};var e={html:"innerHTML","class":"className","for":"htmlFor",defaultValue:"defaultValue",text:(Browser.Engine.trident||(Browser.Engine.webkit&&Browser.Engine.version<420))?"innerText":"textContent"};var b=["compact","nowrap","ismap","declare","noshade","checked","disabled","readonly","multiple","selected","noresize","defer"];var k=["value","type","defaultValue","accessKey","cellPadding","cellSpacing","colSpan","frameBorder","maxLength","readOnly","rowSpan","tabIndex","useMap"];b=b.associate(b);Hash.extend(e,b);Hash.extend(e,k.associate(k.map(String.toLowerCase)));var a={before:function(m,l){if(l.parentNode){l.parentNode.insertBefore(m,l);}},after:function(m,l){if(!l.parentNode){return;}var n=l.nextSibling;(n)?l.parentNode.insertBefore(m,n):l.parentNode.appendChild(m);},bottom:function(m,l){l.appendChild(m);},top:function(m,l){var n=l.firstChild;(n)?l.insertBefore(m,n):l.appendChild(m);}};a.inside=a.bottom;Hash.each(a,function(l,m){m=m.capitalize();Element.implement("inject"+m,function(n){l(this,document.id(n,true));return this;});Element.implement("grab"+m,function(n){l(document.id(n,true),this);return this;});});Element.implement({set:function(o,m){switch($type(o)){case"object":for(var n in o){this.set(n,o[n]);}break;case"string":var l=Element.Properties.get(o);(l&&l.set)?l.set.apply(this,Array.slice(arguments,1)):this.setProperty(o,m);}return this;},get:function(m){var l=Element.Properties.get(m);return(l&&l.get)?l.get.apply(this,Array.slice(arguments,1)):this.getProperty(m);},erase:function(m){var l=Element.Properties.get(m);(l&&l.erase)?l.erase.apply(this):this.removeProperty(m);return this;},setProperty:function(m,n){var l=e[m];if(n==undefined){return this.removeProperty(m);}if(l&&b[m]){n=!!n;}(l)?this[l]=n:this.setAttribute(m,""+n);return this;},setProperties:function(l){for(var m in l){this.setProperty(m,l[m]);}return this;},getProperty:function(m){var l=e[m];var n=(l)?this[l]:this.getAttribute(m,2);return(b[m])?!!n:(l)?n:n||null;},getProperties:function(){var l=$A(arguments);return l.map(this.getProperty,this).associate(l);},removeProperty:function(m){var l=e[m];(l)?this[l]=(l&&b[m])?false:"":this.removeAttribute(m);return this;},removeProperties:function(){Array.each(arguments,this.removeProperty,this);return this;},hasClass:function(l){return this.className.contains(l," ");},addClass:function(l){if(!this.hasClass(l)){this.className=(this.className+" "+l).clean();}return this;},removeClass:function(l){this.className=this.className.replace(new RegExp("(^|\\s)"+l+"(?:\\s|$)"),"$1");return this;},toggleClass:function(l){return this.hasClass(l)?this.removeClass(l):this.addClass(l);},adopt:function(){Array.flatten(arguments).each(function(l){l=document.id(l,true);if(l){this.appendChild(l);}},this);return this;},appendText:function(m,l){return this.grab(this.getDocument().newTextNode(m),l);},grab:function(m,l){a[l||"bottom"](document.id(m,true),this);return this;},inject:function(m,l){a[l||"bottom"](this,document.id(m,true));return this;},replaces:function(l){l=document.id(l,true);l.parentNode.replaceChild(this,l);return this;},wraps:function(m,l){m=document.id(m,true);return this.replaces(m).grab(m,l);},getPrevious:function(l,m){return j(this,"previousSibling",null,l,false,m);},getAllPrevious:function(l,m){return j(this,"previousSibling",null,l,true,m);},getNext:function(l,m){return j(this,"nextSibling",null,l,false,m);},getAllNext:function(l,m){return j(this,"nextSibling",null,l,true,m);},getFirst:function(l,m){return j(this,"nextSibling","firstChild",l,false,m);},getLast:function(l,m){return j(this,"previousSibling","lastChild",l,false,m);},getParent:function(l,m){return j(this,"parentNode",null,l,false,m);},getParents:function(l,m){return j(this,"parentNode",null,l,true,m);},getSiblings:function(l,m){return this.getParent().getChildren(l,m).erase(this);},getChildren:function(l,m){return j(this,"nextSibling","firstChild",l,true,m);},getWindow:function(){return this.ownerDocument.window;},getDocument:function(){return this.ownerDocument;},getElementById:function(o,n){var m=this.ownerDocument.getElementById(o);if(!m){return null;}for(var l=m.parentNode;l!=this;l=l.parentNode){if(!l){return null;}}return document.id(m,n);},getSelected:function(){return new Elements($A(this.options).filter(function(l){return l.selected;}));},getComputedStyle:function(m){if(this.currentStyle){return this.currentStyle[m.camelCase()];}var l=this.getDocument().defaultView.getComputedStyle(this,null);return(l)?l.getPropertyValue([m.hyphenate()]):null;},toQueryString:function(){var l=[];this.getElements("input, select, textarea",true).each(function(m){if(!m.name||m.disabled||m.type=="submit"||m.type=="reset"||m.type=="file"){return;}var n=(m.tagName.toLowerCase()=="select")?Element.getSelected(m).map(function(o){return o.value;}):((m.type=="radio"||m.type=="checkbox")&&!m.checked)?null:m.value;$splat(n).each(function(o){if(typeof o!="undefined"){l.push(m.name+"="+encodeURIComponent(o));}});});return l.join("&");},clone:function(o,l){o=o!==false;var r=this.cloneNode(o);var n=function(v,u){if(!l){v.removeAttribute("id");}if(Browser.Engine.trident){v.clearAttributes();v.mergeAttributes(u);v.removeAttribute("uid");if(v.options){var w=v.options,s=u.options;for(var t=w.length;t--;){w[t].selected=s[t].selected;}}}var x=i[u.tagName.toLowerCase()];if(x&&u[x]){v[x]=u[x];}};if(o){var p=r.getElementsByTagName("*"),q=this.getElementsByTagName("*");for(var m=p.length;m--;){n(p[m],q[m]);}}n(r,this);return document.id(r);},destroy:function(){Element.empty(this);Element.dispose(this);g(this,true);return null;},empty:function(){$A(this.childNodes).each(function(l){Element.destroy(l);});return this;},dispose:function(){return(this.parentNode)?this.parentNode.removeChild(this):this;},hasChild:function(l){l=document.id(l,true);if(!l){return false;}if(Browser.Engine.webkit&&Browser.Engine.version<420){return $A(this.getElementsByTagName(l.tagName)).contains(l);}return(this.contains)?(this!=l&&this.contains(l)):!!(this.compareDocumentPosition(l)&16);},match:function(l){return(!l||(l==this)||(Element.get(this,"tag")==l));}});Native.implement([Element,Window,Document],{addListener:function(o,n){if(o=="unload"){var l=n,m=this;n=function(){m.removeListener("unload",n);l();};}else{h[this.uid]=this;}if(this.addEventListener){this.addEventListener(o,n,false);}else{this.attachEvent("on"+o,n);}return this;},removeListener:function(m,l){if(this.removeEventListener){this.removeEventListener(m,l,false);}else{this.detachEvent("on"+m,l);}return this;},retrieve:function(m,l){var o=c(this.uid),n=o[m];if(l!=undefined&&n==undefined){n=o[m]=l;}return $pick(n);},store:function(m,l){var n=c(this.uid);n[m]=l;return this;},eliminate:function(l){var m=c(this.uid);delete m[l];return this;}});window.addListener("unload",d);})();Element.Properties=new Hash;Element.Properties.style={set:function(a){this.style.cssText=a;},get:function(){return this.style.cssText;},erase:function(){this.style.cssText="";}};Element.Properties.tag={get:function(){return this.tagName.toLowerCase();}};Element.Properties.html=(function(){var c=document.createElement("div");var a={table:[1,"<table>","</table>"],select:[1,"<select>","</select>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"]};a.thead=a.tfoot=a.tbody;var b={set:function(){var e=Array.flatten(arguments).join("");var f=Browser.Engine.trident&&a[this.get("tag")];if(f){var g=c;g.innerHTML=f[1]+e+f[2];for(var d=f[0];d--;){g=g.firstChild;}this.empty().adopt(g.childNodes);}else{this.innerHTML=e;}}};b.erase=b.set;return b;})();if(Browser.Engine.webkit&&Browser.Engine.version<420){Element.Properties.text={get:function(){if(this.innerText){return this.innerText;}var a=this.ownerDocument.newElement("div",{html:this.innerHTML}).inject(this.ownerDocument.body);var b=a.innerText;a.destroy();return b;}};}Element.Properties.events={set:function(a){this.addEvents(a);}};Native.implement([Element,Window,Document],{addEvent:function(e,g){var h=this.retrieve("events",{});h[e]=h[e]||{keys:[],values:[]};if(h[e].keys.contains(g)){return this;}h[e].keys.push(g);var f=e,a=Element.Events.get(e),c=g,i=this;if(a){if(a.onAdd){a.onAdd.call(this,g);}if(a.condition){c=function(j){if(a.condition.call(this,j)){return g.call(this,j);}return true;};}f=a.base||f;}var d=function(){return g.call(i);};var b=Element.NativeEvents[f];if(b){if(b==2){d=function(j){j=new Event(j,i.getWindow());if(c.call(i,j)===false){j.stop();}};}this.addListener(f,d);}h[e].values.push(d);return this;},removeEvent:function(c,b){var a=this.retrieve("events");if(!a||!a[c]){return this;}var f=a[c].keys.indexOf(b);if(f==-1){return this;}a[c].keys.splice(f,1);var e=a[c].values.splice(f,1)[0];var d=Element.Events.get(c);if(d){if(d.onRemove){d.onRemove.call(this,b);}c=d.base||c;}return(Element.NativeEvents[c])?this.removeListener(c,e):this;},addEvents:function(a){for(var b in a){this.addEvent(b,a[b]);}return this;},removeEvents:function(a){var c;if($type(a)=="object"){for(c in a){this.removeEvent(c,a[c]);}return this;}var b=this.retrieve("events");if(!b){return this;}if(!a){for(c in b){this.removeEvents(c);}this.eliminate("events");}else{if(b[a]){while(b[a].keys[0]){this.removeEvent(a,b[a].keys[0]);}b[a]=null;}}return this;},fireEvent:function(d,b,a){var c=this.retrieve("events");if(!c||!c[d]){return this;}c[d].keys.each(function(e){e.create({bind:this,delay:a,"arguments":b})();},this);return this;},cloneEvents:function(d,a){d=document.id(d);var c=d.retrieve("events");if(!c){return this;}if(!a){for(var b in c){this.cloneEvents(d,b);}}else{if(c[a]){c[a].keys.each(function(e){this.addEvent(a,e);},this);}}return this;}});Element.NativeEvents={click:2,dblclick:2,mouseup:2,mousedown:2,contextmenu:2,mousewheel:2,DOMMouseScroll:2,mouseover:2,mouseout:2,mousemove:2,selectstart:2,selectend:2,keydown:2,keypress:2,keyup:2,focus:2,blur:2,change:2,reset:2,select:2,submit:2,load:1,unload:1,beforeunload:2,resize:1,move:1,DOMContentLoaded:1,readystatechange:1,error:1,abort:1,scroll:1};(function(){var a=function(b){var c=b.relatedTarget;if(c==undefined){return true;}if(c===false){return false;}return($type(this)!="document"&&c!=this&&c.prefix!="xul"&&!this.hasChild(c));};Element.Events=new Hash({mouseenter:{base:"mouseover",condition:a},mouseleave:{base:"mouseout",condition:a},mousewheel:{base:(Browser.Engine.gecko)?"DOMMouseScroll":"mousewheel"}});})();Element.Properties.styles={set:function(a){this.setStyles(a);}};Element.Properties.opacity={set:function(a,b){if(!b){if(a==0){if(this.style.visibility!="hidden"){this.style.visibility="hidden";}}else{if(this.style.visibility!="visible"){this.style.visibility="visible";}}}if(!this.currentStyle||!this.currentStyle.hasLayout){this.style.zoom=1;}if(Browser.Engine.trident){this.style.filter=(a==1)?"":"alpha(opacity="+a*100+")";}this.style.opacity=a;this.store("opacity",a);},get:function(){return this.retrieve("opacity",1);}};Element.implement({setOpacity:function(a){return this.set("opacity",a,true);},getOpacity:function(){return this.get("opacity");},setStyle:function(b,a){switch(b){case"opacity":return this.set("opacity",parseFloat(a));case"float":b=(Browser.Engine.trident)?"styleFloat":"cssFloat";}b=b.camelCase();if($type(a)!="string"){var c=(Element.Styles.get(b)||"@").split(" ");a=$splat(a).map(function(e,d){if(!c[d]){return"";}return($type(e)=="number")?c[d].replace("@",Math.round(e)):e;}).join(" ");}else{if(a==String(Number(a))){a=Math.round(a);}}this.style[b]=a;return this;},getStyle:function(g){switch(g){case"opacity":return this.get("opacity");case"float":g=(Browser.Engine.trident)?"styleFloat":"cssFloat";}g=g.camelCase();var a=this.style[g];if(!$chk(a)){a=[];for(var f in Element.ShortStyles){if(g!=f){continue;}for(var e in Element.ShortStyles[f]){a.push(this.getStyle(e));}return a.join(" ");}a=this.getComputedStyle(g);}if(a){a=String(a);var c=a.match(/rgba?\([\d\s,]+\)/);if(c){a=a.replace(c[0],c[0].rgbToHex());}}if(Browser.Engine.presto||(Browser.Engine.trident&&!$chk(parseInt(a,10)))){if(g.test(/^(height|width)$/)){var b=(g=="width")?["left","right"]:["top","bottom"],d=0;b.each(function(h){d+=this.getStyle("border-"+h+"-width").toInt()+this.getStyle("padding-"+h).toInt();},this);return this["offset"+g.capitalize()]-d+"px";}if((Browser.Engine.presto)&&String(a).test("px")){return a;}if(g.test(/(border(.+)Width|margin|padding)/)){return"0px";}}return a;},setStyles:function(b){for(var a in b){this.setStyle(a,b[a]);}return this;},getStyles:function(){var a={};Array.flatten(arguments).each(function(b){a[b]=this.getStyle(b);},this);return a;}});Element.Styles=new Hash({left:"@px",top:"@px",bottom:"@px",right:"@px",width:"@px",height:"@px",maxWidth:"@px",maxHeight:"@px",minWidth:"@px",minHeight:"@px",backgroundColor:"rgb(@, @, @)",backgroundPosition:"@px @px",color:"rgb(@, @, @)",fontSize:"@px",letterSpacing:"@px",lineHeight:"@px",clip:"rect(@px @px @px @px)",margin:"@px @px @px @px",padding:"@px @px @px @px",border:"@px @ rgb(@, @, @) @px @ rgb(@, @, @) @px @ rgb(@, @, @)",borderWidth:"@px @px @px @px",borderStyle:"@ @ @ @",borderColor:"rgb(@, @, @) rgb(@, @, @) rgb(@, @, @) rgb(@, @, @)",zIndex:"@",zoom:"@",fontWeight:"@",textIndent:"@px",opacity:"@"});Element.ShortStyles={margin:{},padding:{},border:{},borderWidth:{},borderStyle:{},borderColor:{}};["Top","Right","Bottom","Left"].each(function(g){var f=Element.ShortStyles;var b=Element.Styles;["margin","padding"].each(function(h){var i=h+g;f[h][i]=b[i]="@px";});var e="border"+g;f.border[e]=b[e]="@px @ rgb(@, @, @)";var d=e+"Width",a=e+"Style",c=e+"Color";f[e]={};f.borderWidth[d]=f[e][d]=b[d]="@px";f.borderStyle[a]=f[e][a]=b[a]="@";f.borderColor[c]=f[e][c]=b[c]="rgb(@, @, @)";});(function(){Element.implement({scrollTo:function(h,i){if(b(this)){this.getWindow().scrollTo(h,i);}else{this.scrollLeft=h;this.scrollTop=i;}return this;},getSize:function(){if(b(this)){return this.getWindow().getSize();}return{x:this.offsetWidth,y:this.offsetHeight};},getScrollSize:function(){if(b(this)){return this.getWindow().getScrollSize();}return{x:this.scrollWidth,y:this.scrollHeight};},getScroll:function(){if(b(this)){return this.getWindow().getScroll();}return{x:this.scrollLeft,y:this.scrollTop};},getScrolls:function(){var i=this,h={x:0,y:0};while(i&&!b(i)){h.x+=i.scrollLeft;h.y+=i.scrollTop;i=i.parentNode;}return h;},getOffsetParent:function(){var h=this;if(b(h)){return null;}if(!Browser.Engine.trident){return h.offsetParent;}while((h=h.parentNode)&&!b(h)){if(d(h,"position")!="static"){return h;}}return null;},getOffsets:function(){if(this.getBoundingClientRect){var j=this.getBoundingClientRect(),m=document.id(this.getDocument().documentElement),p=m.getScroll(),k=this.getScrolls(),i=this.getScroll(),h=(d(this,"position")=="fixed");return{x:j.left.toInt()+k.x-i.x+((h)?0:p.x)-m.clientLeft,y:j.top.toInt()+k.y-i.y+((h)?0:p.y)-m.clientTop};}var l=this,n={x:0,y:0};if(b(this)){return n;}while(l&&!b(l)){n.x+=l.offsetLeft;n.y+=l.offsetTop;if(Browser.Engine.gecko){if(!f(l)){n.x+=c(l);n.y+=g(l);}var o=l.parentNode;if(o&&d(o,"overflow")!="visible"){n.x+=c(o);n.y+=g(o);}}else{if(l!=this&&Browser.Engine.webkit){n.x+=c(l);n.y+=g(l);}}l=l.offsetParent;}if(Browser.Engine.gecko&&!f(this)){n.x-=c(this);n.y-=g(this);}return n;},getPosition:function(k){if(b(this)){return{x:0,y:0};}var l=this.getOffsets(),i=this.getScrolls();var h={x:l.x-i.x,y:l.y-i.y};var j=(k&&(k=document.id(k)))?k.getPosition():{x:0,y:0};return{x:h.x-j.x,y:h.y-j.y};},getCoordinates:function(j){if(b(this)){return this.getWindow().getCoordinates();}var h=this.getPosition(j),i=this.getSize();var k={left:h.x,top:h.y,width:i.x,height:i.y};k.right=k.left+k.width;k.bottom=k.top+k.height;return k;},computePosition:function(h){return{left:h.x-e(this,"margin-left"),top:h.y-e(this,"margin-top")};},setPosition:function(h){return this.setStyles(this.computePosition(h));}});Native.implement([Document,Window],{getSize:function(){if(Browser.Engine.presto||Browser.Engine.webkit){var i=this.getWindow();return{x:i.innerWidth,y:i.innerHeight};}var h=a(this);return{x:h.clientWidth,y:h.clientHeight};},getScroll:function(){var i=this.getWindow(),h=a(this);return{x:i.pageXOffset||h.scrollLeft,y:i.pageYOffset||h.scrollTop};},getScrollSize:function(){var i=a(this),h=this.getSize();return{x:Math.max(i.scrollWidth,h.x),y:Math.max(i.scrollHeight,h.y)};},getPosition:function(){return{x:0,y:0};},getCoordinates:function(){var h=this.getSize();return{top:0,left:0,bottom:h.y,right:h.x,height:h.y,width:h.x};}});var d=Element.getComputedStyle;function e(h,i){return d(h,i).toInt()||0;}function f(h){return d(h,"-moz-box-sizing")=="border-box";}function g(h){return e(h,"border-top-width");}function c(h){return e(h,"border-left-width");}function b(h){return(/^(?:body|html)$/i).test(h.tagName);}function a(h){var i=h.getDocument();return(!i.compatMode||i.compatMode=="CSS1Compat")?i.html:i.body;}})();Element.alias("setPosition","position");Native.implement([Window,Document,Element],{getHeight:function(){return this.getSize().y;},getWidth:function(){return this.getSize().x;},getScrollTop:function(){return this.getScroll().y;},getScrollLeft:function(){return this.getScroll().x;},getScrollHeight:function(){return this.getScrollSize().y;},getScrollWidth:function(){return this.getScrollSize().x;},getTop:function(){return this.getPosition().y;},getLeft:function(){return this.getPosition().x;}});Native.implement([Document,Element],{getElements:function(h,g){h=h.split(",");var c,e={};for(var d=0,b=h.length;d<b;d++){var a=h[d],f=Selectors.Utils.search(this,a,e);if(d!=0&&f.item){f=$A(f);}c=(d==0)?f:(c.item)?$A(c).concat(f):c.concat(f);}return new Elements(c,{ddup:(h.length>1),cash:!g});}});Element.implement({match:function(b){if(!b||(b==this)){return true;}var d=Selectors.Utils.parseTagAndID(b);var a=d[0],e=d[1];if(!Selectors.Filters.byID(this,e)||!Selectors.Filters.byTag(this,a)){return false;}var c=Selectors.Utils.parseSelector(b);return(c)?Selectors.Utils.filter(this,c,{}):true;}});var Selectors={Cache:{nth:{},parsed:{}}};Selectors.RegExps={id:(/#([\w-]+)/),tag:(/^(\w+|\*)/),quick:(/^(\w+|\*)$/),splitter:(/\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g),combined:(/\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)(["']?)([^\4]*?)\4)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g)};Selectors.Utils={chk:function(b,c){if(!c){return true;}var a=$uid(b);if(!c[a]){return c[a]=true;}return false;},parseNthArgument:function(h){if(Selectors.Cache.nth[h]){return Selectors.Cache.nth[h];}var e=h.match(/^([+-]?\d*)?([a-z]+)?([+-]?\d*)?$/);if(!e){return false;}var g=parseInt(e[1],10);var d=(g||g===0)?g:1;var f=e[2]||false;var c=parseInt(e[3],10)||0;if(d!=0){c--;while(c<1){c+=d;}while(c>=d){c-=d;}}else{d=c;f="index";}switch(f){case"n":e={a:d,b:c,special:"n"};break;case"odd":e={a:2,b:0,special:"n"};break;case"even":e={a:2,b:1,special:"n"};break;case"first":e={a:0,special:"index"};break;case"last":e={special:"last-child"};break;case"only":e={special:"only-child"};break;default:e={a:(d-1),special:"index"};}return Selectors.Cache.nth[h]=e;},parseSelector:function(e){if(Selectors.Cache.parsed[e]){return Selectors.Cache.parsed[e];}var d,h={classes:[],pseudos:[],attributes:[]};while((d=Selectors.RegExps.combined.exec(e))){var i=d[1],g=d[2],f=d[3],b=d[5],c=d[6],j=d[7];if(i){h.classes.push(i);}else{if(c){var a=Selectors.Pseudo.get(c);if(a){h.pseudos.push({parser:a,argument:j});}else{h.attributes.push({name:c,operator:"=",value:j});}}else{if(g){h.attributes.push({name:g,operator:f,value:b});}}}}if(!h.classes.length){delete h.classes;}if(!h.attributes.length){delete h.attributes;}if(!h.pseudos.length){delete h.pseudos;}if(!h.classes&&!h.attributes&&!h.pseudos){h=null;}return Selectors.Cache.parsed[e]=h;},parseTagAndID:function(b){var a=b.match(Selectors.RegExps.tag);var c=b.match(Selectors.RegExps.id);return[(a)?a[1]:"*",(c)?c[1]:false];},filter:function(f,c,e){var d;if(c.classes){for(d=c.classes.length;d--;d){var g=c.classes[d];if(!Selectors.Filters.byClass(f,g)){return false;}}}if(c.attributes){for(d=c.attributes.length;d--;d){var b=c.attributes[d];if(!Selectors.Filters.byAttribute(f,b.name,b.operator,b.value)){return false;}}}if(c.pseudos){for(d=c.pseudos.length;d--;d){var a=c.pseudos[d];if(!Selectors.Filters.byPseudo(f,a.parser,a.argument,e)){return false;}}}return true;},getByTagAndID:function(b,a,d){if(d){var c=(b.getElementById)?b.getElementById(d,true):Element.getElementById(b,d,true);return(c&&Selectors.Filters.byTag(c,a))?[c]:[];}else{return b.getElementsByTagName(a);}},search:function(o,h,t){var b=[];var c=h.trim().replace(Selectors.RegExps.splitter,function(k,j,i){b.push(j);return":)"+i;}).split(":)");var p,e,A;for(var z=0,v=c.length;z<v;z++){var y=c[z];if(z==0&&Selectors.RegExps.quick.test(y)){p=o.getElementsByTagName(y);continue;}var a=b[z-1];var q=Selectors.Utils.parseTagAndID(y);var B=q[0],r=q[1];if(z==0){p=Selectors.Utils.getByTagAndID(o,B,r);}else{var d={},g=[];for(var x=0,w=p.length;x<w;x++){g=Selectors.Getters[a](g,p[x],B,r,d);}p=g;}var f=Selectors.Utils.parseSelector(y);if(f){e=[];for(var u=0,s=p.length;u<s;u++){A=p[u];if(Selectors.Utils.filter(A,f,t)){e.push(A);}}p=e;}}return p;}};Selectors.Getters={" ":function(h,g,j,a,e){var d=Selectors.Utils.getByTagAndID(g,j,a);for(var c=0,b=d.length;c<b;c++){var f=d[c];if(Selectors.Utils.chk(f,e)){h.push(f);}}return h;},">":function(h,g,j,a,f){var c=Selectors.Utils.getByTagAndID(g,j,a);for(var e=0,d=c.length;e<d;e++){var b=c[e];if(b.parentNode==g&&Selectors.Utils.chk(b,f)){h.push(b);}}return h;},"+":function(c,b,a,e,d){while((b=b.nextSibling)){if(b.nodeType==1){if(Selectors.Utils.chk(b,d)&&Selectors.Filters.byTag(b,a)&&Selectors.Filters.byID(b,e)){c.push(b);}break;}}return c;},"~":function(c,b,a,e,d){while((b=b.nextSibling)){if(b.nodeType==1){if(!Selectors.Utils.chk(b,d)){break;}if(Selectors.Filters.byTag(b,a)&&Selectors.Filters.byID(b,e)){c.push(b);}}}return c;}};Selectors.Filters={byTag:function(b,a){return(a=="*"||(b.tagName&&b.tagName.toLowerCase()==a));},byID:function(a,b){return(!b||(a.id&&a.id==b));},byClass:function(b,a){return(b.className&&b.className.contains&&b.className.contains(a," "));},byPseudo:function(a,d,c,b){return d.call(a,c,b);},byAttribute:function(c,d,b,e){var a=Element.prototype.getProperty.call(c,d);if(!a){return(b=="!=");}if(!b||e==undefined){return true;}switch(b){case"=":return(a==e);case"*=":return(a.contains(e));case"^=":return(a.substr(0,e.length)==e);case"$=":return(a.substr(a.length-e.length)==e);case"!=":return(a!=e);case"~=":return a.contains(e," ");case"|=":return a.contains(e,"-");}return false;}};Selectors.Pseudo=new Hash({checked:function(){return this.checked;},empty:function(){return!(this.innerText||this.textContent||"").length;},not:function(a){return!Element.match(this,a);},contains:function(a){return(this.innerText||this.textContent||"").contains(a);},"first-child":function(){return Selectors.Pseudo.index.call(this,0);},"last-child":function(){var a=this;while((a=a.nextSibling)){if(a.nodeType==1){return false;}}return true;},"only-child":function(){var b=this;while((b=b.previousSibling)){if(b.nodeType==1){return false;}}var a=this;while((a=a.nextSibling)){if(a.nodeType==1){return false;}}return true;},"nth-child":function(g,e){g=(g==undefined)?"n":g;var c=Selectors.Utils.parseNthArgument(g);if(c.special!="n"){return Selectors.Pseudo[c.special].call(this,c.a,e);}var f=0;e.positions=e.positions||{};var d=$uid(this);if(!e.positions[d]){var b=this;while((b=b.previousSibling)){if(b.nodeType!=1){continue;}f++;var a=e.positions[$uid(b)];if(a!=undefined){f=a+f;break;}}e.positions[d]=f;}return(e.positions[d]%c.a==c.b);},index:function(a){var b=this,c=0;while((b=b.previousSibling)){if(b.nodeType==1&&++c>a){return false;}}return(c==a);},even:function(b,a){return Selectors.Pseudo["nth-child"].call(this,"2n+1",a);},odd:function(b,a){return Selectors.Pseudo["nth-child"].call(this,"2n",a);},selected:function(){return this.selected;},enabled:function(){return(this.disabled===false);}});Element.Events.domready={onAdd:function(a){if(Browser.loaded){a.call(this);}}};(function(){var b=function(){if(Browser.loaded){return;}Browser.loaded=true;window.fireEvent("domready");document.fireEvent("domready");};window.addEvent("load",b);if(Browser.Engine.trident){var a=document.createElement("div");(function(){($try(function(){a.doScroll();return document.id(a).inject(document.body).set("html","temp").dispose();}))?b():arguments.callee.delay(50);})();}else{if(Browser.Engine.webkit&&Browser.Engine.version<525){(function(){(["loaded","complete"].contains(document.readyState))?b():arguments.callee.delay(50);})();}else{document.addEvent("DOMContentLoaded",b);}}})();var JSON=new Hash(this.JSON&&{stringify:JSON.stringify,parse:JSON.parse}).extend({$specialChars:{"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},$replaceChars:function(a){return JSON.$specialChars[a]||"\\u00"+Math.floor(a.charCodeAt()/16).toString(16)+(a.charCodeAt()%16).toString(16);},encode:function(b){switch($type(b)){case"string":return'"'+b.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case"array":return"["+String(b.map(JSON.encode).clean())+"]";case"object":case"hash":var a=[];Hash.each(b,function(e,d){var c=JSON.encode(e);if(c){a.push(JSON.encode(d)+":"+c);}});return"{"+a+"}";case"number":case"boolean":return String(b);case false:return"null";}return null;},decode:function(string,secure){if($type(string)!="string"||!string.length){return null;}if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))){return null;}return eval("("+string+")");}});Native.implement([Hash,Array,String,Number],{toJSON:function(){return JSON.encode(this);}});var Cookie=new Class({Implements:Options,options:{path:false,domain:false,duration:false,secure:false,document:document},initialize:function(b,a){this.key=b;this.setOptions(a);},write:function(b){b=encodeURIComponent(b);if(this.options.domain){b+="; domain="+this.options.domain;}if(this.options.path){b+="; path="+this.options.path;}if(this.options.duration){var a=new Date();a.setTime(a.getTime()+this.options.duration*24*60*60*1000);b+="; expires="+a.toGMTString();}if(this.options.secure){b+="; secure";}this.options.document.cookie=this.key+"="+b;return this;},read:function(){var a=this.options.document.cookie.match("(?:^|;)\\s*"+this.key.escapeRegExp()+"=([^;]*)");return(a)?decodeURIComponent(a[1]):null;},dispose:function(){new Cookie(this.key,$merge(this.options,{duration:-1})).write("");return this;}});Cookie.write=function(b,c,a){return new Cookie(b,a).write(c);};Cookie.read=function(a){return new Cookie(a).read();};Cookie.dispose=function(b,a){return new Cookie(b,a).dispose();};var Swiff=new Class({Implements:[Options],options:{id:null,height:1,width:1,container:null,properties:{},params:{quality:"high",allowScriptAccess:"always",wMode:"transparent",swLiveConnect:true},callBacks:{},vars:{}},toElement:function(){return this.object;},initialize:function(l,m){this.instance="Swiff_"+$time();this.setOptions(m);m=this.options;var b=this.id=m.id||this.instance;var a=document.id(m.container);Swiff.CallBacks[this.instance]={};var e=m.params,g=m.vars,f=m.callBacks;var h=$extend({height:m.height,width:m.width},m.properties);var k=this;for(var d in f){Swiff.CallBacks[this.instance][d]=(function(n){return function(){return n.apply(k.object,arguments);};})(f[d]);g[d]="Swiff.CallBacks."+this.instance+"."+d;}e.flashVars=Hash.toQueryString(g);if(Browser.Engine.trident){h.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";e.movie=l;}else{h.type="application/x-shockwave-flash";h.data=l;}var j='<object id="'+b+'"';for(var i in h){j+=" "+i+'="'+h[i]+'"';}j+=">";for(var c in e){if(e[c]){j+='<param name="'+c+'" value="'+e[c]+'" />';}}j+="</object>";this.object=((a)?a.empty():new Element("div")).set("html",j).firstChild;},replaces:function(a){a=document.id(a,true);a.parentNode.replaceChild(this.toElement(),a);return this;},inject:function(a){document.id(a,true).appendChild(this.toElement());return this;},remote:function(){return Swiff.remote.apply(Swiff,[this.toElement()].extend(arguments));}});Swiff.CallBacks={};Swiff.remote=function(obj,fn){var rs=obj.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,2)+"</invoke>");return eval(rs);};var Fx=new Class({Implements:[Chain,Events,Options],options:{fps:50,unit:false,duration:500,link:"ignore"},initialize:function(a){this.subject=this.subject||this;this.setOptions(a);this.options.duration=Fx.Durations[this.options.duration]||this.options.duration.toInt();var b=this.options.wait;if(b===false){this.options.link="cancel";}},getTransition:function(){return function(a){return-(Math.cos(Math.PI*a)-1)/2;};},step:function(){var a=$time();if(a<this.time+this.options.duration){var b=this.transition((a-this.time)/this.options.duration);this.set(this.compute(this.from,this.to,b));}else{this.set(this.compute(this.from,this.to,1));this.complete();}},set:function(a){return a;},compute:function(c,b,a){return Fx.compute(c,b,a);},check:function(){if(!this.timer){return true;}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.bind(this,arguments));return false;}return false;},start:function(b,a){if(!this.check(b,a)){return this;}this.from=b;this.to=a;this.time=0;this.transition=this.getTransition();this.startTimer();this.onStart();return this;},complete:function(){if(this.stopTimer()){this.onComplete();}return this;},cancel:function(){if(this.stopTimer()){this.onCancel();}return this;},onStart:function(){this.fireEvent("start",this.subject);},onComplete:function(){this.fireEvent("complete",this.subject);if(!this.callChain()){this.fireEvent("chainComplete",this.subject);}},onCancel:function(){this.fireEvent("cancel",this.subject).clearChain();},pause:function(){this.stopTimer();return this;},resume:function(){this.startTimer();return this;},stopTimer:function(){if(!this.timer){return false;}this.time=$time()-this.time;this.timer=$clear(this.timer);return true;},startTimer:function(){if(this.timer){return false;}this.time=$time()-this.time;this.timer=this.step.periodical(Math.round(1000/this.options.fps),this);return true;}});Fx.compute=function(c,b,a){return(b-c)*a+c;};Fx.Durations={"short":250,normal:500,"long":1000};Fx.CSS=new Class({Extends:Fx,prepare:function(d,e,b){b=$splat(b);var c=b[1];if(!$chk(c)){b[1]=b[0];b[0]=d.getStyle(e);}var a=b.map(this.parse);return{from:a[0],to:a[1]};},parse:function(a){a=$lambda(a)();a=(typeof a=="string")?a.split(" "):$splat(a);return a.map(function(c){c=String(c);var b=false;Fx.CSS.Parsers.each(function(f,e){if(b){return;}var d=f.parse(c);if($chk(d)){b={value:d,parser:f};}});b=b||{value:c,parser:Fx.CSS.Parsers.String};return b;});},compute:function(d,c,b){var a=[];(Math.min(d.length,c.length)).times(function(e){a.push({value:d[e].parser.compute(d[e].value,c[e].value,b),parser:d[e].parser});});a.$family={name:"fx:css:value"};return a;},serve:function(c,b){if($type(c)!="fx:css:value"){c=this.parse(c);}var a=[];c.each(function(d){a=a.concat(d.parser.serve(d.value,b));});return a;},render:function(a,d,c,b){a.setStyle(d,this.serve(c,b));},search:function(a){if(Fx.CSS.Cache[a]){return Fx.CSS.Cache[a];}var b={};Array.each(document.styleSheets,function(e,d){var c=e.href;if(c&&c.contains("://")&&!c.contains(document.domain)){return;}var f=e.rules||e.cssRules;Array.each(f,function(j,g){if(!j.style){return;}var h=(j.selectorText)?j.selectorText.replace(/^\w+/,function(i){return i.toLowerCase();}):null;if(!h||!h.test("^"+a+"$")){return;}Element.Styles.each(function(k,i){if(!j.style[i]||Element.ShortStyles[i]){return;}k=String(j.style[i]);b[i]=(k.test(/^rgb/))?k.rgbToHex():k;});});});return Fx.CSS.Cache[a]=b;}});Fx.CSS.Cache={};Fx.CSS.Parsers=new Hash({Color:{parse:function(a){if(a.match(/^#[0-9a-f]{3,6}$/i)){return a.hexToRgb(true);}return((a=a.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[a[1],a[2],a[3]]:false;},compute:function(c,b,a){return c.map(function(e,d){return Math.round(Fx.compute(c[d],b[d],a));});},serve:function(a){return a.map(Number);}},Number:{parse:parseFloat,compute:Fx.compute,serve:function(b,a){return(a)?b+a:b;}},String:{parse:$lambda(false),compute:$arguments(1),serve:$arguments(0)}});Fx.Tween=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a);},set:function(b,a){if(arguments.length==1){a=b;b=this.property||this.options.property;}this.render(this.element,b,a,this.options.unit);return this;},start:function(c,e,d){if(!this.check(c,e,d)){return this;}var b=Array.flatten(arguments);this.property=this.options.property||b.shift();var a=this.prepare(this.element,this.property,b);return this.parent(a.from,a.to);}});Element.Properties.tween={set:function(a){var b=this.retrieve("tween");if(b){b.cancel();}return this.eliminate("tween").store("tween:options",$extend({link:"cancel"},a));},get:function(a){if(a||!this.retrieve("tween")){if(a||!this.retrieve("tween:options")){this.set("tween",a);}this.store("tween",new Fx.Tween(this,this.retrieve("tween:options")));}return this.retrieve("tween");}};Element.implement({tween:function(a,c,b){this.get("tween").start(arguments);return this;},fade:function(c){var e=this.get("tween"),d="opacity",a;c=$pick(c,"toggle");switch(c){case"in":e.start(d,1);break;case"out":e.start(d,0);break;case"show":e.set(d,1);break;case"hide":e.set(d,0);break;case"toggle":var b=this.retrieve("fade:flag",this.get("opacity")==1);e.start(d,(b)?0:1);this.store("fade:flag",!b);a=true;break;default:e.start(d,arguments);}if(!a){this.eliminate("fade:flag");}return this;},highlight:function(c,a){if(!a){a=this.retrieve("highlight:original",this.getStyle("background-color"));a=(a=="transparent")?"#fff":a;}var b=this.get("tween");b.start("background-color",c||"#ffff88",a).chain(function(){this.setStyle("background-color",this.retrieve("highlight:original"));b.callChain();}.bind(this));return this;}});Fx.Morph=new Class({Extends:Fx.CSS,initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a);},set:function(a){if(typeof a=="string"){a=this.search(a);}for(var b in a){this.render(this.element,b,a[b],this.options.unit);}return this;},compute:function(e,d,c){var a={};for(var b in e){a[b]=this.parent(e[b],d[b],c);}return a;},start:function(b){if(!this.check(b)){return this;}if(typeof b=="string"){b=this.search(b);}var e={},d={};for(var c in b){var a=this.prepare(this.element,c,b[c]);e[c]=a.from;d[c]=a.to;}return this.parent(e,d);}});Element.Properties.morph={set:function(a){var b=this.retrieve("morph");if(b){b.cancel();}return this.eliminate("morph").store("morph:options",$extend({link:"cancel"},a));},get:function(a){if(a||!this.retrieve("morph")){if(a||!this.retrieve("morph:options")){this.set("morph",a);}this.store("morph",new Fx.Morph(this,this.retrieve("morph:options")));}return this.retrieve("morph");}};Element.implement({morph:function(a){this.get("morph").start(a);return this;}});Fx.implement({getTransition:function(){var a=this.options.transition||Fx.Transitions.Sine.easeInOut;if(typeof a=="string"){var b=a.split(":");a=Fx.Transitions;a=a[b[0]]||a[b[0].capitalize()];if(b[1]){a=a["ease"+b[1].capitalize()+(b[2]?b[2].capitalize():"")];}}return a;}});Fx.Transition=function(b,a){a=$splat(a);return $extend(b,{easeIn:function(c){return b(c,a);},easeOut:function(c){return 1-b(1-c,a);},easeInOut:function(c){return(c<=0.5)?b(2*c,a)/2:(2-b(2*(1-c),a))/2;}});};Fx.Transitions=new Hash({linear:$arguments(0)});Fx.Transitions.extend=function(a){for(var b in a){Fx.Transitions[b]=new Fx.Transition(a[b]);}};Fx.Transitions.extend({Pow:function(b,a){return Math.pow(b,a[0]||6);},Expo:function(a){return Math.pow(2,8*(a-1));},Circ:function(a){return 1-Math.sin(Math.acos(a));},Sine:function(a){return 1-Math.sin((1-a)*Math.PI/2);},Back:function(b,a){a=a[0]||1.618;return Math.pow(b,2)*((a+1)*b-a);},Bounce:function(f){var e;for(var d=0,c=1;1;d+=c,c/=2){if(f>=(7-4*d)/11){e=c*c-Math.pow((11-6*d-11*f)/4,2);break;}}return e;},Elastic:function(b,a){return Math.pow(2,10*--b)*Math.cos(20*b*Math.PI*(a[0]||1)/3);}});["Quad","Cubic","Quart","Quint"].each(function(b,a){Fx.Transitions[b]=new Fx.Transition(function(c){return Math.pow(c,[a+2]);});});var Request=new Class({Implements:[Chain,Events,Options],options:{url:"",data:"",headers:{"X-Requested-With":"XMLHttpRequest",Accept:"text/javascript, text/html, application/xml, text/xml, */*"},async:true,format:false,method:"post",link:"ignore",isSuccess:null,emulation:true,urlEncoded:true,encoding:"utf-8",evalScripts:false,evalResponse:false,noCache:false},initialize:function(a){this.xhr=new Browser.Request();this.setOptions(a);this.options.isSuccess=this.options.isSuccess||this.isSuccess;this.headers=new Hash(this.options.headers);},onStateChange:function(){if(this.xhr.readyState!=4||!this.running){return;}this.running=false;this.status=0;$try(function(){this.status=this.xhr.status;}.bind(this));this.xhr.onreadystatechange=$empty;if(this.options.isSuccess.call(this,this.status)){this.response={text:this.xhr.responseText,xml:this.xhr.responseXML};this.success(this.response.text,this.response.xml);}else{this.response={text:null,xml:null};this.failure();}},isSuccess:function(){return((this.status>=200)&&(this.status<300));},processScripts:function(a){if(this.options.evalResponse||(/(ecma|java)script/).test(this.getHeader("Content-type"))){return $exec(a);}return a.stripScripts(this.options.evalScripts);},success:function(b,a){this.onSuccess(this.processScripts(b),a);},onSuccess:function(){this.fireEvent("complete",arguments).fireEvent("success",arguments).callChain();},failure:function(){this.onFailure();},onFailure:function(){this.fireEvent("complete").fireEvent("failure",this.xhr);},setHeader:function(a,b){this.headers.set(a,b);return this;},getHeader:function(a){return $try(function(){return this.xhr.getResponseHeader(a);}.bind(this));},check:function(){if(!this.running){return true;}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.bind(this,arguments));return false;}return false;},send:function(k){if(!this.check(k)){return this;}this.running=true;var i=$type(k);if(i=="string"||i=="element"){k={data:k};}var d=this.options;k=$extend({data:d.data,url:d.url,method:d.method},k);var g=k.data,b=String(k.url),a=k.method.toLowerCase();switch($type(g)){case"element":g=document.id(g).toQueryString();break;case"object":case"hash":g=Hash.toQueryString(g);}if(this.options.format){var j="format="+this.options.format;g=(g)?j+"&"+g:j;}if(this.options.emulation&&!["get","post"].contains(a)){var h="_method="+a;g=(g)?h+"&"+g:h;a="post";}if(this.options.urlEncoded&&a=="post"){var c=(this.options.encoding)?"; charset="+this.options.encoding:"";this.headers.set("Content-type","application/x-www-form-urlencoded"+c);}if(this.options.noCache){var f="noCache="+new Date().getTime();g=(g)?f+"&"+g:f;}var e=b.lastIndexOf("/");if(e>-1&&(e=b.indexOf("#"))>-1){b=b.substr(0,e);}if(g&&a=="get"){b=b+(b.contains("?")?"&":"?")+g;g=null;}this.xhr.open(a.toUpperCase(),b,this.options.async);this.xhr.onreadystatechange=this.onStateChange.bind(this);this.headers.each(function(m,l){try{this.xhr.setRequestHeader(l,m);}catch(n){this.fireEvent("exception",[l,m]);}},this);this.fireEvent("request");this.xhr.send(g);if(!this.options.async){this.onStateChange();}return this;},cancel:function(){if(!this.running){return this;}this.running=false;this.xhr.abort();this.xhr.onreadystatechange=$empty;this.xhr=new Browser.Request();this.fireEvent("cancel");return this;}});(function(){var a={};["get","post","put","delete","GET","POST","PUT","DELETE"].each(function(b){a[b]=function(){var c=Array.link(arguments,{url:String.type,data:$defined});return this.send($extend(c,{method:b}));};});Request.implement(a);})();Element.Properties.send={set:function(a){var b=this.retrieve("send");if(b){b.cancel();}return this.eliminate("send").store("send:options",$extend({data:this,link:"cancel",method:this.get("method")||"post",url:this.get("action")},a));},get:function(a){if(a||!this.retrieve("send")){if(a||!this.retrieve("send:options")){this.set("send",a);}this.store("send",new Request(this.retrieve("send:options")));}return this.retrieve("send");}};Element.implement({send:function(a){var b=this.get("send");b.send({data:this,url:a||b.options.url});return this;}});Request.HTML=new Class({Extends:Request,options:{update:false,append:false,evalScripts:true,filter:false},processHTML:function(c){var b=c.match(/<body[^>]*>([\s\S]*?)<\/body>/i);c=(b)?b[1]:c;var a=new Element("div");return $try(function(){var d="<root>"+c+"</root>",g;if(Browser.Engine.trident){g=new ActiveXObject("Microsoft.XMLDOM");g.async=false;g.loadXML(d);}else{g=new DOMParser().parseFromString(d,"text/xml");}d=g.getElementsByTagName("root")[0];if(!d){return null;}for(var f=0,e=d.childNodes.length;f<e;f++){var h=Element.clone(d.childNodes[f],true,true);if(h){a.grab(h);}}return a;})||a.set("html",c);},success:function(d){var c=this.options,b=this.response;b.html=d.stripScripts(function(e){b.javascript=e;});var a=this.processHTML(b.html);b.tree=a.childNodes;b.elements=a.getElements("*");if(c.filter){b.tree=b.elements.filter(c.filter);}if(c.update){document.id(c.update).empty().set("html",b.html);}else{if(c.append){document.id(c.append).adopt(a.getChildren());}}if(c.evalScripts){$exec(b.javascript);}this.onSuccess(b.tree,b.elements,b.html,b.javascript);}});Element.Properties.load={set:function(a){var b=this.retrieve("load");if(b){b.cancel();}return this.eliminate("load").store("load:options",$extend({data:this,link:"cancel",update:this,method:"get"},a));},get:function(a){if(a||!this.retrieve("load")){if(a||!this.retrieve("load:options")){this.set("load",a);}this.store("load",new Request.HTML(this.retrieve("load:options")));}return this.retrieve("load");}};Element.implement({load:function(){this.get("load").send(Array.link(arguments,{data:Object.type,url:String.type}));return this;}});Request.JSON=new Class({Extends:Request,options:{secure:true},initialize:function(a){this.parent(a);this.headers.extend({Accept:"application/json","X-Request":"JSON"});},success:function(a){this.response.json=JSON.decode(a,this.options.secure);this.onSuccess(this.response.json,a);}});MooTools.More={version:"1.2.4.2",build:"bd5a93c0913cce25917c48cbdacde568e15e02ef"};(function(){var a={language:"en-US",languages:{"en-US":{}},cascades:["en-US"]};var b;MooTools.lang=new Events();$extend(MooTools.lang,{setLanguage:function(c){if(!a.languages[c]){return this;}a.language=c;this.load();this.fireEvent("langChange",c);return this;},load:function(){var c=this.cascade(this.getCurrentLanguage());b={};$each(c,function(e,d){b[d]=this.lambda(e);},this);},getCurrentLanguage:function(){return a.language;},addLanguage:function(c){a.languages[c]=a.languages[c]||{};return this;},cascade:function(e){var c=(a.languages[e]||{}).cascades||[];c.combine(a.cascades);c.erase(e).push(e);var d=c.map(function(f){return a.languages[f];},this);return $merge.apply(this,d);},lambda:function(c){(c||{}).get=function(e,d){return $lambda(c[e]).apply(this,$splat(d));};return c;},get:function(e,d,c){if(b&&b[e]){return(d?b[e].get(d,c):b[e]);}},set:function(d,e,c){this.addLanguage(d);langData=a.languages[d];if(!langData[e]){langData[e]={};}$extend(langData[e],c);if(d==this.getCurrentLanguage()){this.load();this.fireEvent("langChange",d);}return this;},list:function(){return Hash.getKeys(a.languages);}});})();(function(){var c=this;var b=function(){if(c.console&&console.log){try{console.log.apply(console,arguments);}catch(d){console.log(Array.slice(arguments));}}else{Log.logged.push(arguments);}return this;};var a=function(){this.logged.push(arguments);return this;};this.Log=new Class({logged:[],log:a,resetLog:function(){this.logged.empty();return this;},enableLog:function(){this.log=b;this.logged.each(function(d){this.log.apply(this,d);},this);return this.resetLog();},disableLog:function(){this.log=a;return this;}});Log.extend(new Log).enableLog();Log.logger=function(){return this.log.apply(this,arguments);};})();var Depender={options:{loadedSources:[],loadedScripts:["Core","Browser","Array","String","Function","Number","Hash","Element","Event","Element.Event","Class","DomReady","Class.Extras","Request","JSON","Request.JSON","More","Depender","Log"],useScriptInjection:true},loaded:[],sources:{},libs:{},include:function(b){this.log("include: ",b);this.mapLoaded=false;var a=function(c){this.libs=$merge(this.libs,c);$each(this.libs,function(d,e){if(d.scripts){this.loadSource(e,d.scripts);}},this);}.bind(this);if($type(b)=="string"){this.log("fetching libs ",b);this.request(b,a);}else{a(b);}return this;},required:[],require:function(b){var a=function(){var c=this.calculateDependencies(b.scripts);if(b.sources){b.sources.each(function(d){c.combine(this.libs[d].files);},this);}if(b.serial){c.combine(this.getLoadedScripts());}b.scripts=c;this.required.push(b);this.fireEvent("require",b);this.loadScripts(b.scripts);};if(this.mapLoaded){a.call(this);}else{this.addEvent("mapLoaded",function(){a.call(this);this.removeEvent("mapLoaded",arguments.callee);});}return this;},cleanDoubleSlash:function(b){if(!b){return b;}var a="";if(b.test(/^http:\/\//)){a="http://";b=b.substring(7,b.length);}b=b.replace(/\/\//g,"/");return a+b;},request:function(a,b){new Request.JSON({url:a,secure:false,onSuccess:b}).send();},loadSource:function(b,a){if(this.libs[b].files){this.dataLoaded();return;}this.log("loading source: ",a);this.request(this.cleanDoubleSlash(a+"/scripts.json"),function(c){this.log("loaded source: ",a);this.libs[b].files=c;this.dataLoaded();}.bind(this));},dataLoaded:function(){var a=true;$each(this.libs,function(c,b){if(!this.libs[b].files){a=false;}},this);if(a){this.mapTree();this.mapLoaded=true;this.calculateLoaded();this.lastLoaded=this.getLoadedScripts().getLength();this.fireEvent("mapLoaded");}},calculateLoaded:function(){var a=function(b){this.scriptsState[b]=true;}.bind(this);if(this.options.loadedScripts){this.options.loadedScripts.each(a);}if(this.options.loadedSources){this.options.loadedSources.each(function(b){$each(this.libs[b].files,function(c){$each(c,function(e,d){a(d);},this);},this);},this);}},deps:{},pathMap:{},mapTree:function(){$each(this.libs,function(b,a){$each(b.files,function(c,d){$each(c,function(f,e){var g=a+":"+d+":"+e;if(this.deps[g]){return;}this.deps[g]=f.deps;this.pathMap[e]=g;},this);},this);},this);},getDepsForScript:function(a){return this.deps[this.pathMap[a]]||[];},calculateDependencies:function(a){var b=[];$splat(a).each(function(c){if(c=="None"||!c){return;}var d=this.getDepsForScript(c);if(!d){if(window.console&&console.warn){console.warn("dependencies not mapped: script: %o, map: %o, :deps: %o",c,this.pathMap,this.deps);}}else{d.each(function(e){if(e==c||e=="None"||!e){return;}if(!b.contains(e)){b.combine(this.calculateDependencies(e));}b.include(e);},this);}b.include(c);},this);return b;},getPath:function(a){try{var f=this.pathMap[a].split(":");var d=this.libs[f[0]];var b=(d.path||d.scripts)+"/";f.shift();return this.cleanDoubleSlash(b+f.join("/")+".js");}catch(c){return a;}},loadScripts:function(a){a=a.filter(function(b){if(!this.scriptsState[b]&&b!="None"){this.scriptsState[b]=false;return true;}},this);if(a.length){a.each(function(b){this.loadScript(b);},this);}else{this.check();}},toLoad:[],loadScript:function(b){if(this.scriptsState[b]&&this.toLoad.length){this.loadScript(this.toLoad.shift());return;}else{if(this.loading){this.toLoad.push(b);return;}}var e=function(){this.loading=false;this.scriptLoaded(b);if(this.toLoad.length){this.loadScript(this.toLoad.shift());}}.bind(this);var d=function(){this.log("could not load: ",a);}.bind(this);this.loading=true;var a=this.getPath(b);if(this.options.useScriptInjection){this.log("injecting script: ",a);var c=function(){this.log("loaded script: ",a);e();}.bind(this);new Element("script",{src:a+(this.options.noCache?"?noCache="+new Date().getTime():""),events:{load:c,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){c();}},error:d}}).inject(this.options.target||document.head);}else{this.log("requesting script: ",a);new Request({url:a,noCache:this.options.noCache,onComplete:function(f){this.log("loaded script: ",a);$exec(f);e();}.bind(this),onFailure:d,onException:d}).send();}},scriptsState:$H(),getLoadedScripts:function(){return this.scriptsState.filter(function(a){return a;});},scriptLoaded:function(a){this.log("loaded script: ",a);this.scriptsState[a]=true;this.check();var b=this.getLoadedScripts();var d=b.getLength();var c=this.scriptsState.getLength();this.fireEvent("scriptLoaded",{script:a,totalLoaded:(d/c*100).round(),currentLoaded:((d-this.lastLoaded)/(c-this.lastLoaded)*100).round(),loaded:b});if(d==c){this.lastLoaded=d;}},lastLoaded:0,check:function(){var a=[];this.required.each(function(c){var b=[];c.scripts.each(function(d){if(this.scriptsState[d]){b.push(d);}},this);if(c.onStep){c.onStep({percent:b.length/c.scripts.length*100,scripts:b});}if(c.scripts.length!=b.length){return;}c.callback();this.required.erase(c);this.fireEvent("requirementLoaded",[b,c]);},this);}};$extend(Depender,new Events);$extend(Depender,new Options);$extend(Depender,new Log);Depender._setOptions=Depender.setOptions;Depender.setOptions=function(){Depender._setOptions.apply(Depender,arguments);if(this.options.log){Depender.enableLog();}return this;};Class.refactor=function(b,a){$each(a,function(e,d){var c=b.prototype[d];if(c&&(c=c._origin)&&typeof e=="function"){b.implement(d,function(){var f=this.previous;this.previous=c;var g=e.apply(this,arguments);this.previous=f;return g;});}else{b.implement(d,e);}});return b;};Class.Mutators.Binds=function(a){return a;};Class.Mutators.initialize=function(a){return function(){$splat(this.Binds).each(function(b){var c=this[b];if(c){this[b]=c.bind(this);}},this);return a.apply(this,arguments);};};Class.Occlude=new Class({occlude:function(c,b){b=document.id(b||this.element);var a=b.retrieve(c||this.property);if(a&&!$defined(this.occluded)){return this.occluded=a;}this.occluded=false;b.store(c||this.property,this);return this.occluded;}});(function(){var a={wait:function(b){return this.chain(function(){this.callChain.delay($pick(b,500),this);}.bind(this));}};Chain.implement(a);if(window.Fx){Fx.implement(a);["Css","Tween","Elements"].each(function(b){if(Fx[b]){Fx[b].implement(a);}});}Element.implement({chains:function(b){$splat($pick(b,["tween","morph","reveal"])).each(function(c){c=this.get(c);if(!c){return;}c.setOptions({link:"chain"});},this);return this;},pauseFx:function(c,b){this.chains(b).get($pick(b,"tween")).wait(c);return this;}});})();Array.implement({min:function(){return Math.min.apply(null,this);},max:function(){return Math.max.apply(null,this);},average:function(){return this.length?this.sum()/this.length:0;},sum:function(){var a=0,b=this.length;if(b){do{a+=this[--b];}while(b);}return a;},unique:function(){return[].combine(this);}});(function(){var i=this.Date;if(!i.now){i.now=$time;}i.Methods={ms:"Milliseconds",year:"FullYear",min:"Minutes",mo:"Month",sec:"Seconds",hr:"Hours"};["Date","Day","FullYear","Hours","Milliseconds","Minutes","Month","Seconds","Time","TimezoneOffset","Week","Timezone","GMTOffset","DayOfYear","LastMonth","LastDayOfMonth","UTCDate","UTCDay","UTCFullYear","AMPM","Ordinal","UTCHours","UTCMilliseconds","UTCMinutes","UTCMonth","UTCSeconds"].each(function(p){i.Methods[p.toLowerCase()]=p;});var d=function(q,p){return new Array(p-String(q).length+1).join("0")+q;};i.implement({set:function(t,r){switch($type(t)){case"object":for(var s in t){this.set(s,t[s]);}break;case"string":t=t.toLowerCase();var q=i.Methods;if(q[t]){this["set"+q[t]](r);}}return this;},get:function(q){q=q.toLowerCase();var p=i.Methods;if(p[q]){return this["get"+p[q]]();}return null;},clone:function(){return new i(this.get("time"));},increment:function(p,r){p=p||"day";r=$pick(r,1);switch(p){case"year":return this.increment("month",r*12);case"month":var q=this.get("date");this.set("date",1).set("mo",this.get("mo")+r);return this.set("date",q.min(this.get("lastdayofmonth")));case"week":return this.increment("day",r*7);case"day":return this.set("date",this.get("date")+r);}if(!i.units[p]){throw new Error(p+" is not a supported interval");}return this.set("time",this.get("time")+r*i.units[p]());},decrement:function(p,q){return this.increment(p,-1*$pick(q,1));},isLeapYear:function(){return i.isLeapYear(this.get("year"));},clearTime:function(){return this.set({hr:0,min:0,sec:0,ms:0});},diff:function(q,p){if($type(q)=="string"){q=i.parse(q);}return((q-this)/i.units[p||"day"](3,3)).toInt();},getLastDayOfMonth:function(){return i.daysInMonth(this.get("mo"),this.get("year"));},getDayOfYear:function(){return(i.UTC(this.get("year"),this.get("mo"),this.get("date")+1)-i.UTC(this.get("year"),0,1))/i.units.day();},getWeek:function(){return(this.get("dayofyear")/7).ceil();},getOrdinal:function(p){return i.getMsg("ordinal",p||this.get("date"));},getTimezone:function(){return this.toString().replace(/^.*? ([A-Z]{3}).[0-9]{4}.*$/,"$1").replace(/^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/,"$1$2$3");},getGMTOffset:function(){var p=this.get("timezoneOffset");return((p>0)?"-":"+")+d((p.abs()/60).floor(),2)+d(p%60,2);},setAMPM:function(p){p=p.toUpperCase();var q=this.get("hr");if(q>11&&p=="AM"){return this.decrement("hour",12);}else{if(q<12&&p=="PM"){return this.increment("hour",12);}}return this;},getAMPM:function(){return(this.get("hr")<12)?"AM":"PM";},parse:function(p){this.set("time",i.parse(p));return this;},isValid:function(p){return!!(p||this).valueOf();},format:function(p){if(!this.isValid()){return"invalid date";}p=p||"%x %X";p=k[p.toLowerCase()]||p;var q=this;return p.replace(/%([a-z%])/gi,function(s,r){switch(r){case"a":return i.getMsg("days")[q.get("day")].substr(0,3);case"A":return i.getMsg("days")[q.get("day")];case"b":return i.getMsg("months")[q.get("month")].substr(0,3);case"B":return i.getMsg("months")[q.get("month")];case"c":return q.toString();case"d":return d(q.get("date"),2);case"H":return d(q.get("hr"),2);case"I":return((q.get("hr")%12)||12);case"j":return d(q.get("dayofyear"),3);case"m":return d((q.get("mo")+1),2);case"M":return d(q.get("min"),2);case"o":return q.get("ordinal");case"p":return i.getMsg(q.get("ampm"));case"S":return d(q.get("seconds"),2);case"U":return d(q.get("week"),2);case"w":return q.get("day");case"x":return q.format(i.getMsg("shortDate"));case"X":return q.format(i.getMsg("shortTime"));case"y":return q.get("year").toString().substr(2);case"Y":return q.get("year");case"T":return q.get("GMTOffset");case"Z":return q.get("Timezone");}return r;});},toISOString:function(){return this.format("iso8601");}});i.alias("toISOString","toJSON");i.alias("diff","compare");i.alias("format","strftime");var k={db:"%Y-%m-%d %H:%M:%S",compact:"%Y%m%dT%H%M%S",iso8601:"%Y-%m-%dT%H:%M:%S%T",rfc822:"%a, %d %b %Y %H:%M:%S %Z","short":"%d %b %H:%M","long":"%B %d, %Y %H:%M"};var g=[];var e=i.parse;var n=function(s,u,r){var q=-1;var t=i.getMsg(s+"s");switch($type(u)){case"object":q=t[u.get(s)];break;case"number":q=t[month-1];if(!q){throw new Error("Invalid "+s+" index: "+index);}break;case"string":var p=t.filter(function(v){return this.test(v);},new RegExp("^"+u,"i"));if(!p.length){throw new Error("Invalid "+s+" string");}if(p.length>1){throw new Error("Ambiguous "+s);}q=p[0];}return(r)?t.indexOf(q):q;};i.extend({getMsg:function(q,p){return MooTools.lang.get("Date",q,p);},units:{ms:$lambda(1),second:$lambda(1000),minute:$lambda(60000),hour:$lambda(3600000),day:$lambda(86400000),week:$lambda(608400000),month:function(q,p){var r=new i;return i.daysInMonth($pick(q,r.get("mo")),$pick(p,r.get("year")))*86400000;},year:function(p){p=p||new i().get("year");return i.isLeapYear(p)?31622400000:31536000000;}},daysInMonth:function(q,p){return[31,i.isLeapYear(p)?29:28,31,30,31,30,31,31,30,31,30,31][q];},isLeapYear:function(p){return((p%4===0)&&(p%100!==0))||(p%400===0);},parse:function(r){var q=$type(r);if(q=="number"){return new i(r);}if(q!="string"){return r;}r=r.clean();if(!r.length){return null;}var p;g.some(function(t){var s=t.re.exec(r);return(s)?(p=t.handler(s)):false;});return p||new i(e(r));},parseDay:function(p,q){return n("day",p,q);},parseMonth:function(q,p){return n("month",q,p);},parseUTC:function(q){var p=new i(q);var r=i.UTC(p.get("year"),p.get("mo"),p.get("date"),p.get("hr"),p.get("min"),p.get("sec"));return new i(r);},orderIndex:function(p){return i.getMsg("dateOrder").indexOf(p)+1;},defineFormat:function(p,q){k[p]=q;},defineFormats:function(p){for(var q in p){i.defineFormat(q,p[q]);}},parsePatterns:g,defineParser:function(p){g.push((p.re&&p.handler)?p:l(p));},defineParsers:function(){Array.flatten(arguments).each(i.defineParser);},define2DigitYearStart:function(p){h=p%100;m=p-h;}});var m=1900;var h=70;var j=function(p){return new RegExp("(?:"+i.getMsg(p).map(function(q){return q.substr(0,3);}).join("|")+")[a-z]*");};var a=function(p){switch(p){case"x":return((i.orderIndex("month")==1)?"%m[.-/]%d":"%d[.-/]%m")+"([.-/]%y)?";case"X":return"%H([.:]%M)?([.:]%S([.:]%s)?)? ?%p? ?%T?";}return null;};var o={d:/[0-2]?[0-9]|3[01]/,H:/[01]?[0-9]|2[0-3]/,I:/0?[1-9]|1[0-2]/,M:/[0-5]?\d/,s:/\d+/,o:/[a-z]*/,p:/[ap]\.?m\.?/,y:/\d{2}|\d{4}/,Y:/\d{4}/,T:/Z|[+-]\d{2}(?::?\d{2})?/};o.m=o.I;o.S=o.M;var c;var b=function(p){c=p;o.a=o.A=j("days");o.b=o.B=j("months");g.each(function(r,q){if(r.format){g[q]=l(r.format);}});};var l=function(r){if(!c){return{format:r};}var p=[];var q=(r.source||r).replace(/%([a-z])/gi,function(t,s){return a(s)||t;}).replace(/\((?!\?)/g,"(?:").replace(/ (?!\?|\*)/g,",? ").replace(/%([a-z%])/gi,function(t,s){var u=o[s];if(!u){return s;}p.push(s);return"("+u.source+")";}).replace(/\[a-z\]/gi,"[a-z\\u00c0-\\uffff]");return{format:r,re:new RegExp("^"+q+"$","i"),handler:function(u){u=u.slice(1).associate(p);var s=new i().clearTime();if("d"in u){f.call(s,"d",1);}if("m"in u){f.call(s,"m",1);}for(var t in u){f.call(s,t,u[t]);}return s;}};};var f=function(p,q){if(!q){return this;}switch(p){case"a":case"A":return this.set("day",i.parseDay(q,true));case"b":case"B":return this.set("mo",i.parseMonth(q,true));case"d":return this.set("date",q);case"H":case"I":return this.set("hr",q);case"m":return this.set("mo",q-1);case"M":return this.set("min",q);case"p":return this.set("ampm",q.replace(/\./g,""));case"S":return this.set("sec",q);case"s":return this.set("ms",("0."+q)*1000);case"w":return this.set("day",q);case"Y":return this.set("year",q);case"y":q=+q;if(q<100){q+=m+(q<h?100:0);}return this.set("year",q);case"T":if(q=="Z"){q="+00";}var r=q.match(/([+-])(\d{2}):?(\d{2})?/);r=(r[1]+"1")*(r[2]*60+(+r[3]||0))+this.getTimezoneOffset();return this.set("time",this-r*60000);}return this;};i.defineParsers("%Y([-./]%m([-./]%d((T| )%X)?)?)?","%Y%m%d(T%H(%M%S?)?)?","%x( %X)?","%d%o( %b( %Y)?)?( %X)?","%b( %d%o)?( %Y)?( %X)?","%Y %b( %d%o( %X)?)?","%o %b %d %X %T %Y");MooTools.lang.addEvent("langChange",function(p){if(MooTools.lang.get("Date")){b(p);}}).fireEvent("langChange",MooTools.lang.getCurrentLanguage());})();Date.implement({timeDiffInWords:function(a){return Date.distanceOfTimeInWords(this,a||new Date);},timeDiff:function(g,b){if(g==null){g=new Date;}var f=((g-this)/1000).toInt();if(!f){return"0s";}var a={s:60,m:60,h:24,d:365,y:0};var e,d=[];for(var c in a){if(!f){break;}if((e=a[c])){d.unshift((f%e)+c);f=(f/e).toInt();}else{d.unshift(f+c);}}return d.join(b||":");}});Date.alias("timeDiffInWords","timeAgoInWords");Date.extend({distanceOfTimeInWords:function(b,a){return Date.getTimePhrase(((a-b)/1000).toInt());},getTimePhrase:function(f){var d=(f<0)?"Until":"Ago";if(f<0){f*=-1;}var b={minute:60,hour:60,day:24,week:7,month:52/12,year:12,eon:Infinity};var e="lessThanMinute";for(var c in b){var a=b[c];if(f<1.5*a){if(f>0.75*a){e=c;}break;}f/=a;e=c+"s";}return Date.getMsg(e+d).substitute({delta:f.round()});}});Date.defineParsers({re:/^(?:tod|tom|yes)/i,handler:function(a){var b=new Date().clearTime();switch(a[0]){case"tom":return b.increment();case"yes":return b.decrement();default:return b;}}},{re:/^(next|last) ([a-z]+)$/i,handler:function(e){var f=new Date().clearTime();var b=f.getDay();var c=Date.parseDay(e[2],true);var a=c-b;if(c<=b){a+=7;}if(e[1]=="last"){a-=7;}return f.set("date",f.getDate()+a);}});Hash.implement({getFromPath:function(a){var b=this.getClean();a.replace(/\[([^\]]+)\]|\.([^.[]+)|[^[.]+/g,function(c){if(!b){return null;}var d=arguments[2]||arguments[1]||arguments[0];b=(d in b)?b[d]:null;return c;});return b;},cleanValues:function(a){a=a||$defined;this.each(function(c,b){if(!a(c)){this.erase(b);}},this);return this;},run:function(){var a=arguments;this.each(function(c,b){if($type(c)=="function"){c.run(a);}});}});(function(){var b=["À","à","Á","á","Â","â","Ã","ã","Ä","ä","Å","å","Ă","ă","Ą","ą","Ć","ć","Č","č","Ç","ç","Ď","ď","Đ","đ","È","è","É","é","Ê","ê","Ë","ë","Ě","ě","Ę","ę","Ğ","ğ","Ì","ì","Í","í","Î","î","Ï","ï","Ĺ","ĺ","Ľ","ľ","Ł","ł","Ñ","ñ","Ň","ň","Ń","ń","Ò","ò","Ó","ó","Ô","ô","Õ","õ","Ö","ö","Ø","ø","ő","Ř","ř","Ŕ","ŕ","Š","š","Ş","ş","Ś","ś","Ť","ť","Ť","ť","Ţ","ţ","Ù","ù","Ú","ú","Û","û","Ü","ü","Ů","ů","Ÿ","ÿ","ý","Ý","Ž","ž","Ź","ź","Ż","ż","Þ","þ","Ð","ð","ß","Œ","œ","Æ","æ","µ"];var a=["A","a","A","a","A","a","A","a","Ae","ae","A","a","A","a","A","a","C","c","C","c","C","c","D","d","D","d","E","e","E","e","E","e","E","e","E","e","E","e","G","g","I","i","I","i","I","i","I","i","L","l","L","l","L","l","N","n","N","n","N","n","O","o","O","o","O","o","O","o","Oe","oe","O","o","o","R","r","R","r","S","s","S","s","S","s","T","t","T","t","T","t","U","u","U","u","U","u","Ue","ue","U","u","Y","y","Y","y","Z","z","Z","z","Z","z","TH","th","DH","dh","ss","OE","oe","AE","ae","u"];var d={"[\xa0\u2002\u2003\u2009]":" ","\xb7":"*","[\u2018\u2019]":"'","[\u201c\u201d]":'"',"\u2026":"...","\u2013":"-","\u2014":"--","\uFFFD":"&raquo;"};var c=function(e,f){e=e||"";var g=f?"<"+e+"[^>]*>([\\s\\S]*?)</"+e+">":"</?"+e+"([^>]+)?>";reg=new RegExp(g,"gi");return reg;};String.implement({standardize:function(){var e=this;b.each(function(g,f){e=e.replace(new RegExp(g,"g"),a[f]);});return e;},repeat:function(e){return new Array(e+1).join(this);},pad:function(f,h,e){if(this.length>=f){return this;}var g=(h==null?" ":""+h).repeat(f-this.length).substr(0,f-this.length);if(!e||e=="right"){return this+g;}if(e=="left"){return g+this;}return g.substr(0,(g.length/2).floor())+this+g.substr(0,(g.length/2).ceil());},getTags:function(e,f){return this.match(c(e,f))||[];},stripTags:function(e,f){return this.replace(c(e,f),"");},tidy:function(){var e=this.toString();$each(d,function(g,f){e=e.replace(new RegExp(f,"g"),g);});return e;}});})();String.implement({parseQueryString:function(){var b=this.split(/[&;]/),a={};if(b.length){b.each(function(g){var c=g.indexOf("="),d=c<0?[""]:g.substr(0,c).match(/[^\]\[]+/g),e=decodeURIComponent(g.substr(c+1)),f=a;d.each(function(j,h){var k=f[j];if(h<d.length-1){f=f[j]=k||{};}else{if($type(k)=="array"){k.push(e);}else{f[j]=$defined(k)?[k,e]:e;}}});});}return a;},cleanQueryString:function(a){return this.split("&").filter(function(e){var b=e.indexOf("="),c=b<0?"":e.substr(0,b),d=e.substr(b+1);return a?a.run([c,d]):$chk(d);}).join("&");}});var URI=new Class({Implements:Options,options:{},regex:/^(?:(\w+):)?(?:\/\/(?:(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)?(\.\.?$|(?:[^?#\/]*\/)*)([^?#]*)(?:\?([^#]*))?(?:#(.*))?/,parts:["scheme","user","password","host","port","directory","file","query","fragment"],schemes:{http:80,https:443,ftp:21,rtsp:554,mms:1755,file:0},initialize:function(b,a){this.setOptions(a);var c=this.options.base||URI.base;if(!b){b=c;}if(b&&b.parsed){this.parsed=$unlink(b.parsed);}else{this.set("value",b.href||b.toString(),c?new URI(c):false);}},parse:function(c,b){var a=c.match(this.regex);if(!a){return false;}a.shift();return this.merge(a.associate(this.parts),b);},merge:function(b,a){if((!b||!b.scheme)&&(!a||!a.scheme)){return false;}if(a){this.parts.every(function(c){if(b[c]){return false;}b[c]=a[c]||"";return true;});}b.port=b.port||this.schemes[b.scheme.toLowerCase()];b.directory=b.directory?this.parseDirectory(b.directory,a?a.directory:""):"/";return b;},parseDirectory:function(b,c){b=(b.substr(0,1)=="/"?"":(c||"/"))+b;if(!b.test(URI.regs.directoryDot)){return b;}var a=[];b.replace(URI.regs.endSlash,"").split("/").each(function(d){if(d==".."&&a.length>0){a.pop();}else{if(d!="."){a.push(d);}}});return a.join("/")+"/";},combine:function(a){return a.value||a.scheme+"://"+(a.user?a.user+(a.password?":"+a.password:"")+"@":"")+(a.host||"")+(a.port&&a.port!=this.schemes[a.scheme]?":"+a.port:"")+(a.directory||"/")+(a.file||"")+(a.query?"?"+a.query:"")+(a.fragment?"#"+a.fragment:"");},set:function(b,d,c){if(b=="value"){var a=d.match(URI.regs.scheme);if(a){a=a[1];}if(a&&!$defined(this.schemes[a.toLowerCase()])){this.parsed={scheme:a,value:d};}else{this.parsed=this.parse(d,(c||this).parsed)||(a?{scheme:a,value:d}:{value:d});}}else{if(b=="data"){this.setData(d);}else{this.parsed[b]=d;}}return this;},get:function(a,b){switch(a){case"value":return this.combine(this.parsed,b?b.parsed:false);case"data":return this.getData();}return this.parsed[a]||"";},go:function(){document.location.href=this.toString();},toURI:function(){return this;},getData:function(c,b){var a=this.get(b||"query");if(!$chk(a)){return c?null:{};}var d=a.parseQueryString();return c?d[c]:d;},setData:function(a,c,b){if(typeof a=="string"){a=this.getData();a[arguments[0]]=arguments[1];}else{if(c){a=$merge(this.getData(),a);}}return this.set(b||"query",Hash.toQueryString(a));},clearData:function(a){return this.set(a||"query","");}});URI.prototype.toString=URI.prototype.valueOf=function(){return this.get("value");};URI.regs={endSlash:/\/$/,scheme:/^(\w+):/,directoryDot:/\.\/|\.$/};URI.base=new URI(document.getElements("base[href]",true).getLast(),{base:document.location});String.implement({toURI:function(a){return new URI(this,a);}});URI=Class.refactor(URI,{combine:function(f,e){if(!e||f.scheme!=e.scheme||f.host!=e.host||f.port!=e.port){return this.previous.apply(this,arguments);}var a=f.file+(f.query?"?"+f.query:"")+(f.fragment?"#"+f.fragment:"");if(!e.directory){return(f.directory||(f.file?"":"./"))+a;}var d=e.directory.split("/"),c=f.directory.split("/"),g="",h;var b=0;for(h=0;h<d.length&&h<c.length&&d[h]==c[h];h++){}for(b=0;b<d.length-h-1;b++){g+="../";}for(b=h;b<c.length-1;b++){g+=c[b]+"/";}return(g||(f.file?"":"./"))+a;},toAbsolute:function(a){a=new URI(a);if(a){a.set("directory","").set("file","");}return this.toRelative(a);},toRelative:function(a){return this.get("value",new URI(a));}});Element.implement({tidy:function(){this.set("value",this.get("value").tidy());},getTextInRange:function(b,a){return this.get("value").substring(b,a);},getSelectedText:function(){if(this.setSelectionRange){return this.getTextInRange(this.getSelectionStart(),this.getSelectionEnd());}return document.selection.createRange().text;},getSelectedRange:function(){if($defined(this.selectionStart)){return{start:this.selectionStart,end:this.selectionEnd};}var e={start:0,end:0};var a=this.getDocument().selection.createRange();if(!a||a.parentElement()!=this){return e;}var c=a.duplicate();if(this.type=="text"){e.start=0-c.moveStart("character",-100000);e.end=e.start+a.text.length;}else{var b=this.get("value");var d=b.length;c.moveToElementText(this);c.setEndPoint("StartToEnd",a);if(c.text.length){d-=b.match(/[\n\r]*$/)[0].length;}e.end=d-c.text.length;c.setEndPoint("StartToStart",a);e.start=d-c.text.length;}return e;},getSelectionStart:function(){return this.getSelectedRange().start;},getSelectionEnd:function(){return this.getSelectedRange().end;},setCaretPosition:function(a){if(a=="end"){a=this.get("value").length;}this.selectRange(a,a);return this;},getCaretPosition:function(){return this.getSelectedRange().start;},selectRange:function(e,a){if(this.setSelectionRange){this.focus();this.setSelectionRange(e,a);}else{var c=this.get("value");var d=c.substr(e,a-e).replace(/\r/g,"").length;e=c.substr(0,e).replace(/\r/g,"").length;var b=this.createTextRange();b.collapse(true);b.moveEnd("character",e+d);b.moveStart("character",e);b.select();}return this;},insertAtCursor:function(b,a){var d=this.getSelectedRange();var c=this.get("value");this.set("value",c.substring(0,d.start)+b+c.substring(d.end,c.length));if($pick(a,true)){this.selectRange(d.start,d.start+b.length);}else{this.setCaretPosition(d.start+b.length);}return this;},insertAroundCursor:function(b,a){b=$extend({before:"",defaultMiddle:"",after:""},b);var c=this.getSelectedText()||b.defaultMiddle;var g=this.getSelectedRange();var f=this.get("value");if(g.start==g.end){this.set("value",f.substring(0,g.start)+b.before+c+b.after+f.substring(g.end,f.length));this.selectRange(g.start+b.before.length,g.end+b.before.length+c.length);}else{var d=f.substring(g.start,g.end);this.set("value",f.substring(0,g.start)+b.before+d+b.after+f.substring(g.end,f.length));var e=g.start+b.before.length;if($pick(a,true)){this.selectRange(e,e+d.length);}else{this.setCaretPosition(e+f.length);}}return this;}});Elements.from=function(e,d){if($pick(d,true)){e=e.stripScripts();}var b,c=e.match(/^\s*<(t[dhr]|tbody|tfoot|thead)/i);if(c){b=new Element("table");var a=c[1].toLowerCase();if(["td","th","tr"].contains(a)){b=new Element("tbody").inject(b);if(a!="tr"){b=new Element("tr").inject(b);}}}return(b||new Element("div")).set("html",e).getChildren();};(function(){var d=/(.*?):relay\(([^)]+)\)$/,c=/[+>~\s]/,f=function(g){var h=g.match(d);return!h?{event:g}:{event:h[1],selector:h[2]};},b=function(m,g){var k=m.target;if(c.test(g=g.trim())){var j=this.getElements(g);for(var h=j.length;h--;){var l=j[h];if(k==l||l.hasChild(k)){return l;}}}else{for(;k&&k!=this;k=k.parentNode){if(Element.match(k,g)){return document.id(k);}}}return null;};var a=Element.prototype.addEvent,e=Element.prototype.removeEvent;Element.implement({addEvent:function(j,i){var k=f(j);if(k.selector){var h=this.retrieve("$moo:delegateMonitors",{});if(!h[j]){var g=function(m){var l=b.call(this,m,k.selector);if(l){this.fireEvent(j,[m,l],0,l);}}.bind(this);h[j]=g;a.call(this,k.event,g);}}return a.apply(this,arguments);},removeEvent:function(j,i){var k=f(j);if(k.selector){var h=this.retrieve("events");if(!h||!h[j]||(i&&!h[j].keys.contains(i))){return this;}if(i){e.apply(this,[j,i]);}else{e.apply(this,j);}h=this.retrieve("events");if(h&&h[j]&&h[j].length==0){var g=this.retrieve("$moo:delegateMonitors",{});e.apply(this,[k.event,g[j]]);delete g[j];}return this;}return e.apply(this,arguments);},fireEvent:function(j,h,g,k){var i=this.retrieve("events");if(!i||!i[j]){return this;}i[j].keys.each(function(l){l.create({bind:k||this,delay:g,arguments:h})();},this);return this;}});})();Element.implement({measure:function(e){var g=function(h){return!!(!h||h.offsetHeight||h.offsetWidth);};if(g(this)){return e.apply(this);}var d=this.getParent(),f=[],b=[];while(!g(d)&&d!=document.body){b.push(d.expose());d=d.getParent();}var c=this.expose();var a=e.apply(this);c();b.each(function(h){h();});return a;},expose:function(){if(this.getStyle("display")!="none"){return $empty;}var a=this.style.cssText;this.setStyles({display:"block",position:"absolute",visibility:"hidden"});return function(){this.style.cssText=a;}.bind(this);},getDimensions:function(a){a=$merge({computeSize:false},a);var f={};var d=function(g,e){return(e.computeSize)?g.getComputedSize(e):g.getSize();};var b=this.getParent("body");if(b&&this.getStyle("display")=="none"){f=this.measure(function(){return d(this,a);});}else{if(b){try{f=d(this,a);}catch(c){}}else{f={x:0,y:0};}}return $chk(f.x)?$extend(f,{width:f.x,height:f.y}):$extend(f,{x:f.width,y:f.height});},getComputedSize:function(a){a=$merge({styles:["padding","border"],plains:{height:["top","bottom"],width:["left","right"]},mode:"both"},a);var c={width:0,height:0};switch(a.mode){case"vertical":delete c.width;delete a.plains.width;break;case"horizontal":delete c.height;delete a.plains.height;break;}var b=[];$each(a.plains,function(g,f){g.each(function(h){a.styles.each(function(i){b.push((i=="border")?i+"-"+h+"-width":i+"-"+h);});});});var e={};b.each(function(f){e[f]=this.getComputedStyle(f);},this);var d=[];$each(a.plains,function(g,f){var h=f.capitalize();c["total"+h]=c["computed"+h]=0;g.each(function(i){c["computed"+i.capitalize()]=0;b.each(function(k,j){if(k.test(i)){e[k]=e[k].toInt()||0;c["total"+h]=c["total"+h]+e[k];c["computed"+i.capitalize()]=c["computed"+i.capitalize()]+e[k];}if(k.test(i)&&f!=k&&(k.test("border")||k.test("padding"))&&!d.contains(k)){d.push(k);c["computed"+h]=c["computed"+h]-e[k];}});});});["Width","Height"].each(function(g){var f=g.toLowerCase();if(!$chk(c[f])){return;}c[f]=c[f]+this["offset"+g]+c["computed"+g];c["total"+g]=c[f]+c["total"+g];delete c["computed"+g];},this);return $extend(e,c);}});(function(){var a=false;window.addEvent("domready",function(){var b=new Element("div").setStyles({position:"fixed",top:0,right:0}).inject(document.body);a=(b.offsetTop===0);b.dispose();});Element.implement({pin:function(d){if(this.getStyle("display")=="none"){return null;}var f,b=window.getScroll();if(d!==false){f=this.getPosition();if(!this.retrieve("pinned")){var h={top:f.y-b.y,left:f.x-b.x};if(a){this.setStyle("position","fixed").setStyles(h);}else{this.store("pinnedByJS",true);this.setStyles({position:"absolute",top:f.y,left:f.x}).addClass("isPinned");this.store("scrollFixer",(function(){if(this.retrieve("pinned")){var i=window.getScroll();}this.setStyles({top:h.top.toInt()+i.y,left:h.left.toInt()+i.x});}).bind(this));window.addEvent("scroll",this.retrieve("scrollFixer"));}this.store("pinned",true);}}else{var g;if(!Browser.Engine.trident){var e=this.getParent();g=(e.getComputedStyle("position")!="static"?e:e.getOffsetParent());}f=this.getPosition(g);this.store("pinned",false);var c;if(a&&!this.retrieve("pinnedByJS")){c={top:f.y+b.y,left:f.x+b.x};}else{this.store("pinnedByJS",false);window.removeEvent("scroll",this.retrieve("scrollFixer"));c={top:f.y,left:f.x};}this.setStyles($merge(c,{position:"absolute"})).removeClass("isPinned");}return this;},unpin:function(){return this.pin(false);},togglepin:function(){this.pin(!this.retrieve("pinned"));}});})();(function(){var a=Element.prototype.position;Element.implement({position:function(h){if(h&&($defined(h.x)||$defined(h.y))){return a?a.apply(this,arguments):this;}$each(h||{},function(w,u){if(!$defined(w)){delete h[u];}});h=$merge({relativeTo:document.body,position:{x:"center",y:"center"},edge:false,offset:{x:0,y:0},returnPos:false,relFixedPosition:false,ignoreMargins:false,ignoreScroll:false,allowNegative:false},h);var s={x:0,y:0},f=false;var c=this.measure(function(){return document.id(this.getOffsetParent());});if(c&&c!=this.getDocument().body){s=c.measure(function(){return this.getPosition();});f=c!=document.id(h.relativeTo);h.offset.x=h.offset.x-s.x;h.offset.y=h.offset.y-s.y;}var t=function(u){if($type(u)!="string"){return u;}u=u.toLowerCase();var v={};if(u.test("left")){v.x="left";}else{if(u.test("right")){v.x="right";}else{v.x="center";}}if(u.test("upper")||u.test("top")){v.y="top";}else{if(u.test("bottom")){v.y="bottom";}else{v.y="center";}}return v;};h.edge=t(h.edge);h.position=t(h.position);if(!h.edge){if(h.position.x=="center"&&h.position.y=="center"){h.edge={x:"center",y:"center"};}else{h.edge={x:"left",y:"top"};}}this.setStyle("position","absolute");var g=document.id(h.relativeTo)||document.body,d=g==document.body?window.getScroll():g.getPosition(),n=d.y,i=d.x;var e=g.getScrolls();n+=e.y;i+=e.x;var o=this.getDimensions({computeSize:true,styles:["padding","border","margin"]});var k={},p=h.offset.y,r=h.offset.x,l=window.getSize();switch(h.position.x){case"left":k.x=i+r;break;case"right":k.x=i+r+g.offsetWidth;break;default:k.x=i+((g==document.body?l.x:g.offsetWidth)/2)+r;break;}switch(h.position.y){case"top":k.y=n+p;break;case"bottom":k.y=n+p+g.offsetHeight;break;default:k.y=n+((g==document.body?l.y:g.offsetHeight)/2)+p;break;}if(h.edge){var b={};switch(h.edge.x){case"left":b.x=0;break;case"right":b.x=-o.x-o.computedRight-o.computedLeft;break;default:b.x=-(o.totalWidth/2);break;}switch(h.edge.y){case"top":b.y=0;break;case"bottom":b.y=-o.y-o.computedTop-o.computedBottom;break;default:b.y=-(o.totalHeight/2);break;}k.x+=b.x;k.y+=b.y;}k={left:((k.x>=0||f||h.allowNegative)?k.x:0).toInt(),top:((k.y>=0||f||h.allowNegative)?k.y:0).toInt()};var j={left:"x",top:"y"};["minimum","maximum"].each(function(u){["left","top"].each(function(v){var w=h[u]?h[u][j[v]]:null;if(w!=null&&k[v]<w){k[v]=w;}});});if(g.getStyle("position")=="fixed"||h.relFixedPosition){var m=window.getScroll();k.top+=m.y;k.left+=m.x;}if(h.ignoreScroll){var q=g.getScroll();k.top-=q.y;k.left-=q.x;}if(h.ignoreMargins){k.left+=(h.edge.x=="right"?o["margin-right"]:h.edge.x=="center"?-o["margin-left"]+((o["margin-right"]+o["margin-left"])/2):-o["margin-left"]);k.top+=(h.edge.y=="bottom"?o["margin-bottom"]:h.edge.y=="center"?-o["margin-top"]+((o["margin-bottom"]+o["margin-top"])/2):-o["margin-top"]);}k.left=Math.ceil(k.left);k.top=Math.ceil(k.top);if(h.returnPos){return k;}else{this.setStyles(k);}return this;}});})();Element.implement({isDisplayed:function(){return this.getStyle("display")!="none";},isVisible:function(){var a=this.offsetWidth,b=this.offsetHeight;return(a==0&&b==0)?false:(a>0&&b>0)?true:this.isDisplayed();},toggle:function(){return this[this.isDisplayed()?"hide":"show"]();},hide:function(){var b;try{if((b=this.getStyle("display"))=="none"){b=null;}}catch(a){}return this.store("originalDisplay",b||"block").setStyle("display","none");},show:function(a){return this.setStyle("display",a||this.retrieve("originalDisplay")||"block");},swapClass:function(a,b){return this.removeClass(a).addClass(b);}});if(!window.Form){window.Form={};}(function(){Form.Request=new Class({Binds:["onSubmit","onFormValidate"],Implements:[Options,Events,Class.Occlude],options:{requestOptions:{evalScripts:true,useSpinner:true,emulation:false,link:"ignore"},extraData:{},resetForm:true},property:"form.request",initialize:function(b,c,a){this.element=document.id(b);if(this.occlude()){return this.occluded;}this.update=document.id(c);this.setOptions(a);this.makeRequest();if(this.options.resetForm){this.request.addEvent("success",function(){$try(function(){this.element.reset();}.bind(this));if(window.OverText){OverText.update();}}.bind(this));}this.attach();},toElement:function(){return this.element;},makeRequest:function(){this.request=new Request.HTML($merge({url:this.element.get("action"),update:this.update,emulation:false,spinnerTarget:this.element,method:this.element.get("method")||"post"},this.options.requestOptions)).addEvents({success:function(b,a){["success","complete"].each(function(c){this.fireEvent(c,[this.update,b,a]);},this);}.bind(this),failure:function(a){this.fireEvent("failure",a);}.bind(this),exception:function(){this.fireEvent("failure",xhr);}.bind(this)});},attach:function(a){a=$pick(a,true);method=a?"addEvent":"removeEvent";var b=this.element.retrieve("validator");if(b){b[method]("onFormValidate",this.onFormValidate);}if(!b||!a){this.element[method]("submit",this.onSubmit);}},detach:function(){this.attach(false);},enable:function(){this.attach();},disable:function(){this.detach();},onFormValidate:function(b,a,c){if(b||!fv.options.stopOnFailure){if(c&&c.stop){c.stop();}this.send();}},onSubmit:function(a){if(this.element.retrieve("validator")){this.detach();this.addFormEvent();return;}a.stop();this.send();},send:function(){var b=this.element.toQueryString().trim();var a=$H(this.options.extraData).toQueryString();if(b){b+="&"+a;}else{b=a;}this.fireEvent("send",[this.element,b]);this.request.send({data:b});return this;}});Element.Properties.formRequest={set:function(){var a=Array.link(arguments,{options:Object.type,update:Element.type,updateId:String.type});var c=a.update||a.updateId;var b=this.retrieve("form.request");if(c){if(b){b.update=document.id(c);}this.store("form.request:update",c);}if(a.options){if(b){b.setOptions(a.options);}this.store("form.request:options",a.options);}return this;},get:function(){var a=Array.link(arguments,{options:Object.type,update:Element.type,updateId:String.type});var b=a.update||a.updateId;if(a.options||b||!this.retrieve("form.request")){if(a.options||!this.retrieve("form.request:options")){this.set("form.request",a.options);}if(b){this.set("form.request",b);}this.store("form.request",new Form.Request(this,this.retrieve("form.request:update"),this.retrieve("form.request:options")));}return this.retrieve("form.request");}};Element.implement({formUpdate:function(b,a){this.get("form.request",b,a).send();return this;}});})();Form.Request.Append=new Class({Extends:Form.Request,options:{useReveal:true,revealOptions:{},inject:"bottom"},makeRequest:function(){this.request=new Request.HTML($merge({url:this.element.get("action"),method:this.element.get("method")||"post",spinnerTarget:this.element},this.options.requestOptions,{evalScripts:false})).addEvents({success:function(b,g,f,a){var c;var d=Elements.from(f);if(d.length==1){c=d[0];}else{c=new Element("div",{styles:{display:"none"}}).adopt(d);}c.inject(this.update,this.options.inject);if(this.options.requestOptions.evalScripts){$exec(a);}this.fireEvent("beforeEffect",c);var e=function(){this.fireEvent("success",[c,this.update,b,g,f,a]);}.bind(this);if(this.options.useReveal){c.get("reveal",this.options.revealOptions).chain(e);c.reveal();}else{e();}}.bind(this),failure:function(a){this.fireEvent("failure",a);}.bind(this)});}});if(!window.Form){window.Form={};}var InputValidator=new Class({Implements:[Options],options:{errorMsg:"Validation failed.",test:function(a){return true;}},initialize:function(b,a){this.setOptions(a);this.className=b;},test:function(b,a){if(document.id(b)){return this.options.test(document.id(b),a||this.getProps(b));}else{return false;}},getError:function(c,a){var b=this.options.errorMsg;if($type(b)=="function"){b=b(document.id(c),a||this.getProps(c));}return b;},getProps:function(a){if(!document.id(a)){return{};}return a.get("validatorProps");}});Element.Properties.validatorProps={set:function(a){return this.eliminate("validatorProps").store("validatorProps",a);},get:function(a){if(a){this.set(a);}if(this.retrieve("validatorProps")){return this.retrieve("validatorProps");}if(this.getProperty("validatorProps")){try{this.store("validatorProps",JSON.decode(this.getProperty("validatorProps")));}catch(c){return{};}}else{var b=this.get("class").split(" ").filter(function(d){return d.test(":");});if(!b.length){this.store("validatorProps",{});}else{a={};b.each(function(d){var f=d.split(":");if(f[1]){try{a[f[0]]=JSON.decode(f[1]);}catch(g){}}});this.store("validatorProps",a);}}return this.retrieve("validatorProps");}};Form.Validator=new Class({Implements:[Options,Events],Binds:["onSubmit"],options:{fieldSelectors:"input, select, textarea",ignoreHidden:true,ignoreDisabled:true,useTitles:false,evaluateOnSubmit:true,evaluateFieldsOnBlur:true,evaluateFieldsOnChange:true,serial:true,stopOnFailure:true,warningPrefix:function(){return Form.Validator.getMsg("warningPrefix")||"Warning: ";},errorPrefix:function(){return Form.Validator.getMsg("errorPrefix")||"Error: ";}},initialize:function(b,a){this.setOptions(a);this.element=document.id(b);this.element.store("validator",this);this.warningPrefix=$lambda(this.options.warningPrefix)();this.errorPrefix=$lambda(this.options.errorPrefix)();if(this.options.evaluateOnSubmit){this.element.addEvent("submit",this.onSubmit);}if(this.options.evaluateFieldsOnBlur||this.options.evaluateFieldsOnChange){this.watchFields(this.getFields());}},toElement:function(){return this.element;},getFields:function(){return(this.fields=this.element.getElements(this.options.fieldSelectors));},watchFields:function(a){a.each(function(b){if(this.options.evaluateFieldsOnBlur){b.addEvent("blur",this.validationMonitor.pass([b,false],this));}if(this.options.evaluateFieldsOnChange){b.addEvent("change",this.validationMonitor.pass([b,true],this));}},this);},validationMonitor:function(){$clear(this.timer);this.timer=this.validateField.delay(50,this,arguments);},onSubmit:function(a){if(!this.validate(a)&&a){a.preventDefault();}else{this.reset();}},reset:function(){this.getFields().each(this.resetField,this);return this;},validate:function(b){var a=this.getFields().map(function(c){return this.validateField(c,true);},this).every(function(c){return c;});this.fireEvent("formValidate",[a,this.element,b]);if(this.options.stopOnFailure&&!a&&b){b.preventDefault();}return a;},validateField:function(i,a){if(this.paused){return true;}i=document.id(i);var d=!i.hasClass("validation-failed");var f,h;if(this.options.serial&&!a){f=this.element.getElement(".validation-failed");h=this.element.getElement(".warning");}if(i&&(!f||a||i.hasClass("validation-failed")||(f&&!this.options.serial))){var c=i.className.split(" ").some(function(j){return this.getValidator(j);},this);var g=[];i.className.split(" ").each(function(j){if(j&&!this.test(j,i)){g.include(j);}},this);d=g.length===0;if(c&&!i.hasClass("warnOnly")){if(d){i.addClass("validation-passed").removeClass("validation-failed");this.fireEvent("elementPass",i);}else{i.addClass("validation-failed").removeClass("validation-passed");this.fireEvent("elementFail",[i,g]);}}if(!h){var e=i.className.split(" ").some(function(j){if(j.test("^warn-")||i.hasClass("warnOnly")){return this.getValidator(j.replace(/^warn-/,""));}else{return null;}},this);i.removeClass("warning");var b=i.className.split(" ").map(function(j){if(j.test("^warn-")||i.hasClass("warnOnly")){return this.test(j.replace(/^warn-/,""),i,true);}else{return null;}},this);}}return d;},test:function(b,d,e){d=document.id(d);if((this.options.ignoreHidden&&!d.isVisible())||(this.options.ignoreDisabled&&d.get("disabled"))){return true;}var a=this.getValidator(b);if(d.hasClass("ignoreValidation")){return true;}e=$pick(e,false);if(d.hasClass("warnOnly")){e=true;}var c=a?a.test(d):true;if(a&&d.isVisible()){this.fireEvent("elementValidate",[c,d,b,e]);}if(e){return true;}return c;},resetField:function(a){a=document.id(a);if(a){a.className.split(" ").each(function(b){if(b.test("^warn-")){b=b.replace(/^warn-/,"");}a.removeClass("validation-failed");a.removeClass("warning");a.removeClass("validation-passed");},this);}return this;},stop:function(){this.paused=true;return this;},start:function(){this.paused=false;return this;},ignoreField:function(a,b){a=document.id(a);if(a){this.enforceField(a);if(b){a.addClass("warnOnly");}else{a.addClass("ignoreValidation");}}return this;},enforceField:function(a){a=document.id(a);if(a){a.removeClass("warnOnly").removeClass("ignoreValidation");}return this;}});Form.Validator.getMsg=function(a){return MooTools.lang.get("Form.Validator",a);};Form.Validator.adders={validators:{},add:function(b,a){this.validators[b]=new InputValidator(b,a);if(!this.initialize){this.implement({validators:this.validators});}},addAllThese:function(a){$A(a).each(function(b){this.add(b[0],b[1]);},this);},getValidator:function(a){return this.validators[a.split(":")[0]];}};$extend(Form.Validator,Form.Validator.adders);Form.Validator.implement(Form.Validator.adders);Form.Validator.add("IsEmpty",{errorMsg:false,test:function(a){if(a.type=="select-one"||a.type=="select"){return!(a.selectedIndex>=0&&a.options[a.selectedIndex].value!="");}else{return((a.get("value")==null)||(a.get("value").length==0));}}});Form.Validator.addAllThese([["required",{errorMsg:function(){return Form.Validator.getMsg("required");},test:function(a){return!Form.Validator.getValidator("IsEmpty").test(a);}}],["minLength",{errorMsg:function(a,b){if($type(b.minLength)){return Form.Validator.getMsg("minLength").substitute({minLength:b.minLength,length:a.get("value").length});}else{return"";}},test:function(a,b){if($type(b.minLength)){return(a.get("value").length>=$pick(b.minLength,0));}else{return true;}}}],["maxLength",{errorMsg:function(a,b){if($type(b.maxLength)){return Form.Validator.getMsg("maxLength").substitute({maxLength:b.maxLength,length:a.get("value").length});}else{return"";}},test:function(a,b){return(a.get("value").length<=$pick(b.maxLength,10000));}}],["validate-integer",{errorMsg:Form.Validator.getMsg.pass("integer"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||(/^(-?[1-9]\d*|0)$/).test(a.get("value"));}}],["validate-numeric",{errorMsg:Form.Validator.getMsg.pass("numeric"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||(/^-?(?:0$0(?=\d*\.)|[1-9]|0)\d*(\.\d+)?$/).test(a.get("value"));}}],["validate-digits",{errorMsg:Form.Validator.getMsg.pass("digits"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||(/^[\d() .:\-\+#]+$/.test(a.get("value")));}}],["validate-alpha",{errorMsg:Form.Validator.getMsg.pass("alpha"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||(/^[a-zA-Z]+$/).test(a.get("value"));}}],["validate-alphanum",{errorMsg:Form.Validator.getMsg.pass("alphanum"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||!(/\W/).test(a.get("value"));}}],["validate-date",{errorMsg:function(a,b){if(Date.parse){var c=b.dateFormat||"%x";return Form.Validator.getMsg("dateSuchAs").substitute({date:new Date().format(c)});}else{return Form.Validator.getMsg("dateInFormatMDY");}},test:function(a,b){if(Form.Validator.getValidator("IsEmpty").test(a)){return true;}var g;if(Date.parse){var f=b.dateFormat||"%x";g=Date.parse(a.get("value"));var e=g.format(f);if(e!="invalid date"){a.set("value",e);}return!isNaN(g);}else{var c=/^(\d{2})\/(\d{2})\/(\d{4})$/;if(!c.test(a.get("value"))){return false;}g=new Date(a.get("value").replace(c,"$1/$2/$3"));return(parseInt(RegExp.$1,10)==(1+g.getMonth()))&&(parseInt(RegExp.$2,10)==g.getDate())&&(parseInt(RegExp.$3,10)==g.getFullYear());}}}],["validate-email",{errorMsg:Form.Validator.getMsg.pass("email"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i).test(a.get("value"));}}],["validate-url",{errorMsg:Form.Validator.getMsg.pass("url"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||(/^(https?|ftp|rmtp|mms):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i).test(a.get("value"));}}],["validate-currency-dollar",{errorMsg:Form.Validator.getMsg.pass("currencyDollar"),test:function(a){return Form.Validator.getValidator("IsEmpty").test(a)||(/^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/).test(a.get("value"));}}],["validate-one-required",{errorMsg:Form.Validator.getMsg.pass("oneRequired"),test:function(a,b){var c=document.id(b["validate-one-required"])||a.getParent();return c.getElements("input").some(function(d){if(["checkbox","radio"].contains(d.get("type"))){return d.get("checked");}return d.get("value");});}}]]);Element.Properties.validator={set:function(a){var b=this.retrieve("validator");if(b){b.setOptions(a);}return this.store("validator:options");},get:function(a){if(a||!this.retrieve("validator")){if(a||!this.retrieve("validator:options")){this.set("validator",a);}this.store("validator",new Form.Validator(this,this.retrieve("validator:options")));}return this.retrieve("validator");}};Element.implement({validate:function(a){this.set("validator",a);return this.get("validator",a).validate();}});var FormValidator=Form.Validator;Form.Validator.Inline=new Class({Extends:Form.Validator,options:{scrollToErrorsOnSubmit:true,scrollFxOptions:{transition:"quad:out",offset:{y:-20}}},initialize:function(b,a){this.parent(b,a);this.addEvent("onElementValidate",function(g,f,e,h){var d=this.getValidator(e);if(!g&&d.getError(f)){if(h){f.addClass("warning");}var c=this.makeAdvice(e,f,d.getError(f),h);this.insertAdvice(c,f);this.showAdvice(e,f);}else{this.hideAdvice(e,f);}});},makeAdvice:function(d,f,c,g){var e=(g)?this.warningPrefix:this.errorPrefix;e+=(this.options.useTitles)?f.title||c:c;var a=(g)?"warning-advice":"validation-advice";var b=this.getAdvice(d,f);if(b){b=b.set("html",e);}else{b=new Element("div",{html:e,styles:{display:"none"},id:"advice-"+d+"-"+this.getFieldId(f)}).addClass(a);}f.store("advice-"+d,b);return b;},getFieldId:function(a){return a.id?a.id:a.id="input_"+a.name;},showAdvice:function(b,c){var a=this.getAdvice(b,c);if(a&&!c.retrieve(this.getPropName(b))&&(a.getStyle("display")=="none"||a.getStyle("visiblity")=="hidden"||a.getStyle("opacity")==0)){c.store(this.getPropName(b),true);if(a.reveal){a.reveal();}else{a.setStyle("display","block");}}},hideAdvice:function(b,c){var a=this.getAdvice(b,c);if(a&&c.retrieve(this.getPropName(b))){c.store(this.getPropName(b),false);if(a.dissolve){a.dissolve();}else{a.setStyle("display","none");}}},getPropName:function(a){return"advice"+a;},resetField:function(a){a=document.id(a);if(!a){return this;}this.parent(a);a.className.split(" ").each(function(b){this.hideAdvice(b,a);},this);return this;},getAllAdviceMessages:function(d,c){var b=[];if(d.hasClass("ignoreValidation")&&!c){return b;}var a=d.className.split(" ").some(function(g){var e=g.test("^warn-")||d.hasClass("warnOnly");if(e){g=g.replace(/^warn-/,"");}var f=this.getValidator(g);if(!f){return;}b.push({message:f.getError(d),warnOnly:e,passed:f.test(),validator:f});},this);return b;},getAdvice:function(a,b){return b.retrieve("advice-"+a);},insertAdvice:function(a,c){var b=c.get("validatorProps");if(!b.msgPos||!document.id(b.msgPos)){if(c.type.toLowerCase()=="radio"){c.getParent().adopt(a);}else{a.inject(document.id(c),"after");}}else{document.id(b.msgPos).grab(a);}},validateField:function(f,e){var a=this.parent(f,e);if(this.options.scrollToErrorsOnSubmit&&!a){var b=document.id(this).getElement(".validation-failed");var c=document.id(this).getParent();while(c!=document.body&&c.getScrollSize().y==c.getSize().y){c=c.getParent();}var d=c.retrieve("fvScroller");if(!d&&window.Fx&&Fx.Scroll){d=new Fx.Scroll(c,this.options.scrollFxOptions);c.store("fvScroller",d);}if(b){if(d){d.toElement(b);}else{c.scrollTo(c.getScroll().x,b.getPosition(c).y-20);}}}return a;}});Form.Validator.addAllThese([["validate-enforce-oncheck",{test:function(a,b){if(a.checked){var c=a.getParent("form").retrieve("validator");if(!c){return true;}(b.toEnforce||document.id(b.enforceChildrenOf).getElements("input, select, textarea")).map(function(d){c.enforceField(d);});}return true;}}],["validate-ignore-oncheck",{test:function(a,b){if(a.checked){var c=a.getParent("form").retrieve("validator");if(!c){return true;}(b.toIgnore||document.id(b.ignoreChildrenOf).getElements("input, select, textarea")).each(function(d){c.ignoreField(d);c.resetField(d);});}return true;}}],["validate-nospace",{errorMsg:function(){return Form.Validator.getMsg("noSpace");},test:function(a,b){return!a.get("value").test(/\s/);}}],["validate-toggle-oncheck",{test:function(b,c){var d=b.getParent("form").retrieve("validator");if(!d){return true;}var a=c.toToggle||document.id(c.toToggleChildrenOf).getElements("input, select, textarea");if(!b.checked){a.each(function(e){d.ignoreField(e);d.resetField(e);});}else{a.each(function(e){d.enforceField(e);});}return true;}}],["validate-reqchk-bynode",{errorMsg:function(){return Form.Validator.getMsg("reqChkByNode");},test:function(a,b){return(document.id(b.nodeId).getElements(b.selector||"input[type=checkbox], input[type=radio]")).some(function(c){return c.checked;});}}],["validate-required-check",{errorMsg:function(a,b){return b.useTitle?a.get("title"):Form.Validator.getMsg("requiredChk");},test:function(a,b){return!!a.checked;}}],["validate-reqchk-byname",{errorMsg:function(a,b){return Form.Validator.getMsg("reqChkByName").substitute({label:b.label||a.get("type")});},test:function(b,d){var c=d.groupName||b.get("name");var a=$$(document.getElementsByName(c)).some(function(g,f){return g.checked;});var e=b.getParent("form").retrieve("validator");if(a&&e){e.resetField(b);}return a;}}],["validate-match",{errorMsg:function(a,b){return Form.Validator.getMsg("match").substitute({matchName:b.matchName||document.id(b.matchInput).get("name")});},test:function(b,c){var d=b.get("value");var a=document.id(c.matchInput)&&document.id(c.matchInput).get("value");return d&&a?d==a:true;}}],["validate-after-date",{errorMsg:function(a,b){return Form.Validator.getMsg("afterDate").substitute({label:b.afterLabel||(b.afterElement?Form.Validator.getMsg("startDate"):Form.Validator.getMsg("currentDate"))});},test:function(b,c){var d=document.id(c.afterElement)?Date.parse(document.id(c.afterElement).get("value")):new Date();var a=Date.parse(b.get("value"));return a&&d?a>=d:true;}}],["validate-before-date",{errorMsg:function(a,b){return Form.Validator.getMsg("beforeDate").substitute({label:b.beforeLabel||(b.beforeElement?Form.Validator.getMsg("endDate"):Form.Validator.getMsg("currentDate"))});},test:function(b,c){var d=Date.parse(b.get("value"));var a=document.id(c.beforeElement)?Date.parse(document.id(c.beforeElement).get("value")):new Date();return a&&d?a>=d:true;}}],["validate-custom-required",{errorMsg:function(){return Form.Validator.getMsg("required");},test:function(a,b){return a.get("value")!=b.emptyValue;}}],["validate-same-month",{errorMsg:function(a,b){var c=document.id(b.sameMonthAs)&&document.id(b.sameMonthAs).get("value");var d=a.get("value");if(d!=""){return Form.Validator.getMsg(c?"sameMonth":"startMonth");}},test:function(a,b){var d=Date.parse(a.get("value"));var c=Date.parse(document.id(b.sameMonthAs)&&document.id(b.sameMonthAs).get("value"));return d&&c?d.format("%B")==c.format("%B"):true;}}],["validate-cc-num",{errorMsg:function(a){var b=a.get("value").ccNum.replace(/[^0-9]/g,"");return Form.Validator.getMsg("creditcard").substitute({length:b.length});},test:function(c){if(Form.Validator.getValidator("IsEmpty").test(c)){return true;}var g=c.get("value");g=g.replace(/[^0-9]/g,"");var a=false;if(g.test(/^4[0-9]{12}([0-9]{3})?$/)){a="Visa";}else{if(g.test(/^5[1-5]([0-9]{14})$/)){a="Master Card";}else{if(g.test(/^3[47][0-9]{13}$/)){a="American Express";}else{if(g.test(/^6011[0-9]{12}$/)){a="Discover";}}}}if(a){var d=0;var e=0;for(var b=g.length-1;b>=0;--b){e=g.charAt(b).toInt();if(e==0){continue;}if((g.length-b)%2==0){e+=e;}if(e>9){e=e.toString().charAt(0).toInt()+e.toString().charAt(1).toInt();}d+=e;}if((d%10)==0){return true;}}var f="";while(g!=""){f+=" "+g.substr(0,4);g=g.substr(4);}c.getParent("form").retrieve("validator").ignoreField(c);c.set("value",f.clean());c.getParent("form").retrieve("validator").enforceField(c);return false;}}]]);var OverText=new Class({Implements:[Options,Events,Class.Occlude],Binds:["reposition","assert","focus","hide"],options:{element:"label",positionOptions:{position:"upperLeft",edge:"upperLeft",offset:{x:4,y:2}},poll:false,pollInterval:250,wrap:false},property:"OverText",initialize:function(b,a){this.element=document.id(b);if(this.occlude()){return this.occluded;}this.setOptions(a);this.attach(this.element);OverText.instances.push(this);if(this.options.poll){this.poll();}return this;},toElement:function(){return this.element;},attach:function(){var a=this.options.textOverride||this.element.get("alt")||this.element.get("title");if(!a){return;}this.text=new Element(this.options.element,{"class":"overTxtLabel",styles:{lineHeight:"normal",position:"absolute",cursor:"text"},html:a,events:{click:this.hide.pass(this.options.element=="label",this)}}).inject(this.element,"after");if(this.options.element=="label"){if(!this.element.get("id")){this.element.set("id","input_"+new Date().getTime());}this.text.set("for",this.element.get("id"));}if(this.options.wrap){this.textHolder=new Element("div",{styles:{lineHeight:"normal",position:"relative"},"class":"overTxtWrapper"}).adopt(this.text).inject(this.element,"before");}this.element.addEvents({focus:this.focus,blur:this.assert,change:this.assert}).store("OverTextDiv",this.text);window.addEvent("resize",this.reposition.bind(this));this.assert(true);this.reposition();},wrap:function(){if(this.options.element=="label"){if(!this.element.get("id")){this.element.set("id","input_"+new Date().getTime());}this.text.set("for",this.element.get("id"));}},startPolling:function(){this.pollingPaused=false;return this.poll();},poll:function(a){if(this.poller&&!a){return this;}var b=function(){if(!this.pollingPaused){this.assert(true);}}.bind(this);if(a){$clear(this.poller);}else{this.poller=b.periodical(this.options.pollInterval,this);}return this;},stopPolling:function(){this.pollingPaused=true;return this.poll(true);},focus:function(){if(this.text&&(!this.text.isDisplayed()||this.element.get("disabled"))){return;}this.hide();},hide:function(c,a){if(this.text&&(this.text.isDisplayed()&&(!this.element.get("disabled")||a))){this.text.hide();this.fireEvent("textHide",[this.text,this.element]);this.pollingPaused=true;try{if(!c){this.element.fireEvent("focus");}this.element.focus();}catch(b){}}return this;},show:function(){if(this.text&&!this.text.isDisplayed()){this.text.show();this.reposition();this.fireEvent("textShow",[this.text,this.element]);this.pollingPaused=false;}return this;},assert:function(a){this[this.test()?"show":"hide"](a);},test:function(){var a=this.element.get("value");return!a;},reposition:function(){this.assert(true);if(!this.element.isVisible()){return this.stopPolling().hide();}if(this.text&&this.test()){this.text.position($merge(this.options.positionOptions,{relativeTo:this.element}));}return this;}});OverText.instances=[];$extend(OverText,{each:function(a){return OverText.instances.map(function(c,b){if(c.element&&c.text){return a.apply(OverText,[c,b]);}return null;});},update:function(){return OverText.each(function(a){return a.reposition();});},hideAll:function(){return OverText.each(function(a){return a.hide(true,true);});},showAll:function(){return OverText.each(function(a){return a.show();});}});if(window.Fx&&Fx.Reveal){Fx.Reveal.implement({hideInputs:Browser.Engine.trident?"select, input, textarea, object, embed, .overTxtLabel":false});}Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(b,a){this.elements=this.subject=$$(b);this.parent(a);},compute:function(g,h,j){var c={};for(var d in g){var a=g[d],e=h[d],f=c[d]={};for(var b in a){f[b]=this.parent(a[b],e[b],j);}}return c;},set:function(b){for(var c in b){var a=b[c];for(var d in a){this.render(this.elements[c],d,a[d],this.options.unit);}}return this;},start:function(c){if(!this.check(c)){return this;}var h={},j={};for(var d in c){var f=c[d],a=h[d]={},g=j[d]={};for(var b in f){var e=this.prepare(this.elements[d],b,f[b]);a[b]=e.from;g[b]=e.to;}}return this.parent(h,j);}});var Accordion=Fx.Accordion=new Class({Extends:Fx.Elements,options:{display:0,show:false,height:true,width:false,opacity:true,alwaysHide:false,trigger:"click",initialDisplayFx:true,returnHeightToAuto:true},initialize:function(){var c=Array.link(arguments,{container:Element.type,options:Object.type,togglers:$defined,elements:$defined});this.parent(c.elements,c.options);this.togglers=$$(c.togglers);this.container=document.id(c.container);this.previous=-1;this.internalChain=new Chain();if(this.options.alwaysHide){this.options.wait=true;}if($chk(this.options.show)){this.options.display=false;this.previous=this.options.show;}if(this.options.start){this.options.display=false;this.options.show=false;}this.effects={};if(this.options.opacity){this.effects.opacity="fullOpacity";}if(this.options.width){this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth";}if(this.options.height){this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight";}for(var b=0,a=this.togglers.length;b<a;b++){this.addSection(this.togglers[b],this.elements[b]);}this.elements.each(function(e,d){if(this.options.show===d){this.fireEvent("active",[this.togglers[d],e]);}else{for(var f in this.effects){e.setStyle(f,0);}}},this);if($chk(this.options.display)){this.display(this.options.display,this.options.initialDisplayFx);}this.addEvent("complete",this.internalChain.callChain.bind(this.internalChain));},addSection:function(e,c){e=document.id(e);c=document.id(c);var f=this.togglers.contains(e);this.togglers.include(e);this.elements.include(c);var a=this.togglers.indexOf(e);var b=this.display.bind(this,a);e.store("accordion:display",b);e.addEvent(this.options.trigger,b);if(this.options.height){c.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"});}if(this.options.width){c.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"});}c.fullOpacity=1;if(this.options.fixedWidth){c.fullWidth=this.options.fixedWidth;}if(this.options.fixedHeight){c.fullHeight=this.options.fixedHeight;}c.setStyle("overflow","hidden");if(!f){for(var d in this.effects){c.setStyle(d,0);}}return this;},detach:function(){this.togglers.each(function(a){a.removeEvent(this.options.trigger,a.retrieve("accordion:display"));},this);},display:function(a,b){if(!this.check(a,b)){return this;}b=$pick(b,true);if(this.options.returnHeightToAuto){var d=this.elements[this.previous];if(d&&!this.selfHidden){for(var c in this.effects){d.setStyle(c,d[this.effects[c]]);}}}a=($type(a)=="element")?this.elements.indexOf(a):a;if((this.timer&&this.options.wait)||(a===this.previous&&!this.options.alwaysHide)){return this;}this.previous=a;var e={};this.elements.each(function(h,g){e[g]={};var f;if(g!=a){f=true;}else{if(this.options.alwaysHide&&((h.offsetHeight>0&&this.options.height)||h.offsetWidth>0&&this.options.width)){f=true;this.selfHidden=true;}}this.fireEvent(f?"background":"active",[this.togglers[g],h]);for(var j in this.effects){e[g][j]=f?0:h[this.effects[j]];}},this);this.internalChain.chain(function(){if(this.options.returnHeightToAuto&&!this.selfHidden){var f=this.elements[a];if(f){f.setStyle("height","auto");}}}.bind(this));return b?this.start(e):this.set(e);}});Fx.Move=new Class({Extends:Fx.Morph,options:{relativeTo:document.body,position:"center",edge:false,offset:{x:0,y:0}},start:function(a){return this.parent(this.element.position($merge(this.options,a,{returnPos:true})));}});Element.Properties.move={set:function(a){var b=this.retrieve("move");if(b){b.cancel();}return this.eliminate("move").store("move:options",$extend({link:"cancel"},a));},get:function(a){if(a||!this.retrieve("move")){if(a||!this.retrieve("move:options")){this.set("move",a);}this.store("move",new Fx.Move(this,this.retrieve("move:options")));}return this.retrieve("move");}};Element.implement({move:function(a){this.get("move").start(a);return this;}});Fx.Reveal=new Class({Extends:Fx.Morph,options:{link:"cancel",styles:["padding","border","margin"],transitionOpacity:!Browser.Engine.trident4,mode:"vertical",display:"block",hideInputs:Browser.Engine.trident?"select, input, textarea, object, embed":false},dissolve:function(){try{if(!this.hiding&&!this.showing){if(this.element.getStyle("display")!="none"){this.hiding=true;this.showing=false;this.hidden=true;this.cssText=this.element.style.cssText;var d=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode});this.element.setStyle("display","block");if(this.options.transitionOpacity){d.opacity=1;}var b={};$each(d,function(f,e){b[e]=[f,0];},this);this.element.setStyle("overflow","hidden");var a=this.options.hideInputs?this.element.getElements(this.options.hideInputs):null;this.$chain.unshift(function(){if(this.hidden){this.hiding=false;$each(d,function(f,e){d[e]=f;},this);this.element.style.cssText=this.cssText;this.element.setStyle("display","none");if(a){a.setStyle("visibility","visible");}}this.fireEvent("hide",this.element);this.callChain();}.bind(this));if(a){a.setStyle("visibility","hidden");}this.start(b);}else{this.callChain.delay(10,this);this.fireEvent("complete",this.element);this.fireEvent("hide",this.element);}}else{if(this.options.link=="chain"){this.chain(this.dissolve.bind(this));}else{if(this.options.link=="cancel"&&!this.hiding){this.cancel();this.dissolve();}}}}catch(c){this.hiding=false;this.element.setStyle("display","none");this.callChain.delay(10,this);this.fireEvent("complete",this.element);this.fireEvent("hide",this.element);}return this;},reveal:function(){try{if(!this.showing&&!this.hiding){if(this.element.getStyle("display")=="none"||this.element.getStyle("visiblity")=="hidden"||this.element.getStyle("opacity")==0){this.showing=true;this.hiding=this.hidden=false;var d;this.cssText=this.element.style.cssText;this.element.measure(function(){d=this.element.getComputedSize({styles:this.options.styles,mode:this.options.mode});}.bind(this));$each(d,function(f,e){d[e]=f;});if($chk(this.options.heightOverride)){d.height=this.options.heightOverride.toInt();}if($chk(this.options.widthOverride)){d.width=this.options.widthOverride.toInt();}if(this.options.transitionOpacity){this.element.setStyle("opacity",0);d.opacity=1;}var b={height:0,display:this.options.display};$each(d,function(f,e){b[e]=0;});this.element.setStyles($merge(b,{overflow:"hidden"}));var a=this.options.hideInputs?this.element.getElements(this.options.hideInputs):null;if(a){a.setStyle("visibility","hidden");}this.start(d);this.$chain.unshift(function(){this.element.style.cssText=this.cssText;this.element.setStyle("display",this.options.display);if(!this.hidden){this.showing=false;}if(a){a.setStyle("visibility","visible");}this.callChain();this.fireEvent("show",this.element);}.bind(this));}else{this.callChain();this.fireEvent("complete",this.element);this.fireEvent("show",this.element);}}else{if(this.options.link=="chain"){this.chain(this.reveal.bind(this));}else{if(this.options.link=="cancel"&&!this.showing){this.cancel();this.reveal();}}}}catch(c){this.element.setStyles({display:this.options.display,visiblity:"visible",opacity:1});this.showing=false;this.callChain.delay(10,this);this.fireEvent("complete",this.element);this.fireEvent("show",this.element);}return this;},toggle:function(){if(this.element.getStyle("display")=="none"||this.element.getStyle("visiblity")=="hidden"||this.element.getStyle("opacity")==0){this.reveal();}else{this.dissolve();}return this;},cancel:function(){this.parent.apply(this,arguments);this.element.style.cssText=this.cssText;this.hidding=false;this.showing=false;}});Element.Properties.reveal={set:function(a){var b=this.retrieve("reveal");if(b){b.cancel();}return this.eliminate("reveal").store("reveal:options",a);},get:function(a){if(a||!this.retrieve("reveal")){if(a||!this.retrieve("reveal:options")){this.set("reveal",a);}this.store("reveal",new Fx.Reveal(this,this.retrieve("reveal:options")));}return this.retrieve("reveal");}};Element.Properties.dissolve=Element.Properties.reveal;Element.implement({reveal:function(a){this.get("reveal",a).reveal();return this;},dissolve:function(a){this.get("reveal",a).dissolve();return this;},nix:function(){var a=Array.link(arguments,{destroy:Boolean.type,options:Object.type});this.get("reveal",a.options).dissolve().chain(function(){this[a.destroy?"destroy":"dispose"]();}.bind(this));return this;},wink:function(){var b=Array.link(arguments,{duration:Number.type,options:Object.type});var a=this.get("reveal",b.options);a.reveal().chain(function(){(function(){a.dissolve();}).delay(b.duration||2000);});}});Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:true},initialize:function(b,a){this.element=this.subject=document.id(b);this.parent(a);var d=this.cancel.bind(this,false);if($type(this.element)!="element"){this.element=document.id(this.element.getDocument().body);}var c=this.element;if(this.options.wheelStops){this.addEvent("start",function(){c.addEvent("mousewheel",d);},true);this.addEvent("complete",function(){c.removeEvent("mousewheel",d);},true);}},set:function(){var a=Array.flatten(arguments);if(Browser.Engine.gecko){a=[Math.round(a[0]),Math.round(a[1])];}this.element.scrollTo(a[0],a[1]);},compute:function(c,b,a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a);});},start:function(c,g){if(!this.check(c,g)){return this;}var e=this.element.getScrollSize(),b=this.element.getScroll(),d={x:c,y:g};for(var f in d){var a=e[f];if($chk(d[f])){d[f]=($type(d[f])=="number")?d[f]:a;}else{d[f]=b[f];}d[f]+=this.options.offset[f];}return this.parent([b.x,b.y],[d.x,d.y]);},toTop:function(){return this.start(false,0);},toLeft:function(){return this.start(0,false);},toRight:function(){return this.start("right",false);},toBottom:function(){return this.start(false,"bottom");},toElement:function(b){var a=document.id(b).getPosition(this.element);return this.start(a.x,a.y);},scrollIntoView:function(c,e,d){e=e?$splat(e):["x","y"];var h={};c=document.id(c);var f=c.getPosition(this.element);var i=c.getSize();var g=this.element.getScroll();var a=this.element.getSize();var b={x:f.x+i.x,y:f.y+i.y};["x","y"].each(function(j){if(e.contains(j)){if(b[j]>g[j]+a[j]){h[j]=b[j]-a[j];}if(f[j]<g[j]){h[j]=f[j];}}if(h[j]==null){h[j]=g[j];}if(d&&d[j]){h[j]=h[j]+d[j];}},this);if(h.x!=g.x||h.y!=g.y){this.start(h.x,h.y);}return this;},scrollToCenter:function(c,e,d){e=e?$splat(e):["x","y"];c=$(c);var h={},f=c.getPosition(this.element),i=c.getSize(),g=this.element.getScroll(),a=this.element.getSize(),b={x:f.x+i.x,y:f.y+i.y};["x","y"].each(function(j){if(e.contains(j)){h[j]=f[j]-(a[j]-i[j])/2;}if(h[j]==null){h[j]=g[j];}if(d&&d[j]){h[j]=h[j]+d[j];}},this);if(h.x!=g.x||h.y!=g.y){this.start(h.x,h.y);}return this;}});Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical",hideOverflow:true},initialize:function(b,a){this.addEvent("complete",function(){this.open=(this.wrapper["offset"+this.layout.capitalize()]!=0);if(this.open&&Browser.Engine.webkit419){this.element.dispose().inject(this.wrapper);}},true);this.element=this.subject=document.id(b);this.parent(a);var d=this.element.retrieve("wrapper");var c=this.element.getStyles("margin","position","overflow");if(this.options.hideOverflow){c=$extend(c,{overflow:"hidden"});}this.wrapper=d||new Element("div",{styles:c}).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);this.now=[];this.open=true;},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight;},horizontal:function(){this.margin="margin-left";this.layout="width";this.offset=this.element.offsetWidth;},set:function(a){this.element.setStyle(this.margin,a[0]);this.wrapper.setStyle(this.layout,a[1]);return this;},compute:function(c,b,a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a);});},start:function(b,e){if(!this.check(b,e)){return this;}this[e||this.options.mode]();var d=this.element.getStyle(this.margin).toInt();var c=this.wrapper.getStyle(this.layout).toInt();var a=[[d,c],[0,this.offset]];var g=[[d,c],[-this.offset,0]];var f;switch(b){case"in":f=a;break;case"out":f=g;break;case"toggle":f=(c==0)?a:g;}return this.parent(f[0],f[1]);},slideIn:function(a){return this.start("in",a);},slideOut:function(a){return this.start("out",a);},hide:function(a){this[a||this.options.mode]();this.open=false;return this.set([-this.offset,0]);},show:function(a){this[a||this.options.mode]();this.open=true;return this.set([0,this.offset]);},toggle:function(a){return this.start("toggle",a);}});Element.Properties.slide={set:function(b){var a=this.retrieve("slide");if(a){a.cancel();}return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},b));},get:function(a){if(a||!this.retrieve("slide")){if(a||!this.retrieve("slide:options")){this.set("slide",a);}this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")));}return this.retrieve("slide");}};Element.implement({slide:function(d,e){d=d||"toggle";var b=this.get("slide"),a;switch(d){case"hide":b.hide(e);break;case"show":b.show(e);break;case"toggle":var c=this.retrieve("slide:flag",b.open);b[c?"slideOut":"slideIn"](e);this.store("slide:flag",!c);a=true;break;default:b.start(d,e);}if(!a){this.eliminate("slide:flag");}return this;}});var SmoothScroll=Fx.SmoothScroll=new Class({Extends:Fx.Scroll,initialize:function(b,c){c=c||document;this.doc=c.getDocument();var d=c.getWindow();this.parent(this.doc,b);this.links=$$(this.options.links||this.doc.links);var a=d.location.href.match(/^[^#]*/)[0]+"#";this.links.each(function(f){if(f.href.indexOf(a)!=0){return;}var e=f.href.substr(a.length);if(e){this.useLink(f,e);}},this);if(!Browser.Engine.webkit419){this.addEvent("complete",function(){d.location.hash=this.anchor;},true);}},useLink:function(c,a){var b;c.addEvent("click",function(d){if(b!==false&&!b){b=document.id(a)||this.doc.getElement("a[name="+a+"]");}if(b){d.preventDefault();this.anchor=a;this.toElement(b).chain(function(){this.fireEvent("scrolledTo",[c,b]);}.bind(this));c.blur();}}.bind(this));}});Fx.Sort=new Class({Extends:Fx.Elements,options:{mode:"vertical"},initialize:function(b,a){this.parent(b,a);this.elements.each(function(c){if(c.getStyle("position")=="static"){c.setStyle("position","relative");}});this.setDefaultOrder();},setDefaultOrder:function(){this.currentOrder=this.elements.map(function(b,a){return a;});},sort:function(e){if($type(e)!="array"){return false;}var i=0,a=0,c={},h={},d=this.options.mode=="vertical";var f=this.elements.map(function(m,j){var l=m.getComputedSize({styles:["border","padding","margin"]});var n;if(d){n={top:i,margin:l["margin-top"],height:l.totalHeight};i+=n.height-l["margin-top"];}else{n={left:a,margin:l["margin-left"],width:l.totalWidth};a+=n.width;}var k=d?"top":"left";h[j]={};var o=m.getStyle(k).toInt();h[j][k]=o||0;return n;},this);this.set(h);e=e.map(function(j){return j.toInt();});if(e.length!=this.elements.length){this.currentOrder.each(function(j){if(!e.contains(j)){e.push(j);}});if(e.length>this.elements.length){e.splice(this.elements.length-1,e.length-this.elements.length);}}var b=i=a=0;e.each(function(l,j){var k={};if(d){k.top=i-f[l].top-b;i+=f[l].height;}else{k.left=a-f[l].left;a+=f[l].width;}b=b+f[l].margin;c[l]=k;},this);var g={};$A(e).sort().each(function(j){g[j]=c[j];});this.start(g);this.currentOrder=e;return this;},rearrangeDOM:function(a){a=a||this.currentOrder;var b=this.elements[0].getParent();var c=[];this.elements.setStyle("opacity",0);a.each(function(d){c.push(this.elements[d].inject(b).setStyles({top:0,left:0}));},this);this.elements.setStyle("opacity",1);this.elements=$$(c);this.setDefaultOrder();return this;},getDefaultOrder:function(){return this.elements.map(function(b,a){return a;});},forward:function(){return this.sort(this.getDefaultOrder());},backward:function(){return this.sort(this.getDefaultOrder().reverse());},reverse:function(){return this.sort(this.currentOrder.reverse());},sortByElements:function(a){return this.sort(a.map(function(b){return this.elements.indexOf(b);},this));},swap:function(c,b){if($type(c)=="element"){c=this.elements.indexOf(c);}if($type(b)=="element"){b=this.elements.indexOf(b);}var a=$A(this.currentOrder);a[this.currentOrder.indexOf(c)]=b;a[this.currentOrder.indexOf(b)]=c;return this.sort(a);}});var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:false,style:true,limit:false,handle:false,invert:false,preventDefault:false,stopPropagation:false,modifiers:{x:"left",y:"top"}},initialize:function(){var b=Array.link(arguments,{options:Object.type,element:$defined});this.element=document.id(b.element);this.document=this.element.getDocument();this.setOptions(b.options||{});var a=$type(this.options.handle);this.handles=((a=="array"||a=="collection")?$$(this.options.handle):document.id(this.options.handle))||this.element;this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=(Browser.Engine.trident)?"selectstart":"mousedown";this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:$lambda(false)};this.attach();},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this;},detach:function(){this.handles.removeEvent("mousedown",this.bound.start);return this;},start:function(c){if(c.rightClick){return;}if(this.options.preventDefault){c.preventDefault();}if(this.options.stopPropagation){c.stopPropagation();}this.mouse.start=c.page;this.fireEvent("beforeStart",this.element);var a=this.options.limit;this.limit={x:[],y:[]};for(var d in this.options.modifiers){if(!this.options.modifiers[d]){continue;}if(this.options.style){this.value.now[d]=this.element.getStyle(this.options.modifiers[d]).toInt();}else{this.value.now[d]=this.element[this.options.modifiers[d]];}if(this.options.invert){this.value.now[d]*=-1;}this.mouse.pos[d]=c.page[d]-this.value.now[d];if(a&&a[d]){for(var b=2;b--;b){if($chk(a[d][b])){this.limit[d][b]=$lambda(a[d][b])();}}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid};}this.document.addEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});this.document.addEvent(this.selection,this.bound.eventStop);},check:function(a){if(this.options.preventDefault){a.preventDefault();}var b=Math.round(Math.sqrt(Math.pow(a.page.x-this.mouse.start.x,2)+Math.pow(a.page.y-this.mouse.start.y,2)));if(b>this.options.snap){this.cancel();this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop});this.fireEvent("start",[this.element,a]).fireEvent("snap",this.element);}},drag:function(a){if(this.options.preventDefault){a.preventDefault();}this.mouse.now=a.page;for(var b in this.options.modifiers){if(!this.options.modifiers[b]){continue;}this.value.now[b]=this.mouse.now[b]-this.mouse.pos[b];if(this.options.invert){this.value.now[b]*=-1;}if(this.options.limit&&this.limit[b]){if($chk(this.limit[b][1])&&(this.value.now[b]>this.limit[b][1])){this.value.now[b]=this.limit[b][1];}else{if($chk(this.limit[b][0])&&(this.value.now[b]<this.limit[b][0])){this.value.now[b]=this.limit[b][0];}}}if(this.options.grid[b]){this.value.now[b]-=((this.value.now[b]-(this.limit[b][0]||0))%this.options.grid[b]);}if(this.options.style){this.element.setStyle(this.options.modifiers[b],this.value.now[b]+this.options.unit);}else{this.element[this.options.modifiers[b]]=this.value.now[b];}}this.fireEvent("drag",[this.element,a]);},cancel:function(a){this.document.removeEvent("mousemove",this.bound.check);this.document.removeEvent("mouseup",this.bound.cancel);if(a){this.document.removeEvent(this.selection,this.bound.eventStop);this.fireEvent("cancel",this.element);}},stop:function(a){this.document.removeEvent(this.selection,this.bound.eventStop);this.document.removeEvent("mousemove",this.bound.drag);this.document.removeEvent("mouseup",this.bound.stop);if(a){this.fireEvent("complete",[this.element,a]);}}});Element.implement({makeResizable:function(a){var b=new Drag(this,$merge({modifiers:{x:"width",y:"height"}},a));this.store("resizer",b);return b.addEvent("drag",function(){this.fireEvent("resize",b);}.bind(this));}});Drag.Move=new Class({Extends:Drag,options:{droppables:[],container:false,precalculate:false,includeMargins:true,checkDroppables:true},initialize:function(b,a){this.parent(b,a);b=this.element;this.droppables=$$(this.options.droppables);this.container=document.id(this.options.container);if(this.container&&$type(this.container)!="element"){this.container=document.id(this.container.getDocument().body);}var c=b.getStyles("left","right","position");if(c.left=="auto"||c.top=="auto"){b.setPosition(b.getPosition(b.getOffsetParent()));}if(c.position=="static"){b.setStyle("position","absolute");}this.addEvent("start",this.checkDroppables,true);this.overed=null;},start:function(a){if(this.container){this.options.limit=this.calculateLimit();}if(this.options.precalculate){this.positions=this.droppables.map(function(b){return b.getCoordinates();});}this.parent(a);},calculateLimit:function(){var d=this.element.getOffsetParent(),g=this.container.getCoordinates(d),f={},c={},b={},i={},k={};["top","right","bottom","left"].each(function(o){f[o]=this.container.getStyle("border-"+o).toInt();b[o]=this.element.getStyle("border-"+o).toInt();c[o]=this.element.getStyle("margin-"+o).toInt();i[o]=this.container.getStyle("margin-"+o).toInt();k[o]=d.getStyle("padding-"+o).toInt();},this);var e=this.element.offsetWidth+c.left+c.right,n=this.element.offsetHeight+c.top+c.bottom,h=0,j=0,m=g.right-f.right-e,a=g.bottom-f.bottom-n;if(this.options.includeMargins){h+=c.left;j+=c.top;}else{m+=c.right;a+=c.bottom;}if(this.element.getStyle("position")=="relative"){var l=this.element.getCoordinates(d);l.left-=this.element.getStyle("left").toInt();l.top-=this.element.getStyle("top").toInt();h+=f.left-l.left;j+=f.top-l.top;m+=c.left-l.left;a+=c.top-l.top;if(this.container!=d){h+=i.left+k.left;j+=(Browser.Engine.trident4?0:i.top)+k.top;}}else{h-=c.left;j-=c.top;if(this.container==d){m-=f.left;a-=f.top;}else{h+=g.left+f.left;j+=g.top+f.top;}}return{x:[h,m],y:[j,a]};},checkAgainst:function(c,b){c=(this.positions)?this.positions[b]:c.getCoordinates();var a=this.mouse.now;return(a.x>c.left&&a.x<c.right&&a.y<c.bottom&&a.y>c.top);},checkDroppables:function(){var a=this.droppables.filter(this.checkAgainst,this).getLast();if(this.overed!=a){if(this.overed){this.fireEvent("leave",[this.element,this.overed]);}if(a){this.fireEvent("enter",[this.element,a]);}this.overed=a;}},drag:function(a){this.parent(a);if(this.options.checkDroppables&&this.droppables.length){this.checkDroppables();}},stop:function(a){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed,a]);this.overed=null;return this.parent(a);}});Element.implement({makeDraggable:function(a){var b=new Drag.Move(this,a);this.store("dragger",b);return b;}});var Slider=new Class({Implements:[Events,Options],Binds:["clickedElement","draggedKnob","scrolledElement"],options:{onTick:function(a){if(this.options.snap){a=this.toPosition(this.step);}this.knob.setStyle(this.property,a);},initialStep:0,snap:false,offset:0,range:false,wheel:false,steps:100,mode:"horizontal"},initialize:function(f,a,e){this.setOptions(e);this.element=document.id(f);this.knob=document.id(a);this.previousChange=this.previousEnd=this.step=-1;var g,b={},d={x:false,y:false};switch(this.options.mode){case"vertical":this.axis="y";this.property="top";g="offsetHeight";break;case"horizontal":this.axis="x";this.property="left";g="offsetWidth";}this.full=this.element.measure(function(){this.half=this.knob[g]/2;return this.element[g]-this.knob[g]+(this.options.offset*2);}.bind(this));this.min=$chk(this.options.range[0])?this.options.range[0]:0;this.max=$chk(this.options.range[1])?this.options.range[1]:this.options.steps;this.range=this.max-this.min;this.steps=this.options.steps||this.full;this.stepSize=Math.abs(this.range)/this.steps;this.stepWidth=this.stepSize*this.full/Math.abs(this.range);this.knob.setStyle("position","relative").setStyle(this.property,this.options.initialStep?this.toPosition(this.options.initialStep):-this.options.offset);d[this.axis]=this.property;b[this.axis]=[-this.options.offset,this.full-this.options.offset];var c={snap:0,limit:b,modifiers:d,onDrag:this.draggedKnob,onStart:this.draggedKnob,onBeforeStart:(function(){this.isDragging=true;}).bind(this),onCancel:function(){this.isDragging=false;}.bind(this),onComplete:function(){this.isDragging=false;this.draggedKnob();this.end();}.bind(this)};if(this.options.snap){c.grid=Math.ceil(this.stepWidth);c.limit[this.axis][1]=this.full;}this.drag=new Drag(this.knob,c);this.attach();},attach:function(){this.element.addEvent("mousedown",this.clickedElement);if(this.options.wheel){this.element.addEvent("mousewheel",this.scrolledElement);}this.drag.attach();return this;},detach:function(){this.element.removeEvent("mousedown",this.clickedElement);this.element.removeEvent("mousewheel",this.scrolledElement);this.drag.detach();return this;},set:function(a){if(!((this.range>0)^(a<this.min))){a=this.min;}if(!((this.range>0)^(a>this.max))){a=this.max;}this.step=Math.round(a);this.checkStep();this.fireEvent("tick",this.toPosition(this.step));this.end();return this;},clickedElement:function(c){if(this.isDragging||c.target==this.knob){return;}var b=this.range<0?-1:1;var a=c.page[this.axis]-this.element.getPosition()[this.axis]-this.half;a=a.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+b*this.toStep(a));this.checkStep();this.fireEvent("tick",a);this.end();},scrolledElement:function(a){var b=(this.options.mode=="horizontal")?(a.wheel<0):(a.wheel>0);this.set(b?this.step-this.stepSize:this.step+this.stepSize);a.stop();},draggedKnob:function(){var b=this.range<0?-1:1;var a=this.drag.value.now[this.axis];a=a.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+b*this.toStep(a));this.checkStep();},checkStep:function(){if(this.previousChange!=this.step){this.previousChange=this.step;this.fireEvent("change",this.step);}},end:function(){if(this.previousEnd!==this.step){this.previousEnd=this.step;this.fireEvent("complete",this.step+"");}},toStep:function(a){var b=(a+this.options.offset)*this.stepSize/this.full*this.steps;return this.options.steps?Math.round(b-=b%this.stepSize):b;},toPosition:function(a){return(this.full*Math.abs(this.min-a))/(this.steps*this.stepSize)-this.options.offset;}});var Sortables=new Class({Implements:[Events,Options],options:{snap:4,opacity:1,clone:false,revert:false,handle:false,constrain:false},initialize:function(a,b){this.setOptions(b);this.elements=[];this.lists=[];this.idle=true;this.addLists($$(document.id(a)||a));if(!this.options.clone){this.options.revert=false;}if(this.options.revert){this.effect=new Fx.Morph(null,$merge({duration:250,link:"cancel"},this.options.revert));}},attach:function(){this.addLists(this.lists);return this;},detach:function(){this.lists=this.removeLists(this.lists);return this;},addItems:function(){Array.flatten(arguments).each(function(a){this.elements.push(a);var b=a.retrieve("sortables:start",this.start.bindWithEvent(this,a));(this.options.handle?a.getElement(this.options.handle)||a:a).addEvent("mousedown",b);},this);return this;},addLists:function(){Array.flatten(arguments).each(function(a){this.lists.push(a);this.addItems(a.getChildren());},this);return this;},removeItems:function(){return $$(Array.flatten(arguments).map(function(a){this.elements.erase(a);var b=a.retrieve("sortables:start");(this.options.handle?a.getElement(this.options.handle)||a:a).removeEvent("mousedown",b);return a;},this));},removeLists:function(){return $$(Array.flatten(arguments).map(function(a){this.lists.erase(a);this.removeItems(a.getChildren());return a;},this));},getClone:function(b,a){if(!this.options.clone){return new Element("div").inject(document.body);}if($type(this.options.clone)=="function"){return this.options.clone.call(this,b,a,this.list);}return a.clone(true).setStyles({margin:"0px",position:"absolute",visibility:"hidden",width:a.getStyle("width")}).inject(this.list).setPosition(a.getPosition(a.getOffsetParent()));},getDroppables:function(){var a=this.list.getChildren();if(!this.options.constrain){a=this.lists.concat(a).erase(this.list);}return a.erase(this.clone).erase(this.element);},insert:function(c,b){var a="inside";if(this.lists.contains(b)){this.list=b;this.drag.droppables=this.getDroppables();}else{a=this.element.getAllPrevious().contains(b)?"before":"after";}this.element.inject(b,a);this.fireEvent("sort",[this.element,this.clone]);},start:function(b,a){if(!this.idle){return;}this.idle=false;this.element=a;this.opacity=a.get("opacity");this.list=a.getParent();this.clone=this.getClone(b,a);this.drag=new Drag.Move(this.clone,{snap:this.options.snap,container:this.options.constrain&&this.element.getParent(),droppables:this.getDroppables(),onSnap:function(){b.stop();this.clone.setStyle("visibility","visible");this.element.set("opacity",this.options.opacity||0);this.fireEvent("start",[this.element,this.clone]);}.bind(this),onEnter:this.insert.bind(this),onCancel:this.reset.bind(this),onComplete:this.end.bind(this)});this.clone.inject(this.element,"before");this.drag.start(b);},end:function(){this.drag.detach();this.element.set("opacity",this.opacity);if(this.effect){var a=this.element.getStyles("width","height");var b=this.clone.computePosition(this.element.getPosition(this.clone.offsetParent));this.effect.element=this.clone;this.effect.start({top:b.top,left:b.left,width:a.width,height:a.height,opacity:0.25}).chain(this.reset.bind(this));}else{this.reset();}},reset:function(){this.idle=true;this.clone.destroy();this.fireEvent("complete",this.element);},serialize:function(){var c=Array.link(arguments,{modifier:Function.type,index:$defined});var b=this.lists.map(function(d){return d.getChildren().map(c.modifier||function(e){return e.get("id");},this);},this);var a=c.index;if(this.lists.length==1){a=0;}return $chk(a)&&a>=0&&a<this.lists.length?b[a]:b;}});Request.JSONP=new Class({Implements:[Chain,Events,Options,Log],options:{url:"",data:{},retries:0,timeout:0,link:"ignore",callbackKey:"callback",injectScript:document.head},initialize:function(a){this.setOptions(a);if(this.options.log){this.enableLog();}this.running=false;this.requests=0;this.triesRemaining=[];},check:function(){if(!this.running){return true;}switch(this.options.link){case"cancel":this.cancel();return true;case"chain":this.chain(this.caller.bind(this,arguments));return false;}return false;},send:function(c){if(!$chk(arguments[1])&&!this.check(c)){return this;}var e=$type(c),a=this.options,b=$chk(arguments[1])?arguments[1]:this.requests++;if(e=="string"||e=="element"){c={data:c};}c=$extend({data:a.data,url:a.url},c);if(!$chk(this.triesRemaining[b])){this.triesRemaining[b]=this.options.retries;}var d=this.triesRemaining[b];(function(){var f=this.getScript(c);this.log("JSONP retrieving script with url: "+f.get("src"));this.fireEvent("request",f);this.running=true;(function(){if(d){this.triesRemaining[b]=d-1;if(f){f.destroy();this.send(c,b).fireEvent("retry",this.triesRemaining[b]);}}else{if(f&&this.options.timeout){f.destroy();this.cancel().fireEvent("failure");}}}).delay(this.options.timeout,this);}).delay(Browser.Engine.trident?50:0,this);return this;},cancel:function(){if(!this.running){return this;}this.running=false;this.fireEvent("cancel");return this;},getScript:function(c){var b=Request.JSONP.counter,d;Request.JSONP.counter++;switch($type(c.data)){case"element":d=document.id(c.data).toQueryString();break;case"object":case"hash":d=Hash.toQueryString(c.data);}var e=c.url+(c.url.test("\\?")?"&":"?")+(c.callbackKey||this.options.callbackKey)+"=Request.JSONP.request_map.request_"+b+(d?"&"+d:"");if(e.length>2083){this.log("JSONP "+e+" will fail in Internet Explorer, which enforces a 2083 bytes length limit on URIs");}var a=new Element("script",{type:"text/javascript",src:e});Request.JSONP.request_map["request_"+b]=function(f){this.success(f,a);}.bind(this);return a.inject(this.options.injectScript);},success:function(b,a){if(a){a.destroy();}this.running=false;this.log("JSONP successfully retrieved: ",b);this.fireEvent("complete",[b]).fireEvent("success",[b]).callChain();}});Request.JSONP.counter=0;Request.JSONP.request_map={};Request.Queue=new Class({Implements:[Options,Events],Binds:["attach","request","complete","cancel","success","failure","exception"],options:{stopOnFailure:true,autoAdvance:true,concurrent:1,requests:{}},initialize:function(a){if(a){var b=a.requests;delete a.requests;}this.setOptions(a);this.requests=new Hash;this.queue=[];this.reqBinders={};if(b){this.addRequests(b);}},addRequest:function(a,b){this.requests.set(a,b);this.attach(a,b);return this;},addRequests:function(a){$each(a,function(c,b){this.addRequest(b,c);},this);return this;},getName:function(a){return this.requests.keyOf(a);},attach:function(a,b){if(b._groupSend){return this;}["request","complete","cancel","success","failure","exception"].each(function(c){if(!this.reqBinders[a]){this.reqBinders[a]={};}this.reqBinders[a][c]=function(){this["on"+c.capitalize()].apply(this,[a,b].extend(arguments));}.bind(this);b.addEvent(c,this.reqBinders[a][c]);},this);b._groupSend=b.send;b.send=function(c){this.send(a,c);return b;}.bind(this);return this;},removeRequest:function(b){var a=$type(b)=="object"?this.getName(b):b;if(!a&&$type(a)!="string"){return this;}b=this.requests.get(a);if(!b){return this;}["request","complete","cancel","success","failure","exception"].each(function(c){b.removeEvent(c,this.reqBinders[a][c]);},this);b.send=b._groupSend;delete b._groupSend;return this;},getRunning:function(){return this.requests.filter(function(a){return a.running;});},isRunning:function(){return!!(this.getRunning().getKeys().length);},send:function(b,a){var c=function(){this.requests.get(b)._groupSend(a);this.queue.erase(c);}.bind(this);c.name=b;if(this.getRunning().getKeys().length>=this.options.concurrent||(this.error&&this.options.stopOnFailure)){this.queue.push(c);}else{c();}return this;},hasNext:function(a){return(!a)?!!this.queue.length:!!this.queue.filter(function(b){return b.name==a;}).length;},resume:function(){this.error=false;(this.options.concurrent-this.getRunning().getKeys().length).times(this.runNext,this);return this;},runNext:function(a){if(!this.queue.length){return this;}if(!a){this.queue[0]();}else{var b;this.queue.each(function(c){if(!b&&c.name==a){b=true;c();}});}return this;},runAll:function(){this.queue.each(function(a){a();});return this;},clear:function(a){if(!a){this.queue.empty();}else{this.queue=this.queue.map(function(b){if(b.name!=a){return b;}else{return false;}}).filter(function(b){return b;});}return this;},cancel:function(a){this.requests.get(a).cancel();return this;},onRequest:function(){this.fireEvent("request",arguments);},onComplete:function(){this.fireEvent("complete",arguments);if(!this.queue.length){this.fireEvent("end");}},onCancel:function(){if(this.options.autoAdvance&&!this.error){this.runNext();}this.fireEvent("cancel",arguments);},onSuccess:function(){if(this.options.autoAdvance&&!this.error){this.runNext();}this.fireEvent("success",arguments);},onFailure:function(){this.error=true;if(!this.options.stopOnFailure&&this.options.autoAdvance){this.runNext();}this.fireEvent("failure",arguments);},onException:function(){this.error=true;if(!this.options.stopOnFailure&&this.options.autoAdvance){this.runNext();}this.fireEvent("exception",arguments);}});Request.implement({options:{initialDelay:5000,delay:5000,limit:60000},startTimer:function(b){var a=function(){if(!this.running){this.send({data:b});}};this.timer=a.delay(this.options.initialDelay,this);this.lastDelay=this.options.initialDelay;this.completeCheck=function(c){$clear(this.timer);this.lastDelay=(c)?this.options.delay:(this.lastDelay+this.options.delay).min(this.options.limit);this.timer=a.delay(this.lastDelay,this);};return this.addEvent("complete",this.completeCheck);},stopTimer:function(){$clear(this.timer);return this.removeEvent("complete",this.completeCheck);}});var Asset={javascript:function(f,d){d=$extend({onload:$empty,document:document,check:$lambda(true)},d);var b=new Element("script",{src:f,type:"text/javascript"});var e=d.onload.bind(b),a=d.check,g=d.document;delete d.onload;delete d.check;delete d.document;b.addEvents({load:e,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){e();}}}).set(d);if(Browser.Engine.webkit419){var c=(function(){if(!$try(a)){return;}$clear(c);e();}).periodical(50);}return b.inject(g.head);},css:function(b,a){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:b},a)).inject(document.head);},image:function(c,b){b=$merge({onload:$empty,onabort:$empty,onerror:$empty},b);var d=new Image();var a=document.id(d)||new Element("img");["load","abort","error"].each(function(e){var f="on"+e;var g=b[f];delete b[f];d[f]=function(){if(!d){return;}if(!a.parentNode){a.width=d.width;a.height=d.height;}d=d.onload=d.onabort=d.onerror=null;g.delay(1,a,a);a.fireEvent(e,a,1);};});d.src=a.src=c;if(d&&d.complete){d.onload.delay(1);}return a.set(b);},images:function(d,c){c=$merge({onComplete:$empty,onProgress:$empty,onError:$empty,properties:{}},c);d=$splat(d);var a=[];var b=0;return new Elements(d.map(function(e){return Asset.image(e,$extend(c.properties,{onload:function(){c.onProgress.call(this,b,d.indexOf(e));b++;if(b==d.length){c.onComplete();}},onerror:function(){c.onError.call(this,b,d.indexOf(e));b++;if(b==d.length){c.onComplete();}}}));}));}};var Color=new Native({initialize:function(b,c){if(arguments.length>=3){c="rgb";b=Array.slice(arguments,0,3);}else{if(typeof b=="string"){if(b.match(/rgb/)){b=b.rgbToHex().hexToRgb(true);}else{if(b.match(/hsb/)){b=b.hsbToRgb();}else{b=b.hexToRgb(true);}}}}c=c||"rgb";switch(c){case"hsb":var a=b;b=b.hsbToRgb();b.hsb=a;break;case"hex":b=b.hexToRgb(true);break;}b.rgb=b.slice(0,3);b.hsb=b.hsb||b.rgbToHsb();b.hex=b.rgbToHex();return $extend(b,this);}});Color.implement({mix:function(){var a=Array.slice(arguments);var c=($type(a.getLast())=="number")?a.pop():50;var b=this.slice();a.each(function(d){d=new Color(d);for(var e=0;e<3;e++){b[e]=Math.round((b[e]/100*(100-c))+(d[e]/100*c));}});return new Color(b,"rgb");},invert:function(){return new Color(this.map(function(a){return 255-a;}));},setHue:function(a){return new Color([a,this.hsb[1],this.hsb[2]],"hsb");},setSaturation:function(a){return new Color([this.hsb[0],a,this.hsb[2]],"hsb");},setBrightness:function(a){return new Color([this.hsb[0],this.hsb[1],a],"hsb");}});var $RGB=function(d,c,a){return new Color([d,c,a],"rgb");};var $HSB=function(d,c,a){return new Color([d,c,a],"hsb");};var $HEX=function(a){return new Color(a,"hex");};Array.implement({rgbToHsb:function(){var b=this[0],c=this[1],j=this[2],g=0;var i=Math.max(b,c,j),e=Math.min(b,c,j);var k=i-e;var h=i/255,f=(i!=0)?k/i:0;if(f!=0){var d=(i-b)/k;var a=(i-c)/k;var l=(i-j)/k;if(b==i){g=l-a;}else{if(c==i){g=2+d-l;}else{g=4+a-d;}}g/=6;if(g<0){g++;}}return[Math.round(g*360),Math.round(f*100),Math.round(h*100)];},hsbToRgb:function(){var c=Math.round(this[2]/100*255);if(this[1]==0){return[c,c,c];}else{var a=this[0]%360;var e=a%60;var g=Math.round((this[2]*(100-this[1]))/10000*255);var d=Math.round((this[2]*(6000-this[1]*e))/600000*255);var b=Math.round((this[2]*(6000-this[1]*(60-e)))/600000*255);switch(Math.floor(a/60)){case 0:return[c,b,g];case 1:return[d,c,g];case 2:return[g,c,b];case 3:return[g,d,c];case 4:return[b,g,c];case 5:return[c,g,d];}}return false;}});String.implement({rgbToHsb:function(){var a=this.match(/\d{1,3}/g);return(a)?a.rgbToHsb():null;},hsbToRgb:function(){var a=this.match(/\d{1,3}/g);return(a)?a.hsbToRgb():null;}});var Group=new Class({initialize:function(){this.instances=Array.flatten(arguments);this.events={};this.checker={};},addEvent:function(b,a){this.checker[b]=this.checker[b]||{};this.events[b]=this.events[b]||[];if(this.events[b].contains(a)){return false;}else{this.events[b].push(a);}this.instances.each(function(c,d){c.addEvent(b,this.check.bind(this,[b,c,d]));},this);return this;},check:function(c,a,b){this.checker[c][b]=true;var d=this.instances.every(function(f,e){return this.checker[c][e]||false;},this);if(!d){return;}this.checker[c]={};this.events[c].each(function(e){e.call(this,this.instances,a);},this);}});Hash.Cookie=new Class({Extends:Cookie,options:{autoSave:true},initialize:function(b,a){this.parent(b,a);this.load();},save:function(){var a=JSON.encode(this.hash);if(!a||a.length>4096){return false;}if(a=="{}"){this.dispose();}else{this.write(a);}return true;},load:function(){this.hash=new Hash(JSON.decode(this.read(),true));return this;}});Hash.each(Hash.prototype,function(b,a){if(typeof b=="function"){Hash.Cookie.implement(a,function(){var c=b.apply(this.hash,arguments);if(this.options.autoSave){this.save();}return c;});}});var IframeShim=new Class({Implements:[Options,Events,Class.Occlude],options:{className:"iframeShim",src:'javascript:false;document.write("");',display:false,zIndex:null,margin:0,offset:{x:0,y:0},browsers:(Browser.Engine.trident4||(Browser.Engine.gecko&&!Browser.Engine.gecko19&&Browser.Platform.mac))},property:"IframeShim",initialize:function(b,a){this.element=document.id(b);if(this.occlude()){return this.occluded;}this.setOptions(a);this.makeShim();return this;},makeShim:function(){if(this.options.browsers){var c=this.element.getStyle("zIndex").toInt();if(!c){c=1;var b=this.element.getStyle("position");if(b=="static"||!b){this.element.setStyle("position","relative");}this.element.setStyle("zIndex",c);}c=($chk(this.options.zIndex)&&c>this.options.zIndex)?this.options.zIndex:c-1;if(c<0){c=1;}this.shim=new Element("iframe",{src:this.options.src,scrolling:"no",frameborder:0,styles:{zIndex:c,position:"absolute",border:"none",filter:"progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)"},"class":this.options.className}).store("IframeShim",this);var a=(function(){this.shim.inject(this.element,"after");this[this.options.display?"show":"hide"]();this.fireEvent("inject");}).bind(this);if(IframeShim.ready){window.addEvent("load",a);}else{a();}}else{this.position=this.hide=this.show=this.dispose=$lambda(this);}},position:function(){if(!IframeShim.ready||!this.shim){return this;}var a=this.element.measure(function(){return this.getSize();});if(this.options.margin!=undefined){a.x=a.x-(this.options.margin*2);a.y=a.y-(this.options.margin*2);this.options.offset.x+=this.options.margin;this.options.offset.y+=this.options.margin;}this.shim.set({width:a.x,height:a.y}).position({relativeTo:this.element,offset:this.options.offset});return this;},hide:function(){if(this.shim){this.shim.setStyle("display","none");}return this;},show:function(){if(this.shim){this.shim.setStyle("display","block");}return this.position();},dispose:function(){if(this.shim){this.shim.dispose();}return this;},destroy:function(){if(this.shim){this.shim.destroy();}return this;}});window.addEvent("load",function(){IframeShim.ready=true;});var HtmlTable=new Class({Implements:[Options,Events,Class.Occlude],options:{properties:{cellpadding:0,cellspacing:0,border:0},rows:[],headers:[],footers:[]},property:"HtmlTable",initialize:function(){var a=Array.link(arguments,{options:Object.type,table:Element.type});this.setOptions(a.options);this.element=a.table||new Element("table",this.options.properties);if(this.occlude()){return this.occluded;}this.build();},build:function(){this.element.store("HtmlTable",this);this.body=document.id(this.element.tBodies[0])||new Element("tbody").inject(this.element);$$(this.body.rows);if(this.options.headers.length){this.setHeaders(this.options.headers);}else{this.thead=document.id(this.element.tHead);}if(this.thead){this.head=document.id(this.thead.rows[0]);}if(this.options.footers.length){this.setFooters(this.options.footers);}this.tfoot=document.id(this.element.tFoot);if(this.tfoot){this.foot=document.id(this.thead.rows[0]);}this.options.rows.each(function(a){this.push(a);},this);["adopt","inject","wraps","grab","replaces","dispose"].each(function(a){this[a]=this.element[a].bind(this.element);},this);},toElement:function(){return this.element;},empty:function(){this.body.empty();return this;},setHeaders:function(a){this.thead=(document.id(this.element.tHead)||new Element("thead").inject(this.element,"top")).empty();this.push(a,this.thead,"th");this.head=document.id(this.thead.rows[0]);return this;},setFooters:function(a){this.tfoot=(document.id(this.element.tFoot)||new Element("tfoot").inject(this.element,"top")).empty();this.push(a,this.tfoot);this.foot=document.id(this.thead.rows[0]);return this;},push:function(d,c,a){var b=d.map(function(g){var h=new Element(a||"td",g.properties),f=g.content||g||"",e=document.id(f);if(e){h.adopt(e);}else{h.set("html",f);}return h;});return{tr:new Element("tr").inject(c||this.body).adopt(b),tds:b};}});HtmlTable=Class.refactor(HtmlTable,{options:{classZebra:"table-tr-odd",zebra:true},initialize:function(){this.previous.apply(this,arguments);if(this.occluded){return this.occluded;}if(this.options.zebra){this.updateZebras();}},updateZebras:function(){Array.each(this.body.rows,this.zebra,this);},zebra:function(b,a){return b[((a%2)?"remove":"add")+"Class"](this.options.classZebra);},push:function(){var a=this.previous.apply(this,arguments);if(this.options.zebra){this.updateZebras();}return a;}});HtmlTable=Class.refactor(HtmlTable,{options:{sortIndex:0,sortReverse:false,parsers:[],defaultParser:"string",classSortable:"table-sortable",classHeadSort:"table-th-sort",classHeadSortRev:"table-th-sort-rev",classNoSort:"table-th-nosort",classGroupHead:"table-tr-group-head",classGroup:"table-tr-group",classCellSort:"table-td-sort",classSortSpan:"table-th-sort-span",sortable:false},initialize:function(){this.previous.apply(this,arguments);if(this.occluded){return this.occluded;}this.sorted={index:null,dir:1};this.bound={headClick:this.headClick.bind(this)};this.sortSpans=new Elements();if(this.options.sortable){this.enableSort();if(this.options.sortIndex!=null){this.sort(this.options.sortIndex,this.options.sortReverse);}}},attachSorts:function(a){this.element[$pick(a,true)?"addEvent":"removeEvent"]("click:relay(th)",this.bound.headClick);},setHeaders:function(){this.previous.apply(this,arguments);if(this.sortEnabled){this.detectParsers();}},detectParsers:function(c){if(!this.head){return;}var a=this.options.parsers,b=this.body.rows;this.parsers=$$(this.head.cells).map(function(d,e){if(!c&&(d.hasClass(this.options.classNoSort)||d.retrieve("htmltable-sort"))){return d.retrieve("htmltable-sort");}var g=new Element("span",{html:"&#160;","class":this.options.classSortSpan}).inject(d,"top");this.sortSpans.push(g);var h=a[e],f;switch($type(h)){case"function":h={convert:h};f=true;break;case"string":h=h;f=true;break;}if(!f){HtmlTable.Parsers.some(function(n){var l=n.match;if(!l){return false;}if(Browser.Engine.trident){return false;}for(var m=0,k=b.length;m<k;m++){var o=b[m].cells[e].get("html").clean();if(o&&l.test(o)){h=n;return true;}}});}if(!h){h=this.options.defaultParser;}d.store("htmltable-parser",h);return h;},this);},headClick:function(c,b){if(!this.head){return;}var a=Array.indexOf(this.head.cells,b);this.sort(a);return false;},sort:function(f,h,m){if(!this.head){return;}m=!!(m);var l=this.options.classCellSort;var o=this.options.classGroup,t=this.options.classGroupHead;if(!m){if(f!=null){if(this.sorted.index==f){this.sorted.reverse=!(this.sorted.reverse);}else{if(this.sorted.index!=null){this.sorted.reverse=false;this.head.cells[this.sorted.index].removeClass(this.options.classHeadSort).removeClass(this.options.classHeadSortRev);}else{this.sorted.reverse=true;}this.sorted.index=f;}}else{f=this.sorted.index;}if(h!=null){this.sorted.reverse=h;}var d=document.id(this.head.cells[f]);if(d){d.addClass(this.options.classHeadSort);if(this.sorted.reverse){d.addClass(this.options.classHeadSortRev);}else{d.removeClass(this.options.classHeadSortRev);}}this.body.getElements("td").removeClass(this.options.classCellSort);}var c=this.parsers[f];if($type(c)=="string"){c=HtmlTable.Parsers.get(c);}if(!c){return;}if(!Browser.Engine.trident){var b=this.body.getParent();this.body.dispose();}var s=Array.map(this.body.rows,function(v,j){var u=c.convert.call(document.id(v.cells[f]));return{position:j,value:u,toString:function(){return u.toString();}};},this);s.reverse(true);s.sort(function(j,i){if(j.value===i.value){return 0;}return j.value>i.value?1:-1;});if(!this.sorted.reverse){s.reverse(true);}var p=s.length,k=this.body;var n,r,a,g;while(p){var q=s[--p];r=q.position;var e=k.rows[r];if(e.disabled){continue;}if(!m){if(g===q.value){e.removeClass(t).addClass(o);}else{g=q.value;e.removeClass(o).addClass(t);}if(this.zebra){this.zebra(e,p);}e.cells[f].addClass(l);}k.appendChild(e);for(n=0;n<p;n++){if(s[n].position>r){s[n].position--;}}}s=null;if(b){b.grab(k);}return this.fireEvent("sort",[k,f]);},reSort:function(){if(this.sortEnabled){this.sort.call(this,this.sorted.index,this.sorted.reverse);}return this;},enableSort:function(){this.element.addClass(this.options.classSortable);this.attachSorts(true);this.detectParsers();this.sortEnabled=true;return this;},disableSort:function(){this.element.remove(this.options.classSortable);this.attachSorts(false);this.sortSpans.each(function(a){a.destroy();});this.sortSpans.empty();this.sortEnabled=false;return this;}});HtmlTable.Parsers=new Hash({date:{match:/^\d{2}[-\/ ]\d{2}[-\/ ]\d{2,4}$/,convert:function(){return Date.parse(this.get("text").format("db"));},type:"date"},"input-checked":{match:/ type="(radio|checkbox)" /,convert:function(){return this.getElement("input").checked;}},"input-value":{match:/<input/,convert:function(){return this.getElement("input").value;}},number:{match:/^\d+[^\d.,]*$/,convert:function(){return this.get("text").toInt();},number:true},numberLax:{match:/^[^\d]+\d+$/,convert:function(){return this.get("text").replace(/[^-?^0-9]/,"").toInt();},number:true},"float":{match:/^[\d]+\.[\d]+/,convert:function(){return this.get("text").replace(/[^-?^\d.]/,"").toFloat();},number:true},floatLax:{match:/^[^\d]+[\d]+\.[\d]+$/,convert:function(){return this.get("text").replace(/[^-?^\d.]/,"");},number:true},string:{match:null,convert:function(){return this.get("text");}},title:{match:null,convert:function(){return this.title;}}});HtmlTable=Class.refactor(HtmlTable,{options:{useKeyboard:true,classRowSelected:"table-tr-selected",classRowHovered:"table-tr-hovered",classSelectable:"table-selectable",allowMultiSelect:true,selectable:false},initialize:function(){this.previous.apply(this,arguments);if(this.occluded){return this.occluded;}this.selectedRows=new Elements();this.bound={mouseleave:this.mouseleave.bind(this),focusRow:this.focusRow.bind(this)};if(this.options.selectable){this.enableSelect();}},enableSelect:function(){this.selectEnabled=true;this.attachSelects();this.element.addClass(this.options.classSelectable);},disableSelect:function(){this.selectEnabled=false;this.attach(false);this.element.removeClass(this.options.classSelectable);},attachSelects:function(a){a=$pick(a,true);var b=a?"addEvents":"removeEvents";this.element[b]({mouseleave:this.bound.mouseleave});this.body[b]({"click:relay(tr)":this.bound.focusRow});if(this.options.useKeyboard||this.keyboard){if(!this.keyboard){this.keyboard=new Keyboard({events:{down:function(c){c.preventDefault();this.shiftFocus(1);}.bind(this),up:function(c){c.preventDefault();this.shiftFocus(-1);}.bind(this),enter:function(c){c.preventDefault();if(this.hover){this.focusRow(this.hover);}}.bind(this)},active:true});}this.keyboard[a?"activate":"deactivate"]();}this.updateSelects();},mouseleave:function(){if(this.hover){this.leaveRow(this.hover);}},focus:function(){if(this.keyboard){this.keyboard.activate();}},blur:function(){if(this.keyboard){this.keyboard.deactivate();}},push:function(){var a=this.previous.apply(this,arguments);this.updateSelects();return a;},updateSelects:function(){Array.each(this.body.rows,function(a){var b=a.retrieve("binders");if((b&&this.selectEnabled)||(!b&&!this.selectEnabled)){return;}if(!b){b={mouseenter:this.enterRow.bind(this,[a]),mouseleave:this.leaveRow.bind(this,[a])};a.store("binders",b).addEvents(b);}else{a.removeEvents(b);}},this);},enterRow:function(a){if(this.hover){this.hover=this.leaveRow(this.hover);}this.hover=a.addClass(this.options.classRowHovered);},shiftFocus:function(a){if(!this.hover){return this.enterRow(this.body.rows[0]);}var b=Array.indexOf(this.body.rows,this.hover)+a;if(b<0){b=0;}if(b>=this.body.rows.length){b=this.body.rows.length-1;}if(this.hover==this.body.rows[b]){return this;}this.enterRow(this.body.rows[b]);},leaveRow:function(a){a.removeClass(this.options.classRowHovered);},focusRow:function(){var b=arguments[1]||arguments[0];if(!this.body.getChildren().contains(b)){return;}var a=function(c){this.selectedRows.erase(c);c.removeClass(this.options.classRowSelected);this.fireEvent("rowUnfocus",[c,this.selectedRows]);}.bind(this);if(!this.options.allowMultiSelect){this.selectedRows.each(a);}if(!this.selectedRows.contains(b)){this.selectedRows.push(b);b.addClass(this.options.classRowSelected);this.fireEvent("rowFocus",[b,this.selectedRows]);}else{a(b);}return false;},selectAll:function(a){a=$pick(a,true);if(!this.options.allowMultiSelect&&a){return;}if(!a){this.selectedRows.removeClass(this.options.classRowSelected).empty();}else{this.selectedRows.combine(this.body.rows).addClass(this.options.classRowSelected);}return this;},selectNone:function(){return this.selectAll(false);}});(function(){var a={};var b=["shift","control","alt","meta"];var d=/^(?:shift|control|ctrl|alt|meta)$/;var e=function(i,h){i=i.toLowerCase().replace(/^(keyup|keydown):/,function(l,k){h=k;return"";});if(!a[i]){var g="",j={};i.split("+").each(function(k){if(d.test(k)){j[k]=true;}else{g=k;}});j.control=j.control||j.ctrl;var f="";b.each(function(k){if(j[k]){f+=k+"+";}});a[i]=f+g;}return h+":"+a[i];};this.Keyboard=new Class({Extends:Events,Implements:[Options,Log],options:{defaultEventType:"keydown",active:false,events:{}},initialize:function(f){this.setOptions(f);if(Keyboard.manager){Keyboard.manager.manage(this);}this.setup();},setup:function(){this.addEvents(this.options.events);if(this.options.active){this.activate();}},handle:function(h,g){if(!this.active||h.preventKeyboardPropagation){return;}var f=!!this.manager;if(f&&this.activeKB){this.activeKB.handle(h,g);if(h.preventKeyboardPropagation){return;}}this.fireEvent(g,h);if(!f&&this.activeKB){this.activeKB.handle(h,g);}},addEvent:function(h,g,f){return this.parent(e(h,this.options.defaultEventType),g,f);},removeEvent:function(g,f){return this.parent(e(g,this.options.defaultEventType),f);},activate:function(){this.active=true;return this.enable();},deactivate:function(){this.active=false;return this.fireEvent("deactivate");},toggleActive:function(){return this[this.active?"deactivate":"activate"]();},enable:function(f){if(f){if(f!=this.activeKB){this.previous=this.activeKB;}this.activeKB=f.fireEvent("activate");}else{if(this.manager){this.manager.enable(this);}}return this;},relenquish:function(){if(this.previous){this.enable(this.previous);}},manage:function(f){if(f.manager){f.manager.drop(f);}this.instances.push(f);f.manager=this;if(!this.activeKB){this.enable(f);}else{this._disable(f);}},_disable:function(f){if(this.activeKB==f){this.activeKB=null;}},drop:function(f){this._disable(f);this.instances.erase(f);},instances:[],trace:function(){this.enableLog();var f=this;this.log("the following items have focus: ");while(f){this.log(document.id(f.widget)||f.widget||f,"active: "+this.active);f=f.activeKB;}}});Keyboard.stop=function(f){f.preventKeyboardPropagation=true;};Keyboard.manager=new this.Keyboard({active:true});Keyboard.trace=function(){Keyboard.manager.trace();};var c=function(g){var f="";b.each(function(h){if(g[h]){f+=h+"+";}});Keyboard.manager.handle(g,g.type+":"+f+g.key);};document.addEvents({keyup:c,keydown:c});Event.Keys.extend({pageup:33,pagedown:34,end:35,home:36,capslock:20,numlock:144,scrolllock:145});})();var Mask=new Class({Implements:[Options,Events],Binds:["resize"],options:{style:{},"class":"mask",maskMargins:false,useIframeShim:true},initialize:function(b,a){this.target=document.id(b)||document.body;this.target.store("mask",this);this.setOptions(a);this.render();this.inject();},render:function(){this.element=new Element("div",{"class":this.options["class"],id:this.options.id||"mask-"+$time(),styles:$merge(this.options.style,{display:"none"}),events:{click:function(){this.fireEvent("click");if(this.options.hideOnClick){this.hide();}}.bind(this)}});this.hidden=true;},toElement:function(){return this.element;},inject:function(b,a){a=a||this.options.inject?this.options.inject.where:""||this.target==document.body?"inside":"after";b=b||this.options.inject?this.options.inject.target:""||this.target;this.element.inject(b,a);if(this.options.useIframeShim){this.shim=new IframeShim(this.element);this.addEvents({show:this.shim.show.bind(this.shim),hide:this.shim.hide.bind(this.shim),destroy:this.shim.destroy.bind(this.shim)});}},position:function(){this.resize(this.options.width,this.options.height);this.element.position({relativeTo:this.target,position:"topLeft",ignoreMargins:!this.options.maskMargins,ignoreScroll:this.target==document.body});return this;},resize:function(a,e){var b={styles:["padding","border"]};if(this.options.maskMargins){b.styles.push("margin");}var d=this.target.getComputedSize(b);if(this.target==document.body){var c=window.getSize();if(d.totalHeight<c.y){d.totalHeight=c.y;}if(d.totalWidth<c.x){d.totalWidth=c.x;}}this.element.setStyles({width:$pick(a,d.totalWidth,d.x),height:$pick(e,d.totalHeight,d.y)});return this;},show:function(){if(!this.hidden){return this;}this.target.addEvent("resize",this.resize);if(this.target!=document.body){document.id(document.body).addEvent("resize",this.resize);}this.position();this.showMask.apply(this,arguments);return this;},showMask:function(){this.element.setStyle("display","block");this.hidden=false;this.fireEvent("show");},hide:function(){if(this.hidden){return this;}this.target.removeEvent("resize",this.resize);this.hideMask.apply(this,arguments);if(this.options.destroyOnHide){return this.destroy();}return this;},hideMask:function(){this.element.setStyle("display","none");this.hidden=true;this.fireEvent("hide");},toggle:function(){this[this.hidden?"show":"hide"]();},destroy:function(){this.hide();this.element.destroy();this.fireEvent("destroy");this.target.eliminate("mask");}});Element.Properties.mask={set:function(b){var a=this.retrieve("mask");return this.eliminate("mask").store("mask:options",b);},get:function(a){if(a||!this.retrieve("mask")){if(this.retrieve("mask")){this.retrieve("mask").destroy();}if(a||!this.retrieve("mask:options")){this.set("mask",a);}this.store("mask",new Mask(this,this.retrieve("mask:options")));}return this.retrieve("mask");}};Element.implement({mask:function(a){this.get("mask",a).show();return this;},unmask:function(){this.get("mask").hide();return this;}});var Scroller=new Class({Implements:[Events,Options],options:{area:20,velocity:1,onChange:function(a,b){this.element.scrollTo(a,b);},fps:50},initialize:function(b,a){this.setOptions(a);this.element=document.id(b);this.listener=($type(this.element)!="element")?document.id(this.element.getDocument().body):this.element;this.timer=null;this.bound={attach:this.attach.bind(this),detach:this.detach.bind(this),getCoords:this.getCoords.bind(this)};},start:function(){this.listener.addEvents({mouseover:this.bound.attach,mouseout:this.bound.detach});},stop:function(){this.listener.removeEvents({mouseover:this.bound.attach,mouseout:this.bound.detach});this.detach();this.timer=$clear(this.timer);},attach:function(){this.listener.addEvent("mousemove",this.bound.getCoords);},detach:function(){this.listener.removeEvent("mousemove",this.bound.getCoords);this.timer=$clear(this.timer);},getCoords:function(a){this.page=(this.listener.get("tag")=="body")?a.client:a.page;if(!this.timer){this.timer=this.scroll.periodical(Math.round(1000/this.options.fps),this);}},scroll:function(){var b=this.element.getSize(),a=this.element.getScroll(),f=this.element.getOffsets(),c=this.element.getScrollSize(),e={x:0,y:0};for(var d in this.page){if(this.page[d]<(this.options.area+f[d])&&a[d]!=0){e[d]=(this.page[d]-this.options.area-f[d])*this.options.velocity;}else{if(this.page[d]+this.options.area>(b[d]+f[d])&&a[d]+b[d]!=c[d]){e[d]=(this.page[d]-b[d]+this.options.area-f[d])*this.options.velocity;}}}if(e.y||e.x){this.fireEvent("change",[a.x+e.x,a.y+e.y]);}}});(function(){var a=function(c,b){return(c)?($type(c)=="function"?c(b):b.get(c)):"";};this.Tips=new Class({Implements:[Events,Options],options:{onShow:function(){this.tip.setStyle("display","block");},onHide:function(){this.tip.setStyle("display","none");},title:"title",text:function(b){return b.get("rel")||b.get("href");},showDelay:100,hideDelay:100,className:"tip-wrap",offset:{x:16,y:16},fixed:false},initialize:function(){var b=Array.link(arguments,{options:Object.type,elements:$defined});this.setOptions(b.options);document.id(this);if(b.elements){this.attach(b.elements);}},toElement:function(){if(this.tip){return this.tip;}this.container=new Element("div",{"class":"tip"});return this.tip=new Element("div",{"class":this.options.className,styles:{position:"absolute",top:0,left:0}}).adopt(new Element("div",{"class":"tip-top"}),this.container,new Element("div",{"class":"tip-bottom"})).inject(document.body);},attach:function(b){$$(b).each(function(d){var f=a(this.options.title,d),e=a(this.options.text,d);d.erase("title").store("tip:native",f).retrieve("tip:title",f);d.retrieve("tip:text",e);this.fireEvent("attach",[d]);var c=["enter","leave"];if(!this.options.fixed){c.push("move");}c.each(function(h){var g=d.retrieve("tip:"+h);if(!g){g=this["element"+h.capitalize()].bindWithEvent(this,d);}d.store("tip:"+h,g).addEvent("mouse"+h,g);},this);},this);return this;},detach:function(b){$$(b).each(function(d){["enter","leave","move"].each(function(e){d.removeEvent("mouse"+e,d.retrieve("tip:"+e)).eliminate("tip:"+e);});this.fireEvent("detach",[d]);if(this.options.title=="title"){var c=d.retrieve("tip:native");if(c){d.set("title",c);}}},this);return this;},elementEnter:function(c,b){this.container.empty();["title","text"].each(function(e){var d=b.retrieve("tip:"+e);if(d){this.fill(new Element("div",{"class":"tip-"+e}).inject(this.container),d);}},this);$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this,b);this.position((this.options.fixed)?{page:b.getPosition()}:c);},elementLeave:function(c,b){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this,b);this.fireForParent(c,b);},fireForParent:function(c,b){if(!b){return;}parentNode=b.getParent();if(parentNode==document.body){return;}if(parentNode.retrieve("tip:enter")){parentNode.fireEvent("mouseenter",c);}else{this.fireForParent(c,parentNode);}},elementMove:function(c,b){this.position(c);},position:function(e){var c=window.getSize(),b=window.getScroll(),f={x:this.tip.offsetWidth,y:this.tip.offsetHeight},d={x:"left",y:"top"},g={};for(var h in d){g[d[h]]=e.page[h]+this.options.offset[h];if((g[d[h]]+f[h]-b[h])>c[h]){g[d[h]]=e.page[h]-this.options.offset[h]-f[h];}}this.tip.setStyles(g);},fill:function(b,c){if(typeof c=="string"){b.set("html",c);}else{b.adopt(c);}},show:function(b){this.fireEvent("show",[this.tip,b]);},hide:function(b){this.fireEvent("hide",[this.tip,b]);}});})();var Spinner=new Class({Extends:Mask,options:{"class":"spinner",containerPosition:{},content:{"class":"spinner-content"},messageContainer:{"class":"spinner-msg"},img:{"class":"spinner-img"},fxOptions:{link:"chain"}},initialize:function(){this.parent.apply(this,arguments);this.target.store("spinner",this);var a=function(){this.active=false;}.bind(this);this.addEvents({hide:a,show:a});},render:function(){this.parent();this.element.set("id",this.options.id||"spinner-"+$time());this.content=document.id(this.options.content)||new Element("div",this.options.content);this.content.inject(this.element);if(this.options.message){this.msg=document.id(this.options.message)||new Element("p",this.options.messageContainer).appendText(this.options.message);this.msg.inject(this.content);}if(this.options.img){this.img=document.id(this.options.img)||new Element("div",this.options.img);this.img.inject(this.content);}this.element.set("tween",this.options.fxOptions);},show:function(a){if(this.active){return this.chain(this.show.bind(this));}if(!this.hidden){this.callChain.delay(20,this);return this;}this.active=true;return this.parent(a);},showMask:function(a){var b=function(){this.content.position($merge({relativeTo:this.element},this.options.containerPosition));}.bind(this);if(a){this.parent();b();}else{this.element.setStyles({display:"block",opacity:0}).tween("opacity",this.options.style.opacity||0.9);b();this.hidden=false;this.fireEvent("show");this.callChain();}},hide:function(a){if(this.active){return this.chain(this.hide.bind(this));}if(this.hidden){this.callChain.delay(20,this);return this;}this.active=true;return this.parent(a);},hideMask:function(a){if(a){return this.parent();}this.element.tween("opacity",0).get("tween").chain(function(){this.element.setStyle("display","none");this.hidden=true;this.fireEvent("hide");this.callChain();}.bind(this));},destroy:function(){this.content.destroy();this.parent();this.target.eliminate("spinner");}});Spinner.implement(new Chain);if(window.Request){Request=Class.refactor(Request,{options:{useSpinner:false,spinnerOptions:{},spinnerTarget:false},initialize:function(a){this._send=this.send;this.send=function(c){if(this.spinner){this.spinner.chain(this._send.bind(this,c)).show();}else{this._send(c);}return this;};this.previous(a);var b=document.id(this.options.spinnerTarget)||document.id(this.options.update);if(this.options.useSpinner&&b){this.spinner=b.get("spinner",this.options.spinnerOptions);["onComplete","onException","onCancel"].each(function(c){this.addEvent(c,this.spinner.hide.bind(this.spinner));},this);}},getSpinner:function(){return this.spinner;}});}Element.Properties.spinner={set:function(a){var b=this.retrieve("spinner");return this.eliminate("spinner").store("spinner:options",a);},get:function(a){if(a||!this.retrieve("spinner")){if(this.retrieve("spinner")){this.retrieve("spinner").destroy();}if(a||!this.retrieve("spinner:options")){this.set("spinner",a);}new Spinner(this,this.retrieve("spinner:options"));}return this.retrieve("spinner");}};Element.implement({spin:function(a){this.get("spinner",a).show();return this;},unspin:function(){var a=Array.link(arguments,{options:Object.type,callback:Function.type});this.get("spinner",a.options).hide(a.callback);return this;}});MooTools.lang.set("en-US","Date",{months:["January","February","March","April","May","June","July","August","September","October","November","December"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dateOrder:["month","date","year"],shortDate:"%m/%d/%Y",shortTime:"%I:%M%p",AM:"AM",PM:"PM",ordinal:function(a){return(a>3&&a<21)?"th":["th","st","nd","rd","th"][Math.min(a%10,4)];},lessThanMinuteAgo:"less than a minute ago",minuteAgo:"about a minute ago",minutesAgo:"{delta} minutes ago",hourAgo:"about an hour ago",hoursAgo:"about {delta} hours ago",dayAgo:"1 day ago",daysAgo:"{delta} days ago",weekAgo:"1 week ago",weeksAgo:"{delta} weeks ago",monthAgo:"1 month ago",monthsAgo:"{delta} months ago",yearAgo:"1 year ago",yearsAgo:"{delta} years ago",lessThanMinuteUntil:"less than a minute from now",minuteUntil:"about a minute from now",minutesUntil:"{delta} minutes from now",hourUntil:"about an hour from now",hoursUntil:"about {delta} hours from now",dayUntil:"1 day from now",daysUntil:"{delta} days from now",weekUntil:"1 week from now",weeksUntil:"{delta} weeks from now",monthUntil:"1 month from now",monthsUntil:"{delta} months from now",yearUntil:"1 year from now",yearsUntil:"{delta} years from now"});MooTools.lang.set("en-US","Form.Validator",{required:"This field is required.",minLength:"Please enter at least {minLength} characters (you entered {length} characters).",maxLength:"Please enter no more than {maxLength} characters (you entered {length} characters).",integer:"Please enter an integer in this field. Numbers with decimals (e.g. 1.25) are not permitted.",numeric:'Please enter only numeric values in this field (i.e. "1" or "1.1" or "-1" or "-1.1").',digits:"Please use numbers and punctuation only in this field (for example, a phone number with dashes or dots is permitted).",alpha:"Please use letters only (a-z) with in this field. No spaces or other characters are allowed.",alphanum:"Please use only letters (a-z) or numbers (0-9) only in this field. No spaces or other characters are allowed.",dateSuchAs:"Please enter a valid date such as {date}",dateInFormatMDY:'Please enter a valid date such as MM/DD/YYYY (i.e. "12/31/1999")',email:'Please enter a valid email address. For example "fred@domain.com".',url:"Please enter a valid URL such as http://www.google.com.",currencyDollar:"Please enter a valid $ amount. For example $100.00 .",oneRequired:"Please enter something for at least one of these inputs.",errorPrefix:"Error: ",warningPrefix:"Warning: ",noSpace:"There can be no spaces in this input.",reqChkByNode:"No items are selected.",requiredChk:"This field is required.",reqChkByName:"Please select a {label}.",match:"This field needs to match the {matchName} field",startDate:"the start date",endDate:"the end date",currendDate:"the current date",afterDate:"The date should be the same or after {label}.",beforeDate:"The date should be the same or before {label}.",startMonth:"Please select a start month",sameMonth:"These two dates must be in the same month - you must change one or the other.",creditcard:"The credit card number entered is invalid. Please check the number and try again. {length} digits entered."});function switchDisplay(obj){var el=document.getElementById(obj);if(el.style.display!="block"){el.style.display="block";}
else{el.style.display="none";}}
function switchPrintsTab(obj){var el=document.getElementById(obj);if(el.style.display!="none"){el.style.display="none";}
else{el.style.display="block";}}
function showHideLayer(layerId,iState)
{if($(layerId)!=null){$(layerId).style.display=iState?"block":"none";}}
function termsPopup(){mywindow=window.open("/gallery/termsAndService.jsp?pageID=600010","termswindow","resizable=no,menubar=no,scrollbars=yes,width=700,height=700");mywindow.moveTo(0,0);mywindow.focus();}
function partnerTermsPopup(){mywindow=window.open("/gallery/photogifter/termsofservice.jsp","termswindow","resizable=no,menubar=no,scrollbars=yes,width=700,height=700");mywindow.moveTo(0,0);mywindow.focus();}
var prevDiv='';function showHideDetailsDiv(layerId1,iState1){if(prevDiv!=''&&prevDiv!=layerId1){showHideLayer(prevDiv,0);}
prevDiv=layerId1;showHideLayer(layerId1,iState1);}
var prevDiv1='';function showHideDetailsDiv1(layerId1,iState1){if(prevDiv1!=''&&prevDiv1!=layerId1){showHideLayer(prevDiv1,0);}
prevDiv1=layerId1;showHideLayer(layerId1,iState1);}
function propaper(layerId,selectValue,iState){if(selectValue=="16x20pro"||selectValue=="20x30pro"){showHideLayer(layerId,iState);}
return false;}
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";}}
window.onload=externalLinks;function switchText(objId,oldTxt,newTxt,cssStyle){var obj=document.getElementById(objId);if(obj.innerHTML!=oldTxt){obj.innerHTML=oldTxt;obj.className=" ";}
else{obj.innerHTML=newTxt;obj.className=cssStyle;}}
function switchStyle(objId,cssClassOld,cssClassNew){var obj=document.getElementById(objId);if(obj.className!=cssClassNew){obj.className=cssClassNew;}
else{obj.className=cssClassOld;}}
function changeBg(el){el.style.backgroundColor="#f9f9f9";}
function resetBg(el){el.style.backgroundColor="";}
function selectAddress(objId){var addressRows=document.getElementById(objId).childNodes;for(i=0;i<addressRows.length;i++){if(addressRows[i].bacckgroundColor!="red")
{addressRows[i].bacckgroundColor="green";}
else{addressRows[i].bacckgroundColor="red";}}}
function clearField(el,txt,cssClass){if(el.value==txt){el.value="";el.className=cssClass;el.focus();}}
function inValue(el,txt,cssClass){if(el.value.trim()==""){el.value=txt;el.className=cssClass;}}
function changeAddress(elementId){var formid='form'+elementId.id;document.getElementById(formid).submit();}
function submitCartForm(elementId){document.getElementById(elementId).submit();}
function frmSubmit(id){document.getElementById(id).submit();}
function cookiesAllowed(){Cookie.set('checkCookie',1,{path:'/'});if(Cookie.get('checkCookie',{path:'/'})){Cookie.remove('checkCookie',{path:'/'});return true;}
return false;}
function adjustCatalogPadHeight(counter){for(var outCount=1;outCount<=counter;outCount++){var newRow=$$('#rowElement'+outCount+' .product .pad');if($defined(newRow)&&newRow.length>0){var podsheight=newRow.getHeight();var newheight=10;for(var i=0;i<podsheight.length;i++){if(podsheight[i]>=newheight){newheight=podsheight[i];}}
newRow.setStyle('height',newheight);}}
if(Browser.Engine.trident){if($chk($('pagefooter'))){$('pagefooter').addClass('transitional');setTimeout(function(){$('pagefooter').removeClass('transitional');},10);}}}
var holdHTML;var popWin={open:function(url,width,height,pos){var bWidth=0,bHeight=0;if(typeof(window.innerWidth)=='number'){bWidth=window.innerWidth;bHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){bWidth=document.documentElement.clientWidth;bHeight=document.documentElement.clientHeight;}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){bWidth=document.body.clientWidth;bHeight=document.body.clientHeight;}
if(pos=='center')
{var left=(bWidth-width)/2;var top=(bHeight-height)/2;}else{var left=parseInt(pos);var top=parseInt(pos);}
var params='width='+width+', height='+height;params+=', top='+top+', left='+left;params+=', directories=no';params+=', location=no';params+=', menubar=no';params+=', resizable=yes';params+=', scrollbars=yes';params+=', status=no';params+=', toolbar=no';newwin=window.open(url,'galleryPopup',params);if(window.focus){newwin.focus()}
return false;},close:function(){}};function startGalleryRotation(selector,delay)
{var i=0;var layers=$$(selector);delay=(delay==undefined)?10:delay;setInterval(function(){layers[i].fade('out');i=(i==layers.length-1)?0:i+1;layers[i].fade('in');},delay);}
function openMilitaryAddressHelp()
{window.open('http://gallerystudio.custhelp.com/cgi-bin/gallerystudio.cfg/php/enduser/olh_adp.php?p_faqid=3119&p_olh=1','','height=600px,width=800px,scrollbars,resizable');}
function positionOnScreenCenter(divId)
{if(!$defined($(divId)))return;var top=document.getScroll().y+Math.max(20,((window.getSize().y-240)/2-100));var height=$(divId).getHeight();if(!isNaN(height))
top=top-height/2;$(divId).setStyles({'top':top});}
if(!esg)var esg={};if(!esg.model)esg.model={};esg.model.observable={addObserver:function(callbackFn,propertyName){if(!this.observers){this.observers=[];}
if(propertyName){if(!this.observers[propertyName]){this.observers[propertyName]=[];}
this.observers[propertyName].push(callbackFn);}else{this.observers.push(callbackFn);}},notifyObservers:function(o,propertyName,thisObj){var scope=thisObj||window;var observerList=null;if(this.observers){if(propertyName){observerList=this.observers[propertyName];}else{observerList=this.observers;}}
if(observerList){observerList.forEach(function(el){el.call(scope,o);});}},mixin:function(subject){for(var p in esg.model.observable){if(p=='mixin'){continue;}
subject[p]=esg.model.observable[p];}}};if(!esg)var esg={};if(!esg.viewUtil)
esg.viewUtil={};esg.viewUtil.modalBox={modalOverlay:null,modalStack:[],modalBoxStartZindex:5500,modalStackIncrement:500,modalStackOverlayIncrement:300,topModalInStack:null,modalStackPriorityModals:["serviceError","timeOutError","customError","deleteGuard","progressThrobber"],modalsToExcludeFromDisplayAndHide:["PhotoEditorDiv"],createNewModalBox:function(modalDiv){modalDiv.getZInt=function(){return(this.getStyle('z-index').toInt())};return modalDiv;},show:function(modalDiv,parms){var skipOverlay=false,skipPositioning=false;if(parms&&parms.skipOverlay)
skipOverlay=parms.skipOverlay;if(parms&&parms.skipPositioning)
skipPositioning=parms.skipPositioning;var modalOk=($(modalDiv))?$(this.createNewModalBox($(modalDiv))):null;if(!modalOk){console.error(modalDiv+' does not exist');return;}else
modalDiv=modalOk;var hasPriorityModal=false;if(this.modalStack.length){this.topModalInStack=this.modalStack[this.modalStack.length-1];if(this.modalStackPriorityModals.contains(this.topModalInStack.id))
hasPriorityModal=true;}
if(hasPriorityModal){var top=this.modalStack.pop();modalDiv.setStyle('display','block');modalDiv.setStyle('z-index',top.getZInt());this.modalStack.push(modalDiv);this.modalStack.push(top);}
else{this.modalStack.push(modalDiv);}
this.topModalInStack=this.modalStack[this.modalStack.length-1];var root=document.body;if(Browser.Engine.trident4||Browser.Engine.trident5&&$('principal'))
root=$('principal');if(!this.modalOverlay){if($('modal_overlay'))
this.modalOverlay=$('modal_overlay');else{this.modalOverlay=new Element('div',{'id':'modal_overlay'});root.appendChild(this.modalOverlay);}}
var zPos=(this.modalStack.length>1)?this.modalStack[this.modalStack.length-2].getZInt()+this.modalStackIncrement:this.modalBoxStartZindex;this.topModalInStack.setStyle('z-index',zPos);if(Browser.Engine.trident4){this.prepareIE('100%','hidden');this.hideSelects('hidden');if($('closeBtn'))
{$('closeBtn').setStyle('z-index',(this.createNewModalBox($('closeBtn').getParent())).getZInt()+20);}
(function(){this.modalOverlay.setStyle('height',document.getScrollSize().y);}).bind(this).delay(10);}
if(!skipOverlay){this.modalOverlay.setStyle('z-index',this.topModalInStack.getZInt()-this.modalStackOverlayIncrement);if(!this.modalsToExcludeFromDisplayAndHide.contains(this.modalOverlay.id))
this.modalOverlay.setStyle('display','block');}
if(!this.modalsToExcludeFromDisplayAndHide.contains(this.modalOverlay.id))
this.topModalInStack.setStyle('display','block');if(!skipPositioning)
this.centerElement(modalDiv);},centerElement:function(elem){elem=$(elem);elem.setStyles({'position':'absolute','top':Math.max(0,document.getScroll().y+parseInt((window.getSize().y-elem.getSize().y)/2)),'left':'50%','margin-left':-(parseInt(elem.getSize().x/2))});},hide:function(modalDiv,resetOverlay){var modalOk=($(modalDiv))?$(this.createNewModalBox($(modalDiv))):null;if(!modalOk){console.error(modalDiv+' does not exist');return;}else
modalDiv=modalOk;if(!resetOverlay){resetOverlay=false;}
if(!$(this.modalOverlay))this.modalOverlay=$("modal_overlay");if(this.modalStack.length>0){$A(this.modalStack).each(function(item,index,array){if(item==modalDiv){this.modalStack.splice(index,1);this.topModalInStack=modalDiv;return;}},this);}
if(Browser.Engine.trident4){this.prepareIE("auto","auto");}
if($(modalDiv)){if(!this.modalsToExcludeFromDisplayAndHide.contains($(modalDiv).id||modalDiv))
$(modalDiv).setStyle('display','none');}
if(resetOverlay){if($(this.modalOverlay)){$(this.modalOverlay).setStyle('display','none');}}
if(this.modalStack.length>0){if($(this.modalOverlay)){this.modalOverlay.setStyle('z-index',this.modalStack[this.modalStack.length-1].getZInt()-this.modalStackOverlayIncrement);}}
else{if($(this.modalOverlay)){this.modalOverlay.setStyle('display','none');}
this.hideSelects("visible");}},prepareIE:function(height,overflow){bod=document.getElementsByTagName('body')[0];bod.style.height=height;bod.style.overflow=overflow;},getScroll:function(){var yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;}
else
if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;}
else
if(document.body){yScroll=document.body.scrollTop;}
this.yPos=yScroll;},setScroll:function(x,y){},hideSelects:function(visibility){var modalBox=esg.viewUtil.modalBox;var topModal;if(modalBox.modalStack.length){topModal=modalBox.modalStack[modalBox.modalStack.length-1];}
if(visibility=='visible')
visibility='';var selects=$$('select');selects.each(function(item,index){if(!topModal||!(item.getParent('#'+topModal.id)===topModal))
item.style.visibility=visibility;});},updateOverlayHeight:function(){if(Browser.Engine.trident4)
$('modal_overlay').style.height=esg.viewUtil.getPageSize()[1];}};esg.viewUtil.modalThrobber=esg.viewUtil.throbber={moOverlayed:false,show:function(elevateModelOverlay){moOverlayed=(elevateModelOverlay&&elevateModelOverlay==true);if(!$("progressThrobber")){var dlg=new Element('div',{'class':"dialogbox",'id':"progressThrobber"});dlg.innerHTML='<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="throbberContent"><img src="'+esg.viewUtil.staticAssetPath+'/Kodak_Gallery_Media/ECBO/images/icons/throbber.gif" alt="In Progress"/><br/><h3>Loading</h3>Please wait...</div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>';if($('principal')){$('principal').appendChild(dlg);}
else{$(document.body).appendChild(dlg);}}
esg.viewUtil.modalBox.show($("progressThrobber"),{skipOverlay:moOverlayed});},hide:function(resetOverlay){if(!resetOverlay){resetOverlay=false;}
if($('progressThrobber')){esg.viewUtil.modalBox.hide($('progressThrobber'));}
if(resetOverlay){if($('modal_overlay')){$('modal_overlay').hide();}}},isVisibile:function(){return($('progressThrobber')&&$('progressThrobber').style.display=='block');}};esg.viewUtil.serviceError={show:function(){if(!$("serviceError")){var dlg=new Element('div',{'class':"dialogbox",'id':"serviceError"});dlg.innerHTML='<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="errorContent"><h3></h3><p><b> We were unable to process your request. <br/> Please try again.</b></p> <a id="closeServiceError" href="#" class="linkbutton"><span>OK</span></a></div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>';if(Browser.Engine.trident4){dlg.setStyle('top',$(document.body).getScroll().y+$(document.body).getSize().y/2-dlg.getSize().y);}
$('principal').appendChild(dlg);$("closeServiceError").addEvent('click',esg.viewUtil.serviceError.hide);}
esg.viewUtil.modalBox.show("serviceError");},hide:function(event){if(event)event.stop();esg.viewUtil.modalBox.hide("serviceError");}};esg.viewUtil.timeoutError={show:function(){if(!$("timeoutError")){var dlg=new Element('div',{'class':"dialogbox",'id':"timeoutError"});dlg.innerHTML='<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="errorContent"><h3>Session Time-Out</h3><p>Your session has expired.<br/>Please start a new session.</p><a id="closeTimeoutError" href="#" class="linkbutton"><span>OK</span></a></div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>';if(Browser.Engine.trident4){dlg.setStyle('top',$(document.body).getScroll().y+$(document.body).getSize().y/2-dlg.getSize().y);}
$('principal').appendChild(dlg);$("closeTimeoutError").addEvent('click',esg.viewUtil.timeoutError.hide);}
esg.viewUtil.modalBox.show("timeoutError");},hide:function(event){if(event)event.stop();esg.viewUtil.modalBox.hide("timeoutError");document.location="/";}};esg.viewUtil.customError={show:function(params){var header=params.title?params.title:'Error';var hideHeader=(params.hideHeader)?params.hideHeader:false
var message=params.message;var dlg=$("customError");if(!dlg){dlg=new Element('div',{'class':"dialogbox",'id':"customError"});}else{esg.viewUtil.modalBox.hide("customError");$("closeCustomError").removeEvents('click');}
dlg.innerHTML='<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="errorContent">'+((!hideHeader)?('<h3>'+header+'</h3>'):'')+'<p>'+message+'</p><a id="closeCustomError" href="#" class="linkbutton"><span>OK</span></a></div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>';if(Browser.Engine.trident4){}
$('principal').appendChild(dlg);$("closeCustomError").addEvent('click',esg.viewUtil.customError.hide);if(hideHeader&&!$('customError').hasClass('hideHeader'))
$('customError').addClass('hideHeader');else if(!hideHeader&&$('customError').hasClass('hideHeader'))
$('customError').removeClass('hideHeader');esg.viewUtil.modalBox.show("customError");},hide:function(event){if(event)event.stop();esg.viewUtil.modalBox.hide("customError");}};esg.viewUtil.deleteGuard={show:function(param,param2){if(!param2)
param2='You will not be able to undo this action.';if(param=='photo')
param2='This photo will be permanently deleted from the album and any Slideshow in which it has been placed.';if(!$("deleteGuard")){var dlg=new Element('div',{id:'deleteGuard','class':'dialogbox'});dlg.innerHTML='<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="throbberContent"><h4></h4><p>'+param2+'</p><div class="options"><a class="linkbutton secondarybutton" id="btnConfirmDelete" href="#"><span>Delete</span></a><a class="linkbutton tertiarybutton" id="btnCancelDelete" href="#"><span>Cancel</span></a></div></div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>';if(Browser.Engine.trident4){dlg.setStyle('top',$(document.body).getScroll().y+$(document.body).getSize().y/2-dlg.getSize().y);}
if($('principal')){$('principal').appendChild(dlg);}
else{$(document.body).appendChild(dlg);}
}
$$("#deleteGuard h4")[0].innerHTML='Are you sure you want to delete this '+param+'?';$$('#deleteGuard .throbberContent p')[0].innerHTML=param2;esg.viewUtil.modalBox.show("deleteGuard");$$('#deleteGuard a').removeEvents('click');},hide:function(event){if(event)event.stop();esg.viewUtil.modalBox.hide("deleteGuard");}};esg.viewUtil.exitGuard={show:function(title,message){if(!title)
title='Save your changes?';if(!message)
message='Do you want to save the changes you have made?';if(!$("exitGuard")){var dlg=new Element('div',{id:'exitGuard','class':'exitGuard dialogbox'});dlg.innerHTML='<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="dialogContent"><h4>'+title+'</h4><p>'+message+'</p><div class="options"><span class="btngroupleft"><a class="linkbutton tertiarybutton" id="btnCancelChange" href="#"><span>Cancel</span></a></span><span class="btngroupright"><a class="linkbutton tertiarybutton" id="btnDontSaveChange" href="#"><span>Don&#39;t Save</span></a><a class="linkbutton" id="btnSaveChange" href="#"><span>Save</span></a></span></div></div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>';if(Browser.Engine.trident4){dlg.setStyle('top',$(document.body).getScroll().y+$(document.body).getSize().y/2-dlg.getSize().y);}
if($('principal')){$('principal').appendChild(dlg);}
else{$(document.body).appendChild(dlg);}
}
$$("#exitGuard h4")[0].innerHTML=title;$$('#exitGuard .dialogContent p')[0].innerHTML=message;esg.viewUtil.modalBox.show("exitGuard");$$('#exitGuard a').removeEvents('click');},hide:function(event){if(event)event.stop();esg.viewUtil.modalBox.hide("exitGuard");}};esg.viewUtil.warningDialog={show:function(params){var title=params.title?params.title:'Save your changes?';var message=params.message?params.message:'Do you want to save the changes you have made?';if(!$("warningDialog")){var dlg=new Element('div',{id:'warningDialog','class':'warningDialog dialogbox'});dlg.innerHTML='<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="ancillary"><a id="closeWarningDialog" class="dialogclose" href="#" title="close">close</a></div><div class="dialogContent"><h4>'+title+'</h4><p>'+message+'</p><div class="options"><span class="btngroupleft"></span><span class="btngroupright"><a class="linkbutton tertiarybutton" id="btnCancelChange" href="#"><span>Cancel</span></a></span></div></div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>';if(Browser.Engine.trident4){dlg.setStyle('top',$(document.body).getScroll().y+$(document.body).getSize().y/2-dlg.getSize().y);}
if($('principal')){$('principal').appendChild(dlg);}
else{$(document.body).appendChild(dlg);}
$("closeWarningDialog").addEvent('click',esg.viewUtil.warningDialog.hide);}
esg.viewUtil.modalBox.show("warningDialog");$$("#warningDialog h4")[0].innerHTML=title;$$('#warningDialog .dialogContent p')[0].innerHTML=message;},hide:function(event){if(event)event.stop();esg.viewUtil.modalBox.hide("warningDialog");}};esg.viewUtil.fixFooter=function(){};esg.viewUtil.getTabbedNavBarContents=function(current){if(!current)current='photos';var upload='<a id="btnUpload" class="linkbutton secondarybutton"><span id="photoPickerButtonUpload">Upload Photos</span></a>';var ancillary=new Element('div',{'class':'ancillary','html':(current=='photos')?upload:''});var subtabs=new Element('ul',{'class':'subtabs'});var anon=esg.ident.model.isAnon;var photostab=new Element('li',{'class':'photostab '+((current=='photos'||(current=='rearrange'))||(current=='editcaptions')||(current=='deletephotos')||(current=='bulkEdit')?'current':''),'html':'<a href="albums.jsp"><span id="photoPickerPhotos">Photos</span></a>'});var contactstab=new Element('li',{'class':'contactstab '+((current=='contacts')?'current':'')+((anon)?'disabled':'')});var contactstaba=new Element('a',{'id':'contactsTabLink','href':(anon)?'javascript:void(0);':'contacts.jsp','html':'<span id="photoPickerContacts">Contacts</span>'});var commentstab=new Element('li',{'class':'commentstab '+((current=='comments')?'current':'')+((anon)?'disabled':'')});var commentstaba=new Element('a',{'id':'commentsTabLink','href':(anon)?'javascript:void(0);':'comments.jsp','html':'<span id="photoPickerComments">Comments</span>'});var sharehistorytab=new Element('li',{'class':'sharehistorytab '+((current=='sharedHistory')?'current':'')+((anon)?'disabled':'')});var sharehistorytaba=new Element('a',{'id':'shareHistoryTabLink','href':(anon)?'javascript:void(0);':'sharedHistory.jsp','html':'<span id="photoPickerShareHistory">Share History</span>'});var projectstab=new Element('li',{'class':'projectstab '});var projectstaba=new Element('a',{'id':'projectsTabLink','href':'/gallery/my-photo-projects.jsp','html':'<span>My Projects</span>'});if(anon){var addTabLinks=function(){if(!$('shareHistoryTabLink')){addTabLinks.delay(500);return;}
var anonAlert=function(e){esg.share.controller.execute('showError',{'message':'You must be logged in to access this tab.'});return false;};$('contactsTabLink').addEvent('click',anonAlert);$('commentsTabLink').addEvent('click',anonAlert);$('shareHistoryTabLink').addEvent('click',anonAlert);}
window.addEvent('domready',addTabLinks);}
contactstab.appendChild(contactstaba);commentstab.appendChild(commentstaba);sharehistorytab.appendChild(sharehistorytaba);subtabs.appendChild(photostab);subtabs.appendChild(contactstab);subtabs.appendChild(commentstab);subtabs.appendChild(sharehistorytab);var wrapper=new Element('div');wrapper.appendChild(subtabs);wrapper.appendChild(ancillary);return wrapper.getHTML();};esg.viewUtil.photoResize=function(photo,max){var orig_width=photo.width,orig_height=photo.height;if(!max)max=250;if(photo.width>photo.height){if(photo.width>max){photo.width=max;photo.height=orig_height*(max/orig_width);}}else{if(photo.height>max){photo.height=max;photo.width=orig_width*(max/orig_height);};}
return photo;};esg.viewUtil.getPageSize=function(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;};esg.viewUtil.inPlaceEditor={show:function(params){var origText=params.edit;var editText=origText.replace(/<br\/*>/gi,"\r\n");var onCompleteEditEventStr=params.callback;var editTxtFld=new Element('textarea',{'id':'inPlaceEditor','class':'texteditfield','html':Browser.Engine.trident?'':editText,'events':{select:function(event){event.stop();if(!Browser.Engine.trident)
esg.utility.txtCharCount('inPlaceEditor','editTextLengthCounter',500);return false;},focus:function(event){event.stop();esg.utility.txtCharCount('inPlaceEditor','editTextLengthCounter',500);return false;},keyup:function(){esg.utility.txtCharCount('inPlaceEditor','editTextLengthCounter',500);}}});editTxtFld.store('origText',editText);if(Browser.Engine.trident){editTxtFld.value=esg.utility.decodeHTML(editText);}
var textLengthCounter=new Element('span',{'id':'editTextLengthCounter','class':'textlength'})
var saveEdit=new Element('a',{'id':'saveInPlaceEdit','class':'saveInPlaceEdit','html':'Save','events':{click:function(event){event.stop();var newText=$('inPlaceEditor').value;if(editText==newText){esg.viewUtil.inPlaceEditor.cancel();}
else{esg.viewUtil.inPlaceEditor.save(onCompleteEditEventStr);}
return false;}}})
var cancelEdit=new Element('a',{'id':'cancelInPlaceEdit','class':'cancelInPlaceEdit','html':'Cancel','events':{click:function(event){event.stop();esg.viewUtil.inPlaceEditor.cancel();return false;}}})
var inPleaceEditor=new Element('div',{'id':'inPlaceEditContainer','class':'inplaceeditor'}).adopt([textLengthCounter,cancelEdit,saveEdit,editTxtFld]);return inPleaceEditor;},save:function(callbackstr){if(callbackstr){console.info(callbackstr);eval(callbackstr);}},cancel:function(){var origComment=($('inPlaceEditor'))?$('inPlaceEditor').retrieve('origText'):'';var commentTextFld=$('inPlaceEditor').getParent('.commentText');commentTextFld.removeClass('editmode');commentTextFld.innerHTML=origComment.replace(/\r\n/g,"<br/>");esg.share.model.editing=false;}}
esg.viewUtil.keepPhotoPullerMonitorInView=function(){var ppmDlg=$('photoPullerMonitorInView_dialog');var modalOverlay=$('modal_overlay');if(ppmDlg){var dlgWidth=ppmDlg.getSize().x;var dlgHeight=ppmDlg.getSize().y;var dlgMarginLeft=parseInt(ppmDlg.getStyle('margin-left'));var dlgMarginTop=parseInt(ppmDlg.getStyle('margin-top'));var docWidth=document.getSize().x;var docHeight=document.getSize().y;var docScrollX=document.getScroll().x;var docScrollY=document.getScroll().y;var newLeft=docScrollX+(docWidth-dlgWidth)/2-dlgMarginLeft;var newTop=docScrollY+(docHeight-dlgHeight)/2-dlgMarginTop;ppmDlg.setStyles({'left':'50%','top':'320px'});if(modalOverlay){modalOverlay.setStyles({'left':0,'top':(Browser.Engine.trident4)?docScrollY:0,'width':'100%','height':(Browser.Engine.trident4)?docHeight:'100%'});}}};esg.viewUtil.addPhotoPullerMonitorWindowEvents=function(){if(Browser.Engine.trident4){window.addEvents({'scroll':esg.viewUtil.keepPhotoPullerMonitorInView,'resize':esg.viewUtil.keepPhotoPullerMonitorInView});}};esg.viewUtil.editorDialog={show:function(params){var id=params.id;var cssId=id+'_dialog'
var cssEditId=id+'_edit';var title=params.title;var callback=params.callback;var defaultValue=params.text;var dlg=null;if(!$(cssId)){dlg=new Element('div',{'class':'editDialog dialogbox','id':cssId});$('principal').appendChild(dlg);}else{dlg=$(cssId);dlg.innerHTML='';}
var header=new Element('div',{'class':'header'});var headerText=new Element('h3',{'html':title});var headerClose=new Element('a',{'id':'editGroupDialogClose','href':'javascript:void(0);','title':'Close','class':'dialogclose','events':{'click':function(e){e.stop();esg.viewUtil.editorDialog.hide(id)}}});header.appendChild(headerText);header.appendChild(headerClose);var topLeft=new Element('div',{'class':'dialogtopleft'});var topRight=new Element('div',{'class':'dialogtopright clearfix'});var dTopLeft=new Element('div',{'class':'dpaneltopleft'});var dTopRight=new Element('div',{'class':'dpaneltopright clearfix'});topRight.appendChild(header)
var input=new Element('input',{'type':'text','name':cssEditId,'id':cssEditId,'value':esg.utility.decodeHTML(defaultValue),'style':'color: #000;','events':{'select':function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},'focus':function(event){esg.utility.eraseField(this,event);},'blur':function(event){esg.utility.populateField(this,defaultValue,event);},'keydown':function(event){esg.utility.eraseField(this,event);},'keyup':function(event){if(event.key=='enter'&&!$(id+'_yes').hasClass('disabledbutton')){eval(callback);esg.viewUtil.editorDialog.hide(id);event.stop();}
esg.viewUtil.editorDialog.changeText(id,defaultValue);esg.utility.populateField(this,defaultValue,event);},'mousedown':function(event){esg.utility.eraseField(this,event);},'mouseup':function(event){esg.utility.eraseField(this,event);},'contextmenu':function(event){esg.utility.eraseField(this,event);}}});dTopRight.appendChild(input);dTopLeft.appendChild(dTopRight);topRight.appendChild(dTopLeft);var dBotLeft=new Element('div',{'class':'dpanelbotleft'});var dBotRight=new Element('div',{'class':'dpanelbotright'});dBotRight.appendChild(dBotLeft);topRight.appendChild(dBotRight);var footer=new Element('div',{'class':'changeGroupNameFooter clearfix'});var cancel=new Element('a',{'id':id+'_no','href':'javascript:void(0)','class':'editDialogNo linkbutton tertiarybutton','events':{'click':function(e){e.stop();esg.viewUtil.editorDialog.hide(id);}},'html':'<span>Cancel</span>'});var send=new Element('a',{'id':id+'_yes','href':'javascript:void(0)','class':' editDialogYes linkbutton disabledbutton','events':{'click':function(e){e.stop();if(!this.hasClass('disabledbutton')){eval(callback)
esg.viewUtil.editorDialog.hide(id);}}},'html':'<span>Save</span>'});footer.appendChild(send);footer.appendChild(cancel);topRight.appendChild(footer)
topLeft.appendChild(topRight);var botLeft=new Element('div',{'class':'dialogbotleft'});var botRight=new Element('div',{'class':'dialogbotright'});botRight.appendChild(botLeft);dlg.appendChild(topLeft);dlg.appendChild(botRight);if(Browser.Engine.trident4){dlg.setStyle('top',$(document.body).getScroll().y+$(document.body).getSize().y/2-dlg.getSize().y);}
esg.viewUtil.modalBox.show(cssId);$(cssEditId).focus();$(cssEditId).select();},hide:function(id){esg.viewUtil.modalBox.hide(id+'_dialog')},changeText:function(id,defaultText){var cssId=id+'_edit';var newName=$(cssId).value.trim();var button=$(id+'_yes');if((!newName||newName==defaultText)&&!button.hasClass('disabledbutton')){button.addClass('disabledbutton');return;}
if(button.hasClass('disabledbutton')&&$(cssId).value!=defaultText)
button.removeClass('disabledbutton')}};esg.viewUtil.thumbResizer=function(img,size,retryCount,mode){if(img.src.length==0)
return;if(Browser.Engine.trident&&(img.style.width||img.style.height)){img.setStyle('width','auto');img.setStyle('height','auto');}
if((img.width==0||img.height==0)&&(!retryCount||retryCount<5)){if(!retryCount)
retryCount=0;(function(){esg.photoPicker.views.thumbResizer(img,size,++retryCount,mode);}).delay(200);return;}else if(img.width==0||img.height==0){var newImg=Asset.image(img.src,{title:img.title});if(img.parentNode)
img.parentNode.replaceChild(newImg,img);if(img.width==0||img.height==0){(function(){esg.photoPicker.views.thumbResizer(newImg,size,0,mode);}).delay(250);return;}}
var cmp=(mode!="album")?img.width<img.height:img.width>img.height;if(cmp){img.setStyle('height',size+"px");img.setStyle('width','auto');}
else{var origSize={'height':img.height,'width':img.width};img.setStyle('width',size+"px");img.setStyle('height','auto');var paddingVal=parseInt((size-(origSize.height*size/origSize.width))/2);img.setStyle('margin-top',paddingVal);img.setStyle('margin-bottom',paddingVal);}
if(img.getParent())
img.getParent().setStyles({'display':'block'});if(img.style.visibility=='hidden')
img.setStyle('visibility','visible');};$extend(Browser,{getHost:function(url){url=$pick(url,window.location.href);var host=url;if(url.test('http://')){url=url.substring(url.indexOf('http://')+7,url.length);if(url.test(':'))url=url.substring(0,url.indexOf(":"));if(url.test('/'))return url.substring(0,url.indexOf('/'));return url}return false},getQueryStringValue:function(key,url){try{return Browser.getQueryStringValues(url)[key]}catch(e){return null}},getQueryStringValues:function(url){var qs=$pick(url,window.location.search,'').split('?')[1];if(!$chk(qs))return{};if(qs.test('#'))qs=qs.substring(0,qs.indexOf('#'));try{if(qs)return qs.parseQuery()}catch(e){return null}return{}},getPort:function(url){url=$pick(url,window.location.href);var re=new RegExp(':([0-9]{4})');var m=re.exec(url);if(m==null)return false;else{var port=false;m.each(function(val){if($chk(parseInt(val)))port=val})}return port},redraw:function(element){var n=document.createTextNode(' ');this.adopt(n);(function(){n.dispose()}).delay(1);return this}});window.addEvent('domready',function(){var count=0;function setQs(){function retry(){count++;if(count<20)setQs.delay(50)};try{if(!Browser.getQueryStringValues())retry();else Browser.qs=Browser.getQueryStringValues()}catch(e){retry()}}setQs()});Hash.implement({getFromPath:function(notation){var source=this.getClean();notation.replace(/\[([^\]]+)\]|\.([^.[]+)|[^[.]+/g,function(match){if(!source)return;var prop=arguments[2]||arguments[1]||arguments[0];source=(prop in source)?source[prop]:null;return match});return source},cleanValues:function(method){method=method||$defined;this.each(function(v,k){if(!method(v))this.erase(k)},this);return this},run:function(){var args=$arguments;this.each(function(v,k){if($type(v)=="function")v.run(args)})}});String.implement({stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'')},parseQuery:function(encodeKeys,encodeValues){encodeKeys=$pick(encodeKeys,true);encodeValues=$pick(encodeValues,true);var vars=this.split(/[&;]/);var rs={};if(vars.length)vars.each(function(val){var keys=val.split('=');if(keys.length&&keys.length==2){rs[(encodeKeys)?encodeURIComponent(keys[0]):keys[0]]=(encodeValues)?encodeURIComponent(keys[1]):keys[1]}});return rs},tidy:function(){var txt=this.toString();$each({"[\xa0\u2002\u2003\u2009]":" ","\xb7":"*","[\u2018\u2019]":"'","[\u201c\u201d]":'"',"\u2026":"...","\u2013":"-","\u2014":"--","\uFFFD":"&raquo;"},function(value,key){txt=txt.replace(new RegExp(key,'g'),value)});return txt},cleanQueryString:function(method){return this.split("&").filter(method||function(set){return $chk(set.split("=")[1])}).join("&")},findAllEmails:function(){return this.match(new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?","gi"))||[]}});Element.alias('dispose','remove').alias('getLast','getLastChild');Cookie.remove=Cookie.dispose;Cookie.get=Cookie.read;Cookie.set=Cookie.write;Element.implement({getText:function(){return this.get('text');},setText:function(text){return this.set('text',text);},setHTML:function(){return this.set('html',arguments);},getHTML:function(){return this.get('html');},getTag:function(){return this.get('tag');}});Event.Keys.shift=16;Event.Keys.alt=18;Event.Keys.insert=45;Event.Keys.home=36;Event.Keys.end=35;Event.Keys.pageUp=33;Event.Keys.pageDown=34;Date.prototype.setISO8601=function(string){var regexp="([0-9]{4})(-([0-9]{2})(-([0-9]{2})"+
"(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?"+
"(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";var d=string.match(new RegExp(regexp));var offset=0;var date=new Date(d[1],0,1);if(d[3]){date.setMonth(d[3]-1);}
if(d[5]){date.setDate(d[5]);}
if(d[7]){date.setHours(d[7]);}
if(d[8]){date.setMinutes(d[8]);}
if(d[10]){date.setSeconds(d[10]);}
if(d[12]){date.setMilliseconds(Number("0."+d[12])*1000);}
if(d[14]){offset=(Number(d[16])*60)+Number(d[17]);offset*=((d[15]=='-')?1:-1);}
offset-=date.getTimezoneOffset();time=(Number(date)+(offset*60*1000));this.setTime(Number(time));};if(!esg)var esg={};esg.utility={_random_seed:1234,random:function(minValue,maxValue){minValue=minValue?minValue:0;maxValue=maxValue?maxValue:100;var newNumber=0;newNumber=(134775813*this._random_seed+1)%Math.pow(2,32);this._random_seed=newNumber;var base=newNumber/Math.pow(2,32);return Math.max(minValue,Math.min(maxValue,Math.round(base*(maxValue-minValue)+minValue)));},randomString:function(noOfStrReqd){if(!esg.utility.randomString.randArr)
esg.utility.randomString.randArr=[];if(esg.utility.randomString.randArr.length<noOfStrReqd)
{for(var j=esg.utility.randomString.randArr.length;j<noOfStrReqd;j++)
{var chars="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";var string_length=3;var randomstring='';for(var i=0;i<string_length;i++){var rnum=Math.floor(Math.random()*chars.length);randomstring+=chars.substring(rnum,rnum+1);}
esg.utility.randomString.randArr[j]=randomstring;}}
return esg.utility.randomString.randArr[esg.utility.random(0,noOfStrReqd-1)];},_seq:0,nextSeq:function(){return this._seq++;},dateFromJava:function(dateString,skipTimezoneOffset){var re=/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.\d+((?:-|\+)\d{2}):/i;var matches=dateString.match(re);var returnDate;if(matches.length>0){var year=parseFloat(matches[1]);var month=parseFloat(matches[2])-1;var date=parseFloat(matches[3]);var hour=parseFloat(matches[4]);var min=parseFloat(matches[5]);var second=parseFloat(matches[6]);var utcOffset=parseFloat(matches[7]);if(skipTimezoneOffset){returnDate=new Date(year,month,date,hour,min,second);}else{hour-=utcOffset;returnDate=new Date(Date.UTC(year,month,date,hour,min,second));}}else{returnDate=new Date();}
return returnDate;},sortDatesDescendingCB:function(albEntry1,albEntry2){var date1=albEntry1.date;var date2=albEntry2.date;if(date1>date2){return-1;}else if(date2>date1){return 1;}else{return 0;}},loadXMLDoc:function(dname)
{try
{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");}
catch(e)
{try
{xmlDoc=document.implementation.createDocument("","",null);}
catch(e){console.error(e.message)}}
try
{xmlDoc.async=false;xmlDoc.load(dname);return(xmlDoc);}
catch(e){console.error(e.message)}
return(null);},loadXMLString:function(txt)
{try
{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async="false";xmlDoc.loadXML(txt);return(xmlDoc);}
catch(e)
{try
{parser=new DOMParser();xmlDoc=parser.parseFromString(txt,"text/xml");return(xmlDoc);}
catch(e){alert(e.message)}}
return(null);},clearField:function(el,txt){if(el.value==txt){el.value="";el.style.color="#000";el.focus();}},inValue:function(el,txt){if(el.value.trim()==""){el.value=txt;el.style.color="#999999";}},eraseField:function(el,event){if(el.getStyle('color')=="#999999"||el.getStyle('color')=="#999"||el.getStyle('color').toLowerCase()=="#bbbbbb"||el.getStyle('color').toLowerCase()=="#bbb"){if(event.type&&event.type=='focus'){el.setCaretPosition(0);if(el.getStyle('color')=="#999999"||el.getStyle('color')=="#999")
el.style.color="#bbb";event.preventDefault();}
else if(!Browser.Engine.trident&&event.type&&event.type=='select'){el.setCaretPosition(0);event.preventDefault();}
else if(event.type&&event.type=='mousedown'){event.preventDefault();}
else if(event.type&&event.type=='mouseup'){el.setCaretPosition(0);}
else if(event.type&&event.type=='contextmenu'){el.setCaretPosition(0);event.stop();}
else if(event.key&&['up','down','left','right','backspace','delete','alt','shift','esc','insert','home','end','pageup','pagedown'].contains(event.key.toLowerCase())){event.preventDefault();}
else if(event.type&&event.type=='keydown'&&event.key!='tab'){el.value="";el.style.color="#000000";el.focus();}}},populateField:function(el,txt,event){if((el.getStyle('color')=="#999999"||el.getStyle('color')=="#999"||el.getStyle('color').toLowerCase()=="#bbbbbb"||el.getStyle('color').toLowerCase()=="#bbb")&&event.key&&['up','down','left','right','backspace','delete','alt','shift','esc','insert','home','end','pageup','pagedown'].contains(event.key.toLowerCase())){event.preventDefault();}
else if(el.value.trim()==""||el.value==txt){el.value=txt;if(event.type&&event.type=="blur")
el.style.color="#999";else{el.style.color="#bbb";el.setCaretPosition(0);}}},erasePwdField:function(currentElem,replacingElem,event){var performErase=function(){currentElem.style.display="none";replacingElem.style.display="inline";replacingElem.focus();replacingElem.style.color="#000000";if(replacingElem.getParent('div.signInFrameBody'))
{(function(){var removedElem=currentElem.dispose();replacingElem.getParent().removedChild=removedElem;}).delay(25);}}
if(event.type&&event.type=='focus')
{if(replacingElem.value.length>0)
{performErase();}}
else if(!Browser.Engine.trident&&event.type&&event.type=='select')
{currentElem.setCaretPosition(0);event.preventDefault();}
else if(event.type&&event.type=='mousedown')
{event.preventDefault();}
else if(event.type&&event.type=='mouseup')
{if(replacingElem.value.length>0)
{performErase();}
else
{currentElem.setCaretPosition(0);}}
else if(event.type&&event.type=='contextmenu')
{currentElem.setCaretPosition(0);event.stop();}
else if(event.key=='up'||event.key=='down'||event.key=='left'||event.key=='right'||event.key=='backspace'||event.key=='delete'||event.key=='alt'||event.key=='shift'||event.key=='esc'||event.key=='insert'||event.key=='home'||event.key=='end'||event.key=='pageUp'||event.key=='pageDown'||event.code==19||event.code==20||event.code==144||event.code==145||event.code==145||(event.code>=112&&event.code<=123))
{event.preventDefault();}
else if(event.key!="tab")
{if(event.shift)
{if(event.key!="shift")
performErase();}
else
performErase();}},populatePwdField:function(currentElem,replacingElem,event){if(currentElem.value=="")
{if(currentElem.getParent('div.signInFrameBody'))
{replacingElem.inject(currentElem,"after");replacingElem.set('value','Password');}
currentElem.style.display="none";replacingElem.style.display="inline";replacingElem.setCaretPosition(0);}},xmlSerializer:{serialize:function(obj,tagName){var elems=new Array('');if(!tagName)
tagName=obj._tagName||'object';switch($type(obj)){case'undefined':case'function':case'unknown':break;case'array':var elemTag=obj.elementTag||((tagName.charAt(tagName.length-1)=='s')?tagName.substring(0,tagName.length-1):tagName);elemTag=(elemTag.substr(elemTag.length-4)=='List')?elemTag.substring(0,elemTag.length-4):elemTag;var arrayLen=obj.length;var arrayElems=[];for(var i=0;i<arrayLen;i++){arrayElems.push(esg.utility.xmlSerializer.serialize(obj[i],elemTag));};elems.push(arrayElems.join(''));break;case'string':elems.push(esg.utility.xmlSerializer._formatString(obj));break;case'date':elems.push(esg.utility.xmlSerializer._formatDate(obj));break;case'object':for(var prop in obj){if(obj.hasOwnProperty(prop)&&prop.charAt(0)!='_'){var propValue=obj[prop];switch($type(propValue)){case'undefined':case'function':case'unknown':break;case'object':case'array':if(propValue!=null){elems.push(esg.utility.xmlSerializer.serialize(propValue,prop));}
break;case'date':elems.push('<'+prop+'>'+esg.utility.xmlSerializer._formatDate(propValue)+'</'+prop+'>');break;case'string':elems.push('<'+prop+'>'+esg.utility.xmlSerializer._formatString(propValue)+'</'+prop+'>');break;default:elems.push('<'+prop+'>'+propValue+'</'+prop+'>');}}}
break;case'number':default:elems.push(obj);break;}
return'<'+tagName+'>'+elems.join('')+'</'+tagName+'>';},_formatDate:function(dt){var zf=esg.utility.zeroFill;var tz=dt.getTimezoneOffset();var timezoneOffset="";if(tz%60){timezoneOffset=zf(parseInt(tz*-1/60),2)+
':'+
Math.abs(tz%60)}
else{timezoneOffset=zf(tz*-1/60,2)+
':00'};timezoneOffset=(tz>0?"":"+")+timezoneOffset;return dt.getFullYear()+'-'+zf(dt.getMonth()+1,2)+'-'+zf(dt.getDate(),2)+'T'+
zf(dt.getHours(),2)+
':'+
zf(dt.getMinutes(),2)+
':'+
zf(dt.getSeconds(),2)+
'.'+
dt.getMilliseconds()+
timezoneOffset;},_formatString:function(str){return str.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/\'/g,'&apos;').replace(/"/g,'&quot;');}},getCDATAWrap:function(xmlStr,els){var retStr=xmlStr;for(var e=0;e<els.length;e++){if(xmlStr.contains('<'+els[e]+'>')){retStr=retStr.replace('<'+els[e]+'>','<'+els[e]+'><![CDATA[').replace('</'+els[e]+'>',']]></'+els[e]+'>');}}
return retStr;},getXMLDoc:function(dname){var xmlDoc=null;try
{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");}
catch(e)
{try
{xmlDoc=document.implementation.createDocument("","",null);}
catch(e){alert(e.message)}}
try
{xmlDoc.async=false;xmlDoc.load(dname);return(xmlDoc);}
catch(e){}
return(null);},loadXMLString:function(txt)
{try
{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async="false";xmlDoc.loadXML(txt);return(xmlDoc);}
catch(e)
{try
{parser=new DOMParser();xmlDoc=parser.parseFromString(txt,"text/xml");return(xmlDoc);}
catch(e){alert(e.message)}}
return(null);},zeroFill:function(num,len){var numZeros=len-Math.abs(num).toString().length;var retString="";for(var i=0;i<numZeros;i++){retString+="0";};return(num<0?"-":"")+retString+Math.abs(num).toString();},parseIntZero:function(num){var result=parseInt(num);if(result)
return result;else
return 0;},alphaNumericSort:function(a,b){var sa,sb;if($type(a)=="object"&&$defined(a.getDisplayName))
sa=a.getDisplayName().toLowerCase();else if($type(a)=="object"&&this.property)
sa=a[property];else
sa=a.toLowerCase();if($type(b)=="object"&&$defined(b.getDisplayName))
sb=b.getDisplayName().toLowerCase();else if($type(b)=="object"&&this.property)
sb=b[property];else
sb=b.toLowerCase();var sam=sa.split('')[0]+'';var sbm=sb.split('')[0]+'';if(sam<'a'||sbm<'a'||sam>'z'||sbm>'z'){if((sam>='0'&&sam<='9')||(sbm>='0'&&sbm<='9')){if((sam>='0'&&sam<='9')&&(sbm>='0'&&sbm<='9'))
return(sa>sb)?1:((sb>sa)?-1:0);if(sam>='0'&&sam<='9'){return(sbm<'a'||sbm>'z')?-1:1;}
else{return(sam<'a'||sam>'z')?1:-1;}}
if((sam<'a'||sam>'z')&&!(sbm<'a'||sbm>'z'))
return 1
if(!(sam<'a'||sam>'z')&&(sbm<'a'||sbm>'z'))
return-1;return(sa>sb)?1:((sb>sa)?-1:0);}
if(sa>sb)
return 1;if(sb>sa)
return-1;return 0;},sanitizeOutput:function(output){if($type(output)=='object'||$type(output)=='array'){if($type(output)!='array')
output=$H(output);output.each(function(val,name){if($type(val)=='string'||$type(val=='object')||$type(output)=='array')
if($type(output)=='array')
output[name]=esg.utility.sanitizeOutput(val)
else
output.set(name,esg.utility.sanitizeOutput(val));});return output;}
if($type(output)=='string')
return output.replace(/</g,'&lt;').replace(/>/g,'&gt;');return output;},imageFileSizeCal:function(bytes){bytes=parseInt(bytes,10);if(bytes>=1048576){var mb=parseInt((bytes*100+1048575)/1048576,10)/100;return mb+" MB";}else if(bytes>=1024){var kb=parseInt((bytes+1023)/1024,10);return kb+" KB";}else{return bytes+" bytes";}},redrawInIE6:function(className,timeDelay){if(Browser.Engine.trident&&Browser.Engine.version<=7){(function(){$$(className).setStyle('display','none');$$(className).setStyle('display','block');}).delay(timeDelay?timeDelay:100);}},tosSizeCal:function(bytes){bytes=parseInt(bytes,10);if(bytes==0)
return 0;if(bytes<1073742)
return 0.001;return Math.floor(bytes*1000/1073741824)/1000;},equalArray:function(arr1,arr2,strict){strict=strict||false;if(arr1.length!=arr2.length)
return false;for(var i=0;i<arr1.length;i++){if(strict){if(arr1[i]!==arr2[i])
return false;}else{if(arr1[i]!=arr2[i])
return false;}}
return true;},truncText:function(text,len,option){if(text==null)
text='';var trunc=text;option=option?option:{};if(typeof option.cutLongWord==="undefined"){option.cutLongWord=true;}
var tArray=trunc.split(' ');if(tArray[0].length>=9&&option.cutLongWord==true){trunc=tArray[0].slice(0,7);trunc+='...';}
else
if(trunc.length>len){trunc=trunc.substring(0,len);trunc+='...';}
return trunc;}}
esg.utility.Request=new Class({Extends:Request,options:{urlEncoded:false,emulation:false},initialize:function(options){this.parent(options);if(Browser.Engine.trident){this.setHeader('If-Modified-Since','Sat, 1 Jan 2000 00:00:00 GMT');}
this.setHeader('Cache-Control','no-cache');if(options.method.toLowerCase()=="post"||options.method.toLowerCase()=="put"){this.setHeader('Content-type','text/xml');}
this.addEvent('onRequest',function(){this.startTime=$time();this.handledError=false;});this.addEvent('onComplete',function(){console.info('AJAX call %s completed in: %dms',this.options.url,$time()-this.startTime);});},failure:function(text){this.onFailure();if(!this.handledError&&this.options.controller){switch(this.status){case 401:this.options.controller.execute('sessionTimeout',{url:this.options.url,status:this.status,statusText:this.xhr.statusText});break;default:this.options.controller.execute('ajaxFail',{url:this.options.url,status:this.status,statusText:this.xhr.statusText});}}}});esg.utility.JSONRequest=new Class({Extends:esg.utility.Request,options:{secure:false},initialize:function(options){this.parent(options);this.headers.extend({'Accept':'application/json','X-Request':'JSON'});},success:function(text){this.response.json=JSON.decode(text,this.options.secure);this.onSuccess(this.response.json,text);}});esg.utility.getFrameContent=function(frameId){var ifr=document.getElementById(frameId);if(ifr.contentDocument){var doc=ifr.contentDocument;}
else
if(ifr.contentWindow){var doc=ifr.contentWindow.document;}
else{var doc=window.frames[frameId].document;}
return doc;};esg.utility.langDict=new Class({initialize:function(dict){this.dict=dict;},get:function(key){var retVal=this.dict.get(key);if(retVal==null)
return key;else
return retVal;}});esg.utility.CookieWithoutEncDec=new Class({Extends:Cookie,write:function(value){if(this.options.domain)value+='; domain='+this.options.domain;if(this.options.path)value+='; path='+this.options.path;if(this.options.duration){var date=new Date();date.setTime(date.getTime()+this.options.duration*24*60*60*1000);value+='; expires='+date.toGMTString();}
if(this.options.secure)value+='; secure';this.options.document.cookie=this.key+'='+value;return this;},read:function(){var value=this.options.document.cookie.match('(?:^|;)\\s*'+this.key.escapeRegExp()+'=([^;]*)');return value?value[1]:null;}});esg.utility.CookieWithoutEncDec.set=function(key,value,options){return new esg.utility.CookieWithoutEncDec(key,options).write(value);};esg.utility.CookieWithoutEncDec.get=function(key){return new esg.utility.CookieWithoutEncDec(key).read();};esg.utility.getQsValue=function(qsParam){var queryStr=Browser.getQueryStringValue(qsParam,document.location.href);return(queryStr)?decodeURIComponent(queryStr):null;}
String.prototype.stripTags=function(){return this.replace(/<([^>]+)>/g,'');}
esg.utility.allowSplChar=function(xmlInputStr,tagName){if(xmlInputStr.indexOf("<"+tagName+">")!=-1)
{var startIndex=xmlInputStr.indexOf("<"+tagName+">")+tagName.length+2;var endIndex=xmlInputStr.indexOf("</"+tagName+">");var tagNameValue=xmlInputStr.substring(startIndex,endIndex);tagNameValueWithSplChar=tagNameValue.replace('&amp;','&').replace('&lt;','<').replace('&gt;','>').replace('&apos;','\'').replace('&quot;','"');xmlInputStr=xmlInputStr.replace(tagNameValue,tagNameValueWithSplChar);}
return xmlInputStr;};esg.utility.encodeHTML=function(str){str=str.replace(/&/g,"&amp;");str=str.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;");return str;}
esg.utility.keepFormatting=function(str){return str.replace(/\/n/g,'<br />');};esg.utility.decodeHTML=function(str){str=str.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,"\"").replace(/&#39;/g,"'").replace(/&#9;/g,String.fromCharCode(9)).replace(/&#10;/g,String.fromCharCode(10)).replace(/&#13;/g,String.fromCharCode(13));str=str.replace(/&amp;/g,"&");return str;};esg.utility.getParameter=function(key,defaultValue){var foldl=function(ary,binaryOperator,startingValue){var reduction=startingValue;ary.each(function(item){reduction=binaryOperator(reduction,item);});return reduction;};var ary=window.location.search.substring(1).split('&').map(function(x){return x.split('=')});var params=foldl(ary,function(h,a){return h.set(a[0],a[1]);},new Hash());return params.get(key)||defaultValue;};esg.utility.popWin={open:function(url,width,height,pos){var bWidth=0,bHeight=0;if(typeof(window.innerWidth)=='number'){bWidth=window.innerWidth;bHeight=window.innerHeight;}else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){bWidth=document.documentElement.clientWidth;bHeight=document.documentElement.clientHeight;}else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){bWidth=document.body.clientWidth;bHeight=document.body.clientHeight;}
if(pos=='center')
{var left=(bWidth-width)/2;var top=(bHeight-height)/2;}else{var left=parseInt(pos);var top=parseInt(pos);}
var params='width='+width+', height='+height;params+=', top='+top+', left='+left;params+=', directories=no';params+=', location=no';params+=', menubar=no';params+=', resizable=yes';params+=', scrollbars=yes';params+=', status=no';params+=', toolbar=no';newwin=window.open(url,'galleryPopup',params);if(window.focus){newwin.focus()}
return false;},close:function(){}};esg.utility.txtCharCount=function(txtField,charCounter,limit){var charCounter=$(charCounter);var txtField=$(txtField);var txt=txtField.value;if(Browser.Engine.trident)
txt=txt.replace(/\r/g,'');var txtLength=txt.length;if(txtLength>=limit){txt=txt.substring(0,limit);txtLength=txt.length;txtField.value=txt;}
var remaining=limit-txtLength;if(charCounter!=null)
charCounter.set('html',remaining+' characters remaining');};esg.utility.flashDetect=function(supressPopup,forcePopup,noCancelRedirect,versionOverride){var version=versionOverride||{major:9,minor:0,revision:124};this.displayPopup=function(){if($('NoFlashWarningFade'))
$('NoFlashWarningFade').dispose();if($('NoFlashWarning'))
$('NoFlashWarning').dispose();var flashFade=new Element('div',{id:'NoFlashWarningFade'});var flashWarning=new Element('div',{id:'NoFlashWarning','class':'dialogbox',html:'<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="content"><h3>This page requires the latest version of Flash Player</h3><p>To continue, <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">click here</a> to install the latest version of <a href="http://www.macromedia.com/software/flash/about">Flash Player.</a> <br />After installing the Player, please return to the project creation page.</p><div class="flashWarnFooter clearfix"><a class="linkbutton tertiarybutton" id="btnNoFlashCancel" href="/gallery/index.jsp"><span>Cancel</span></a><a class="linkbutton" id="btnInstallFlash" href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"><span>Get Flash</span></a></div></div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>'})
var drop=$('principal')||document.body;drop.adopt([flashFade,flashWarning]);if(noCancelRedirect){var cancelFunction=($type(noCancelRedirect)=="object")?noCancelRedirect:function(){esg.viewUtil.modalBox.hide('NoFlashWarning');};var btnNoFlashCancel=$('btnNoFlashCancel');btnNoFlashCancel.set('href','javascript:void(0);');btnNoFlashCancel.addEvent('click',cancelFunction);}
esg.viewUtil.modalBox.show('NoFlashWarning');};if(forcePopup){this.displayPopup();return;}
var hasVersion=DetectFlashVer(version.major,version.minor,version.revision);if(!hasVersion&&!supressPopup)
this.displayPopup();return hasVersion;}
Element.implement({tidy:function(){this.set('value',this.get('value').tidy());},getTextInRange:function(start,end){return this.get('value').substring(start,end);},getSelectedText:function(){if(Browser.Engine.trident)return document.selection.createRange().text;return this.get('value').substring(this.getSelectionStart(),this.getSelectionEnd());},getIERanges:function(){this.focus();var range=document.selection.createRange();var re=this.createTextRange();var dupe=re.duplicate();re.moveToBookmark(range.getBookmark());dupe.setEndPoint('EndToStart',re);return{start:dupe.text.length,end:dupe.text.length+range.text.length,length:range.text.length,text:range.text};},getSelectionStart:function(){if(Browser.Engine.trident)return this.getIERanges().start;return this.selectionStart;},getSelectionEnd:function(){if(Browser.Engine.trident)return this.getIERanges().end;return this.selectionEnd;},getSelectedRange:function(){return{start:this.getSelectionStart(),end:this.getSelectionEnd()}},setCaretPosition:function(pos){if(pos=='end')pos=this.get('value').length;try{this.selectRange(pos,pos);}catch(e){};return this;},getCaretPosition:function(){return this.getSelectedRange().start;},selectRange:function(start,end){this.focus();if(Browser.Engine.trident){var range=this.createTextRange();range.collapse(true);range.moveStart('character',start);range.moveEnd('character',end-start);range.select();return this;}
this.setSelectionRange(start,end);return this;},insertAtCursor:function(value,select){var start=this.getSelectionStart();var end=this.getSelectionEnd();this.set('value',this.get('value').substring(0,start)+value+this.get('value').substring(end,this.get('value').length));if($pick(select,true))this.selectRange(start,start+value.length);else this.setCaretPosition(start+value.length);return this;},insertAroundCursor:function(options,select){options=$extend({before:'',defaultMiddle:'SOMETHING HERE',after:''},options);value=this.getSelectedText()||options.defaultMiddle;var start=this.getSelectionStart();var end=this.getSelectionEnd();if(start==end){var text=this.get('value');this.set('value',text.substring(0,start)+options.before+value+options.after+text.substring(end,text.length));this.selectRange(start+options.before.length,end+options.before.length+value.length);text=null;}else{text=this.get('value').substring(start,end);this.set('value',this.get('value').substring(0,start)+options.before+text+options.after+this.get('value').substring(end,this.get('value').length));var selStart=start+options.before.length;if($pick(select,true))this.selectRange(selStart,selStart+text.length);else this.setCaretPosition(selStart+text.length);}
return this;}});Element.Properties.inputValue={get:function(){switch(this.get('tag')){case'select':vals=this.getSelected().map(function(op){var v=$pick(op.get('value'),op.get('text'));return(v=="")?op.get('text'):v;});return this.get('multiple')?vals:vals[0];case'input':switch(this.get('type')){case'checkbox':return this.get('checked')?this.get('value'):false;case'radio':var checked;if(this.get('checked'))return this.get('value');$(this.getParent('form')||document.body).getElements('input').each(function(input){if(input.get('name')==this.get('name')&&input.get('checked'))checked=input.get('value');},this);return checked||null;}
case'input':case'textarea':return this.get('value');default:return this.get('inputValue');}},set:function(value){switch(this.get('tag')){case'select':this.getElements('option').each(function(op){var v=$pick(op.get('value'),op.get('text'));if(v=="")v=op.get('text');op.set('selected',$splat(value).contains(v));});break;case'input':if(['radio','checkbox'].contains(this.get('type'))){this.set('checked',$type(value)=="boolean"?value:$splat(value).contains(this.get('value')));break;}
case'textarea':case'input':this.set('value',value);break;default:this.set('inputValue',value);}
return this;},erase:function(){switch(this.get('tag')){case'select':this.getElements('option').each(function(op){op.erase('selected');});break;case'input':if(['radio','checkbox'].contains(this.get('type'))){this.set('checked',false);break;}
case'input':case'textarea':this.set('value','');break;default:this.set('inputValue','');}
return this;}};if(!esg)var esg={};if(!esg.model)esg.model={};esg.model.observable={addObserver:function(callbackFn,propertyName){if(!this.observers){this.observers=[];}
if(propertyName){if(!this.observers[propertyName]){this.observers[propertyName]=[];}
this.observers[propertyName].push(callbackFn);}else{this.observers.push(callbackFn);}},notifyObservers:function(o,propertyName,thisObj){var scope=thisObj||window;var observerList=null;if(this.observers){if(propertyName){observerList=this.observers[propertyName];}else{observerList=this.observers;}}
if(observerList){observerList.forEach(function(el){el.call(scope,o);});}},mixin:function(subject){for(var p in esg.model.observable){if(p=='mixin'){continue;}
subject[p]=esg.model.observable[p];}}};esg.utility.constants={};esg.utility.constants.alphabet=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','#'];esg.utility.keepAlive={SESSION_REFRESH_INTERVAL:15,DEFAULT_NUM_INTERVALS:4,maxRefreshIntervals:0,cntRefresh:0,imgRefresh:null,timer:null,startTimer:function(maxIntervals){if(this.timer)
return;this.cntRefresh=0;this.maxRefreshIntervals=maxIntervals;this.timer=this.refresh.delay(1000*60*this.SESSION_REFRESH_INTERVAL);},clearTimer:function(){if(this.timer)
$clear(this.timer);this.timer=null;},refresh:function(){var ka=esg.utility.keepAlive;if(ka.cntRefresh<ka.maxRefreshIntervals){ka.cntRefresh++;var now=new Date();ka.imgRefresh=new Image();ka.imgRefresh.src="/gallery/keepAlive.jsp?"+now.getTime();this.timer=ka.refresh.delay(1000*60*ka.SESSION_REFRESH_INTERVAL);}}};if(!esg.widget)esg.widget={};esg.widget.PullDownItem=new Class({Implements:[Options],options:{id:'',text:'',isdefault:'false',enabled:'true',divider:'false'
},initialize:function(options){this.setOptions(options);this.selected=false;this.id=this.options.id;this.text=this.options.text;this.isdefault=this.options.isdefault=='true';this.listElement=new Element('li',{id:this.options.id});if(this.options.divider=='true'){this.listElement.addClass('pseudodropdivider');}
this._textElement=new Element('a',{'href':'#','html':this.text});this.listElement.adopt(this._textElement);this.setEnabled(this.options.enabled=='true');},setSelected:function(selected){this.selected=selected;if(selected){this.listElement.addClass('current');}else{this.listElement.removeClass('current');}},setEnabled:function(enabled){this.enabled=enabled;if(enabled){this.listElement.removeClass('disabled');}else{this.listElement.addClass('disabled');}}});esg.widget.PseudoPullDownWidget=new Class({Implements:[Options,Events],Binds:['_itemClickHandler','_documentClickHandler'],options:{name:'',cssClass:'',caption:'Label:',captionClass:'',maxHeight:'400px',minWidth:'170px',containerId:'',autoEventCoordination:true,autoEventGroupName:''
},listItems:null,selectedItem:null,initialize:function(options){this.setOptions(options);this.listItems=new Array();this._pulldownWidth=0;this._rootElement=new Element('fieldset',{'class':this.options.cssClass});this._captionElement=new Element('span',{'html':'<b>'+this.options.caption+'</b>'})
this._comboboxElement=new Element('div',{id:this.options.name+'_combobox','class':'pseudopulldownlist inlinepulldown'});this._buttonElement=new Element('a',{'class':'linkbutton pseudoselect'});this._comboTextElement=new Element('span',{id:this.options.name+'_text','html':'&nbsp;'});this._pulldownContainerElement=new Element('div',{id:this.options.name+'_pulldowncontainer','class':'pulldowncontainer','styles':{'display':'none','width':this.options.minWidth}});var topleft=new Element('div',{'class':'pseudoselecttopleft'});var topright=new Element('div',{'class':'pseudoselecttopright clearfix'});this._pulldownListElement=new Element('ul',{id:this.options.name+'_pulldownlist','class':'pulldownlistmenu'});var botleft=new Element('div',{'class':'pseudoselectbotleft'});var botright=new Element('div',{'class':'pseudoselectbotright'});botleft.adopt(botright);topright.adopt(this._pulldownListElement);topleft.adopt(topright);this._pulldownContainerElement.adopt([topleft,botleft]);this._buttonElement.adopt(this._comboTextElement);this._comboboxElement.adopt([this._buttonElement,this._pulldownContainerElement]);this._rootElement.adopt([this._captionElement,this._comboboxElement]);this._buttonElement.addEvent('click',function(e){e.stop();this.togglePullDown();return false;}.bindWithEvent(this));this._pulldownContainerElement.addEvent('click:relay(li)',this._itemClickHandler.bindWithEvent(this));this.EVT_PULLDOWN_SHOW='_PullDownShow_'+this.options.autoEventGroupName;if(this.options.autoEventCoordination){document.addEvent(this.EVT_PULLDOWN_SHOW,this._autoEventCoordinationHandler.bind(this));}},addListItem:function(item){this.listItems.push(item);},clearList:function(){this.listItems.empty();},getListItem:function(id){return this.listItems.filter(function(item){return item.id==id;})[0];},setListItemEnabled:function(id,enabled){var item=this.getListItem(id);item.setEnabled(enabled);},setListItemSelected:function(id){var item=this.getListItem(id);this.selectedItem=item;this.setText(item.text);},render:function(containerElement){var targetElement;if($defined(containerElement)){targetElement=$$(containerElement);}else{if(this.options.containerId.length>0){targetElement=$(this.options.containerId);}else{return;}}
targetElement.adopt(this._rootElement);this.refreshPopupList();},refreshPopupList:function(){this._pulldownListElement.empty();this.listItems.each(function(item){if(item.isdefault){this.setText(item.text);this.selectedItem=item;}
this._pulldownListElement.adopt(item.listElement);}.bind(this));this._popupWidth=this._pulldownContainerElement.getSize().x;if(this.options.fixedWidth=='true'){this._comboboxElement.setStyle('width',this._popupWidth);}else{this._comboboxElement.setStyle('width','auto');}},togglePullDown:function(){if(this._pulldownContainerElement.getStyle('display')=='none'){this.showPullDown();}else{this.hidePullDown();}},hidePullDown:function(){this._pulldownContainerElement.setStyle('display','none');document.removeEvent('click',this._documentClickHandler);this.fireEvent('hide');},showPullDown:function(){this._pulldownContainerElement.setStyle('display','block');document.addEvent('click',this._documentClickHandler);this.fireEvent('show');if(this.options.autoEventCoordination){document.fireEvent(this.EVT_PULLDOWN_SHOW,[this.EVT_PULLDOWN_SHOW,this]);}},setText:function(text){if(text.length){this._comboTextElement.set('html',text);}else{this._comboTextElement.set('html','&nbsp');}},_autoEventCoordinationHandler:function(evtType,pulldownRef){if(!(pulldownRef===this)){this.hidePullDown();}
return false;},_itemClickHandler:function(e,el){e.stop();var item=this.getListItem(el.id);if(item.enabled){this.selectedItem=item;this.setText(item.text);this.fireEvent('change',item);}
this.hidePullDown();return false;},_documentClickHandler:function(e){this.hidePullDown();}});Element.Events.delegate_mouseenter={base:'mouseover',condition:function(event){var related=event.relatedTarget;if(related==undefined)return true;if(related===false)return false;return($type(this)!='document'&&related!=this&&related.prefix!='xul'&&!this.hasChild(related));}};Element.Events.delgate_mouseleave={base:'mouseout',condition:function(event){var related=event.relatedTarget;if(related==undefined)return true;if(related===false)return false;return($type(this)!='document'&&related!=this&&related.prefix!='xul'&&!this.hasChild(related));}};document.addEvent('click',function(event){event=new Event(event);if(event.target.className.contains('popfaq')){var fid=event.target.rel.replace(/[fid_]/g,"");esg.utility.popWin.open('http://gallerystudio.custhelp.com/cgi-bin/gallerystudio.cfg/php/enduser/olh_adp.php?p_faqid='+fid+'&p_olh=1',800,600,'center');return false;}
if(event.target.className.contains('pophelp')){esg.utility.popWin.open('http://gallerystudio.custhelp.com',800,600,'20');return false;}});function FABridge(target,bridgeName)
{this.target=target;this.remoteTypeCache={};this.remoteInstanceCache={};this.remoteFunctionCache={};this.localFunctionCache={};this.bridgeID=FABridge.nextBridgeID++;this.name=bridgeName;this.nextLocalFuncID=0;FABridge.instances[this.name]=this;FABridge.idMap[this.bridgeID]=this;return this;}
FABridge.TYPE_ASINSTANCE=1;FABridge.TYPE_ASFUNCTION=2;FABridge.TYPE_JSFUNCTION=3;FABridge.TYPE_ANONYMOUS=4;FABridge.initCallbacks={};FABridge.userTypes={};FABridge.addToUserTypes=function()
{for(var i=0;i<arguments.length;i++)
{FABridge.userTypes[arguments[i]]={'typeName':arguments[i],'enriched':false};}}
FABridge.argsToArray=function(args)
{var result=[];for(var i=0;i<args.length;i++)
{result[i]=args[i];}
return result;}
function instanceFactory(objID)
{this.fb_instance_id=objID;return this;}
function FABridge__invokeJSFunction(args)
{var funcID=args[0];var throughArgs=args.concat();throughArgs.shift();var bridge=FABridge.extractBridgeFromID(funcID);return bridge.invokeLocalFunction(funcID,throughArgs);}
FABridge.addInitializationCallback=function(bridgeName,callback)
{var inst=FABridge.instances[bridgeName];if(inst!=undefined)
{callback.call(inst);return;}
var callbackList=FABridge.initCallbacks[bridgeName];if(callbackList==null)
{FABridge.initCallbacks[bridgeName]=callbackList=[];}
callbackList.push(callback);}
function FABridge__bridgeInitialized(bridgeName)
{var searchStr="bridgeName="+bridgeName;if(/Explorer/.test(navigator.appName)||/Konqueror|Safari|KHTML/.test(navigator.appVersion))
{var flashInstances=document.getElementsByTagName("object");if(flashInstances.length==1)
{FABridge.attachBridge(flashInstances[0],bridgeName);}
else
{for(var i=0;i<flashInstances.length;i++)
{var inst=flashInstances[i];var params=inst.childNodes;var flash_found=false;for(var j=0;j<params.length;j++)
{var param=params[j];if(param.nodeType==1&&param.tagName.toLowerCase()=="param")
{if(param["name"].toLowerCase()=="flashvars"&&param["value"].indexOf(searchStr)>=0)
{FABridge.attachBridge(inst,bridgeName);flash_found=true;break;}}}
if(flash_found){break;}}}}
else
{var flashInstances=document.getElementsByTagName("embed");if(flashInstances.length==0)
{flashInstances=document.getElementsByTagName("object");}
if(flashInstances.length==1)
{FABridge.attachBridge(flashInstances[0],bridgeName);}
else
{for(var i=0;i<flashInstances.length;i++)
{var inst=flashInstances[i];var flashVars=inst.attributes.getNamedItem("flashVars").nodeValue;if(flashVars.indexOf(searchStr)>=0)
{FABridge.attachBridge(inst,bridgeName);}}}}
return true;}
FABridge.nextBridgeID=0;FABridge.instances={};FABridge.idMap={};FABridge.refCount=0;FABridge.extractBridgeFromID=function(id)
{var bridgeID=(id>>16);return FABridge.idMap[bridgeID];}
FABridge.attachBridge=function(instance,bridgeName)
{var newBridgeInstance=new FABridge(instance,bridgeName);FABridge[bridgeName]=newBridgeInstance;var callbacks=FABridge.initCallbacks[bridgeName];if(callbacks==null)
{return;}
for(var i=0;i<callbacks.length;i++)
{callbacks[i].call(newBridgeInstance);}
delete FABridge.initCallbacks[bridgeName]}
FABridge.blockedMethods={toString:true,get:true,set:true,call:true};FABridge.prototype={root:function()
{return this.deserialize(this.target.getRoot());},releaseASObjects:function()
{return this.target.releaseASObjects();},releaseNamedASObject:function(value)
{if(typeof(value)!="object")
{return false;}
else
{var ret=this.target.releaseNamedASObject(value.fb_instance_id);return ret;}},create:function(className)
{return this.deserialize(this.target.create(className));},makeID:function(token)
{return(this.bridgeID<<16)+token;},getPropertyFromAS:function(objRef,propName)
{if(FABridge.refCount>0)
{throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");}
else
{FABridge.refCount++;retVal=this.target.getPropFromAS(objRef,propName);retVal=this.handleError(retVal);FABridge.refCount--;return retVal;}},setPropertyInAS:function(objRef,propName,value)
{if(FABridge.refCount>0)
{throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");}
else
{FABridge.refCount++;retVal=this.target.setPropInAS(objRef,propName,this.serialize(value));retVal=this.handleError(retVal);FABridge.refCount--;return retVal;}},callASFunction:function(funcID,args)
{if(FABridge.refCount>0)
{throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");}
else
{FABridge.refCount++;retVal=this.target.invokeASFunction(funcID,this.serialize(args));retVal=this.handleError(retVal);FABridge.refCount--;return retVal;}},callASMethod:function(objID,funcName,args)
{if(FABridge.refCount>0)
{throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround.");}
else
{FABridge.refCount++;args=this.serialize(args);retVal=this.target.invokeASMethod(objID,funcName,args);retVal=this.handleError(retVal);FABridge.refCount--;return retVal;}},invokeLocalFunction:function(funcID,args)
{var result;var func=this.localFunctionCache[funcID];if(func!=undefined)
{result=this.serialize(func.apply(null,this.deserialize(args)));}
return result;},getUserTypeDescriptor:function(objTypeName)
{var simpleType=objTypeName.replace(/^([^:]*)\:\:([^:]*)$/,"$2");var isUserProto=((typeof window[simpleType]=="function")&&(typeof FABridge.userTypes[simpleType]!="undefined"));var protoEnriched=false;if(isUserProto){protoEnriched=FABridge.userTypes[simpleType].enriched;}
var toret={'simpleType':simpleType,'isUserProto':isUserProto,'protoEnriched':protoEnriched};return toret;},getTypeFromName:function(objTypeName)
{var ut=this.getUserTypeDescriptor(objTypeName);var toret=this.remoteTypeCache[objTypeName];if(ut.isUserProto)
{if(!ut.protoEnriched)
{for(i in window[ut.simpleType].prototype)
{toret[i]=window[ut.simpleType].prototype[i];}
window[ut.simpleType].prototype=toret;this.remoteTypeCache[objTypeName]=toret;FABridge.userTypes[ut.simpleType].enriched=true;}}
return toret;},createProxy:function(objID,typeName)
{var ut=this.getUserTypeDescriptor(typeName);var objType=this.getTypeFromName(typeName);if(ut.isUserProto)
{var instFactory=window[ut.simpleType];var instance=new instFactory(this.name,objID);instance.fb_instance_id=objID;}
else
{instanceFactory.prototype=objType;var instance=new instanceFactory(objID);}
this.remoteInstanceCache[objID]=instance;return instance;},getProxy:function(objID)
{return this.remoteInstanceCache[objID];},addTypeDataToCache:function(typeData)
{newType=new ASProxy(this,typeData.name);var accessors=typeData.accessors;for(var i=0;i<accessors.length;i++)
{this.addPropertyToType(newType,accessors[i]);}
var methods=typeData.methods;for(var i=0;i<methods.length;i++)
{if(FABridge.blockedMethods[methods[i]]==undefined)
{this.addMethodToType(newType,methods[i]);}}
this.remoteTypeCache[newType.typeName]=newType;return newType;},addPropertyToType:function(ty,propName)
{var c=propName.charAt(0);var setterName;var getterName;if(c>="a"&&c<="z")
{getterName="get"+c.toUpperCase()+propName.substr(1);setterName="set"+c.toUpperCase()+propName.substr(1);}
else
{getterName="get"+propName;setterName="set"+propName;}
ty[setterName]=function(val)
{this.bridge.setPropertyInAS(this.fb_instance_id,propName,val);}
ty[getterName]=function()
{return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id,propName));}},addMethodToType:function(ty,methodName)
{ty[methodName]=function()
{return this.bridge.deserialize(this.bridge.callASMethod(this.fb_instance_id,methodName,FABridge.argsToArray(arguments)));}},getFunctionProxy:function(funcID)
{var bridge=this;if(this.remoteFunctionCache[funcID]==null)
{this.remoteFunctionCache[funcID]=function()
{bridge.callASFunction(funcID,FABridge.argsToArray(arguments));}}
return this.remoteFunctionCache[funcID];},getFunctionID:function(func)
{if(func.__bridge_id__==undefined)
{func.__bridge_id__=this.makeID(this.nextLocalFuncID++);this.localFunctionCache[func.__bridge_id__]=func;}
return func.__bridge_id__;},serialize:function(value)
{var result={};var t=typeof(value);if(t=="number"||t=="string"||t=="boolean"||t==null||t==undefined)
{result=value;}
else if(value instanceof Array)
{result=[];for(var i=0;i<value.length;i++)
{result[i]=this.serialize(value[i]);}}
else if(t=="function")
{result.type=FABridge.TYPE_JSFUNCTION;result.value=this.getFunctionID(value);}
else if(value instanceof ASProxy)
{result.type=FABridge.TYPE_ASINSTANCE;result.value=value.fb_instance_id;}
else
{result.type=FABridge.TYPE_ANONYMOUS;result.value=value;}
return result;},deserialize:function(packedValue)
{var result;var t=typeof(packedValue);if(t=="number"||t=="string"||t=="boolean"||packedValue==null||packedValue==undefined)
{result=this.handleError(packedValue);}
else if(packedValue instanceof Array)
{result=[];for(var i=0;i<packedValue.length;i++)
{result[i]=this.deserialize(packedValue[i]);}}
else if(t=="object")
{for(var i=0;i<packedValue.newTypes.length;i++)
{this.addTypeDataToCache(packedValue.newTypes[i]);}
for(var aRefID in packedValue.newRefs)
{this.createProxy(aRefID,packedValue.newRefs[aRefID]);}
if(packedValue.type==FABridge.TYPE_PRIMITIVE)
{result=packedValue.value;}
else if(packedValue.type==FABridge.TYPE_ASFUNCTION)
{result=this.getFunctionProxy(packedValue.value);}
else if(packedValue.type==FABridge.TYPE_ASINSTANCE)
{result=this.getProxy(packedValue.value);}
else if(packedValue.type==FABridge.TYPE_ANONYMOUS)
{result=packedValue.value;}}
return result;},addRef:function(obj)
{this.target.incRef(obj.fb_instance_id);},release:function(obj)
{this.target.releaseRef(obj.fb_instance_id);},handleError:function(value)
{if(typeof(value)=="string"&&value.indexOf("__FLASHERROR")==0)
{var myErrorMessage=value.split("||");if(FABridge.refCount>0)
{FABridge.refCount--;}
throw new Error(myErrorMessage[1]);return value;}
else
{return value;}}};ASProxy=function(bridge,typeName)
{this.bridge=bridge;this.typeName=typeName;return this;};ASProxy.prototype={get:function(propName)
{return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id,propName));},set:function(propName,value)
{this.bridge.setPropertyInAS(this.fb_instance_id,propName,value);},call:function(funcName,args)
{this.bridge.callASMethod(this.fb_instance_id,funcName,args);},addRef:function(){this.bridge.addRef(this);},release:function(){this.bridge.release(this);}};var isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;function ControlVersion()
{var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version");}catch(e){}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version="WIN 3,0,18,0";}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11";}catch(e){version=-1;}}
return version;}
function GetSwfVer(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3];if(versionRevision==""){versionRevision=descArray[4];}
if(versionRevision[0]=="d"){versionRevision=versionRevision.substring(1);}else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0){versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"));}}
var flashVer=versionMajor+"."+versionMinor+"."+versionRevision;}}
else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6")!=-1)flashVer=4;else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5")!=-1)flashVer=3;else if(navigator.userAgent.toLowerCase().indexOf("webtv")!=-1)flashVer=2;else if(isIE&&isWin&&!isOpera){flashVer=ControlVersion();}
return flashVer;}
function DetectFlashVer(reqMajorVer,reqMinorVer,reqRevision)
{versionStr=GetSwfVer();if(versionStr==-1){return false;}else if(versionStr!=0){if(isIE&&isWin&&!isOpera){tempArray=versionStr.split(" ");tempString=tempArray[1];versionArray=tempString.split(",");}else{versionArray=versionStr.split(".");}
var versionMajor=versionArray[0];var versionMinor=versionArray[1];var versionRevision=versionArray[2];if(versionMajor>parseFloat(reqMajorVer)){return true;}else if(versionMajor==parseFloat(reqMajorVer)){if(versionMinor>parseFloat(reqMinorVer))
return true;else if(versionMinor==parseFloat(reqMinorVer)){if(versionRevision>=parseFloat(reqRevision))
return true;}}
return false;}}
function AC_AddExtension(src,ext)
{if(src.indexOf('?')!=-1)
return src.replace(/\?/,ext+'?');else
return src+ext;}
function AC_Generateobj(objAttrs,params,embedAttrs)
{var str='';if(isIE&&isWin&&!isOpera)
{str+='<object ';for(var i in objAttrs)
str+=i+'="'+objAttrs[i]+'" ';str+='>';for(var i in params)
str+='<param name="'+i+'" value="'+params[i]+'" /> ';str+='</object>';}else{str+='<embed ';for(var i in embedAttrs)
str+=i+'="'+embedAttrs[i]+'" ';str+='> </embed>';}
document.write(str);}
function AC_FL_RunContent(){var ret=AC_GetArgs
(arguments,".swf","movie","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");AC_Generateobj(ret.objAttrs,ret.params,ret.embedAttrs);}
function AC_GetArgs(args,ext,srcParamName,classid,mimeType){var ret=new Object();ret.embedAttrs=new Object();ret.params=new Object();ret.objAttrs=new Object();for(var i=0;i<args.length;i=i+2){var currArg=args[i].toLowerCase();switch(currArg){case"classid":break;case"pluginspage":ret.embedAttrs[args[i]]=args[i+1];break;case"src":case"movie":args[i+1]=AC_AddExtension(args[i+1],ext);ret.embedAttrs["src"]=args[i+1];ret.params[srcParamName]=args[i+1];break;case"onafterupdate":case"onbeforeupdate":case"onblur":case"oncellchange":case"onclick":case"ondblClick":case"ondrag":case"ondragend":case"ondragenter":case"ondragleave":case"ondragover":case"ondrop":case"onfinish":case"onfocus":case"onhelp":case"onmousedown":case"onmouseup":case"onmouseover":case"onmousemove":case"onmouseout":case"onkeypress":case"onkeydown":case"onkeyup":case"onload":case"onlosecapture":case"onpropertychange":case"onreadystatechange":case"onrowsdelete":case"onrowenter":case"onrowexit":case"onrowsinserted":case"onstart":case"onscroll":case"onbeforeeditfocus":case"onactivate":case"onbeforedeactivate":case"ondeactivate":case"type":case"codebase":ret.objAttrs[args[i]]=args[i+1];break;case"id":case"width":case"height":case"align":case"vspace":case"hspace":case"class":case"title":case"accesskey":case"name":case"tabindex":ret.embedAttrs[args[i]]=ret.objAttrs[args[i]]=args[i+1];break;default:ret.embedAttrs[args[i]]=ret.params[args[i]]=args[i+1];}}
ret.objAttrs["classid"]=classid;if(mimeType)ret.embedAttrs["type"]=mimeType;return ret;}
if(!esg)var esg={};if(!esg.ident)esg.ident={};if(!esg.model)esg.model={};esg.ident.model={identData:{},signInRoot:"",joinRoot:"",config:{uris:{join:'/gallery/account/join.jsp',login:'/gallery/account/login.jsp',L2login:'/gallery/account/L2login.jsp',logout:'/gallery/account/logout.jsp'}}}
var IdentBase=new Class({cookieName:"ssoCookies",cookieParams:{},callArgs:{},defaultFail:"",url:"",initialize:function(cParms,cDef,cUrl,cArgs){this.cookieParams=cParms||this.cookieParams;this.defaultFail=cDef||this.defaultFail;this.url=cUrl||this.url;this.callArgs=cArgs||this.callArgs;}});esg.ident.model.initializeJoin=function(params){this.identData=new IdentBase({email:params.emailId(),password:params.pwd(),passwordConfirm:params.rePwd()},'callJoinFailure',this.config.uris.join,{firstName:params.fName(),emailNotification:params.splOffers(),kodakService:params.terms()});};esg.ident.model.initializeSignIn=function(params){this.identData=new IdentBase({email:params.emailId(),password:params.pwd()},'callSignInFailure',this.config.uris.login);};esg.ident.model.initializeL2SignIn=function(params){this.identData=new IdentBase({email:params.emailId(),password:params.pwd()},'callL2SignInFailure',this.config.uris.L2login);};esg.ident.model.initializeSignOut=function(params){this.identData=new IdentBase({},'callSignOutFailure',this.config.uris.logout);};(function(){var model=esg.ident.model;})();if(!esg)var esg={};if(!esg.ident)esg.ident={};esg.ident.controller={execute:function(eventMsg,parms){var model=esg.ident.model;var views=esg.ident.views;switch(eventMsg){case'join':model.joinRoot=parms.root||model.joinRoot;views.join.validate(parms);break;case'callJoin':model.initializeJoin(parms);this.execute('executeCall');break;case'callJoinComplete':$clear(views.failDelayHandle);views.join.render.joinSucceed();views.clearSecureCookie();break;case'callJoinFailure':$clear(views.failDelayHandle);views.join.render.joinFail(parms);views.clearSecureCookie();break;case'signIn':model.signInRoot=parms.root||model.signInRoot;views.signIn.validate(parms);break;case'callSignIn':model.initializeSignIn(parms);this.execute('executeCall');break;case'callSignInComplete':$clear(views.failDelayHandle);views.signIn.render.signInSucceed();views.clearSecureCookie();break;case'callSignInFailure':$clear(views.failDelayHandle);views.signIn.render.signInFail(parms);views.clearSecureCookie();break;case'callL2SignIn':model.initializeL2SignIn(parms);this.execute('executeCall');break;case'callL2SignInComplete':$clear(views.failDelayHandle);views.signIn.render.L2SignInSucceed();views.clearSecureCookie();break;case'callL2SignInFailure':$clear(views.failDelayHandle);views.signIn.render.signInFail(parms);views.clearSecureCookie();break;case'callSignOut':model.initializeSignOut(parms);views.setFailDelay();views.scriptInsert();break;case'callSignOutComplete':$clear(views.failDelayHandle);views.clearCookies();views.signOut.redirectUser();break;case'callSignOutFailure':esg.ident.controller.execute('callSignOutComplete');break;case'renderLandingIdentityContent':views.landingIdentityServicesDialogObj.display(parms.dialog,parms.dynamicRedirect,parms.callBack);break;case'executeCall':views.setUpCookie();views.setFailDelay();views.scriptInsert();break;default:console.error("Unknown command sent to Controller: Command: "+eventMsg+"   Parameters: "+JSON.encode(parms));break;}}}
if(!esg)var esg={};if(!esg.ident)esg.ident={};esg.ident.views={model:esg.ident.model,controller:esg.ident.controller,secureCookie:{},failDelayHandle:{},createCookie:function(){this.secureCookie=new Hash.Cookie(this.model.identData.cookieName,{path:'/',duration:0,secure:true});},clearSecureCookie:function(){Cookie.dispose(this.model.identData.cookieName,{path:'/'});},setUpCookie:function(){this.createCookie();this.secureCookie.combine(this.model.identData.cookieParams);},clearCookies:function(){Cookie.dispose('DYN_EMAIL',{path:'/',domain:'ofoto.com'});Cookie.dispose('DYN_USER_ID',{path:'/',domain:'ofoto.com'});Cookie.dispose('DYN_USER_CONFIRM',{path:'/',domain:'ofoto.com'});Cookie.dispose('ANON_UPLOAD',{path:'/'});Cookie.dispose('savedView',{path:'/'});this.clearSecureCookie();},scriptInsert:function(){var uid='uid='+parseInt(Math.random()*1000000000);var src=this.model.identData.url;var query=this.model.identData.callArgs;var script=document.createElement('script');if($chk(query))query=$H(query).toQueryString()+'&'+uid;script.type='text/javascript';script.src='https://'+document.location.host+src+"?"+((query)?query:uid);$(document.head).appendChild(script);},setFailDelay:function(){var failHandlePass=esg.ident.controller.execute.pass(esg.ident.model.identData.defaultFail);esg.ident.views.failDelayHandle=(function(){failHandlePass()}).delay(25000);},properRedirect:function(url){(window.location==url)?window.location.reload():window.location.replace(url);},signInRedirect:function(joined){var redirectPath=window.location.toString();var url=window.location.pathname.toString();if(esg.ident.model.signInRoot.replace(/"/g,'')==esg.ident.views.shareSignInDialogObj.root+'-signin'||esg.ident.model.joinRoot.replace(/"/g,'')==esg.ident.views.shareSignInDialogObj.root+'-join'){esg.ident.views.shareSignInDialogObj.afterSignIn(joined);return;}
if(esg.ident.model.signInRoot.replace(/"/g,'')==esg.ident.views.shareIdentityContentDialogObj.root+'-signin'||esg.ident.model.joinRoot.replace(/"/g,'')==esg.ident.views.shareIdentityContentDialogObj.root+'-join'){esg.ident.views.shareIdentityContentDialogObj.afterSignIn(joined);if(url.contains("albumNotFound.jsp")){redirectPath="http://"+document.location.host+"/gallery/creativeapps/photoPicker/albums.jsp";this.properRedirect(redirectPath);}
return;}
if(esg.ident.model.signInRoot.replace(/"/g,'')==esg.ident.views.landingIdentityServicesDialogObj.root+'-signin'||esg.ident.model.joinRoot.replace(/"/g,'')==esg.ident.views.landingIdentityServicesDialogObj.root+'-join'){esg.ident.views.landingIdentityServicesDialogObj.afterSignIn(joined);redirectPath="http://"+document.location.host+esg.ident.views.landingIdentityServicesDialogObj.dynamicRedirect;this.properRedirect(redirectPath);return;}
$each([this.reorderSignInDialogObj,this.L2SigninDialogObj],function(dialog,index){redirectPath=(esg.ident.model.signInRoot==dialog.dialogId)?(dialog.redirect?dialog.redirect:redirectPath):redirectPath;}.bind(this));if(esg.ident.model.signInRoot==this.anonUploadDialogObj.dialogId||esg.ident.model.joinRoot.contains(this.anonUploadDialogObj.dialogId)){this.anonUploadDialogObj.afterSignIn();return;}
if(!joined&&(url.contains("printsWelcome.jsp")||url.contains("buyprints.jsp")||url.contains("prints.jsp")||url.contains("addCardAndEnvelope.jsp")||url.contains("LandingPage.jsp")||url.contains("albumNotFound.jsp")||url.contains("index.jsp")||url.contains("welcome.jsp")||url.contains("printConfig.jsp"))){redirectPath="http://"+document.location.host+"/gallery/storagestatus.jsp?path="+encodeURIComponent("http://"+document.location.host+"/gallery/creativeapps/photoPicker/albums.jsp");}
else if(url.contains("slideshowFinishPage.jsp")){esg.share.controller.execute('redeemShare',{'shareToken':esg.share.model.shareToken,'callBack':'anonymousSaveSlideShow2'});return;}
else if(joined){redirectPath="http://"+document.location.host+"/gallery/thanks.jsp";}
else{redirectPath="http://"+document.location.host+"/gallery/storagestatus.jsp?path="+encodeURIComponent(redirectPath);}
this.properRedirect(redirectPath);}};esg.ident.views.signIn={signInObj:{root:function(){return(esg.ident.model.signInRoot.length<1)?esg.ident.model.signInRoot:"-"+esg.ident.model.signInRoot},emailId:function(){return $('emailId'+this.root()).value;},pwd:function(){return $('pwd'+this.root()).value;}},validateError:function(root,txt){var msg=document.getElementById('errorMsg-'+root);var email=$('emailId-'+root);msg.style.display='';msg.innerHTML="";var tnode=document.createTextNode(txt);msg.appendChild(tnode);email.addClass('errorstate');esg.ident.views.signIn.render.redraw('.button-area')},validate:function(){var root=esg.ident.model.signInRoot;$$('input').removeClass('errorstate');var signInObj=this.signInObj;var emailRegEx=/^ *[A-Za-z0-9](([_\.\-\+]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,}) *$/;var redraw=esg.ident.views.signIn.render.redraw;var validateError=this.validateError;var validateFn=function()
{if(!signInObj.emailId()||signInObj.emailId()=="Email"||!emailRegEx.test(signInObj.emailId())){validateError(root,"The email address you entered is invalid. Please try again.");}
else if(!signInObj.pwd()||$('pwd-'+root).type=="text"){validateError(root,"Invalid password. Please try again.");}
else{$('errorMsg-'+root).style.display='';var msg=document.getElementById('errorMsg-'+root);msg.innerHTML='';var inner=new Element('span',{'class':'loading','html':"Signing in"});msg.appendChild(inner);if($("signInBtn-"+root))
$("signInBtn-"+root).disabled=true;redraw('.button-area')
if($('signInBtnAnchor-'+root))
$('signInBtnAnchor-'+root).addClass('disabledbutton');if(root==esg.ident.views.L2SigninDialogObj.dialogId)
esg.ident.controller.execute("callL2SignIn",signInObj);else
esg.ident.controller.execute("callSignIn",signInObj);}};validateFn.delay(500);}};esg.ident.views.signIn.assignEvents=function(uid){var append=($chk(uid))?'-'+uid:"";if(Cookie.get("last_login_email")){$("emailId"+append).style.color="#000";$("emailId"+append).value=Cookie.get("last_login_email");if(append=='-L2signin'){$("emailId"+append).style.display='none';}}
$("signInBtn"+append).addEvent('click',function(){esg.ident.controller.execute("signIn",{root:uid});}.bind(this));$('forgotPwdLink'+append).addEvent('click',function(event){event.stop();esg.ident.views.properRedirect("http://"+document.location.host+"/gallery/ma_reset_password.jsp");});if(append=='-share-signIn'||append=='-share-signin'||append=='-shareIdentity-signin'||append=='-landingIdentity-signin')
{$('signInFrameBody'+append).addEvent('keypress',function(event){if(event.key=='enter')
{esg.ident.controller.execute("signIn",{root:uid});}}.bind(this));}
$('signInFrameForm'+append).addEvent('submit',function(event){event.stop();});$('emailId'+append).addEvents
({select:function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},focus:function(event){esg.utility.eraseField(this,event);},blur:function(event){esg.utility.populateField(this,"Email address",event);},keydown:function(event){esg.utility.eraseField(this,event);},keyup:function(event){esg.utility.populateField(this,"Email address",event);},mousedown:function(event){esg.utility.eraseField(this,event);},mouseup:function(event){esg.utility.eraseField(this,event);}});$('pwdText'+append).addEvents({'keydown':function(event){esg.utility.erasePwdField(this,$('pwd'+append),event);},'keyup':function(event){esg.utility.populatePwdField(this,this.getParent().removedChild,event);},'select':function(event){if(!Browser.Engine.trident)
esg.utility.erasePwdField(this,$('pwd'+append),event);},'focus':function(event){esg.utility.erasePwdField(this,$('pwd'+append),event);},'blur':function(event){esg.utility.populatePwdField(this,this.getParent().removedChild,event);},'mousedown':function(event){esg.utility.erasePwdField(this,$('pwd'+append),event);},'mouseup':function(event){esg.utility.erasePwdField(this,$('pwd'+append),event);}});$('pwd'+append).addEvents({'keyup':function(event){esg.utility.populatePwdField(this,this.getParent().removedChild,event);}});if($("frame-close-link"+append)){$("frame-close-link"+append).addEvent('click',function(e){$('signInFrameForm'+append).reset();esg.utility.populatePwdField($('pwd'+append),($('pwd'+append).getParent().removedChild?$('pwd'+append).getParent().removedChild:$('pwdText'+append)));$('errorMsg'+append).style.display='none';$$('input').removeClass('errorstate');if(Cookie.get("last_login_email"))
{$("emailId"+append).value=Cookie.get("last_login_email");}
else
{$("emailId"+append).value="";esg.utility.inValue($("emailId"+append),"Email address");}
$('signInFrame').tween('height','0');$('joinFrame').tween('height','0');});}};var SigninDialogBase=new Class({dialogId:"element id for base element to loadSignInContents goes here",customDialogSetup:function(){},displayCloseLink:false,alreadyDisplayed:false,display:function(callback,redirect){if(redirect)this.redirect=redirect;this.callback=(callback===undefined)?function(){}:callback;this.customDialogSetup();},redirectCall:function(){if(this.redirect)
esg.ident.views.properRedirect(this.redirect);else
esg.viewUtil.modalBox.hide(this.dialogId);},loadSignInContents:function(root){if(($(this.dialogId))&&!this.alreadyDisplayed)
{var body=new Element('div',{'id':"signInFrameBody-"+root,'class':"signInFrameBody"});var form=$('signInFrameForm-'+root);form.setStyle('display','block');var pwdText=new Element('input',{'type':'text','id':'pwdText-'+root,'value':'Password','class':'pwdText'});pwdText.inject($('pwd-'+root),'before');$('emailId-'+root).set({'value':'Email address'});if(this.displayCloseLink){form.appendChild(new Element('p'));var img=new Element('img',{'src':'/A/Kodak_Gallery_Media/ECBO/images/closeFrame.gif','alt':'Close','title':'Close'});var frameClose=new Element('a',{'class':'frame-close-link','id':'frame-close-link-'+root,'href':'javascript:void(0);'});frameClose.appendChild(img);form.appendChild(frameClose);}
body.appendChild(form);$(this.dialogId).appendChild(body);esg.ident.views.signIn.assignEvents(root);this.alreadyDisplayed=true;}},updateModel:function(){var model=esg.ident.model;if(model.isAnon)model.isAnon=false;model.member=Cookie.read('user_id');model.login=Cookie.read('DYN_EMAIL');if($('subtabheader'))
$('subtabheader').set('html',esg.viewUtil.getTabbedNavBarContents());}});var PullDownSignInDialog=new Class({Extends:SigninDialogBase,dialogId:"signInFrame",customDialogSetup:function(){this.displayCloseLink=true;this.loadSignInContents('pulldown');}});var AnonSignInDialog=new Class({Extends:SigninDialogBase,dialogId:"anonsignin-speedbump",customDialogSetup:function(){$("btnAnoncontinue").removeEvents();$("btnAnoncontinue").addEvent('click',function(e){e.stop();this.closeDialog();if(this.cancelCallback)
this.cancelCallback();}.bind(this));$("btnAnonsignin").removeEvents();$("btnAnonsignin").addEvent('click',function(e){e.stop();this.closeDialog();this.callback();esg.ident.views.renderFrame.checkClick(e);}.bind(this));esg.viewUtil.modalBox.show(this.dialogId);},closeDialog:function(){esg.viewUtil.modalBox.hide(this.dialogId);}});var L2SigninDialog=new Class({Extends:SigninDialogBase,dialogId:"L2signin",L2CookieCheck:function(){if(Cookie.get("L2",{path:'/'})==1){this.callback();this.redirectCall();}},closeDialog:function(){if(Browser.Engine.trident4){esg.ident.viewUtil.modalBox.hide('L2signin-speedbump');}
else{esg.viewUtil.modalBox.hide('L2signin-speedbump');}},customDialogSetup:function(){$('closeL2signin').removeEvents();$('closeL2signin').addEvent('click',function(e){e.stop();this.closeDialog();}.bind(this));this.displayCloseLink=false;this.loadSignInContents(this.dialogId);var append="-"+this.dialogId;$('errorMsg'+append).style.display='none';$$('input').removeClass('errorstate');if(!Cookie.get("L2",{path:'/'})||Cookie.get("L2",{path:'/'})==0){if(Browser.Engine.trident){esg.ident.viewUtil.modalBox.show('L2signin-speedbump');}
else{esg.viewUtil.modalBox.show('L2signin-speedbump');}}
else{this.L2CookieCheck();}}});esg.ident.viewUtil={};esg.ident.viewUtil.modalBox={show:function(modalDiv,skipOverlay){this.modalDivId=modalDiv;var overlay=$('modal_overlay');var parentDiv=$('principal')||document.body;if(!overlay){overlay=new Element('div',{'id':'modal_overlay'});parentDiv.appendChild(overlay);}
if(Browser.Engine.trident4){this.prepareIE('100%','hidden');this.hideSelects('none');}
parentDiv.appendChild($(modalDiv));$(modalDiv).setStyle('display','block');this.centerElement(modalDiv,parentDiv);if(!skipOverlay){overlay.setStyle('display','block');overlay.setStyle('width','100%');(function(){overlay.setStyle('height',document.getScrollSize().y);}).delay(10);overlay.setStyle('z-index','1000');}
(function(){$(modalDiv).setStyle('z-index',parseInt(overlay.getStyle('z-index'))+10);}).delay(50);},hide:function(modalDiv,skipOverlay){if(Browser.Engine.trident4){this.prepareIE("auto","auto");this.hideSelects('block');}
if(!skipOverlay){$("modal_overlay").setStyle('display','none');}
if($(modalDiv))$(modalDiv).setStyle('display','none');},prepareIE:function(height,overflow){bod=document.getElementsByTagName('body')[0];bod.style.height=height;bod.style.overflow=overflow;},setScroll:function(x,y){window.scrollTo(x,y);},hideSelects:function(display){if(display=='block'||display=='inline')
display='';$$('select').each(function(item){item.setStyle('display',display);});},centerElement:function(elem,parent){elem=$(elem);parent=$(parent);var left=parseInt((parent.getSize().x-elem.getSize().x)/2);var top=parseInt(document.getScroll().y+((window.getSize().y-elem.getSize().y)/2));elem.setStyle('left',left+'px');elem.setStyle('top',top+'px');}};var ReorderSignInDialog=new Class({Extends:SigninDialogBase,dialogId:"reordersignin",customDialogSetup:function(){this.displayCloseLink=false;var mailParam=esg.utility.getQsValue('email');this.loadSignInContents(this.dialogId);if(!$("btnReorderCancel")){var cancelBtn=new Element('a',{'href':'#','id':'btnReorderCancel','class':'linkbutton secondarybutton float_l','html':'<span>Cancel</span>'});cancelBtn.inject($('signInBtnAnchor-reordersignin'),'before');}
$("btnReorderCancel").removeEvents();$("btnReorderCancel").addEvent('click',function(){esg.viewUtil.modalBox.hide('reordersignin-speedbump');this.callback();}.bind(this));var e=esg.utility.getQsValue("email");if(e!=null){$("emailId-reordersignin").style.color="#000";$("emailId-reordersignin").value=e;$("emailId-reordersignin").disabled=true;}
esg.viewUtil.modalBox.show('reordersignin-speedbump');}});var AnonUploadDialog=new Class({Extends:SigninDialogBase,dialogId:"anonupload",defaultView:Cookie.get("last_login_email")?'signIn':'join',customDialogSetup:function(){if(!$('anonupload')){var div=new Element('div',{'id':'anonupload-speedbump','class':'dialogbox'});var root=$('principal')||document.body;root.appendChild(div);$("anonupload-speedbump").set('load',{method:'get',onSuccess:(function(){this.classRef.customDialogSetup();}).bind({'classRef':this})});$("anonupload-speedbump").load('/A/html/anonymousUploadFrame.html');return;}
this.displayCloseLink=false;$('closeAnonUploadSpeedBumpDlg').removeEvents();$('closeAnonUploadSpeedBumpDlg').addEvent('click',function(e){e.stop();this.callback=function(){};if($('joinFrameBody-anonupload-join'))
$('joinFrameBody-anonupload-join').dispose();var joinFrameContainer=new Element('div',{'id':'joinFrameBody-container'});joinFrameContainer.inject($('anonupload'));this.closeDialog();}.bind(this));$$('#signInJoinToggler li').removeEvents();$$('#signInJoinToggler li').addEvents({'click':function(e){e.stop();$$('#signInJoinToggler li').removeClass('current');this.addClass('current');$$('#anonupload>div').addClass('collapsed');if(this.id=='signInTab'){$('signInFrameBody-anonupload').removeClass('collapsed');$('anonupload-speedbump').removeClass('joinActive');$('emailId-anonupload').focus();$$('#signInFrameForm-anonupload input').each(function(e){if(e.style.display!='hidden')
e.tabIndex=1});}
else{$('joinFrameBody-anonupload-join').removeClass('collapsed');$('anonupload-speedbump').addClass('joinActive');if(Browser.Engine.trident&&esg.utility)
esg.utility.redrawInIE6("#joinFrameBody-anonupload-join .joinInfo");$('joinFName-anonupload-join').focus();}}});this.loadJoinContents();this.loadSignInContents(this.dialogId);if(this.defaultView=='join'){$('signInTab').removeClass('current');$('joinTab').addClass('current');$('anonupload-speedbump').addClass('joinActive');if($('joinFrameBody-anonupload-join'))
$('joinFrameBody-anonupload-join').removeClass('collapsed');}
else{$('signInTab').addClass('current');$('joinTab').removeClass('current');$('anonupload-speedbump').removeClass('joinActive');if($('signInFrameBody-anonupload'))
$('signInFrameBody-anonupload').removeClass('collapsed');}
if($('slideShow')){esg.viewUtil.modalBox.modalStack.empty();esg.viewUtil.modalBox.topInModalStack=null;}
$('anonupload-speedbump').setStyle('top',document.getScroll().y+Math.max(50,(document.getSize().y-430)/2));esg.viewUtil.modalBox.show('anonupload-speedbump',{skipPositioning:true});var append="-"+this.dialogId;$('signInFrameForm'+append).reset();esg.utility.populatePwdField($('pwd'+append),($('pwd'+append).getParent().removedChild?$('pwd'+append).getParent().removedChild:$('pwdText'+append)));$('errorMsg'+append).style.display='none';$$('input').removeClass('errorstate');if(Cookie.get("last_login_email"))
{$("emailId"+append).value=Cookie.get("last_login_email");$("emailId"+append).setStyle('color','#000000');(function(){$("emailId"+append).focus()}).delay(500);}
else
{$("emailId"+append).value="";esg.utility.inValue($("emailId"+append),"Email address");}},rootCustomize:function(main,appnd){var idReplace=function(member,appnd){if(member.get('id')&&!member.get('id').contains('-'+appnd))
member.set('id',member.get('id')+'-'+appnd);var kids=member.getChildren();if($chk(kids))
{kids.each(function(item,index){idReplace(item,appnd)},this);}};idReplace(main,appnd);},loadJoinContents:function(){var container=$('joinFrameBody-container');if(container)
{container.set('load',{onComplete:function(responseTree,responseElements,responseHTML,responseJavaScript){var combinedUID="anonupload-join";this.rootCustomize(container,combinedUID);esg.ident.views.join.assignEvents(combinedUID);$('joinFrameBody-anonupload-join').replaces(container);if(this.defaultView=='join')
(!Browser.Engine.trident)?$('signInFrameBody-anonupload').addClass('collapsed'):(function(){$('signInFrameBody-anonupload').addClass('collapsed')}).delay(10);else
$('joinFrameBody-anonupload-join').addClass('collapsed');if(!$('joinPwdText-anonupload-join-holder'))
$('joinPwdText-anonupload-join').getParent('div').set('id','joinPwdText-anonupload-join-holder');if(!$('joinRePwdText-anonupload-join-holder'))
$('joinRePwdText-anonupload-join').getParent('div').set('id','joinRePwdText-anonupload-join-holder');if(!$('password-rules-anonupload-join').getPrevious('#joinRePwdText-anonupload-join-holder'))
$('password-rules-anonupload-join').inject($('joinRePwdText-anonupload-join-holder'),'after');if(this.defaultView=='join')
(function(){$('joinFName-anonupload-join').focus()}).delay(10);}.bind(this)});container.load('http://'+document.location.host+'/A/html/identJoinFrame.html');}},closeDialog:function(){esg.viewUtil.modalBox.hide('anonupload-speedbump');this.callback();},afterSignIn:function(){var anonUploadStatus=Cookie.get('ANON_UPLOAD',{path:'/'});if(anonUploadStatus&&anonUploadStatus==1)
{Cookie.remove('ANON_UPLOAD',{path:'/'});}
if(esg.ident.model.isAnon)esg.ident.model.isAnon=false;if(this.successCallback){this.updateModel();this.successCallback();esg.viewUtil.modalBox.hide('anonupload-speedbump');}
else{if(this.callback)
this.closeDialog();else{if(!this.redirect||this.redirect=="")
this.redirect=window.location.href;this.redirectCall();}}}});var ShareIdentityContentDialog=new Class({Extends:SigninDialogBase,dialogId:'signin',root:"shareIdentity",containerId:"shareIdentityContent",dialogIds:$H({'signin':'shareIdentityContentSignInDiv','join':'shareIdentityContentJoinDiv'}),defaultView:Cookie.get("last_login_email")?'signIn':'join',customDialogSetup:function(){this.loadSignInContents();},display:function(dialogId,callback){this.dialogId=dialogId||this.dialogId;this.customDialogSetup();this.callback=(callback===undefined)?function(){}:callback;},rootCustomize:function(main,appnd){var idReplace=function(member,appnd){if(member.get('id'))
member.set('id',member.get('id')+'-'+appnd);var kids=member.getChildren();if($chk(kids))
{kids.each(function(item,index){idReplace(item,appnd)},this);}};idReplace(main,appnd);},loadSignInContents:function(){var container=$(this.dialogIds.get(this.dialogId));if((container))
{var newContainer=container.clone();newContainer.store('dialogId',new String(this.dialogId));newContainer.set('load',{onComplete:function(responseTree,responseElements,responseHTML,responseJavaScript){var newId=newContainer.retrieve('dialogId');var combinedUID=this.root+"-"+newId;this.rootCustomize(newContainer.getFirst(),combinedUID);newContainer.addClass('landingPage');if(newId.match('join')&&($defined(this.defaultView)&&this.defaultView!='join'))newContainer.addClass('collapsed');if(newId.match('signin')&&($defined(this.defaultView)&&this.defaultView!='signIn'))newContainer.addClass('collapsed');if(container.parentNode)
newContainer.replaces(container);if($('signInFrameBody-'+combinedUID))$('signInFrameBody-'+combinedUID).setStyle('background','none');if($('joinFrameBody-'+combinedUID))$('joinFrameBody-'+combinedUID).setStyle('background','none');if($('frame-close-link-'+combinedUID))$('frame-close-link-'+combinedUID).destroy();newContainer.set('id',container.get('id'));newContainer.getElements('form').setStyle('display','block');newContainer.getElements('form').addClass('clearfix');switch(newId+''){case'join':esg.ident.views.join.assignEvents(combinedUID);break;case'signin':esg.ident.views.signIn.assignEvents(combinedUID);break;default:break;}}.bind(this)});newContainer.load('http://'+document.location.host+'/A/html/ident'+((this.dialogId.match('signin'))?'SignIn':'Join')+'Frame.html');}},afterSignIn:function(joined){this.updateModel();if(this.callback)
this.callback(joined);}});var ContentSignInDialog=new Class({Extends:SigninDialogBase,containerId:"contentSignIn",dialogId:"contentSignInDiv",customDialogSetup:function(){if(this.css){if(!($(this.dialogId).hasClass(this.css)))
$(this.dialogId).addClass(this.css)}
this.loadSignInContents(this.dialogId);$(this.dialogId).addClass('landingPage');$('signInFrameBody-contentSignInDiv').setStyle('background','none');},display:function(css,dialogId){if(dialogId)this.dialogId=dialogId;if(css)this.css=css;this.customDialogSetup();}});var ShareSignInDialog=new Class({Extends:ShareIdentityContentDialog,dialogId:'signIn',root:'share',containerId:"shareSignInDialog",defaultView:'signIn',dialogIds:$H({'signin':'shareSignIn','join':'shareJoin'}),customDialogSetup:function(){this.loadSignInContents();},display:function(dialogId,callback,defaultView){this.dialogId=dialogId||this.dialogId;this.customDialogSetup();this.callback=(callback===undefined)?function(){}:callback;this.defaultView=defaultView||this.defaultView;},rootCustomize:function(main,appnd){var idReplace=function(member,appnd){if(member.get('id'))
member.set('id',member.get('id')+'-'+appnd);var kids=member.getChildren();if($chk(kids))
{kids.each(function(item,index){idReplace(item,appnd)},this);}};idReplace(main,appnd);},loadSignInContents:function(){var container=$(this.dialogIds.get(this.dialogId));if((container))
{var newContainer=container.clone();newContainer.store('dialogId',new String(this.dialogId));newContainer.set('load',{onComplete:function(responseTree,responseElements,responseHTML,responseJavaScript){var newId=newContainer.retrieve('dialogId');var combinedUID=this.root+"-"+newId;this.rootCustomize(newContainer.getFirst(),combinedUID);newContainer.addClass('landingPage');if(newId.match('join')&&this.defaultView!='join')newContainer.addClass('collapsed');if(newId.match('signin')&&this.defaultView!='signIn')newContainer.addClass('collapsed');newContainer.replaces(container);if($('signInFrameBody-'+combinedUID))$('signInFrameBody-'+combinedUID).setStyle('background','none');if($('joinFrameBody-'+combinedUID))$('joinFrameBody-'+combinedUID).setStyle('background','none');if($('frame-close-link-'+combinedUID))$('frame-close-link-'+combinedUID).destroy();newContainer.set('id',container.get('id'));newContainer.getElements('form').setStyle('display','block');switch(newId+''){case'join':esg.ident.views.join.assignEvents(combinedUID);if($('shareSignInButton')){$('joinBtnAnchor-'+combinedUID).destroy();}
break;case'signin':esg.ident.views.signIn.assignEvents(combinedUID);if($('shareSignInButton')){$('signInBtnAnchor-'+combinedUID).destroy();}
break;default:break;}}.bind(this)});newContainer.load('http://'+document.location.host+'/A/html/ident'+((this.dialogId.match('signin'))?'SignIn':'Join')+'Frame.html');}},afterSignIn:function(joined){this.updateModel();this.updatePersistentCart();if(this.callback)
this.callback(joined);},updatePersistentCart:function(){var persistentHolder=$('persistentholder');if(!persistentHolder)
return;var persistentHolderNew=new Element('div');persistentHolderNew.set('load',{'onSuccess':function(){persistentHolderNew=persistentHolderNew.getChildren()[0];persistentHolder.set('html',persistentHolderNew.get('html').trim());}});persistentHolderNew.load('http://'+document.location.host+'/gallery/includes/persistentCart.jsp');}});var LandingIdentityServicesDialog=new Class({Extends:ShareIdentityContentDialog,root:"landingIdentity",containerId:"landingIdentityContent",dialogIds:$H({'signin':'landingIdentityContentSignInDiv','join':'landingIdentityContentJoinDiv'}),defaultView:null,dynamicRedirect:"/gallery/welcome.jsp",customDialogSetup:function(){this.loadSignInContents();},display:function(dialogId,dynamicRedirect,callback){this.dialogId=dialogId||this.dialogId;this.dynamicRedirect=dynamicRedirect||this.dynamicRedirect;this.dynamicRedirect=(this.dialogId=='join')?"/gallery/thanks.jsp":this.dynamicRedirect;this.customDialogSetup();this.callback=(callback===undefined)?function(){}:callback;},afterSignIn:function(joined){this.updateModel();if(this.callback)
this.callback(joined);}});var IE6WarningDialog=new Class({Extends:AnonSignInDialog,dialogId:"IE6Warning-speedbump",display:function(){this.customDialogSetup();},customDialogSetup:function(){this.loadSignInContents();},loadSignInContents:function(){var dialogDOMhandle=$(this.dialogId);if(!(dialogDOMhandle)){dialogDOMhandle=new Element('div',{'class':'dialogbox','id':this.dialogId});if($('principal'))
$('principal').appendChild(dialogDOMhandle)
else
$(document.body).appendChild(dialogDOMhandle)
dialogDOMhandle.set('load',{'onSuccess':(function(){var closeLinkDOMHandle=$('closeIE6WarningHeader');closeLinkDOMHandle.addEvent('click',function(e){e.stop();esg.viewUtil.modalBox.hide(this.dialogId);}.bind(this));Cookie.write('IE6Warned',1,{path:'/'});esg.viewUtil.modalBox.show(this.dialogId);}).bind(this)});dialogDOMhandle.load('/A/html/IE6WarningSpeedbump.html');};}});esg.ident.views.pullDownDialogObj=new PullDownSignInDialog();esg.ident.views.anonSignInDialogObj=new AnonSignInDialog();esg.ident.views.anonUploadDialogObj=new AnonUploadDialog();esg.ident.views.L2SigninDialogObj=new L2SigninDialog()
esg.ident.views.reorderSignInDialogObj=new ReorderSignInDialog();esg.ident.views.contentSignInDialogObj=new ContentSignInDialog();esg.ident.views.shareIdentityContentDialogObj=new ShareIdentityContentDialog();esg.ident.views.shareSignInDialogObj=new ShareSignInDialog();esg.ident.views.landingIdentityServicesDialogObj=new LandingIdentityServicesDialog();esg.ident.views.IE6WarningDialogObj={};esg.ident.views.signOut={redirectUser:function(parms){var dest="http://"+document.location.host+"/gallery/welcome.jsp";esg.ident.views.properRedirect(dest);}};esg.ident.views.renderFrame={checkClick:function(e){var target=(e&&e.target)||(event&&event.srcElement);if(esg.ident.views.renderFrame.checkParent(target))
{$('signInFrame').tween('height','0');$('joinFrame').tween('height','0');if(Browser.Engine.trident4){document.body.className=document.body.className.replace(' hideSelect','');}}},checkParent:function(target){while(target.parentNode)
{if(target==$('signInFrame')||target==$('joinFrame'))
{return false;}
else if(target==$('btnAnonsignin'))
{$('joinFrame').tween('height','0');$('signInFrame').tween('height','150');if(Browser.Engine.trident4){document.body.className=document.body.className.replace(' hideSelect','');}
return false;}
else if(target==$('showSignInFrame')&&Cookie.get("ANON_UPLOAD")==1)
{break;}
else if(target==$('showSignInFrame')&&Cookie.get("ANON_UPLOAD")!=1)
{if($('signInFrame').getSize().y!=1)
{break;}
else
{$('joinFrame').tween('height','0');$('signInFrame').tween('height','150');if(Browser.Engine.trident4){document.body.className=document.body.className+' hideSelect';}
return false;}}
else if(target==$('showJoinFrame')||target==$('landingJoinLink'))
{if($('joinFrame').getSize().y!=1&&$('joinFrame').getSize().y!=15)
{break;}
else
{$('signInFrame').tween('height','0');$('joinFrame').tween('height','430');if(Browser.Engine.trident4){document.body.className=document.body.className+' hideSelect';}
return false;}}
target=target.parentNode;}
return true;}};esg.ident.views.signIn.render={signInSucceed:function(){Cookie.remove('ANON_UPLOAD',{path:'/'});Cookie.dispose('signin_ignore',{path:'/'});esg.ident.views.signInRedirect(false);},L2SignInSucceed:function(){Cookie.set('L2',1,{path:'/',duration:(1/48)});if(esg.ident.views.L2SigninDialogObj.callback!=undefined)
{esg.ident.views.L2SigninDialogObj.callback();}
if(esg.ident.views.L2SigninDialogObj.redirect!=undefined)
{esg.ident.views.properRedirect(esg.ident.views.L2SigninDialogObj.redirect);}},signInFail:function(response){var root=function(){return(esg.ident.model.signInRoot.length<1)?esg.ident.model.signInRoot:"-"+esg.ident.model.signInRoot};var emailField=$('emailId'+root());if(response&&response.error)
{if(response.error=="invalidCredentials"){$('errorMsg'+root()).style.display='';var msg=document.getElementById('errorMsg'+root());msg.innerHTML='';var inner;if(emailField.style.display=='none')
inner=document.createTextNode("Invalid password. Please try again.");else
inner=document.createTextNode("The email address and/or password you entered are invalid. Please try again.");msg.appendChild(inner);if($("signInBtn"+root()))
$("signInBtn"+root()).disabled=false;if($("signInBtnAnchor"+root()))
$("signInBtnAnchor"+root()).removeClass('disabledbutton');if($('pwd'+root()))
{$('pwd'+root()).value='';if(emailField&&emailField.get('tabindex')>0)
$('pwd'+root()).set('tabindex',emailField.get('tabindex')+1);}
try{$('pwd'+root()).focus();emailField.focus();}catch(err){}}}
else
{$('errorMsg'+root()).style.display='';var msg=document.getElementById('errorMsg'+root());msg.innerHTML='';var inner=document.createTextNode("Sorry, there was a server error. Please try again later.");msg.appendChild(inner);if($("signInBtn-"+root))
{$("signInBtn"+root()).disabled=false;$("signInBtnAnchor"+root()).removeClass('disabledbutton');$('pwd'+root()).value='';try{$('pwd'+root()).focus();emailField.focus();}catch(err){}}}},redraw:function(className){if(Browser.Engine.trident==true&&Browser.Engine.version==4)
{(function(){$$(className).setStyle('display','none');$$(className).setStyle('display','block');}).delay(100);}}};esg.ident.views.join={validate:function(parms){var root=(esg.ident.model.joinRoot.length<1)?esg.ident.model.joinRoot:"-"+esg.ident.model.joinRoot;var joinObj=esg.ident.views.join.joinObj;if(parms=="joinOnOrder")
{if(Cookie.get('DYN_EMAIL')){joinObj.setDynEmail(esg.utility.CookieWithoutEncDec.get('DYN_EMAIL'));}
if(Cookie.get('EK_S')){joinObj.setEK_S(esg.utility.CookieWithoutEncDec.get('EK_S'));}}
var emailRegEx=/^[A-Za-z0-9](([_\.\-\+]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/;var fNameRegEx=/^([a-zA-Z0-9\s\.\'\-]{1,30})$/;var pwdRegEx=/^([a-zA-Z0-9]{6,15})$/;$$('input').removeClass('errorstate');if(!joinObj.fName()||joinObj.fName()=="First name")
{$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="Please enter first name.";$('joinFName'+root).addClass('errorstate');$('joinFName'+root).focus();}
else if(!fNameRegEx.test(joinObj.fName())){$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="First name can only contain letters, spaces, periods and apostrophes.";$('joinFName'+root).addClass('errorstate');$('joinFName'+root).focus();}
else if(!joinObj.emailId()||joinObj.emailId()=="Email address")
{$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="Please enter your email address (e.g. test@test.com)";$('joinEmail'+root).addClass('errorstate');$('joinEmail'+root).focus();}
else if(!emailRegEx.test(joinObj.emailId())||joinObj.emailId().substring(0,5)=="anon_"){$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="Please enter a valid email address (e.g. test@test.com)";$('joinEmail'+root).addClass('errorstate');$('joinEmail'+root).focus();}
else if(!joinObj.pwd()||$('joinPwd'+root).type=="text")
{$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="Please enter a password";$('joinPwdText'+root).addClass('errorstate');$('joinPwdText'+root).focus();}
else if(!pwdRegEx.test(joinObj.pwd())){$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="Password can contain only alphanumeric characters and should be 6-15 characters long.";$('joinPwd'+root).addClass('errorstate');$('joinPwd'+root).focus();}
else if(!joinObj.rePwd())
{$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="Please re-enter your password";$('joinRePwdText'+root).addClass('errorstate');$('joinRePwdText'+root).focus();}
else if(joinObj.pwd()!=joinObj.rePwd()){$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="The password fields do not match. Please re-enter your password.";$('joinPwd'+root).addClass('errorstate');$('joinPwd'+root).focus();}
else if($('terms'+root).checked==false)
{$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="You must agree to our Terms of Service to continue.";$('terms'+root).focus();}
else{$$('input').removeClass('errorstate');$('errorMsg'+root).style.display='';$('errorMsg'+root).innerHTML="<span class='loading'>Joining. Please wait.</span> ";if($("joinBtn"+root))
{$("joinBtn"+root).disabled=true;$("joinBtnAnchor"+root).addClass('disabledbutton');}
esg.ident.controller.execute("callJoin",joinObj);}}};esg.ident.views.join.render={joinSucceed:function(){Cookie.remove('ANON_UPLOAD',{path:'/'});if(esg.ident.views.join.joinObj.getDynEmail&&esg.ident.views.join.joinObj.getDynEmail())
{if($('billingForm'))$('billingForm').submit();}
else esg.ident.views.signInRedirect(true);},joinFail:function(response){var root=function(){return(esg.ident.model.joinRoot.length<1)?esg.ident.model.joinRoot:"-"+esg.ident.model.joinRoot};if(response&&response.error){if(response.error=="duplicateUser")
{$('errorMsg'+root()).style.display='';$('errorMsg'+root()).innerHTML="The email address you entered is already registered. Please try again.";if($("joinBtn"+root()))
{$("joinBtn"+root()).disabled=false;$("joinBtnAnchor"+root()).className='linkbutton';}
$('joinEmail'+root()).addClass('errorstate');$('joinEmail'+root()).focus();}else
this.joinFailServerErrorMsgDisplay();}else
this.joinFailServerErrorMsgDisplay();},joinFailServerErrorMsgDisplay:function(){var root=function(){return(esg.ident.model.joinRoot.length<1)?esg.ident.model.joinRoot:"-"+esg.ident.model.joinRoot};$('errorMsg'+root()).style.display='';$('errorMsg'+root()).innerHTML="Server error! Please try again later.";if($("joinBtn"+root()))
{$("joinBtn"+root()).disabled=false;$("joinBtnAnchor"+root()).className='linkbutton';}
$('joinFName'+root()).focus();}};esg.ident.views.join.joinObj={root:function(){return(esg.ident.model.joinRoot.length<1)?esg.ident.model.joinRoot:"-"+esg.ident.model.joinRoot},dynEmail:this.dynEmail,EK_S:this.EK_S,fName:function(){return $('joinFName'+this.root()).value;},emailId:function(){return $('joinEmail'+this.root()).value;},pwd:function(){return $('joinPwd'+this.root()).value;},rePwd:function(){return $('joinRePwd'+this.root()).value;},terms:function(){return $('terms'+this.root()).checked;},splOffers:function(){return $('splOffers'+this.root()).checked;},getDynEmail:function(){return this.dynEmail;},getEK_S:function(){return this.EK_S;},setDynEmail:function(arg){this.dynEmail=arg;},setEK_S:function(arg){this.EK_S=arg;}};esg.ident.views.join.assignEvents=function(uid){var append=($chk(uid))?'-'+uid:"";if($("joinBtn"+append)){$("joinBtn"+append).addEvent('click',function(event){event.stop();esg.ident.controller.execute("join",{root:uid});}.bind(this));$('joinFrameBody'+append).addEvent('keypress',function(event){if(event.key=='enter')
{esg.ident.controller.execute("join",{root:uid});}}.bind(this));$('joinFrameForm'+append).addEvent('submit',function(event){event.stop();});$('joinFName'+append).addEvents
({select:function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},focus:function(event){esg.utility.eraseField(this,event);},blur:function(event){esg.utility.populateField(this,"First name",event);},keydown:function(event){esg.utility.eraseField(this,event);},keyup:function(event){esg.utility.populateField(this,"First name",event);},mousedown:function(event){esg.utility.eraseField(this,event);},mouseup:function(event){esg.utility.eraseField(this,event);}});$('joinEmail'+append).addEvents
({select:function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},focus:function(event){esg.utility.eraseField(this,event);},blur:function(event){esg.utility.populateField(this,"Email address",event);},keydown:function(event){esg.utility.eraseField(this,event);},keyup:function(event){esg.utility.populateField(this,"Email address",event);},mousedown:function(event){esg.utility.eraseField(this,event);},mouseup:function(event){esg.utility.eraseField(this,event);}});$('joinPwdText'+append).addEvents({'keydown':function(event){esg.utility.erasePwdField(this,$('joinPwd'+append),event);},'select':function(event){if(!Browser.Engine.trident)
esg.utility.erasePwdField(this,$('joinPwd'+append),event);},'focus':function(event){esg.utility.erasePwdField(this,$('joinPwd'+append),event);},'blur':function(event){esg.utility.populatePwdField(this,$('joinPwdText'+append));},'mousedown':function(event){esg.utility.erasePwdField(this,$('joinPwd'+append),event);},'mouseup':function(event){esg.utility.erasePwdField(this,$('joinPwd'+append),event);}});$('joinPwd'+append).addEvents({'keyup':function(event){esg.utility.populatePwdField(this,$('joinPwdText'+append));}});$('joinRePwdText'+append).addEvents({'keydown':function(event){esg.utility.erasePwdField(this,$('joinRePwd'+append),event);},'select':function(event){if(!Browser.Engine.trident)
esg.utility.erasePwdField(this,$('joinRePwd'+append),event);},'focus':function(event){esg.utility.erasePwdField(this,$('joinRePwd'+append),event);},'blur':function(event){esg.utility.populatePwdField(this,$('joinRePwdText'+append));},'mousedown':function(event){esg.utility.erasePwdField(this,$('joinRePwd'+append),event);},'mouseup':function(event){esg.utility.erasePwdField(this,$('joinRePwd'+append),event);}});$('joinRePwd'+append).addEvents({'keyup':function(event){esg.utility.populatePwdField(this,$('joinRePwdText'+append));}});if($('joinTerms'+append)){$('joinTerms'+append).addEvent('click',function(){window.open('http://'+document.location.host+'/gallery/footerLinksContent.jsp?pageID=600010','terms');});}
if($("frame-close-link"+append)){$("frame-close-link"+append).style.visibility='visible';$("frame-close-link"+append).addEvent('click',function(){$('joinFName'+append).value="";esg.utility.inValue($('joinFName'),"First name");$('joinEmail'+append).value="";esg.utility.inValue($('joinEmail'),"Email address");$('joinPwdText'+append).style.display="inline";$('joinPwd'+append).style.display="none";$('joinPwd'+append).value="";$('joinRePwdText'+append).style.display="inline";$('joinRePwd'+append).style.display="none";$('joinRePwd'+append).value="";$('errorMsg'+append).style.display='none';$$('input'+append).removeClass('errorstate');$('signInFrame'+append).tween('height','0');$('joinFrame'+append).tween('height','0');});}}
};window.addEvent('domready',function(){if($("showJoinFrame")){$("showJoinFrame").removeEvents();$("joinFrame").removeEvents();$("joinFrame").set('load',{method:'get',onSuccess:function(){esg.ident.views.join.assignEvents("");}});$("joinFrame").load('/A/html/joinFrame.html');$("showJoinFrame").addEvent('click',function(){document.onclick=esg.ident.views.renderFrame.checkClick;});}
if($("showSignInFrame")){esg.ident.views.pullDownDialogObj.display();$("showSignInFrame").addEvents({click:function(){var showSignInFramePostDisplay=function(){document.onclick=esg.ident.views.renderFrame.checkClick;};if(Cookie.get("ANON_UPLOAD")&&($('signInFrame').getSize().y==1))
esg.ident.views.anonSignInDialogObj.display(showSignInFramePostDisplay,document.location);else
showSignInFramePostDisplay();}});}
if($("signOutLink")){$("signOutLink").removeEvents();$("signOutLink").addEvent('click',function(e){e.stop();if(window.location.pathname.toString().contains("albums.jsp")){esg.photoPicker.controller.execute('saveAndContinue',{navigateTabURL:'javascript:esg.ident.controller.execute(\'callSignOut\')'});}
else if(window.location.pathname.toString().contains("printConfig.jsp")){esg.printConfig.controller.execute('savePhotoListToSession',{navigateToURL:'javascript:esg.ident.controller.execute(\'callSignOut\')'});}
else{esg.ident.controller.execute('callSignOut');}})}
if($("btnL2Signin")){$("btnL2Signin").addEvent('click',function(event){event.preventDefault();esg.ident.views.L2SigninDialogObj.display(function(){},"https://"+document.location.host+"/gallery/ma_billing_info.jsp");});}
if($("btnL2SigninMa")){$("btnL2SigninMa").addEvent('click',function(event){event.preventDefault();esg.ident.views.L2SigninDialogObj.display(function(){},"https://"+document.location.host+"/gallery/ma_billing_info.jsp");});}
if($("btnL2SigninPersonalMa")){$("btnL2SigninPersonalMa").addEvent('click',function(event){event.preventDefault();esg.ident.views.L2SigninDialogObj.display(function(){},"https://"+document.location.host+"/gallery/ma_personal_information.jsp");});}
if($("btnL2SigninPersonal")){$("btnL2SigninPersonal").addEvent('click',function(event){event.preventDefault();esg.ident.views.L2SigninDialogObj.display(function(){},"https://"+document.location.host+"/gallery/ma_personal_information.jsp");});}
if($("btnAnonUpload")){$("btnAnonUpload").addEvent('click',function(event){event.preventDefault();esg.ident.views.anonUploadDialogObj.display(function(){alert("Usage example: esg.ident.views.anonUploadDialogObj.display(function(){alert(\"Shagadelic, Baby!\");});");});});}
if($("btnL2SignInCheckout")&&$("btnL2SignInCheckout2")){if(document.location.search.contains("isValidationSuccess=true")&&(esg.ident.model.isAnon==false))
{esg.ident.views.L2SigninDialogObj.display(function(){document.location.replace("https://"+document.location.host+"/gallery/purchase/billing.jsp");});}else if(document.location.search.contains("isValidationSuccess=true")){document.location.replace("https://"+document.location.host+"/gallery/purchase/billing.jsp");}}
if($("btnL2SignInPaynow")){$("btnL2SignInPaynow").addEvent('click',function(event){event.preventDefault();esg.ident.views.L2SigninDialogObj.display(function(){$('storageForm').submit();},"");});}
if($("btnL2SignInPaynow2")){$("btnL2SignInPaynow2").addEvent('click',function(event){event.preventDefault();esg.ident.views.L2SigninDialogObj.display(function(){$('storageForm').submit();},"");});}
if($("nextBtnCheckOut")){$("nextBtnCheckOut").addEvent('click',function(){if($("joinPwd").value!=""||$("joinRePwd").value!="")
{esg.ident.controller.execute("join","joinOnOrder");}
else
{validateBilling();}});$("nextBtnCheckOut2").addEvent('click',function(){if($("joinPwd")&&($("joinPwd").value!=""||$("joinRePwd").value!=""))
{esg.ident.controller.execute("join","joinOnOrder");}
else
{validateBilling();}});}
if($('joinTerms')){$('joinTerms').addEvent('click',function(){window.open('http://'+document.location.host+'/gallery/footerLinksContent.jsp?pageID=600010','terms');});}
if(Browser.Engine.trident4){if(!esg.ident.model.isAnon){if(!Cookie.read('IE6Warned',{path:'/'})){var exemptedPages=["Main.jsp"];if(!exemptedPages.contains(window.location.pathname.toString())){esg.ident.views.IE6WarningDialogObj=new IE6WarningDialog();(function(){esg.ident.views.IE6WarningDialogObj.display();}).delay(100);}}}}});if(!esg)var esg={};if(!esg.photoPicker)esg.photoPicker={};if(!esg.model)esg.model={};esg.photoPicker.model={tos:null,showTOS:window.location.pathname.indexOf('albums.jsp')>-1,myAlbumsLoaded:false,friendsAlbumsLoaded:false,popUp:false,flexApp:null,trayMode:'prints',owner:{},friends:[],curPhotoId:null,updatedPhoto:null,photoInfo:null,albumsYear:null,albumsFriend:null,deleteAlbumYear:null,selectedAlbumId:null,favAlbumId:null,photosBooklet:null,albumsBooklet:null,navigateTabURL:null,playList:null,isPhotoGifterPartner:false,partnerAlbumMode:false,sourceId:null,rootAlbumId:null,parentAlbumTitle:null,parentAlbumId:null,slideItem:-1,dropLocation:-1,droppable:false,trayScroller:{},trayRearrangeScroller:{},projectId:null,editedPhoto:{},lazyLoad:{range:500,albumsRange:300,image:(!Browser.Engine.trident4)?'/A/Kodak_Gallery_Media/ECBO/images/common/loading.png':'/A/Kodak_Gallery_Media/ECBO/images/common/loading_ie6.gif',instances:{left:null,middle:null,right:null,uploader:null}},oldCaptionValue:'',captionEditActive:false,captionEditPhotoId:null,returnPhotoId:-1,updatedAlbumId:-1,updatedAlbumPhotoCount:0,initialize:function(){this.owner=new esg.photoPicker.model.member();this.trayScroller=new AutoScroll({box:'picturelist'});},albumEntry:function(inID,inTitle,inDesc,inThumbUri,inPhotoCount,inType,inDate,inOwnerId,inOwnerName,inHidden,allowAnon,numSubalbums,subAlbums,parentAlbum,loaded){this.id=inID;this.title=inTitle;this.desc=inDesc;this.thumbUri=inThumbUri;this.photoCount=inPhotoCount;this.date=inDate;this.type=inType;this.ownerId=inOwnerId;this.ownerName=inOwnerName||null;this.hidden=inHidden;this._photoList=null;this.allowAnon=allowAnon;this.numSubalbums=numSubalbums||0;this.subAlbums=subAlbums||[];this.parentAlbum=parentAlbum||null;this.albumLoaded=loaded||false;},uploading:false,uploadAlbum:{},uploadDest:'New',uploadAlbumYear:null,uploadSuccessCount:0,uploadFilesCount:0,uploadSourceId:{flash:'60027',html:'60028'},flashPlayerURL:'http://www.adobe.com/products/flashplayer/',config:{integUpldURI:"IntegUpload.html",upload:{turboThreshold:100},uris:{}},months:["January","February","March","April","May","June","July","August","September","October","November","December"],photoEntry:function(inID,inTitle,inSmallUri,inBigguyUri,inThumbUri,inFullResUri,inCaption,inNumComments,inNumPubComments,inExtPhoto,inOwnerId,inPartitionId){this.id=inID;this.title=inTitle;this.albumUri=inSmallUri;this.bigguyUri=inBigguyUri;this.thumbUri=inThumbUri;this.fatboyUri=inFullResUri;this.caption=inCaption||null;this.numComments=inNumComments;this.numPubComments=inNumPubComments;this.extPhoto=inExtPhoto||0;this.ownerId=inOwnerId;this.partitionId=inPartitionId;},mTest:null,startScroll:null,prevent_scroll:null};esg.photoPicker.model.member=function(){this.albumList=new esg.photoPicker.model.albumList();this.friendsAlbumList=new esg.photoPicker.model.albumList();this.partnerAlbumList=new esg.photoPicker.model.albumList();this.partnerAlbum={};this.currentAlbumList=this.albumList;esg.model.observable.mixin(this.currentAlbumList);esg.model.observable.mixin(this.albumList);esg.model.observable.mixin(this.friendsAlbumList);esg.model.observable.mixin(this.partnerAlbumList);};esg.photoPicker.model.albumList=function(){this.minYear=null;this.maxYear=null;this.albums=[];this.yearIndex=new Hash();this.friendsIndex=new Hash();};esg.photoPicker.model.albumList.prototype.addAlbum=function(album){this.albums.push(album);if(null==this.minYear||album.date.getFullYear()<this.minYear){this.minYear=album.date.getFullYear();}
if(null==this.maxYear||album.date.getFullYear()>this.maxYear){this.maxYear=album.date.getFullYear();}};esg.photoPicker.model.albumList.prototype.hasAlbums=function(){return(this.albums.length>0)?true:false;};esg.photoPicker.model.albumList.prototype.sortByDateDescending=function(){this.albums.sort(esg.utility.sortDatesDescendingCB);};esg.photoPicker.model.albumList.prototype.getAlbum=function(albumID){var album=null;for(var i=0;i<this.albums.length;i++){if(albumID==this.albums[i].id){album=this.albums[i];break;}}
return album;};esg.photoPicker.model.albumList.prototype.deleteAlbum=function(albumID){var len=this.albums.length;for(var i=0;i<len;i++){if(albumID==this.albums[i].id){this.albums.splice(i,1);return;}}};esg.photoPicker.model.albumList.prototype.moveFavoritesFirst=function(){if(this.hasAlbums()){if(esg.photoPicker.model.favAlbumId){var favAlbum=this.getAlbum(esg.photoPicker.model.favAlbumId);this.deleteAlbum(esg.photoPicker.model.favAlbumId);this.albums.unshift(favAlbum);}}};esg.photoPicker.model.albumList.prototype.getPhoto=function(photoID){var photo=null;for(var i=0;i<this.albums.length;i++){var album=this.albums[i];var photoList=album._photoList;if(photoList){photo=photoList.getPhoto(photoID);if(photo){break;}}}
return photo;};esg.photoPicker.model.albumList.prototype.clear=function(){this.minYear=null;this.maxYear=null;this.albums=[];this.yearIndex=new Hash();this.friendsIndex=new Hash();};esg.photoPicker.model.albumList.prototype.buildYearIndex=function(){var favs=[];for(var i=0;i<this.albums.length;i++){var album=this.albums[i];if(album.type==25&&album.photoCount>0)
favs=new Array(album,i);}
for(var i=this.minYear;i<=this.maxYear;i++){this.yearIndex[i]=[];if(favs.length>0){this.yearIndex[i].push(favs[0]);}}
for(var i=0;i<this.albums.length;i++){var album=this.albums[i];var year=album.date.getFullYear();if(favs.length>0){if(i!=favs[1])
this.yearIndex[year].push(album);}
else
this.yearIndex[year].push(album);}};esg.photoPicker.model.albumList.prototype.buildFriendsIndex=function(){for(var i=0;i<this.albums.length;i++){var album=this.albums[i];var friend=album.ownerId;esg.photoPicker.model.friends.include(friend);if($type(this.friendsIndex[friend])!='array')
this.friendsIndex[friend]=[];this.friendsIndex[friend].push(album);this.friendsIndex[friend].ownerName=album.ownerName;}
this.friendsIndex.each(function(albums){albums=albums.sort(function sortByDate(a,b){if(b.date>a.date)return 1;if(b.date<a.date)return-1;return 0;});});};esg.photoPicker.model.albumList.prototype.mockLoad=function(){var albumCt=esg.mock.albumCt;for(var i=0;i<albumCt;i++){this.addAlbum(this.mockAlbumLoad());}
this.albums.sort(esg.utility.sortDatesDescendingCB);};esg.photoPicker.model.albumList.prototype.mockAlbumLoad=function(){var mock=esg.mock;var aID=esg.utility.nextSeq();var aTitle="Album"+aID;var aDesc='Description of: '+aTitle;var aPhotoCt=esg.utility.random(mock.minPhotoCount,mock.maxPhotoCount);var aType="0";var aMonth=esg.utility.random(0,11);var aDay=esg.utility.random(1,28);var aYear=esg.utility.random(mock.minAlbumYear,mock.maxAlbumYear);var aDate=new Date(aYear,aMonth,aDay);var aThumbUri=esg.photoPicker.model.config.uris.thumbUri.replace('{photoId}',esg.utility.random(mock.minPhotoIDNum,mock.maxPhotoIDNum));var aOwnerId=esg.utility.randomString(5);var aOwnerName="friend #"+aOwnerId;var aHidden="0";var albumEntry=new esg.photoPicker.model.albumEntry(aID,aTitle,aDesc,aThumbUri,aPhotoCt,aType,aDate,aOwnerId,aOwnerName,aHidden);albumEntry.partitionId='9999';return(albumEntry);};esg.photoPicker.model.albumEntry.prototype.getPhotoList=function(){if(null==this._photoList){this._photoList=new esg.photoPicker.model.photoList();}
return this._photoList;};esg.photoPicker.model.albumEntry.prototype.mockLoadPhotoList=function(){var mock=esg.mock;var photoList=this._photoList;var photoCt=this.getPhotoCount();for(var i=0;i<photoCt;i++){var pID="photo"+esg.utility.nextSeq();var pTitle=pID;var imgName=esg.utility.random(mock.minPhotoIDNum,mock.maxPhotoIDNum);var pSmallUri=esg.photoPicker.model.config.uris.thumbUri.replace('{photoId}',imgName);var pMediumUri=esg.photoPicker.model.config.uris.imgSvc.replace('{photoId}',imgName);var pThumbUri=esg.photoPicker.model.config.uris.thumbUri.replace('{photoId}',imgName);var pBigguyUri=esg.photoPicker.model.config.uris.imgSvc.replace('{photoId}',imgName);var pCaption='Please add caption here';var pNumComments='';photoList.addPhoto(new esg.photoPicker.model.photoEntry(pID,pTitle,pSmallUri,pMediumUri,pThumbUri,pBigguyUri,pCaption,pNumComments,null,null,null,'9999'));}
photoList.loaded=true;};esg.photoPicker.model.albumEntry.prototype.getPhotoCount=function(){return this.photoCount;};esg.photoPicker.model.albumEntry.prototype.hasSubAlbumsLoaded=function(){if(0==this.subAlbums.length&&0==this.numSubalbums)
return false;else
return(this.subAlbums.length==this.numSubalbums)?true:false;};esg.photoPicker.model.albumEntry.prototype.findAndReplaceSubalbum=function(subAlbum){var parentAlbum=subAlbum.parentAlbum;parentAlbum.subAlbums.each(function(entry,index){if(entry.id==subAlbum.id){var firstPhoto=subAlbum.firstPhoto;entry=subAlbum;entry.firstPhoto=firstPhoto;}});};esg.photoPicker.model.photoList=function(){this.photos=[];this.loaded=false;};esg.photoPicker.model.photoList.prototype.addPhoto=function(photo){this.photos.push(photo);};esg.photoPicker.model.photoList.prototype.clear=function(){this.photos.empty();};esg.photoPicker.model.photoList.prototype.getPhoto=function(photoID){var photo=null;for(var i=0;i<this.photos.length;i++){if(photoID==this.photos[i].id){photo=this.photos[i];break;}}
return photo;};esg.photoPicker.model.photoList.prototype.getPhotoIndex=function(photoID){for(var i=0;i<this.photos.length;i++){if(photoID==this.photos[i].id){return i;}}
return null;};esg.photoPicker.model.photoList.prototype.deletePhoto=function(photoId){var len=this.photos.length;for(var i=0;i<len;i++){if(photoId==this.photos[i].id){this.photos.splice(i,1);return;}}}
esg.photoPicker.model.trayList=[];esg.photoPicker.model.trayList.rearranger={};esg.photoPicker.model.trayList.photoListDOM={};esg.photoPicker.model.trayList.initialIDs=[];esg.photoPicker.model.trayList.isSharedProject=false;esg.photoPicker.model.trayList.removeItems=function(){this.length=0;this.notifyObservers();};esg.photoPicker.model.trayList.hasPhoto=function(photoId){var hasPhoto=false;var len=this.length;for(var i=0;i<len;i++){if(photoId==this[i].id){hasPhoto=true;break;}}
return hasPhoto;};esg.photoPicker.model.trayList.getPhoto=function(photoId){var photo=null;var len=this.length;for(var i=0;i<len;i++){if(photoId==this[i].id){photo=this[i];break;}}
return photo;};esg.photoPicker.model.trayList.deletePhoto=function(photoId){var len=this.length;for(var i=0;i<len;i++){if(photoId==this[i].id){this.splice(i,1);return;}}};esg.photoPicker.model.trayList.isDirty=function(){var currentInternalList=this.trayContentTypes.internalPhotoList;var len=currentInternalList.length;if(this.initialIDs.length!=len){return true;}
else{for(var i=0;i<len;i++){if(this.initialIDs[i]!=currentInternalList[i].id){return true;}}}
return false;};esg.photoPicker.model.trayList.addAlbum=function(albumID,loc){var album=esg.photoPicker.model.owner.currentAlbumList.getAlbum(albumID);if(album){var photoList=album.getPhotoList();for(var i=0;i<photoList.photos.length;i++){var photo=photoList.photos[i];if(this.hasPhoto(photo.id))
this.deletePhoto(photo.id);var newList=new Array().concat(this.slice(0,loc),photo,this.slice(loc++));this.empty().extend(newList);}
}else{}};esg.photoPicker.model.trayList.addPhoto=function(photoID,loc,searchGlobal){if(!photoID)
return;var photo;if($type(photoID)=="object"){photo=photoID;photoID=photo.id;}else{photo=esg.photoPicker.model.owner.currentAlbumList.getPhoto(photoID);}
if(this.hasPhoto(photoID))
this.deletePhoto(photoID);if(!photo&&searchGlobal){photo=esg.photoPicker.model.owner.albumList.getPhoto(photoID);}
if(!photo&&searchGlobal){photo=esg.photoPicker.model.owner.friendsAlbumList.getPhoto(photoID);}
if(photo){var newList=new Array().concat(this.slice(0,loc),photo,this.slice(loc));this.empty().extend(newList);}else{}};esg.photoPicker.model.trayList.importPlayList=function(savedPlayList){if(savedPlayList){var pix=$splat(savedPlayList.pictures);var cmd=esg.photoPicker.commands;esg.photoPicker.model.trayList.length=0;esg.photoPicker.model.trayList.initialIDs.length=0;pix.each(function(pic){var pId=pic.id;var pSmallUri=pic.photoUriSmallJpeg.replace('http://localhost:8080','');var pThumbUri=pic.photoUriThumbJpeg.replace('http://localhost:8080','');var pBigguyUri=pic.photoUriMediumJpeg.replace('http://localhost:8080','');var pFullResUri=pic.photoUriFullResJpeg.replace('http://localhost:8080','');var pTitle="";var pCaption="";var pNumComments=0;var pNumPubComments=0;var pOwnerId=pic.ownerId;var photo=new esg.photoPicker.model.photoEntry(pId,pTitle,pSmallUri,pBigguyUri,pThumbUri,pFullResUri,pCaption,pNumComments,pNumPubComments,null,pOwnerId);esg.photoPicker.model.trayList.push(photo);esg.photoPicker.model.trayList.initialIDs.push(pic.id);});}else{console.error('failed: %o',savedPlayList);}};esg.photoPicker.model.trayList.trayContentTypes={initialized:false,externalPhotoList:[],internalPhotoList:[],hasExternalPhotos:function(){return(this.externalPhotoList.length>0);},hasInternalPhotos:function(){return(this.internalPhotoList.length>0);},initPhotoTypes:function(){var trayList=esg.photoPicker.model.trayList;this.externalPhotoList.empty();this.internalPhotoList.empty();trayList.each(function(item,index){if(item.extPhoto==1){this.externalPhotoList.push(item.fatboyUri);}else{this.internalPhotoList.push(item);}},this);this.initialized=true;}};esg.photoPicker.model.trayList.excludedContentTypes={initialized:false,excludedPhotoList:[],includedPhotoList:[],model:esg.photoPicker.model,hasExcludedPhotos:function(){if(!this.initialized)
this.initPhotoTypes();return(this.excludedPhotoList.length>0);},initPhotoTypes:function(){var trayList=esg.photoPicker.model.trayList;this.excludedPhotoList.empty();this.includedPhotoList.empty();trayList.each(function(item,index){if(item.extPhoto==1||esg.ident.model.ssId!=item.ownerId){this.excludedPhotoList.push(item);}else{this.includedPhotoList.push(item);}},this);this.initialized=true;}};esg.photoPicker.model.Booklet=function(itemCount,pageSize){this.setPageSize(pageSize);this.setItemCount(itemCount);this.goToPage(0);};esg.photoPicker.model.Booklet.prototype.nextPage=function(){if(this.hasNextPage()){this.curPage+=1;this.updateRange();}};esg.photoPicker.model.Booklet.prototype.prevPage=function(){if(this.hasPrevPage()){this.curPage-=1;this.updateRange();}};esg.photoPicker.model.Booklet.prototype.goToPage=function(pageNum){if(pageNum>=0){if((pageNum<this.pageCount)||(pageNum==0&&this.pageCount<1)){this.curPage=pageNum;this.updateRange();}}};esg.photoPicker.model.Booklet.prototype.setItemCount=function(itemCount){this.itemCount=itemCount;this.updatePageCount();this.updateRange();};esg.photoPicker.model.Booklet.prototype.setPageSize=function(pageSize){this.pageSize=pageSize;this.updatePageCount();this.updateRange();};esg.photoPicker.model.Booklet.prototype.updatePageCount=function(){this.pageCount=(this.pageSize<1)?1:Math.ceil(this.itemCount/this.pageSize);};esg.photoPicker.model.Booklet.prototype.updateRange=function(){if(this.pageSize<1){this.startItem=0;this.endItem=this.itemCount-1}else{this.startItem=this.curPage*this.pageSize;this.endItem=Math.min(this.startItem+this.pageSize-1,this.itemCount-1);}};esg.photoPicker.model.Booklet.prototype.hasPrevPage=function(){return(this.curPage>0);};esg.photoPicker.model.Booklet.prototype.hasNextPage=function(){return(this.pageSize<1)?false:(this.curPage<this.pageCount-1);};esg.photoPicker.model.setTos=function(params){this.storageSize=parseInt(params.storageSize||0,10);this.tosStatus=parseInt(params.tosStatus||0,10);this.warningZone=(params.warningZone||'')=="true";if(params.tosComplianceDate){this.tosComplianceDate=new Date();this.tosComplianceDate.setISO8601(params.tosComplianceDate);}
else
this.tosComplianceDate=null;};(function(){var numOfAlbums=35;var model=esg.photoPicker.model;model.photosBooklet=new esg.photoPicker.model.Booklet(0,60);model.albumsBooklet=new esg.photoPicker.model.Booklet(0,numOfAlbums);esg.model.observable.mixin(model);esg.model.observable.mixin(model.owner);esg.model.observable.mixin(model.photoList);esg.model.observable.mixin(model.trayList);esg.model.observable.mixin(model.albumsBooklet);esg.model.observable.mixin(model.photosBooklet);model.uploadAlbum=new model.albumEntry(-1,'New Album','New Album Description',null,0,0,new Date());})();if(!esg)var esg={};if(!esg.comments)esg.comments={};if(!esg.model)esg.model={};esg.comments.model={comments:{},comment:{},commentsBooklet:null,curAlbumOwner:null,curAlbum:null,error:{},config:{uris:{}},constants:{}}
var CommentList=function(comments,callBack){this.entries=(comments)?comments:[];this.callBack=callBack;}
var Comment=function(id,name,authorId,thumbUrl,mediumUrl,photoId,comment,timestamp,visibility,callBack){this.id=(id)?id:0;this.name=(name)?name:'';this.authorId=(authorId)?authorId:0;this.thumbUrl=(thumbUrl)?thumbUrl:'';this.mediumUrl=(mediumUrl)?mediumUrl:'';this.photoId=(photoId)?photoId:'';this.comment=(comment)?comment:'';this.timestamp=(timestamp)?timestamp:esg.utility.xmlSerializer._formatDate(new Date());this.getFormattedTimestamp=function(){return esg.share.commands.formatCommentsDate(this.timestamp);};this.visibility=(visibility)?visibility:'private';this.email='';this.callBack=callBack;this.getXML=function(){var xml='<?xml version="1.0" encoding="utf-8"?>\n'+
'<Comment xmlns="http://namespace.kodakgallery.com/site/20080402/Picture">\n'+
'<photoId>'+this.photoId+'</photoId>\n'+
((this.authorId)?('<authorId>'+this.authorId+'</authorId>\n'):'')+
'<visibility>'+this.visibility+'</visibility>\n'+
'<text>'+esg.utility.xmlSerializer._formatString(this.comment)+'</text>\n'+
'</Comment>';return xml;};this.getFormattedName=function(){if(this.name){return this.name+((this.email)?(' &lt;'+this.email+'&gt;'):'');}
return this.email;};};esg.comments.model.initialize=function(){this.comments=new CommentList();this.comment=new Comment();this.commentsBooklet=new esg.photoPicker.model.Booklet(0,10);esg.model.observable.mixin(this.commentsBooklet);esg.model.observable.mixin(this.comments);};(function(){var model=esg.comments.model;esg.model.observable.mixin(model);})();if(!esg)var esg={};if(!esg.share)esg.share={};if(!esg.model)esg.model={};esg.share.model={guestbook:{},comments:{},comment:{},error:{},commentsBooklet:null,guestbookBooklet:null,contactList:{},tempContactList:{},contact:{},share:{},shareToken:'',shareAutoComplete:{},album:{},contactGroup:{},contactGroupList:{},contactListAlpha:[],contactListActionTimers:[],contactGroupContactListActionTimers:[],contactGroupDragoverTimer:{timerId:'',groupId:''},whichTab:'email',editing:false,isProjectShare:false,isFBdirect:false,projectMetaData:{},config:{uris:{}},constants:{'CONTACT_GROUP_NAME_CLOSED':16,'CONTACT_GROUP_NAME_OPEN':13,'CONTACT_PAGE_CONTACT_LIST':85,'SHARE_DIALOG_CONTACT_LIST':(Browser.Engine.trident4)?39:43,'SHARE_POST_OTHER_EMAIL_RECIPIENT':'facebook@kodakgallery.com'}}
var Guestbook=function(entries,callBack){this.entries=(entries)?entries:[];this.callBack=callBack;};var GuestbookEntry=function(albumId,albumName,albumThumb,timeSent,shares,callBack){this.albumId=(albumId)?albumId:'';this.albumName=(albumName)?albumName:'';this.albumThumb=(albumThumb)?albumThumb:'';this.timeSent=(timeSent)?timeSent:'';this.shares=(shares)?shares:[];this.isProject=false;this.projectType='';this.callBack=callBack;this.setProject=function(babbage,type){this.isProject=babbage||this.isProject;this.projectType=type||this.projectType;};};var GuestbookEntryShare=function(email,dateViewed,visitCount,forwardedBy,firstName,lastName,callBack){this.email=(email&&email.trim())?email.trim():'';this.dateViewed=(dateViewed)?dateViewed:'';this.visitCount=(visitCount)?visitCount:'';this.forwardedBy=(forwardedBy)?forwardedBy:'';this.firstName=(firstName&&firstName.trim())?firstName.trim():'';this.lastName=(lastName&&lastName.trim())?lastName.trim():'';this.callBack=callBack;this.getFormattedName=function(){var ret;if(this.firstName){ret=this.firstName+((this.lastName)?(' '+this.lastName):'')+((this.email)?(' &lt;'+this.email+'&gt;'):'');}
else
ret=this.email;return esg.utility.sanitizeOutput(ret);};};var Contact=function(id,firstName,lastName,email,callBack){this.id=(id)?id:'';this.firstName=(firstName)?firstName:'';this.lastName=(lastName)?lastName:'';this.email=(email)?email:'';this.callBack=callBack;this.saved=false;this.getXML=function(noHeader,idOnly){var ownerId=esg.ident.model.member;var xml='';if(!idOnly){xml+=''+
((!noHeader)?('<?xml version="1.0" encoding="utf-8"?>'+
'<Friend xmlns="http://namespace.kodakgallery.com/site/20080214/Friend">'):'<friend>');}
xml+=((this.id)?('<id>'+this.id+'</id>'):'');if(!idOnly){xml+=' '+
((this.firstName||this.lastName||this.id)?('<name><![CDATA['+(this.firstName+' '+this.lastName).trim()+']]></name>'):'')+
'<email>'+
this.email+
'</email>'+
((this.firstName||this.id)?('<firstName><![CDATA['+this.firstName+']]></firstName>'):'')+
((this.lastName||this.id)?('<lastName><![CDATA['+this.lastName+']]></lastName>'):'')+
((!noHeader)?'</Friend>':'</friend>');}
return xml;};this.empty=function(){this.id=this.firstName=this.lastName=this.email='';};this.getDisplayName=function(mode){var normalDisplay=false,autoComplete=false,toDialog=false;if(!mode||mode==0)
normalDisplay=true;else if(mode==1)
autoComplete=true;else if(mode==2)
toDialog=true;var display='';if(this.lastName){if(this.firstName){if(autoComplete)
display=this.firstName+' '+this.lastName;else if(toDialog)
display=this.firstName+' '+this.lastName+' &lt;'+this.email+'&gt;';else
display=this.lastName+', '+this.firstName;}
else{if(toDialog)
display=this.lastName+' &lt;'+this.email+'&gt;';else
display=this.lastName;}}
else if(this.firstName){display=this.firstName+((toDialog)?(' &lt;'+this.email+'&gt;'):'');}
else if(this.email){display=this.email;}
return esg.utility.sanitizeOutput(display);};this.isInContactList=function(){return(esg.share.model.contactList.findContactByEmail(this.email)!=null);};}
var ContactList=function(contacts,callBack){this.contacts=(contacts)?contacts:[];this.callBack=callBack;this.sort=function(){this.contacts.sort(esg.utility.alphaNumericSort);};this.populated=(contacts)?true:false;this.findContactByEmail=function(email,excludeList){email=email.toLowerCase();for(var i=0;i<this.contacts.length;i++){var contact=this.contacts[i];if(excludeList&&excludeList.contains(contact.id))
continue;if(email==contact.email.toLowerCase()){return contact;}}
return null;};}
var ContactGroup=function(id,name,contacts,callBack){this.id=(id)?id:'';this.name=(name)?name:'';this.contacts=(contacts)?contacts:[];this.callBack=callBack;this.expanded=false;this.getXML=function(includeMembers){var ownerId=esg.ident.model.member;var xml='<?xml version="1.0" encoding="utf-8"?>'+
'<FriendGroup xmlns="http://namespace.kodakgallery.com/site/20080214/Friend">'+
'	<name><![CDATA['+this.name+']]></name>'+
((includeMembers)?('	<members>'+
'		{friends}'+
'	</members>'):'')+
'</FriendGroup>	';var friends='';this.contacts.each(function(contact,index){friends=friends+'\t'+contact.getXML(true,true)+'\n';});xml=xml.replace('{friends}',friends);return xml;};this.getTruncatedContacts=function(maxLength){if(!maxLength)
maxlength=100;var contacts='';this.contacts.each(function(contact,index){var name=''
if(contact.firstName){name=(contact.lastName)?(contact.firstName+' '+contact.lastName):contact.firstName;}
name+=(name.length>0)?(' ('+contact.email+')'):contact.email;contacts+=name+', ';});contacts=contacts.substring(0,contacts.length-2);return esg.utility.sanitizeOutput((contacts.length>maxLength)?(contacts.substring(0,maxLength-2)+'..'):contacts);};this.empty=function(){this.id=this.name='';this.contacts.empty();};this.sort=function(){this.contacts.sort(esg.utility.alphaNumericSort);};this.getDisplayName=function(){return this.name;}
this.getTruncatedName=function(length){var ret;if(this.name.length>length)
ret=this.name.substring(0,length-2)+'..';else
ret=this.name;return esg.utility.sanitizeOutput(ret);};};var ContactGroupList=function(contactGroups,callBack){this.contactGroups=(contactGroups)?contactGroups:[];this.callBack=callBack;this.sort=function(){this.contactGroups.sort(esg.utility.alphaNumericSort);};this.populated=(contactGroups)?true:false;this.findGroupByName=function(groupName){groupName=groupName.toLowerCase();for(var i=0;i<this.contactGroups.length;i++){var group=this.contactGroups[i];if(groupName==group.name.toLowerCase()){return group;}}
return null;};};var CommentGroupList=function(commentGroups,callBack){this.commentGroups=(commentGroups)?commentGroups:[];this.commentGroupsHash=[];this.callBack=callBack;this.getGroupByIndex=function(i){var retGroup=null;var totalWeight=0;this.commentGroups.each(function(group,index){totalWeight+=group.getWeight();if(retGroup==null&&i<totalWeight)
retGroup=group;});return retGroup;};this.getGroupById=function(id){var hash=this.commentGroupsHash[String(id)];if(hash==null)
return null;return this.commentGroups[hash];};this.addGroup=function(commentGroup){this.commentGroups.push(commentGroup);this.commentGroupsHash[String(commentGroup.getPhotoId())]=this.commentGroups.length-1;return this.commentGroups[this.commentGroups.length-1];}
this.getCommentByIndex=function(i){var retComment=null;var totalWeight=0;this.commentGroups.each(function(group,index){var curWeight=totalWeight;totalWeight+=group.getWeight();if(retComment==null&&i<totalWeight){retComment=group.comments[i-curWeight];}});return retComment;};};var CommentGroup=function(comments,callBack){this.comments=(comments)?comments:[];this.callBack=callBack;this.getThumbUrl=function(){if(this.comments.length==0)
return null;return this.comments[0].thumbUrl;}
this.getMediumUrl=function(){if(this.comments.length==0)
return null;return this.comments[0].mediumUrl;}
this.getWeight=function(){return this.comments.length;}
this.getDate=function(){if(this.comments.length==0)
return null;return comments[0].timestamp;}
this.getPhotoId=function(){if(this.comments.length==0)
return null;return this.comments[0].photoId;}
this.popRange=function(range){var ret=this.comments.slice(0,range);this.comments=this.comments.slice(range)
return ret;}};var Share=function(contacts,albums,photos,name,subject,message,requireSignIn,callBack){this.contactList=(contacts)?contacts:new ContactList();this.albums=(albums)?albums:[];this.photos=(photos)?photos:[];this.name=(name)?name:'';this.subject=(subject)?subject:'';this.message=(message)?message:'';this.requireSignIn=(requireSignIn)?requireSignIn:false;this.callBack=callBack;this.photoThumb='';this.albumId='';this.projectId='';this.projectType='';this.addContact=function(contact){var exists=false;this.contactList.contacts.each(function(curContact){if((curContact.id&&curContact.id==contact.id)||curContact.email==contact.email)
exists=true;});if(!exists)
this.contactList.contacts.push(contact);};this.addNewContact=function(firstName,lastName,email){var contact=new Contact(null,firstName,lastName,email);this.addContact(contact);};this.addContactGroup=function(contactGroup){var contactList=this.contactList;contactGroup.contacts.each(function(contact){var exists=false;contactList.contacts.each(function(curContact){if((curContact.id&&curContact.id==contact.id)||curContact.email==contact.email)
exists=true;});if(!exists)
contactList.contacts.push(contact);});};this.sort=function(){this.contactList.sort();};this.getHeadlineImage=function(){return'';};this.getXML=function(){var xml='<?xml version="1.0" encoding="utf-8"?>'+
'<ShareEmail xmlns="http://namespace.kodakgallery.com/site/20080402/Picture">'+
((this.subject)?('<subject><![CDATA['+this.subject+']]></subject>'):'')+
((this.message)?('<message><![CDATA['+this.message+']]></message>'):'');xml+='<allowAnon>'+((!this.requireSignIn)?'true':'false')+'</allowAnon>';if(!esg.share.model.isProjectShare){if(esg.share.model.whichTab&&esg.share.model.whichTab=='other')
xml+='<doNotSendEmails>true</doNotSendEmails>';}
if(this.contactList.contacts.length>0){xml+='<emails>';this.contactList.contacts.each(function(contact){xml+='<email>'+contact.email+'</email>';});xml+='</emails>';}
if(esg.share.model.isProjectShare){var share=esg.share.model.share;xml+='<projectName><![CDATA['+share.name+']]></projectName>';xml+='<projectType><![CDATA['+share.projectType+']]></projectType>';}
else{if(this.albums.length>0){xml+='<albums>';this.albums.each(function(album){xml+='<albumId>'+album+'</albumId>';});xml+='</albums>';}
if(this.photos.length>0){xml+='<subset>';this.photos.each(function(photo){xml+='<pictureId>'+photo+'</pictureId>';});xml+='</subset>';}
if(this.name){xml+='<name><![CDATA['+this.name+']]></name>';}}
xml+='</ShareEmail>';return xml;};};var ShareAutoComplete=function(searchTerm,results){this.searchTerm=(searchTerm)?searchTerm:'';this.results=(results)?results:[];this.updated=false;this.setSearchTerm=function(searchTerm){this.searchTerm=searchTerm;this.updated=false;this.results=[];};}
var ShareError=function(message,header){this.message=message;this.header=header;this.yesLabel="Ok";this.noLabel="Cancel";this.callBack=null;}
esg.share.model.setWhichTab=function(whichTab){this.whichTab=whichTab;};esg.share.model.populateProjectFBDirect=function(projObj){var parsedArgs=($splat(projObj))[0];var s=this.share=new Share();s.projectId=(parsedArgs.projectId)?parsedArgs.projectId:s.projectId;s.photoThumb=parsedArgs.projectThumb||s.photoThumb;s.projectType=(parsedArgs.projectType)?parsedArgs.projectType:s.projectType;s.name=(parsedArgs.projectName)?parsedArgs.projectName:s.name;s.requireSignIn=false;this.isFBdirect=true;this.isProjectShare=true;};esg.share.model.populateProjectShare=function(projObj){var parsedArgs=($splat(projObj))[0];var s=this.share=new Share();s.projectId=(parsedArgs.projectId)?parsedArgs.projectId:s.projectId;s.photoThumb=parsedArgs.projectThumb||s.photoThumb;s.projectType=(parsedArgs.projectType)?parsedArgs.projectType:s.projectType;s.name=(parsedArgs.projectName)?parsedArgs.projectName:s.name;s.requireSignIn=true;this.isProjectShare=(this.share.albums.length<1&&this.share.photos.length<1&&parsedArgs.projectId)?true:false;};esg.share.model.projectMetaData={ownerName:'',projectName:'',projectType:'',projectId:'',thumbURI:'',categoryId:'',productId:'',skuId:'',initialize:function(pId,pName,pType,pThumb,owner,catInfo){this.setProjectIdDirectly(pId);this.projectName=pName||this.projectId;this.projectType=pType||this.projectType;this.thumbURI=pThumb||this.thumbURI;this.ownerName=owner||this.ownerName;if((this.projectType&&this.projectType=='spm')&&catInfo){var cats=catInfo.split(":");var catalog={};cats.each(function(entry,index){var entries=entry.split("=");catalog[entries[0]]=entries[1];});this.categoryId=catalog.catId||this.categoryId;this.productId=catalog.productId||this.productId;this.skuId=catalog.skuId||this.skuId;}
},setProjectIdDirectly:function(pId){this.projectId=pId||this.projectId;}};esg.share.model.initialize=function(){if(esg.photoPicker.model.Booklet){this.guestbook=new Guestbook();this.guestbookBooklet=new esg.photoPicker.model.Booklet(0,20);esg.model.observable.mixin(this.guestbookBooklet);esg.model.observable.mixin(this.guestbook);this.contactList=new ContactList();this.contact=new Contact();esg.model.observable.mixin(this.contactList);esg.model.observable.mixin(this.contact);this.contactGroupList=new ContactGroupList();this.contactGroup=new ContactGroup();esg.model.observable.mixin(this.contactGroupList);esg.model.observable.mixin(this.contactGroup);this.comments=new CommentGroupList();this.comment=new Comment();this.commentsBooklet=new esg.photoPicker.model.Booklet(0,20);esg.model.observable.mixin(this.commentsBooklet);esg.model.observable.mixin(this.comments);this.share=esg.share.model.share=new Share();this.shareAutoComplete=new ShareAutoComplete();esg.model.observable.mixin(this.share);esg.model.observable.mixin(this.shareAutoComplete);}
else{this.share=new Share();esg.model.observable.mixin(this.share);}
this.error=new ShareError("An error has occured<br/>Please try again.","");};(function(){var model=esg.share.model;esg.model.observable.mixin(model);})();if(!esg)var esg={};if(!esg.share)esg.share={};esg.share.controller={counter:0,execute:function(eventMsg,parms){var model=esg.share.model;var cmd=esg.share.commands;var views=esg.share.views;switch(eventMsg){case'showGuestbook':cmd.getGuestbook('showGuestbookComplete');break;case'showGuestbookComplete':cmd.showGuestbookComplete();break;case'showComments':case'getComments':cmd.getComments('showCommentsComplete');break;case'getComments2':cmd.getComments2(parms.comments,parms.callBack);case'showCommentsComplete':cmd.showCommentsComplete();break;case'deleteComment':cmd.deleteComment();break;case'deleteCommentComplete':cmd.deleteCommentComplete();break;case'goToCommentsPage':cmd.goToCommentsPage(parms.pageNum);break;case'showContactList':case'getContactList':var callback=(parms&&parms.callback)?parms.callback:'showContactListComplete';var refresh=(parms&&parms.refresh)?parms.refresh:false;esg.share.model.contactList.refresh=refresh;cmd.getContactList(callback);break;case'showContactListComplete':cmd.showContactListComplete();break;case'showContactGroupList':case'getContactGroupList':var callback=(parms&&parms.callback)?parms.callback:'showContactGroupListComplete';cmd.getContactGroupList(callback);break;case'showContactGroupListComplete':cmd.showContactGroupListComplete();break;case'showAddContact':cmd.showAddContact('showAddContactComplete');break;case'showEditContact':cmd.showEditContact((parms.callback)?parms.callback:'showAddContactComplete',parms.contactIndex,parms.isShareDialog);break;case'showDeleteContactComplete':cmd.showAddContactComplete();cmd.getContactGroupList('showContactGroupListComplete');break;case'showAddContactComplete':cmd.showAddContactComplete();break;case'goToGuestbookPage':cmd.goToGuestbookPage(parms.pageNum);break;case'redeemShare':cmd.redeemShare((parms.callBack)?parms.callBack:'redeemShareComplete',parms.shareToken);break;case'redeemProjectShare':cmd.redeemProjectShare((parms.callBack)?parms.callBack:'redeemShareComplete',parms.shareToken);break
case'redeemShareComplete':cmd.redeemShareComplete();break;case'anonymousRedeemShare':cmd.anonymousRedeemShare((parms.callBack)?parms.callBack:'redeemShareComplete',parms.shareToken);break;case'anonymousRedeemShareComplete':cmd.anonymousRedeemShareComplete();break;case'anonymousAlbumView':cmd.anonymousAlbumView((parms.callBack)?parms.callBack:'anonymousAlbumViewComplete',parms.shareToken);break;case'anonymousAlbumViewComplete':cmd.anonymousAlbumViewComplete();break;case'addContact':cmd.addContact();break;case'updateContact':cmd.updateContact();break;case'deleteContact':cmd.deleteContact();break;case'getContact':cmd.getContact();break;case'getContactList':var callback=(parms&&parms.callback)?parms.callback:'getContactListComplete';cmd.getContactList(callback);break;case'getContactListComplete':cmd.getContactListComplete();break;case'addContactGroup':cmd.addContactGroup();break;case'updateContactGroup':cmd.updateContactGroup();break;case'updateContactGroupMembers':cmd.updateContactGroupMembers();break;case'deleteContactGroup':cmd.deleteContactGroup();break;case'getContactGroup':cmd.getContactGroup();break;case'scrollContactList':cmd.scrollContactList(parms.letter);break;case'showContactOption':cmd.showContactOption(parms.contactIndex);break;case'hideContactOption':cmd.hideContactOption(parms.contactIndex);break;case'hideContactOptionAction':cmd.hideContactOptionAction(parms.contactIndex);break;case'showContactGroupContact':cmd.showContactGroupContact(parms.groupIndex,parms.contactIndex);break;case'hideContactGroupContact':cmd.hideContactGroupContact(parms.groupIndex,parms.contactIndex);break;case'hideContactGroupContactAction':cmd.hideContactGroupContactAction(parms.groupIndex,parms.contactIndex);break;case'toggleContactGroupDisplay':var newGroup=(parms&&parms.newGroup)?parms.newGroup:false;cmd.toggleContactGroupDisplay(parms.groupIndex,newGroup);break;case'toggleShareToContactGroupDisplay':cmd.toggleShareToContactGroupDisplay(parms.groupIndex);break;case'addContactToContactGroup':cmd.addContactToContactGroup(parms.groupIndex,parms.contactIndex);break;case'deleteContactFromContactGroup':cmd.deleteContactFromContactGroup(parms.groupIndex,parms.contactIndex);break;case'createContactGroup':cmd.createContactGroup();break;case'createContactGroupComplete':cmd.createContactGroupComplete();break;case'createContactGroupComplete2':cmd.createContactGroupComplete2();break;case'removeContactGroup':cmd.removeContactGroup(parms.groupIndex);break;case'changeContactGroupName':cmd.changeContactGroupName(parms.groupIndex);break;case'processChangeContactGroupName':cmd.processChangeContactGroupName();break;case'updateChangeContactGroupName':cmd.updateChangeContactGroupName();break;case'updateShareAutoComplete':var searchTerm=(parms&&parms.searchTerm)?parms.searchTerm:null;cmd.updateShareAutoComplete(searchTerm);break;case'addShare':var callback=(parms&&parms.callback)?parms.callback:'addShareComplete';cmd.addShare(callback);break;case'addShareComplete':cmd.addShareComplete();break;case'addShareForFacebookComplete':cmd.addShareForFacebookComplete();break;case'updateShareCharacterCount':cmd.updateShareCharacterCount(parms);break;case'changeShareAutoCompleteSelection':cmd.changeShareAutoCompleteSelection(parms.key);break;case'selectShareAutoCompleteOption':cmd.selectShareAutoCompleteOption(parms.selectedIndex);break;case'updateContactDisplayHeight':cmd.updateContactDisplayHeight();break;case'updateContactGroupDisplayHeight':cmd.updateContactGroupDisplayHeight();break;case'startClosedGroupDragover':cmd.startClosedGroupDragover(parms.groupIndex);break;case'stopClosedGroupDragover':cmd.stopClosedGroupDragover(parms.groupIndex);break;case'completeClosedGroupDragover':cmd.completeClosedGroupDragover(parms.groupIndex);break;case'getSignInStatus':cmd.getSignInStatus('showShareDialog',{'disableSignIn':true,'whichTab':'email'});break;case'showShareDialog':model.setWhichTab((parms&&$defined(parms.whichTab))?parms.whichTab:'email');if($defined(esg.ident.model.isAnon)&&esg.ident.model.isAnon){this.execute('showShareSpeedBump',{'disableSignIn':(parms&&$defined(parms.disableSignIn))?parms.disableSignIn:false,'callBack':function(){esg.share.controller.execute('hideShareSpeedBump');esg.share.controller.execute('showShareDialog');}});return;}
else{cmd.getContactList('showShareDialog2');}
break;case'showShareDialog2':cmd.getContactGroupList('showShareDialogComplete');break;case'showProjectFBDirectDialog':model.populateProjectFBDirect(parms);model.setWhichTab('other');this.execute('showShareDialogComplete');break;case'showProjectShareDialog':cmd.testProjectShareParams(parms);model.populateProjectShare(parms);cmd.getContactList('showShareDialog2');break;case'showShareDialogComplete':cmd.showShareDialog();break;case'hideShareDialog':cmd.hideShareDialog();break;case'showShareToDialog':cmd.showShareToDialog();break;case'hideShareToDialog':cmd.hideShareToDialog();break;case'showGroupsCover':cmd.showGroupsCover();break;case'hideGroupsCover':cmd.hideGroupsCover();break;case'switchShareToView':cmd.switchShareToView(parms.view,parms.contactIndex);break;case'switchShareView':cmd.switchShareView(parms.view);break;case'refreshShareToContacts':cmd.refreshShareToContacts();break;case'refreshShareToContactsComplete':cmd.refreshShareToContactsComplete();break;case'processShareToDialog':cmd.processShareToDialog();break;case'toggleShareToAddEnabled':cmd.toggleShareToAddEnabled(parms.event);break;case'cleanShareContacts':cmd.cleanShareContacts();break;case'processShareDialog':cmd.processShareDialog();break;case'processShareDialogComplete':cmd.processShareDialogComplete();break;case'showShareCompleteDialog':cmd.showShareCompleteDialog();break;case'hideShareCompleteDialog':cmd.hideShareCompleteDialog();break;case'processShareCompleteDialog':cmd.processShareCompleteDialog();break;case'processShareCompleteDialog2':cmd.processShareCompleteDialog2();break;case'processShareCompleteDialogComplete':cmd.processShareCompleteDialogComplete();break;case'addShareContacts':cmd.addShareContacts();break;case'showError':var message=(parms&&parms.message)?parms.message:null;var header=(parms&&parms.header)?parms.header:null;var callBack=(parms&&parms.callBack)?parms.callBack:null;cmd.showError(message,header,callBack);break;case'showConfirm':var message=(parms&&parms.message)?parms.message:null;var header=(parms&&parms.header)?parms.header:null;var callBack=(parms&&parms.callBack)?parms.callBack:null;cmd.showConfirm(message,header,callBack);break;case'hideError':cmd.hideError();break;case'showSlideshowWelcome':cmd.showSlideshowWelcome((parms&&parms.shareToken)?parms.shareToken:null);break;case'showSlideshowWelcome2':cmd.showSlideshowWelcome2();break;case'showSlideshowWelcome3':cmd.showSlideshowWelcome3();break;case'handleProjectShareRedeem':cmd.handleProjectShareRedeem();break;case'projectShareRedirect':cmd.projectShareRedirect();break;case'showSlideshowAlbumNotFound':cmd.showSlideshowAlbumNotFound();break;case'showShareSpeedBump':cmd.showShareSpeedBump(parms.callBack,$defined(parms.view)?parms.view:(Cookie.get('last_login_email')?'signIn':'join'),$defined(parms.disableSignIn)?parms.disableSignIn:false);break;case'hideShareSpeedBump':cmd.hideShareSpeedBump();break;case'anonymousSaveSlideShow':this.execute('showShareSpeedBump',{'callBack':function(){esg.share.controller.execute('hideShareSpeedBump');esg.share.controller.execute('redeemShare',{'shareToken':model.shareToken,'callBack':'anonymousSaveSlideShow2'});}});break;case'anonymousSaveSlideShow2':document.location.href='/gallery/creativeapps/photoPicker/albums.jsp';break;case'signinRedeemComplete':esg.share.model.flexApp.signInCallback(esg.ident.model.login,esg.ident.model.ssId,Cookie.get('EK_S'),Cookie.get('EK_E'));break;case'slideshowRedirect':cmd.slideshowRedirect();break;case'showSlideshowFinish':cmd.showSlideshowFinish((parms&&parms.shareToken)?parms.shareToken:null);break;case'showSlideshowFinish2':cmd.showSlideshowFinish2();break;case'slideshowShowSignInDialog':cmd.slideshowShowSignInDialog($defined(parms.view)?parms.view:'signIn',$defined(parms.disableSignIn)?parms.disableSignIn:false,$defined(parms.showSpeedBump)?parms.showSpeedBump:false,$defined(parms.fromSpeedBump)?parms.fromSpeedBump:false,$defined(parms.albumId)?parms.albumId:false);break;case'slideshowShowShareDialog':cmd.slideshowShowShareDialog($defined(parms.albumId)?parms.albumId:'',$defined(parms.photoId)?parms.photoId:'',$defined(parms.photoThumb)?parms.photoThumb:'',$defined(parms.albumName)?parms.albumName:'');break;case'slideshowShowShareDialogComplete':cmd.slideshowShowShareDialogComplete();break;case'initSlideshow':cmd.initSlideshow();break;case'showLargerCommentPhoto':cmd.showLargerCommentPhoto(parms.id);break;case'launchFacebookPopUp':cmd.launchFacebookPopUp();break;case'prepFB':cmd.populateShareToOther();break;default:console.info('missing valid controller argument for switch statement');break;}}}
window.addEvent('domready',function(){document.ondragstart=function(){return false;};esg.share.model.initialize();esg.share.views.initialize();});if(!esg)var esg={};if(!esg.share)esg.share={};if(!esg.views)esg.views={};esg.share.views={initialize:function(){if(esg.photoPicker.model.Booklet){var views=esg.share.views;var model=esg.share.model;model.guestbookBooklet.addObserver(views.guestbook.render);model.guestbookBooklet.addObserver(views.guestbook.pageNav.render);model.commentsBooklet.addObserver(views.comments.render);model.commentsBooklet.addObserver(views.comments.pageNav.render);model.contactList.addObserver(views.contactList.render);model.contactGroupList.addObserver(views.contactGroupList.render);model.shareAutoComplete.addObserver(esg.share.views.shareDialog.renderAutoComplete);}}}
esg.share.views.guestbook={render:function(){var model=esg.share.model;var views=esg.share.views;var utility=esg.utility;var guestbook=model.guestbook;var booklet=model.guestbookBooklet;var html=[];var wrapper=$('guestbook');wrapper.empty();if(booklet.itemCount==0){var emptyDiv=new Element('div',{'class':'emptyBox','html':'You have no share history. &nbsp;<a class="popfaq" href="#" rel="fid_51">Learn more</a>.'});wrapper.appendChild(emptyDiv);}
else{var pagination='<div class="pagination"><span></span><ul></ul></div>';html.push(pagination);html.push('<table><tbody>');for(var i=booklet.startItem;i<=booklet.endItem;i++){var entry=guestbook.entries[i];var sent='<div class="sent">Sent: '+entry.timeSent+'</div>'
html.push('<tr><td class="left">');html.push('<span class="stackThumb clearfix">');if(entry.isProject&&entry.albumThumb){html[html.length-1]='<span class="shareProjectImageWrapper"><span class="projectthumbcenter">';var shareImage=views.sharingContent.createNewShareImageAsset(entry.albumThumb,entry.projectType)
var temp=new Element('div');temp.appendChild(shareImage);var title='<div><strong>'+utility.truncText(utility.sanitizeOutput(entry.albumName),16,{cutLongWord:false})+'</strong></div>';html.push(temp.innerHTML);html.push('</span></span>');html.push(title);}
else
if(entry.albumThumb){var slideshowURL=esg.photoPicker.model.config.uris.slideshow+"?albumId="+entry.albumId;var title='<a href="'+slideshowURL+'" >View Slideshow</a>';var albumThumbAnchor='<a href="'+slideshowURL+'"  title="'+utility.sanitizeOutput(entry.albumName)+'"><span class="albumthumb" style="background-image: url(\''+entry.albumThumb+'\')"></span></a>';html.push(albumThumbAnchor);html.push('</span>');html.push(title);}
else{html.push('<span class="albumThumb"></span>');};html.push(sent);html.push('</td>');html.push('<td class="right"><ul>');var list=new Element('ul');entry.shares.each(function(share,index2){var shtml=[];shtml.push('<li><span class="contactIcon"></span>');if(share.forwardedBy)
shtml.push('Fwd: ');if(share.dateViewed)
shtml.push('<span class="viewed">'+share.getFormattedName()+'</span><span class="viewDate">Viewed on ('+share.dateViewed+')</span>');else
shtml.push(share.getFormattedName());if(share.forwardedBy){shtml.push('&nbsp;&nbsp;|&nbsp;&nbsp;Forwarded by '+share.forwardedBy);}
shtml.push('</li>');html.extend(shtml);});html.push('</ul></td></tr>');}
html.push("</tbody></table>");html.push(pagination);html.push('<div style="height: 75px;"');wrapper.set('html',html.join(''));}}}
esg.share.views.guestbook.pageNav={render:function(){var model=esg.share.model;var guestbook=model.guestbook;var booklet=esg.share.model.guestbookBooklet;if(guestbook.entries.length==0){return;}
var itemsPerPage=booklet.itemsPerPage;var pageIndex=booklet.curPage;var numPages=booklet.pageCount;var paginationArray=$$("#guestbook .pagination");var pagination=paginationArray[0];var pageNbrs=pagination.getElement('span');var pageNbrsHTML=[];pageNbrsHTML.push('<em>');pageNbrsHTML.push(booklet.startItem+1);pageNbrsHTML.push('-');if(pageIndex+1==numPages){pageNbrsHTML.push(booklet.itemCount);}
else{pageNbrsHTML.push(booklet.endItem+1);}
pageNbrsHTML.push('</em> of <em>');pageNbrsHTML.push(booklet.itemCount);pageNbrsHTML.push('</em>');pageNbrs.innerHTML=pageNbrsHTML.join('');var pageButtons=pagination.getElement('ul');esg.share.views.guestbook.pageList.render(pageButtons,booklet);if(booklet.pageCount<=1)
pagination.setStyle('display','none');else
pagination.setStyle('display','inline');var pageNumArray=pagination.getElements('ul li a').retrieve('pageNum');var clonePaginationElement=pagination.clone().cloneEvents(pagination);clonePaginationElement.replaces(paginationArray[1]);for(var i=0;i<pageNumArray.length;i++)
{clonePaginationElement.getElements('ul li a')[i].store('pageNum',pageNumArray[i]);}
[pagination,clonePaginationElement].each(function(pag){pag.getElements('ul li a').addEvents({'click':function(e){e.stop();var pageNum=this.retrieve('pageNum');esg.share.controller.execute('goToGuestbookPage',{pageNum:pageNum});console.log("clicked page num: "+pageNum);return false;}});});}}
esg.share.views.guestbook.pageList={render:function(list,booklet){list.empty();var curPage=booklet.curPage;var btn=new Element('li');var btnLnk=new Element('a',{'title':'previous page','href':'#','html':'&nbsp;'});if(booklet.hasPrevPage()){btnLnk.store('pageNum',curPage-1);btnLnk.addClass('prevpage');}
else{btnLnk.store('pageNum',curPage);btnLnk.addClass('prevpagedisabled');}
btn.appendChild(btnLnk);list.appendChild(btn);for(var i=0;i<booklet.pageCount;i++){btn=new Element('li');btnLnk=new Element('a',{'href':'#','html':i+1});btnLnk.store('pageNum',i);if(curPage==i)
btn.addClass('current');btn.appendChild(btnLnk);list.appendChild(btn);};btn=new Element('li');btnLnk=new Element('a',{'title':'next page','href':'#','html':'&nbsp;'});if(booklet.hasNextPage()){btnLnk.store('pageNum',curPage+1);btnLnk.addClass('nextpage');}
else{btnLnk.store('pageNum',curPage);btnLnk.addClass('nextpagedisabled');}
btn.appendChild(btnLnk);list.appendChild(btn);}}
esg.share.views.comments={render:function(){var model=esg.share.model;var comments=model.comments;var booklet=esg.share.model.commentsBooklet;var wrapper=$('comments');wrapper.innerHTML='';if(booklet.itemCount==0){var emptyDiv=new Element('div',{'class':'emptyBox','html':'You have no comments. <a class="popfaq" href="#" rel="fid_3055">Learn more</a>.'});wrapper.appendChild(emptyDiv);}
var pagination=new Element('div',{'class':'pagination','html':'<span></span><ul></ul>'});wrapper.appendChild(pagination);var table=new Element('table',{});var tbody=new Element('tbody');var prevGroup=null;for(var i=booklet.startItem;i<=booklet.endItem;i++){var group=comments.getGroupByIndex(i);var comment=comments.getCommentByIndex(i);var row=new Element('tr');var col=new Element('td',{'class':'left','rowspan':group.getWeight()});var inner=new Element('div',{'events':{'mouseleave':function(e){if(e.target.getParent('td').hasClass('photohover'))
e.target.getParent('td').removeClass('photohover');}}});if(prevGroup!=group){var wrap=new Element('div',{'class':'photoWrap'});var img=new Element('img',{'src':comment.thumbUrl,'events':{'mouseenter':function(e){e.target.getParent('td').addClass('photohover');}}});wrap.appendChild(img);var viewLargerBtn=new Element('a',{'class':'view-larger-btn','href':'javascript:void(0);','title':'view this photo','events':{'click':function(e){e.stop();esg.share.controller.execute('showLargerCommentPhoto',{id:e.target.retrieve('itemID')});}}});viewLargerBtn.store('itemID',comment.photoId);wrap.appendChild(viewLargerBtn);inner.appendChild(wrap);col.appendChild(inner)
col.addClass('photo')
row.appendChild(col);}
col=new Element('td');var name=new Element('div',{'class':'name','html':comment.getFormattedName()});var time=new Element('div',{'class':'time','html':comment.getFormattedTimestamp()});var del=new Element('a',{'class':'commentDelete','href':'javscript:void(0);','events':{'click':(function(e){esg.share.model.commentsBooklet.curPage=0;e.stop();esg.share.model.comment=this.comment;esg.share.model.comment.callBack="showComments";var error=esg.share.model.error;error.message='Are you sure you would like to delete this comment?';error.callBack='deleteComment';error.yesLabel='Yes';error.noLabel='No';esg.share.controller.execute("showConfirm");}).bind({'comment':comment})},'html':'Delete'});var commentText=new Element('div',{'class':'commentText','html':esg.utility.encodeHTML(comment.comment).replace(/\n/g,"<br/>"),'events':{'click':(function(e){e.stop();if(esg.share.model.editing)
return false;var saveData=e.target.retrieve('comment');var authorId=saveData.authorId;if(authorId!=esg.ident.model.ssId)
return false;var onCompleteEditEventStr="esg.share.views.comments.update({'photoId': "+saveData.photoId+", 'commentId': "+saveData.id+", 'visibility': '"+saveData.visibility+"'})";var editor=esg.viewUtil.inPlaceEditor.show({'edit':this.innerHTML,'callback':onCompleteEditEventStr});this.empty().appendChild(editor);$('inPlaceEditor').focus();esg.share.model.editing=true;this.addClass('editmode');this.removeClass('texthighlight');return false;}),'mouseover':function(e){if(!e.target.className.contains('editmode')&&e.target.className.contains('commentText')){var authorId=e.target.retrieve('comment').authorId;if(authorId==esg.ident.model.ssId)
this.addClass('texthighlight');}
return false;},'focus':function(e){this.removeClass('texthighlight');},'mouseout':function(){this.removeClass('texthighlight');},'blur':function(){this.removeClass('texthighlight');}}});commentText.store('comment',{'photoId':comment.photoId,'id':comment.id,'authorId':comment.authorId,'visibility':comment.visibility});col.appendChild(name);col.appendChild(time);col.appendChild(del);col.appendChild(commentText);row.appendChild(col);tbody.appendChild(row)
prevGroup=group;}
table.appendChild(tbody);wrapper.appendChild(table);wrapper.appendChild(pagination.clone());if($('progressThrobber')){esg.viewUtil.throbber.hide();}
wrapper.appendChild(new Element('div',{'style':'height: 75px; '}));},update:function(params){var comment=esg.comments.model.comment;var newcomment=$('inPlaceEditor').value;comment.photoId=params.photoId;comment.id=params.commentId;comment.comment=newcomment;comment.visibility=params.visibility||null;comment.callBack=function(){esg.share.controller.execute('getComments');esg.share.controller.execute('goToCommentsPage',{'pageNum':0});};esg.comments.controller.execute('updateComment');}}
esg.share.views.comments.viewLarge={show:function(photoId){var photo=esg.share.model.comments.getGroupById(photoId).getMediumUrl();if(photo){if(!$('modal_overlay')){new Element('div',{'id':'modal_overlay'}).inject($(document.body));}
var dialog=$('view-image-dialog-plain');if(!dialog){dialog=new Element('div',{'id':'view-image-dialog-plain','class':'dialogbox'});dialog.inject($(document.body));}
dialog.setStyles({'opacity':0.01,'width':'1px','height':'1px','margin-top':'0','margin-left':'0'});dialog.innerHTML='<div class="photopreviewtopleft"><div class="photopreviewtopright clearfix"></div></div><div class="photopreviewbotright"><div class="photopreviewbotleft"></div></div>';dialog.firstChild.firstChild.innerHTML='';var image=new Asset.image(photo,{'class':'bigguy','id':'viewlargerimage','onload':function(){var dialog=$('view-image-dialog-plain');console.log('larger image loading...');if($chk($('viewlargerimage'))){$('viewlargerimage').dispose();}
dialog.firstChild.firstChild.appendChild(this);this.store('origSize',{width:this.width,height:this.height});this.addEvent('click',function(e){console.log('photo clicked');});esg.viewUtil.modalBox.show('view-image-dialog-plain');esg.photoPicker.views.viewLargerImageAlone.resize();dialog.setStyle('opacity',1);window.addEvents({'resize':esg.photoPicker.views.viewLargerImageAlone.resize});var cmCatID="Unknown";if($chk($('SPM'))){cmCatID="SPM";}else if($chk($('albums-page'))){cmCatID="Prints";}else{cmCatID="Unknown";}
s.tl(this,'o','comment_view_larger '+cmCatID);}});var dialogCloseBtn=new Element('a',{'class':'dialogclose','href':'#','title':'close enlarged view','events':{'click':function(e){e.stop();esg.photoPicker.views.viewLargerImageAlone.hide()
return false;}}});dialogCloseBtn.innerHTML="&nbsp;";dialog.firstChild.firstChild.appendChild(dialogCloseBtn);}}}
esg.share.views.comments.pageNav={render:function(){var model=esg.share.model;var comments=model.comments;var booklet=esg.share.model.commentsBooklet;if(comments.commentGroups.length==0){return;}
var itemsPerPage=booklet.itemsPerPage;var pageIndex=booklet.curPage;var numPages=booklet.pageCount;var pageNbrs=$$("#comments .pagination span")[0];var pageNbrsHTML='<em>'+(booklet.startItem+1)+'-';if(pageIndex+1==numPages){pageNbrsHTML+=booklet.itemCount;}
else{pageNbrsHTML+=booklet.endItem+1;}
pageNbrsHTML+='</em> of <em>'+booklet.itemCount+'</em>';pageNbrs.innerHTML=pageNbrsHTML;var pageButtons=$$('#comments .pagination ul')[0];esg.share.views.comments.pageList.render(pageButtons,booklet);if(booklet.pageCount<=1)
$$('#comments .pagination').setStyle('display','none');else
$$('#comments .pagination').setStyle('display','inline');var paginationElement=$$("#comments .pagination")[0];var pageNumArray=paginationElement.getElements('ul li a').retrieve('pageNum');var clonePaginationElement=paginationElement.clone().cloneEvents(paginationElement);clonePaginationElement.replaces($$("#comments .pagination")[1]);for(var i=0;i<pageNumArray.length;i++)
{clonePaginationElement.getElements('ul li a')[i].store('pageNum',pageNumArray[i]);}
$$('#comments .pagination ul li a').addEvents({'click':function(e){e.stop();var pageNum=this.retrieve('pageNum');esg.share.controller.execute('goToCommentsPage',{pageNum:pageNum});console.log("clicked page num: "+pageNum);return false;}});}}
esg.share.views.comments.pageList={render:function(list,booklet){list.empty();var curPage=booklet.curPage;var btn=new Element('li');var btnLnk=new Element('a',{'title':'previous page','href':'#','html':'&nbsp;'});if(booklet.hasPrevPage()){btnLnk.store('pageNum',curPage-1);btnLnk.addClass('prevpage');}
else{btnLnk.store('pageNum',curPage);btnLnk.addClass('prevpagedisabled');}
btn.appendChild(btnLnk);list.appendChild(btn);for(var i=0;i<booklet.pageCount;i++){btn=new Element('li');btnLnk=new Element('a',{'href':'#','html':i+1});btnLnk.store('pageNum',i);if(curPage==i)
btn.addClass('current');btn.appendChild(btnLnk);list.appendChild(btn);};btn=new Element('li');btnLnk=new Element('a',{'title':'next page','href':'#','html':'&nbsp;'});if(booklet.hasNextPage()){btnLnk.store('pageNum',curPage+1);btnLnk.addClass('nextpage');}
else{btnLnk.store('pageNum',curPage);btnLnk.addClass('nextpagedisabled');}
btn.appendChild(btnLnk);list.appendChild(btn);}}
esg.share.views.contactList={render:function(){var model=esg.share.model;var contactList=model.contactList;var wrapper=$('contacts');var topLeft=new Element('div',{'class':'dialogtopleft'});var topRight=new Element('div',{'class':'dialogtopright'});var addContact=($('addContactLink')&&$('addContactLink').style.display=='none');if(addContact){esg.share.views.contactList.renderContactList(true,false,true);esg.share.views.contactList.addDragging();return;}
wrapper.innerHTML='';var header=new Element('div',{'class':'header'});var headerText=new Element('h3',{'html':'Contacts'});var headerAddContacts=new Element('a',{'id':'addContactLink','class':'linkbutton smallsecondarybutton','html':'<span>Add Contact</span>','href':'javascript:void(0);','events':{'click':function(e){e.stop();esg.share.controller.execute('showAddContact');}}});header.appendChild(headerText);header.appendChild(headerAddContacts);var contactsInner=esg.share.views.contactList.renderContactList(true);var firstTime=!($('contactsInner')!=null);topRight.appendChild(header);dTopLeft=new Element('div',{'class':'dpaneltopleft'});dTopRight=new Element('div',{'class':'dpaneltopright clearfix'});dTopRight.appendChild(contactsInner);dTopLeft.appendChild(dTopRight);dBotLeft=new Element('div',{'class':'dpanelbotleft'});dBotRight=new Element('div',{'class':'dpanelbotright'+((Browser.Engine.trident5)?'  clearfix':'')});dBotRight.appendChild(dBotLeft);topRight.appendChild(dTopLeft);topRight.appendChild(dBotRight);topLeft.appendChild(topRight);wrapper.appendChild(topLeft);var botRight=new Element('div',{'class':'dialogbotright'});var botLeft=new Element('div',{'class':'dialogbotleft'});botRight.appendChild(botLeft);wrapper.appendChild(botRight);if(firstTime)
window.addEvent('resize',function(e){esg.share.controller.execute('updateContactDisplayHeight');});if(contactList.refresh)
esg.share.controller.execute('updateContactDisplayHeight');esg.share.views.contactList.addDragging();},renderContactList:function(applyHeights,includeCheckboxes,addContact){var model=esg.share.model;var contactList=model.contactList;var contactsOuter=new Element('div',{'id':'contactsOuter'});var contactsOuterWrapper=new Element('div',{'id':'contactsOuterWrapper'});var contactListWrapper=new Element('div',{'id':'contactListWrapper'});var contactsInner=(addContact)?$('contactsInner'):new Element('div',{'id':'contactsInner','events':{'scroll':function(){if($('alphaList'))
$('alphaList').style.top=this.scrollTop+'px'}}});var contactsAddWrapper=new Element('div',{'id':'contactsAddWrapper'});if(addContact)
contactsInner.innerHTML='';var contactUL=new Element('ul',{'id':'contactsList'});var alphaList=new Element('ul',{'id':'alphaList'});var cur=-1;var alpha=esg.utility.constants.alphabet;model.contactListAlpha.empty();contactList.contacts.each(function(contact,index){var display=contact.getDisplayName();var firstLetter=display.substring(0,1).toUpperCase();if(firstLetter.match(/([^A-Za-z])/))
firstLetter='#';var changed=false;if(cur==-1){changed=true;cur++;}
while(alpha[cur]!=firstLetter&&cur<alpha.length){cur++;changed=true;}
if(changed){var headerHtml='<a name="con{let}"></a>{let}'
headerHtml=headerHtml.replace(/{let}/g,firstLetter);var contactHeaderRow=new Element('li',{'class':'contactHeaderRow','html':headerHtml});contactUL.appendChild(contactHeaderRow);model.contactListAlpha.push(firstLetter);}
var row=new Element('li',{'id':'contactRow'+index});if(Browser.Engine.trident&&Browser.Engine.version==4){row.addEvents({'mouseover':function(e){this.addClass('hover');},'mouseout':function(e){this.removeClass('hover');}})}
var rowDiv=new Element('div',{});if(includeCheckboxes){var checkBox=new Element('input',{'type':'checkbox','id':'ccb'+index,'name':'ccb'+index,'events':{'click':function(e){esg.share.controller.execute('toggleShareToAddEnabled',{'event':e});}}});rowDiv.appendChild(checkBox);}
var icon=new Element('span',{'class':'contactIcon'});var name=new Element('div',{'class':'name','html':display});if(includeCheckboxes){name.addEvent('click',function(e){var cb=$('ccb'+index);cb.checked=!cb.checked;esg.share.controller.execute('toggleShareToAddEnabled',{'event':e});e.stop();});}
rowDiv.appendChild(icon);rowDiv.appendChild(name);var rowOptions=new Element('div',{'class':'editOptions','id':'contactOptions'+index});var rowOptionsEdit=new Element('a',{'class':'editIcon','href':'javascript:void(0);','events':{'click':function(e){e.stop();if(!includeCheckboxes){esg.share.controller.execute('showEditContact',{'contactIndex':index});}else{esg.share.controller.execute('switchShareToView',{'contactIndex':index,'view':'editContact'});}}}});rowOptions.appendChild(rowOptionsEdit);rowDiv.appendChild(rowOptions);row.appendChild(rowDiv);contactUL.appendChild(row);});contactsInner.appendChild(contactUL);$A(alpha).each(function(letter,index){var alphaLI=new Element('li',{'class':(index==1)?'first':''});var alphaLIText=new Element('a',{'html':letter,'events':{'click':function(e){e.stop();esg.share.controller.execute('scrollContactList',{'letter':letter});return false;}},'href':'javascript:void(0);'});alphaLI.appendChild(alphaLIText);alphaList.appendChild(alphaLI);});contactsInner.appendChild(alphaList);if(addContact){esg.share.views.addContact.slideOut();if($chk(esg.share.model.contact.lastName.charAt(0)))
esg.share.controller.execute('scrollContactList',{'letter':esg.share.model.contact.lastName.charAt(0)});else
contactsInner.scrollTo(0,0);return;}
contactListWrapper.appendChild(contactsInner);contactsOuterWrapper.appendChild(contactListWrapper);contactsOuterWrapper.appendChild(contactsAddWrapper);contactsOuter.appendChild(contactsOuterWrapper);return contactsOuter;},addDragging:function(){$$('#contactsList li').each(function(drag){if(drag.className=='contactHeaderRow')
return;var index=drag.id.replace('contactRow','');drag.addEvent('mousedown',function(e){var _self=this;var _parent=this.getParent().getParent();console.log("mousedown on:"+_self.tagName);e=new Event(e).stop();var drop=$$('#groupsList li .groupContactBox');drop.extend($$('#groupsList li .groupHeader'));var left=this.getLeft();var top=this.getTop();var clone=new Element('div',{'class':'contactDragging','id':'contactDrag'+index,'styles':{'left':left+'px','top':top+'px','position':'absolute','visibility':'hidden'}});clone.innerHTML=this.innerHTML;console.log('dragging: '+this.innerHTML);clone.inject(document.body);console.log('cloned');var drag=clone.makeDraggable({droppables:[drop],onEnter:function(el,droppable){if(droppable.className.contains('groupContactBox')){droppable.addClass('dragover');}
if(droppable.className.contains('groupHeader')&&!droppable.parentNode.className.contains('open')){console.log('opening..');var id=droppable.parentNode.id.replace('group','');esg.share.controller.execute('startClosedGroupDragover',{'groupIndex':id});}},onLeave:function(el,droppable){if(droppable.className.contains('groupContactBox')){droppable.removeClass('dragover');}
if(droppable.className.contains('groupHeader')&&!droppable.parentNode.className.contains('open')){var id=droppable.parentNode.id.replace('group','');esg.share.controller.execute('stopClosedGroupDragover',{'groupIndex':id});}},onDrop:function(el,droppable){if(droppable){if(droppable.className.contains('groupContactBox')){droppable.removeClass('dragover');clone.dispose();var contactIndex=el.id.replace('contactDrag','');var groupIndex=droppable.id.replace('groupContactBox','')
esg.share.controller.execute('addContactToContactGroup',{'contactIndex':contactIndex,'groupIndex':groupIndex});return;}
if(droppable.className.contains('groupHeader')&&!droppable.parentNode.className.contains('open')){var id=droppable.parentNode.id.replace('group','');esg.share.controller.execute('stopClosedGroupDragover',{'groupIndex':id});clone.dispose();return;}}
clone.dispose();},onSnap:function(el){el.setStyle('visibility','visible');console.log('snap');},onCancel:function(el){el.dispose();drop.removeEvents();var theId=_self.getProperty('id');console.log('cancelled drag');}});console.log("before drag start");drag.start(e);console.log("drag started");});});}}
esg.share.views.addContact={render:function(edit,isShareDialog){var model=esg.share.model;var contact=model.contact;var innerDiv='contactsInner';var wrapper=$('contactsAddWrapper');if(wrapper)
wrapper.innerHTML='';else{wrapper=new Element('div',{'id':'contactsAddWrapper'});$(innerDiv).getParent().getParent().appendChild(wrapper);}
var form=new Element('form',{'id':'addContact'});var header=new Element('div',{'class':'header'});var headerImage=new Element('span',{'class':'contactIcon'});var headerText=new Element('h3',{'html':(edit)?'Edit Contact':'Add Contact'});var headerDeleteLink=new Element('a',{'html':'Delete','id':'contactDeleteLink','href':'javascript:void(0);','events':{'click':function(e){e.stop();esg.share.model.contact.callBack=(!isShareDialog)?'showDeleteContactComplete':'refreshShareToContacts';var error=esg.share.model.error;error.message='Are you sure you would like to delete this contact?';error.callBack='deleteContact';esg.share.controller.execute("showConfirm");return false;}}});header.appendChild(headerImage);header.appendChild(headerText);header.appendChild(headerDeleteLink);var emailLbl=new Element('label',{'for':'emailAddress','html':'*'});var email=new Element('input',{'type':'text','id':'contactEmail','name':'contactEmail','maxlength':45,'style':(edit)?'color: #000':'','value':(edit)?contact.email:'Email address','events':{select:function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},focus:function(event){esg.utility.eraseField(this,event);},blur:function(event){esg.utility.populateField(this,'Email address',event);},keydown:function(event){esg.utility.eraseField(this,event);},keyup:function(event){esg.utility.populateField(this,'Email address',event);},mousedown:function(event){esg.utility.eraseField(this,event);},mouseup:function(event){esg.utility.eraseField(this,event);},contextmenu:function(event){esg.utility.eraseField(this,event);}}});var firstName=new Element('input',{'type':'text','id':'contactFirstName','name':'contactFirstName','maxlength':50,'value':(edit&&contact.firstName&&contact.firstName.length>0)?esg.utility.decodeHTML(contact.firstName):'First name','style':(edit&&contact.firstName&&contact.firstName.length>0)?'color: #000':'','events':{select:function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},focus:function(event){esg.utility.eraseField(this,event);},blur:function(event){esg.utility.populateField(this,'First name',event);if(this.value.length>0){this.value=this.value.substring(0,1).toUpperCase()+this.value.substring(1);}},keydown:function(event){esg.utility.eraseField(this,event);},keyup:function(event){esg.utility.populateField(this,'First name',event);},mousedown:function(event){esg.utility.eraseField(this,event);},mouseup:function(event){esg.utility.eraseField(this,event);},contextmenu:function(event){esg.utility.eraseField(this,event);}}});var lastName=new Element('input',{'type':'text','id':'contactLastName','name':'contactLastName','maxlength':50,'value':(edit&&contact.lastName&&contact.lastName.length>0)?esg.utility.decodeHTML(contact.lastName):'Last name','style':(edit&&contact.lastName&&contact.lastName.length>0)?'color: #000':'','events':{select:function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},focus:function(event){esg.utility.eraseField(this,event);},blur:function(event){if(this.value.length>0){this.value=this.value.substring(0,1).toUpperCase()+this.value.substring(1);}
esg.utility.populateField(this,'Last name',event);},keydown:function(event){esg.utility.eraseField(this,event);},keyup:function(event){esg.utility.populateField(this,'Last name',event);},mousedown:function(event){esg.utility.eraseField(this,event);},mouseup:function(event){esg.utility.eraseField(this,event);},contextmenu:function(event){esg.utility.eraseField(this,event);}}});var enterSaveContact=function(e){if(e.key=='enter'){if(!esg.share.views.error.isVisible())
saveContact(e);else{esg.share.controller.execute('hideError');}
e.stop();return false;}}
email.addEvent('keypress',enterSaveContact);firstName.addEvent('keypress',enterSaveContact);lastName.addEvent('keypress',enterSaveContact);var saveContact=function(e){e.stop();var model=esg.share.model;var contact=model.contact;if(!edit)
contact.id='';var firstName=$('contactFirstName').value;var lastName=$('contactLastName').value;var email=$('contactEmail').value;if(firstName=='First name')
firstName='';if(lastName=='Last name')
lastName='';if(email=='Email address'||email==''){esg.share.controller.execute('showError',{'message':'You must enter an email address.'});return;}
var emailRegex=/^([_\w\.\-\+]+@[\w\.-]+\.[a-z]{2,6})$/;if(!emailRegex.test(email)){esg.share.controller.execute('showError',{'message':'You must enter a valid email address.','callBack':function(){$('contactEmail').focus();}});return;}
var foundContact;if(edit)
foundContact=model.contactList.findContactByEmail(email,[contact.id]);else
foundContact=model.contactList.findContactByEmail(email);if(foundContact!=null){esg.share.controller.execute('showError',{'message':'A contact with this email already exists: '+foundContact.getDisplayName(2)+'<br/> Please enter a unique email address.'});return;}
contact.firstName=firstName;contact.lastName=lastName;contact.email=email;esg.share.controller.execute(edit?'updateContact':'addContact');};var formBody=new Element('div',{'class':'formBody clearfix'});var addlInfo=new Element('div',{'class':'addlInfo clear clearfix','html':'* Required information'});var holder=new Element('div',{'class':'saveholder clearfix'});var cancel=new Element('a',{'id':'contactCancel','class':'linkbutton tertiarybutton','html':'<span>Cancel</span>','href':'javascript:void(0);','events':{'click':function(e){e.stop();esg.share.views.addContact.slideOut();esg.share.controller.execute('hideGroupsCover');}}});var save=new Element('a',{'id':'contactSave','class':'linkbutton secondarybutton','html':'<span>Save</span>','href':'javascript:void(0);','events':{'click':function(e){saveContact(e);}}});if($('addContactLink')&&!isShareDialog)
$('addContactLink').style.display='none';formBody.appendChild(header);if(isShareDialog)
formBody.appendChild(emailLbl);formBody.appendChild(email);if(!isShareDialog)
formBody.appendChild(emailLbl);formBody.appendChild(firstName);formBody.appendChild(lastName);formBody.appendChild(addlInfo);holder.appendChild(save);holder.appendChild(cancel);form.appendChild(formBody);form.appendChild(holder);wrapper.appendChild(form);this.slideIn.delay(100);},slideIn:function(){$('addContact').style.display='block';var slideInEffect=new Fx.Morph($('contactListWrapper'),{duration:'short',transition:Fx.Transitions.linear,onComplete:function(){$('contactEmail').focus();$('alphaList').setStyle('position','static');}});var distance=(!$('shareTo_dialog'))?-265:-382;slideInEffect.start({'margin-left':distance})},slideOut:function(){$('contactListWrapper').set('morph',{transition:Fx.Transitions.Elastic.linear});$('contactListWrapper').morph({'margin-left':0});if($('addContactLink'))
$('addContactLink').style.display='block';else if($('shareToCancel'))
$('shareToCancel').removeClass('disabledbutton');$('alphaList').setStyle('position','relative');},renderEdit:function(contactIndex,isShareDialog){var model=esg.share.model;var contactList=model.contactList;var contact=model.contact;var callBack=model.contact.callBack;model.contact=contactList.contacts[contactIndex];model.contact.callBack=callBack;this.render(true,isShareDialog);$('contactDeleteLink').style.display='block';}}
esg.share.views.sharingContent={renderEmailForm:function(){var wrapper=new Element('div',{'id':'shareEmailInner'});var isProjectShare=esg.share.model.isProjectShare;var toButton=new Element('a',{'id':'shareToButton','href':'javascript:void(0);','class':'linkbutton secondarybutton','html':'<span>To:</span>','events':{'click':function(e){e.stop();esg.share.controller.execute('showShareToDialog');}}});if(isProjectShare)toButton.addClass('projectMargin');var toInput=new Element('textarea',{'name':'shareContacts','id':'shareContacts','events':{'keyup':function(e){switch(e.key){case'down':case'up':case'enter':case'esc':e.stop();esg.share.controller.execute('changeShareAutoCompleteSelection',{'key':e.key});break;default:var val=$('shareContacts').value;if(val.length==0){$('shareSend').addClass('disabledbutton');$('shareSend').getFirst().setStyle('cursor','default');return;}
var searchTerm=val;if(val.lastIndexOf(',')!=-1||val.lastIndexOf(';')!=-1)
searchTerm=val.substring(Math.max(val.lastIndexOf(','),val.lastIndexOf(';'))+1).trim();esg.share.controller.execute('updateShareAutoComplete',{'searchTerm':searchTerm});}},'blur':function(e){if($('shareAutoComplete').style.display=='block')
(function(){esg.share.controller.execute('cleanShareContacts');}).delay(500);else
esg.share.controller.execute('cleanShareContacts');}}});var toAutoComplete=new Element('div',{'id':'shareAutoComplete'});var toTextHtml="Separate addresses with commas or semicolons, or click To to select addresses from your <a href=\"javascript:void(0);\" id=\"toTextLink\">Contacts and Groups</a>."
if(isProjectShare){toTextHtml=toTextHtml.replace('To','<strong>To</strong>');toAutoComplete.setStyle('top','232px');}
else{var albumNameLabel=new Element('label',{'for':'shareAlbumName','html':'Album Name:*'});var albumNameInput=new Element('textarea',{'name':'shareAlbumName','id':'shareAlbumName','value':''});this.assignShareAlbumNameEvents(albumNameInput);}
var toText=new Element('div',{'id':'shareContactsText','html':toTextHtml});var subjectLabel=new Element('label',{'for':'shareSubject','html':'Subject:*'});var subjectInput=new Element('textarea',{'name':'shareSubject','id':'shareSubject','events':{'blur':function(e){this.value=this.value.trim();},'keyup':function(e){var maxLength=255;if(this.value.length>maxLength)
this.value=this.value.substring(0,maxLength);},'change':function(e){var maxLength=255;if(this.value.length>maxLength)
this.value=this.value.substring(0,maxLength);}}});var messageLabel=new Element('label',{'for':'shareMessage','html':'Message:'});var messageInput=new Element('textarea',{'name':'shareMessage','id':'shareMessage','value':'You are invited to view my '+((esg.share.model.isProjectShare)?'project':'photo album')+' at the KODAK Gallery. Enjoy!','events':{'keyup':function(e){esg.share.controller.execute("updateShareCharacterCount",{'elem':e.target,'len':1000});},'keydown':function(e){esg.share.controller.execute("updateShareCharacterCount",{'elem':e.target,'len':1000});},'focus':function(e){if(this.value=='You are invited to view my '+((esg.share.model.isProjectShare)?'project':'photo album')+' at the KODAK Gallery. Enjoy!')
this.select();}}});var messageLengthText=((esg.share.model.isProjectShare)?"[931]":"931")+" characters remaining";var messageLength=new Element('div',{'id':'shareMessageLength','html':messageLengthText});messageLength.store('defaultText',messageLengthText);var loginInput=new Element('input',{'id':'shareRequireLogin','name':'shareRequireLogin','type':'checkbox','checked':true});var loginLabel=new Element('label',{'id':'requireLoginLabel','html':'Require friends to sign in to view and save my photos. '+
"<a href='#' rel='726' class='popfaq'>Why?</a>"});var signInReqiredFld=new Element('div',{'id':'signinrequired','html':''});if(isProjectShare)
wrapper.appendChild(this.renderProjectShareContent());wrapper.appendChild(toButton);wrapper.appendChild(toInput);wrapper.appendChild(toAutoComplete);wrapper.appendChild(toText);if(!isProjectShare){wrapper.appendChild(albumNameLabel);wrapper.appendChild(albumNameInput);}
wrapper.appendChild(subjectLabel);wrapper.appendChild(subjectInput);wrapper.appendChild(messageLabel);wrapper.appendChild(messageInput);wrapper.appendChild(messageLength);wrapper.appendChild(signInReqiredFld);if(!isProjectShare){var signInOption=esg.share.views.shareDialog.showRequestSignIn();signInReqiredFld.appendChild(signInOption);}
return wrapper;},renderPostOtherForm:function(){var postOtherInner=new Element('div',{'id':'postOtherInner'});var heroDiv=new Element('div',{'id':'facebookHero'});var optOutOption=new Element('span',{'id':'optOutOption','class':'optOutOption'});var optOutInput=new Element('input',{'id':'optOutInput','name':'optOutInput','type':'checkbox','checked':false});var evt=(Browser.Engine.trident)?"click":"change";optOutInput.addEvent(evt,function(e){var shareSendbtn=$('shareSend');if(e.target.checked){shareSendbtn.removeClass('disabledbutton');shareSendbtn.getFirst().setStyle('cursor','pointer');}
else{shareSendbtn.addClass('disabledbutton');shareSendbtn.getFirst().setStyle('cursor','default');}});var optOutLabel=new Element('label',{'id':'optOutLabel','html':'I recognize that the Kodak Gallery sharing and privacy protections do not extend to links I share on social networks.'});var optOutLegalese=new Element('span',{'id':'optOutLegalese','class':'optOutOption clearfix','html':'By choosing to share your pictures on Facebook, the privacy and security protections of Kodak Gallery will no longer apply. Who sees these pictures depends on your settings on Facebook, not Kodak Gallery.'});var optOutHelp=new Element('span',{'id':'optOutHelp','class':'optOutOption clearfix','html':'<a href=\'#\' rel=\'3127\' class=\'popfaq\'>Learn more<\/a>'});optOutOption.adopt([optOutInput,optOutLabel]);postOtherInner.appendChild(heroDiv);postOtherInner.appendChild(optOutLegalese);postOtherInner.appendChild(optOutHelp);postOtherInner.appendChild(optOutOption);return postOtherInner;},renderProjectShareContent:function(){var share=esg.share.model.share;var shareImageWrapper=new Element('div',{'class':'shareProjectImageWrapper'});var shareImageProjectThumbCenter=new Element('div',{'id':'shareImageContainer','class':'projectthumbcenter'});var shareImage=this.createNewShareImageAsset(share.photoThumb,share.projectType);var albumNameLabel=new Element('label',{'for':'shareAlbumName','html':'Project Name:*'});albumNameLabel.setStyles({'clear':'none','margin-top':'5px'});var albumNameInput=new Element('textarea',{'name':'shareAlbumName','id':'shareAlbumName','class':'projectVersion','value':'','events':{'keyup':function(e){esg.share.controller.execute("updateShareCharacterCount",{'elem':e.target,'len':50});},'keydown':function(e){esg.share.controller.execute("updateShareCharacterCount",{'elem':e.target,'len':50});}}});albumNameInput.setStyles({'width':'237px','height':'20px','margin-top':'5px','overflow':'hidden'});var shareProjectInstructions=new Element('div',{'class':'shareProjectInstructions','html':'<span>Share your projects with friends and family so they can purchase your personalized photo products. <a rel="3122" href="#" class="popfaq">Learn more</a></span>'});var albumNameWrapper=new Element('div',{'class':'shareProjectAlbumNameWrapper'});this.assignShareAlbumNameEvents(albumNameInput);var contentWrapperDiv=new Element('div',{'class':'shareProjectContentWrapper clearfix'});var paragraphElem=new Element('p',{});albumNameWrapper.grab(albumNameLabel);albumNameWrapper.grab(albumNameInput);shareImageProjectThumbCenter.grab(shareImage);shareImageWrapper.grab(shareImageProjectThumbCenter);contentWrapperDiv.grab(shareImageWrapper);contentWrapperDiv.grab(shareProjectInstructions);contentWrapperDiv.grab(albumNameWrapper);return contentWrapperDiv;},createNewShareImageAsset:function(thumb,type){var url;var img;if(type!='spm'){url=thumb.replace('SM','97')+'?editoptions=znt(width=96,height=96,zoomtrim=true,offset='+(type=='spm'?'.63':'0.5')+')&q=0.9';}else{url=thumb.replace('SM','97')+'?editoptions=znt(width=96,height=96,zoomtrim=false,offset=0.5)&q=0.9';}
if(!$$('.shareThumbImageElement').length<1){$$('.shareThumbImageElement').each(function(item,index){item.dispose();});}
img=Asset.image(url,{'class':'shareThumbImageElement',styles:{'border':(type=='calendar'?'1px solid #666666':'none')},onload:function(e){this.setStyle('display','block');},onerror:function(e){this.set('src','/A/Kodak_Gallery_Media/ECBO/images/preview_unavailable.gif');this.setStyle('display','block');}});return img;},assignShareAlbumNameEvents:function(element){element.addEvents({'blur':function(e){this.value=this.value.trim();},'keyup':function(e){var maxLength=200;if(this.value.length>maxLength)
this.value=this.value.substring(0,maxLength);},'change':function(e){var maxLength=200;if(this.value.length>maxLength)
this.value=this.value.substring(0,maxLength);}});},renderCardProjectShare:function(cardHeroDiv,cardLearnMore){cardHeroDiv.empty();var cardImg=Asset.image((esg.share.model.share.photoThumb).replace('SM','ALB'),{'id':'share_dialog_image','styles':{'visibility':'hidden'},'onload':function(){esg.viewUtil.thumbResizer(cardImg,300);},'onerror':function(){$('share_dialog_image').set('src','/A/Kodak_Gallery_Media/ECBO/images/share/privacy_preview_unavailable.gif');$('share_dialog_image').setStyle('visibility','visible');$('share_dialog_image').setStyle('height','235px');$('share_dialog_image').setStyle('width','327px');}});cardHeroDiv.setStyles({'background-image':'none','margin-bottom':'10px','text-align':'center'});cardHeroDiv.grab(cardImg);cardLearnMore.getFirst().setProperty('rel','3151');}}
esg.share.views.contactGroupList={render:function(){var model=esg.share.model;var contactGroupList=model.contactGroupList;var wrapper=$('groups');wrapper.innerHTML='';var topLeft=new Element('div',{'class':'dialogtopleft'});var topRight=new Element('div',{'class':'dialogtopright'});var header=new Element('div',{'class':'header'});var headerText=new Element('h3',{'html':'Groups'});var headerAddGroup=new Element('div',{'class':'new'});var headerAddGroupInput=new Element('input',{'name':'newGroupName','id':'newGroupName','maxlength':100,'type':'text','value':'Group name','events':{select:function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},focus:function(event){esg.utility.eraseField(this,event);},blur:function(event){if(this.value.length>0){this.value=this.value.substring(0,1).toUpperCase()+this.value.substring(1);}
esg.utility.populateField(this,"Group name",event);},keydown:function(event){esg.utility.eraseField(this,event);},keyup:function(event){esg.utility.populateField(this,"Group name",event);if(event.key=='enter'){if(this.value.length>0){this.value=this.value.substring(0,1).toUpperCase()+this.value.substring(1);}
event.stop();esg.share.controller.execute('createContactGroup');}},mousedown:function(event){esg.utility.eraseField(this,event);},mouseup:function(event){esg.utility.eraseField(this,event);},contextmenu:function(event){esg.utility.eraseField(this,event);}}});var headerAddGroupButton=new Element('a',{'id':'newGroupLink','class':'linkbutton smallsecondarybutton','html':'<span>Add Group</span>','href':'javascript:void(0);','events':{'click':function(e){e.stop();esg.share.controller.execute('createContactGroup');}}});headerAddGroup.appendChild(headerAddGroupInput);headerAddGroup.appendChild(headerAddGroupButton);header.appendChild(headerText);header.appendChild(headerAddGroup);topRight.appendChild(header)
var groupsInner=new Element('div',{'id':'groupsInner'});var groupsUL=new Element('ul',{'id':'groupsList'});var groupLI=null;contactGroupList.contactGroups.each(function(group,index){groupLI=new Element('li',{'id':'group'+index,'href':'javascript:void(0);','class':'groupName','events':{'click':function(e){e.stop();esg.share.controller.execute('toggleContactGroupDisplay',{'groupIndex':index});}}});var groupHeader=new Element('div',{'class':'groupHeader'});var groupName=new Element('a',{'href':'javascript:void(0);','class':'groupName','html':group.getTruncatedName(model.constants.CONTACT_GROUP_NAME_CLOSED),'events':{'click':function(e){e.stop();esg.share.controller.execute('toggleContactGroupDisplay',{'groupIndex':index});}}});var groupArrow=new Element('span',{'class':'expandArrowIcon'});var groupDragText=new Element('div',{'class':'dragText','html':'Drag and drop contacts below'});var groupContacts=new Element('div',{'class':'groupContacts','html':group.getTruncatedContacts(model.constants.CONTACT_PAGE_CONTACT_LIST)});var groupEdit=new Element('div',{'class':'groupEdit'});var groupEditGroupName=new Element('a',{'href':'javascript:void(0);','html':'Edit group name','events':{'click':function(e){e.stop();esg.share.controller.execute('changeContactGroupName',{'groupIndex':index});}}});var groupEditSpacer=new Element('span',{'class':'editSpacer','html':'|'});var groupEditDelete=new Element('a',{'href':'javascript:void(0);','html':'Delete','events':{'click':function(e){e.stop();esg.share.controller.execute('removeContactGroup',{'groupIndex':index});}}});groupEdit.appendChild(groupEditGroupName);groupEdit.appendChild(groupEditSpacer);groupEdit.appendChild(groupEditDelete);var groupContactBox=new Element('div',{'class':'groupContactBox','id':'groupContactBox'+index});var groupContactBoxEmpty=new Element('div',{'class':'emptyText','html':'Drag and drop contacts here'});var anchor=new Element('a',{'name':'g'+index,'class':'anchor'});groupContactBox.appendChild(groupContactBoxEmpty);groupContactBox.appendChild(esg.share.views.contactGroupList.renderContactList(index,true));groupHeader.appendChild(groupName);groupHeader.appendChild(groupArrow);groupHeader.appendChild(groupDragText);groupHeader.appendChild(groupContacts);groupHeader.appendChild(groupEdit);groupLI.appendChild(groupHeader);groupLI.appendChild(groupContactBox);if(group.name.substring(0,1).toLowerCase>='j')
groupLI.appendChild(anchor);groupsUL.appendChild(groupLI);});groupsInner.appendChild(groupsUL);var firstTime=!($('groupsInner')!=null);dTopLeft=new Element('div',{'class':'dpaneltopleft'});dTopRight=new Element('div',{'class':'dpaneltopright clearfix'});dTopRight.appendChild(groupsInner);dTopLeft.appendChild(dTopRight);dBotLeft=new Element('div',{'class':'dpanelbotleft'});dBotRight=new Element('div',{'class':'dpanelbotright'+((Browser.Engine.trident5)?'  clearfix':'')});dBotRight.appendChild(dBotLeft);topRight.appendChild(dTopLeft);topRight.appendChild(dBotRight);topLeft.appendChild(topRight);wrapper.appendChild(topLeft);var botRight=new Element('div',{'class':'dialogbotright'});var botLeft=new Element('div',{'class':'dialogbotleft'});botRight.appendChild(botLeft);wrapper.appendChild(botRight);if(firstTime){window.addEvent('resize',function(e){esg.share.controller.execute('updateContactGroupDisplayHeight');});var groupsCover=new Element('div',{'id':'groupsCover'});$('principal').appendChild(groupsCover);}
if(contactGroupList.refresh)
esg.share.controller.execute('updateContactGroupDisplayHeight');},show:function(groupIndex,newGroup){esg.share.views.contactGroupList.hideAll();var model=esg.share.model;var group=esg.share.model.contactGroupList.contactGroups[groupIndex];var groupLI=$('group'+groupIndex);var dragText=$$('#group'+groupIndex+' .dragText')[0];var toggleArrow=$$('#group'+groupIndex+' .toggleArrow')[0];var groupContactBox=$$('#groupContactBox'+groupIndex)[0];var groupBoxEmpty=$$('#groupContactBox'+groupIndex+' .emptyText')[0];var groupTitle=$$('#group'+groupIndex+' a.groupName')[0];groupTitle.innerHTML=group.getTruncatedName(model.constants.CONTACT_GROUP_NAME_OPEN);groupLI.addClass('open');if(group.contacts.length>0){dragText.style.display='block';}else{groupBoxEmpty.style.display='block';}
var height=Math.max((Math.ceil(group.contacts.length/2)*30)+10,150);groupContactBox.morph({'height':height});group.expanded=!group.expanded;if(newGroup)
(function(){document.location.hash='g'+groupIndex}).delay(300);},hide:function(groupIndex){var model=esg.share.model;var group=esg.share.model.contactGroupList.contactGroups[groupIndex];var groupContactBox=$$('#groupContactBox'+groupIndex)[0];var dragText=$$('#group'+groupIndex+' .dragText')[0];var toggleArrow=$$('#group'+groupIndex+' .toggleArrow')[0];var groupBoxEmpty=$$('#groupContactBox'+groupIndex+' .emptyText')[0];var groupTitle=$$('#group'+groupIndex+' a.groupName')[0];groupTitle.innerHTML=group.getTruncatedName(model.constants.CONTACT_GROUP_NAME_CLOSED);groupContactBox.morph({'height':0});dragText.style.display='none';groupBoxEmpty.style.display='none';(function(){var groupLI=$('group'+groupIndex);groupLI.removeClass('open')}).delay(500);group.expanded=!group.expanded;},hideAll:function(){var groups=esg.share.model.contactGroupList.contactGroups;groups.each(function(group,index){if(group.expanded)
esg.share.views.contactGroupList.hide(index);});},renderNewContact:function(groupIndex){var model=esg.share.model;var group=esg.share.model.contactGroupList.contactGroups[groupIndex];var groupBoxEmpty=$$('#groupContactBox'+groupIndex+' .emptyText')[0];var groupContacts=$$('#group'+groupIndex+' .groupContacts')[0];var dragText=$$('#group'+groupIndex+' .dragText')[0];if(group.contacts.length>0){groupBoxEmpty.style.display='none';dragText.style.display='block';}
else{groupBoxEmpty.style.display='block';dragText.style.display='none';}
groupContacts.innerHTML=group.getTruncatedContacts(model.constants.CONTACT_PAGE_CONTACT_LIST);esg.share.views.contactGroupList.renderContactList(groupIndex);},renderContactList:function(groupIndex,returnElement){var group=esg.share.model.contactGroupList.contactGroups[groupIndex];var groupContactBox=$('groupContactBox'+groupIndex);var groupContactList=$$('#groupContactBox'+groupIndex+' ul');if(groupContactList&&groupContactList.length>0)
groupContactList=groupContactList[0];else
groupContactList=null;var groupContactUL=new Element('ul',{'class':'groupContact'});group.contacts.each(function(curContact,contactIndex){var groupContactLI=new Element('li',{'id':'contactGroupContact'+groupIndex+'_'+contactIndex
});var groupContactImg=new Element('span',{'class':'contactIcon'});var groupContactName=new Element('div',{'html':curContact.getDisplayName()});var groupContactDel=new Element('a',{'href':'javascript:void(0)','class':'deleteContact removeIcon','events':{'click':function(e){e.stop();esg.share.controller.execute('deleteContactFromContactGroup',{'groupIndex':groupIndex,'contactIndex':contactIndex});}}});groupContactLI.appendChild(groupContactImg);groupContactLI.appendChild(groupContactName);groupContactLI.appendChild(groupContactDel);groupContactUL.appendChild(groupContactLI);});if(groupContactList)
groupContactBox.removeChild(groupContactList);if(returnElement)
return groupContactUL;else if(groupContactBox)
groupContactBox.appendChild(groupContactUL);var height=Math.max((Math.ceil(group.contacts.length/2)*30)+10,150);groupContactBox.morph({'height':height});},showEditGroup:function(){var dlg=null;if(!$('editGroup_dialog')){dlg=new Element('div',{'class':'dialogbox','id':'editGroup_dialog'});$('principal').appendChild(dlg);}else{dlg=$("editGroup_dialog");dlg.innerHTML='';}
var group=esg.share.model.contactGroup;var message=esg.share.model.error.message;var messageHeader=esg.share.model.error.header;var title='Edit Group Name';var header=new Element('div',{'class':'header'});var headerText=new Element('h3',{'html':title});var headerClose=new Element('a',{'id':'editGroupDialogClose','href':'javascript:void(0);','title':'Close','class':'dialogclose','events':{'click':function(e){e.stop();esg.share.views.contactGroupList.hideEditGroup();}}});header.appendChild(headerText);header.appendChild(headerClose);var topLeft=new Element('div',{'class':'dialogtopleft'});var topRight=new Element('div',{'class':'dialogtopright clearfix'});var dTopLeft=new Element('div',{'class':'dpaneltopleft'});var dTopRight=new Element('div',{'class':'dpaneltopright clearfix'});topRight.appendChild(header)
var input=new Element('input',{'type':'text','name':'editGroupName','id':'editGroupName','value':esg.utility.decodeHTML(group.name),'style':'color: #000;','events':{'select':function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},'focus':function(event){esg.utility.eraseField(this,event);},'blur':function(event){esg.utility.populateField(this,'Group name',event);},'keydown':function(event){esg.utility.eraseField(this,event);},'keyup':function(event){if(event.key=='enter'){esg.share.controller.execute('processChangeContactGroupName');event.stop();}
esg.share.controller.execute('updateChangeContactGroupName');esg.utility.populateField(this,'Group name',event);},'mousedown':function(event){esg.utility.eraseField(this,event);},'mouseup':function(event){esg.utility.eraseField(this,event);},'contextmenu':function(event){esg.utility.eraseField(this,event);}}});dTopRight.appendChild(input);dTopLeft.appendChild(dTopRight);topRight.appendChild(dTopLeft);var dBotLeft=new Element('div',{'class':'dpanelbotleft'});var dBotRight=new Element('div',{'class':'dpanelbotright clearfix'});dBotRight.appendChild(dBotLeft);topRight.appendChild(dBotRight);var footer=new Element('div',{'class':'changeGroupNameFooter clearfix'});var cancel=new Element('a',{'id':'editGroupNo','href':'javascript:void(0)','class':'linkbutton tertiarybutton','events':{'click':function(e){e.stop();esg.share.views.contactGroupList.hideEditGroup();}},'html':'<span>Cancel</span>'});var send=new Element('a',{'id':'editGroupYes','href':'javascript:void(0)','class':'linkbutton disabledbutton','events':{'click':function(e){e.stop();if(!this.hasClass('disabledbutton'))
esg.share.controller.execute('processChangeContactGroupName');}},'html':'<span>Save</span>'});footer.appendChild(send);footer.appendChild(cancel);topRight.appendChild(footer)
topLeft.appendChild(topRight);var botLeft=new Element('div',{'class':'dialogbotleft'});var botRight=new Element('div',{'class':'dialogbotright'});botRight.appendChild(botLeft);dlg.appendChild(topLeft);dlg.appendChild(botRight);if(Browser.Engine.trident4){dlg.setStyle('top',$(document.body).getScroll().y+$(document.body).getSize().y/2-dlg.getSize().y);}
esg.viewUtil.modalBox.show('editGroup_dialog')
$('editGroupName').focus();$('editGroupName').select();},hideEditGroup:function(event){if(event)event.stop();esg.viewUtil.modalBox.hide('editGroup_dialog')}}
esg.share.views.defaultShareAlbumName=function(){var firstName='Shared';if(esg.ident.model.firstName){firstName=esg.utility.decodeHTML(esg.utility.decodeHTML(esg.ident.model.firstName))+'\'';if(firstName.toLowerCase().substring(firstName.length-2,firstName.length-1)!='s')
firstName+='s';}
var today=new Date();var zf=esg.utility.zeroFill;var month=zf(today.getMonth()+1,2);var day=zf(today.getDate(),2);var year=today.getFullYear();return firstName+' album '+year+'-'+month+'-'+day;};esg.share.views.shareDialog={show:function(){var dialog=$('share_dialog');var model=esg.share.model;var share=model.share;if(dialog==null){this.render();}
else if(!model.isFBdirect){esg.share.controller.execute('updateShareAutoComplete',{'searchTerm':''});$('shareContacts').value='';var shareAlbumName=$('shareAlbumName');if(share.name&&!model.isProjectShare){shareAlbumName.value=share.name;shareAlbumName.set('readonly','readonly');shareAlbumName.addClass('readonly');}else{if(model.isProjectShare){shareAlbumName.value=share.name;$('shareImageContainer').empty().grab(esg.share.views.sharingContent.createNewShareImageAsset(share.photoThumb,share.projectType));}
else
shareAlbumName.value=esg.share.views.defaultShareAlbumName();shareAlbumName.removeClass('readonly');shareAlbumName.erase('readonly');}
$('shareSubject').value='';$('shareMessage').value='You are invited to view my '+(model.isProjectShare?'project':'photo album')+' at the KODAK Gallery. Enjoy!';var sml=$('shareMessageLength');sml.set('html',sml.retrieve('defaultText'));$('shareAutoComplete').style.display='none';var signInReqd=$('signinrequired').empty();if(!model.isProjectShare)
signInReqd.adopt(this.showRequestSignIn());}
var send=$('shareSend');send.getFirst().setStyle('cursor','default');if(!send.hasClass('disabledbutton'))
send.addClass('disabledbutton');if(model.isProjectShare)
esg.share.controller.execute('switchShareView',{'view':model.whichTab});else if(model.isFBdirect){$('optOutInput').set('checked',false);$('footerInfo').style.display='none';esg.share.controller.execute('prepFB',{});esg.share.views.sharingContent.renderCardProjectShare($('facebookHero'),$('optOutHelp'));$('postOtherInner').style.display='block';}
if(!model.isFBdirect&&!model.isProjectShare){esg.share.controller.execute('switchShareView',{'view':model.whichTab});esg.viewUtil.modalBox.show('share_dialog');if(model.whichTab=='email')
$('shareContacts').focus();}else{esg.viewUtil.modalBox.show('share_dialog');}},hide:function(){esg.viewUtil.modalBox.hide('share_dialog');if($('shareContacts'))
$('shareContacts').value='';},render:function(){var model=esg.share.model;var share=model.share;var dialog=new Element('div',{'id':'share_dialog','class':'dialogbox'});var topLeft=new Element('div',{'class':'dialogtopleft'});var topRight=new Element('div',{'class':'dialogtopright clearfix'});var header=new Element('div',{'class':'header clearfix'});var headerText=new Element('h3',{'id':'share_dialog_caption','html':'Share '+(model.isProjectShare?'a Project':'Photos')});var headerClose=new Element('a',{'id':'shareDialogClose','href':'javascript:void(0);','title':'Close','class':'dialogclose','events':{'click':function(e){e.stop();esg.share.controller.execute("hideShareDialog");}}});header.appendChild(headerText);header.appendChild(headerClose);topRight.appendChild(header);if(!model.isProjectShare&&!model.isFBdirect){var tabs=new Element('ul',{'class':'subtabs'});var emailShareTab=new Element('li',{'class':'current','id':'emailShareTab'});var emailShareTabLink=new Element('a',{'href':'javscript:void(0);','html':'<span>Share on Gallery</span>','events':{'click':function(e){e.stop();esg.share.controller.execute('switchShareView',{'view':'email'});}}});emailShareTab.appendChild(emailShareTabLink);var postOtherTab=new Element('li',{'class':'','id':'postOtherTab'});var postOtherTabLink=new Element('a',{'href':'javscript:void(0);','html':'<span>Share on Facebook</span>','events':{'click':function(e){e.stop();esg.share.controller.execute('switchShareView',{'view':'other'});}}});postOtherTab.appendChild(postOtherTabLink);tabs.appendChild(emailShareTab);tabs.appendChild(postOtherTab);topRight.appendChild(tabs);}
var inner=new Element('div',{'class':'inner'});var emailInner=esg.share.views.sharingContent.renderEmailForm();inner.appendChild(emailInner);var postInner=esg.share.views.sharingContent.renderPostOtherForm();inner.appendChild(postInner);var dTopLeft=new Element('div',{'class':'dpaneltopleft'});var dTopRight=new Element('div',{'class':'dpaneltopright clearfix'});dTopRight.appendChild(inner);dTopLeft.appendChild(dTopRight);var dBotLeft=new Element('div',{'class':'dpanelbotleft'});var dBotRight=new Element('div',{'class':'dpanelbotright'});dBotRight.appendChild(dBotLeft);topRight.appendChild(dTopLeft);topRight.appendChild(dBotRight);var footer=new Element('div',{'id':'shareFooter','class':'shareFooter clearfix'});var footerInfo=new Element('div',{'id':'footerInfo','class':'info','html':'* Required information'});var cancel=new Element('a',{'id':'shareCancel','href':'javascript:void(0)','class':'linkbutton tertiarybutton','events':{'click':function(e){e.stop();esg.share.controller.execute("hideShareDialog");}},'html':'<span>Cancel</span>'});var send=new Element('a',{'id':'shareSend','href':'javascript:void(0)','class':'linkbutton disabledbutton','events':{'click':function(e){e.stop();esg.share.controller.execute("processShareDialog");}},'html':'<span>Send</span>'});if(model.isFBdirect||model.isProjectShare){send.removeEvents('click');send.addEvent('click',function(e){e.stop();if($('optOutInput').checked==true){esg.share.commands.facebookWindow=null;esg.share.commands.facebookWindow=window.open('/A/Kodak_Gallery_Media/creativeapps/share/html/facebookWait.html','facebook','location=0,toolbar=0,status=0,menubar=0,titlebar=0,width=626,height=436,resizable=no,scrollbars=no');if(esg.share.model.isFBdirect){esg.share.controller.execute("addShareForFacebookComplete");s.tl(this,'o','PostingCardProjectForFacebook');}
else{esg.share.controller.execute('launchFacebookPopUp');s.tl(this,'o','SharingAlbumOrPhotosForFacebook');}}});send.set('html','<span>Share on Facebook</span>');}
footer.appendChild(footerInfo);footer.appendChild(cancel);footer.appendChild(send);topRight.appendChild(footer);topLeft.appendChild(topRight);dialog.appendChild(topLeft);var botRight=new Element('div',{'class':'dialogbotright'});var botLeft=new Element('div',{'class':'dialogbotleft'});botRight.appendChild(botLeft);dialog.appendChild(botRight);var root=$('principal')||document.body;root.appendChild(dialog);if(!model.isFBdirect){$('toTextLink').addEvent('click',function(e){e.stop();esg.share.controller.execute('showShareToDialog');});if(share.name&&!model.isProjectShare){$('shareAlbumName').value=share.name;$('shareAlbumName').set('readonly','readonly');$('shareAlbumName').addClass('readonly');}
else{if(model.isProjectShare)
$('shareAlbumName').value=share.name;else
$('shareAlbumName').value=esg.share.views.defaultShareAlbumName();$('shareAlbumName').removeClass('readonly');$('shareAlbumName').erase('readonly');}}},showRequestSignIn:function(){var share=esg.share.model.share;var signInOption=new Element('span',{'id':'signinrequiredoption','class':'signinrequiredoption','html':'<span>Sign in required:</span> This share contains friends albums that require sign in for re-sharing. '+
'<a rel="726" href="#" class="popfaq">Learn More</a>'});if(share.requireSignIn){return signInOption;}
var loginInput=new Element('input',{'id':'shareRequireLogin','name':'shareRequireLogin','type':'checkbox','checked':true});var loginLabel=new Element('label',{'id':'requireLoginLabel','html':'Require friends to sign in to view and save my photos. '+
"<a href='#' rel='726' class='popfaq'>Why?</a>"});return signInOption.empty().adopt([loginInput,loginLabel]);},enterAddContacts:function(e){if(e.key=='enter'){e.stop();esg.share.controller.execute("processShareToDialog");window.removeEvent('keyup',esg.share.views.shareDialog.enterAddContacts);}},showTo:function(){this.renderToDialog();var shareDialog=$('share_dialog');esg.viewUtil.modalBox.show('shareTo_dialog');if($('contactsInner'))
$('contactsInner').scrollTo(0,0);window.addEvent('keyup',esg.share.views.shareDialog.enterAddContacts);esg.share.controller.execute('updateShareAutoComplete',{'searchTerm':''});$('shareAutoComplete').style.display='none';},hideTo:function(){esg.viewUtil.modalBox.hide('shareTo_dialog');var shareDialog=$('share_dialog');window.removeEvent('keyup',esg.share.views.shareDialog.enterAddContacts);},renderToDialog:function(){var dialog=$('shareTo_dialog');if(!dialog){var dialog=new Element('div',{'id':'shareTo_dialog','class':'dialogbox'});}
else{dialog.innerHTML='';}
var topLeft=new Element('div',{'class':'dialogtopleft'});var topRight=new Element('div',{'class':'dialogtopright clearfix'});var header=new Element('div',{'class':'header clearfix'});var headerText=new Element('h3',{'html':'To:'});var headerClose=new Element('a',{'id':'shareDialogClose','href':'javascript:void(0);','title':'Close','class':'dialogclose','events':{'click':function(e){e.stop();esg.share.controller.execute("hideShareToDialog");}}});header.appendChild(headerText);header.appendChild(headerClose);topRight.appendChild(header);var tabs=new Element('ul',{'class':'subtabs'});var contactTab=new Element('li',{'class':'current','id':'contactTab'});var contactTabLink=new Element('a',{'href':'javscript:void(0);','html':'<span>Contacts</span>','events':{'click':function(e){e.stop();esg.share.controller.execute('switchShareToView',{'view':'contacts'});}}});contactTab.appendChild(contactTabLink);var groupTab=new Element('li',{'class':'','id':'groupTab'});var groupTabLink=new Element('a',{'href':'javscript:void(0);','html':'<span>Groups</span>','events':{'click':function(e){e.stop();esg.share.controller.execute('switchShareToView',{'view':'groups'});}}});groupTab.appendChild(groupTabLink);tabs.appendChild(contactTab);tabs.appendChild(groupTab);topRight.appendChild(tabs);var inner=new Element('div',{'class':'inner'});var contactsInner=esg.share.views.contactList.renderContactList(false,true);var groupsInner=esg.share.views.shareDialog.renderContactGroupList();inner.appendChild(contactsInner);inner.appendChild(groupsInner);dBotLeft=new Element('div',{'class':'dpanelbotleft'});dBotRight=new Element('div',{'class':'dpanelbotright'});dBotRight.appendChild(dBotLeft);topRight.appendChild(inner);topRight.appendChild(dBotRight);var footer=new Element('div',{'class':'shareToFooter clearfix'});var cancel=new Element('a',{'id':'shareToCancel','href':'javascript:void(0)','class':'linkbutton tertiarybutton','events':{'click':function(e){e.stop();if(!this.hasClass('disabledbutton'))
esg.share.controller.execute("hideShareToDialog");}},'html':'<span>Cancel</span>'});var add=new Element('a',{'id':'shareToAdd','href':'javascript:void(0)','class':'linkbutton disabledbutton','events':{'click':function(e){e.stop();if(!this.hasClass('disabledbutton'))
esg.share.controller.execute("processShareToDialog");}},'html':'<span>Add</span>'});footer.appendChild(cancel);footer.appendChild(add);topRight.appendChild(footer);topLeft.appendChild(topRight);dialog.appendChild(topLeft);var botRight=new Element('div',{'class':'dialogbotright'});var botLeft=new Element('div',{'class':'dialogbotleft'});botRight.appendChild(botLeft);dialog.appendChild(botRight);if($('principal'))
$('principal').appendChild(dialog);else
document.body.appendChild(dialog);$('contactsInner').style.display='block';},renderAutoComplete:function(){var results=esg.share.model.shareAutoComplete.results;var searchTerm=esg.share.model.shareAutoComplete.searchTerm;var box=$('shareAutoComplete');if(!box)
return;if(results.length==0){esg.share.views.shareDialog.hideAutoComplete();return;}
box.innerHTML='';var ul=new Element('ul',{'id':'autoCompleteList','events':{'keyup':function(e){switch(e.key){case'down':case'up':case'enter':case'esc':esg.share.controller.execute('changeShareAutoCompleteSelection',{'key':e.key});break;default:}}}});results.each(function(result,index){var reg=new RegExp(searchTerm,'gi');var searchMatchIndex=result.toLowerCase().indexOf(searchTerm.replace(/\\\+/g,'+').toLowerCase());var searchMatch=result.substring(searchMatchIndex,searchMatchIndex+searchTerm.replace(/\\\+/g,'+').length);var li=new Element('li',{'id':'sac'+index,'class':(index==0)?'selected searchResult':'searchResult','events':{'mouseover':function(e){$$('.searchResult').removeClass('selected');this.addClass('selected');},'mouseout':function(e){this.removeClass('selected');},'click':function(e){esg.share.controller.execute('selectShareAutoCompleteOption',{'selectedIndex':this.id.replace('sac','')});e.stop();}},'html':'<span class="contactIconDark"></span> '+result.replace(reg,'<span class="bold">'+searchMatch+'</span>')});document.onclick=esg.share.views.shareDialog.autoCompleteClickHandler;ul.appendChild(li);});box.appendChild(ul);box.style.display="block";},autoCompleteClickHandler:function(event){esg.share.views.shareDialog.hideAutoComplete();},hideAutoComplete:function(){var box=$('shareAutoComplete');if(!box)
return;box.style.display="none";document.onclick=null;},renderContactGroupList:function(){var model=esg.share.model;var contactGroupList=model.contactGroupList;var groupsInner=new Element('div',{'id':'groupsInner'});var groupsUL=new Element('ul',{'id':'groupsList'});var groupLI=null;contactGroupList.contactGroups.each(function(group,index){if(group.contacts.length==0)
return;groupLI=new Element('li',{'id':'group'+index,'class':'group'});var groupHeader=new Element('div',{'class':'groupHeader'});var groupCheck=new Element('input',{'type':'checkbox','id':'gcb'+index,'name':'gcb'+index,'class':'groupCheckBox','events':{'click':function(e){var index=this.id.replace('gcb','');var boxes=$$('#groupContactBox'+index+' ul li input');var open=$('group'+index).className.contains('open');if(!open)
esg.share.controller.execute('toggleShareToContactGroupDisplay',{'groupIndex':index});var checked=this.checked;boxes.each(function(cur,index){cur.checked=checked;});esg.share.controller.execute('toggleShareToAddEnabled',{'event':e});}}});var groupName=new Element('a',{'href':'javascript:void(0);','class':'groupName','html':esg.utility.sanitizeOutput(group.name),'events':{'click':function(e){e.stop();esg.share.controller.execute('toggleShareToContactGroupDisplay',{'groupIndex':index});}}});var groupArrow=new Element('span',{'class':'expandArrowIcon'});var groupContacts=new Element('div',{'class':'groupContacts','html':group.getTruncatedContacts(model.constants.SHARE_DIALOG_CONTACT_LIST)});var groupContactBox=new Element('div',{'class':'groupContactBox','id':'groupContactBox'+index});groupContactBox.appendChild(esg.share.views.shareDialog.renderContactGroupContactList(index,true));groupHeader.appendChild(groupCheck);groupHeader.appendChild(groupName);groupHeader.appendChild(groupArrow);groupHeader.appendChild(groupContacts);groupLI.appendChild(groupHeader);groupLI.appendChild(groupContactBox);groupsUL.appendChild(groupLI);});groupsInner.appendChild(groupsUL);return groupsInner;},renderContactGroupContactList:function(groupIndex,returnElement){var group=esg.share.model.contactGroupList.contactGroups[groupIndex];var groupContactList=$$('#groupContactBox'+groupIndex+' ul');if(groupContactList&&groupContactList.length>0)
groupContactList=groupContactList[0];else
groupContactList=null;var groupContactUL=new Element('ul',{'class':'groupContact'});group.contacts.each(function(curContact,contactIndex){var groupContactLI=new Element('li',{'id':'contactGroupContact'+groupIndex+'_'+contactIndex,'events':{'click':function(e){if(!e.target.id.contains('cgc')){this.childNodes[2].checked=!this.childNodes[2].checked;e.stop();}
esg.share.controller.execute('toggleShareToAddEnabled',{'event':e});}}});var groupContactImg=new Element('span',{'class':'contactIcon'});var groupContactName=new Element('div',{'html':curContact.getDisplayName()});var groupContactCheckBox=new Element('input',{'type':'checkbox','name':'cgc'+groupIndex+'_'+contactIndex,'id':'cgc'+groupIndex+'_'+contactIndex});groupContactLI.appendChild(groupContactImg);groupContactLI.appendChild(groupContactName);groupContactLI.appendChild(groupContactCheckBox);groupContactUL.appendChild(groupContactLI);});if(returnElement)
return groupContactUL;},showContactGroup:function(groupIndex){esg.share.views.shareDialog.hideAllContactGroups();var group=esg.share.model.contactGroupList.contactGroups[groupIndex];var groupLI=$('group'+groupIndex);var toggleArrow=$$('#group'+groupIndex+' .expandArrowIcon')[0];var groupContactBox=$$('#groupContactBox'+groupIndex)[0];groupLI.addClass('open');var perRow=($('shareTo_dialog')&&$('shareTo_dialog').style.display=='block')?1:2;var modifier=(Browser.Engine.trident)?31:28;var height=Math.ceil(group.contacts.length/perRow)*modifier+50;groupContactBox.morph({'height':height});group.expanded=!group.expanded;},hideContactGroup:function(groupIndex){var group=esg.share.model.contactGroupList.contactGroups[groupIndex];var groupContactBox=$$('#groupContactBox'+groupIndex)[0];var toggleArrow=$$('#group'+groupIndex+' .toggleArrow')[0];groupContactBox.morph({'height':0});(function(){var groupLI=$('group'+groupIndex);groupLI.removeClass('open')}).delay(500);group.expanded=!group.expanded;},hideAllContactGroups:function(){var groups=esg.share.model.contactGroupList.contactGroups;groups.each(function(group,index){if(group.expanded)
esg.share.views.shareDialog.hideContactGroup(index);});},refreshContacts:function(){var contactsOuter=esg.share.views.contactList.renderContactList(false,true);$('contactsOuter').innerHTML='';$('contactsOuter').parentNode.replaceChild(contactsOuter,$('contactsOuter'));},renderCompleteDialog:function(){var share=esg.share.model.share;var dialog=new Element('div',{'id':'shareComplete_dialog','class':'dialogbox'});var header=new Element('div',{'id':'header'});var otherActions=new Element('div',{'id':'otherActions'});var left=new Element('div',{'class':'left'});var center=new Element('div',{'class':'center'});var buttonRow=new Element('div',{'id':'otherButtonRow'});var close=new Element('a',{'id':'shareCompleteDialogClose','href':'javascript:void(0);','titl':'Close','class':'dialogclose','events':{'click':function(e){e.stop();esg.share.controller.execute("hideShareCompleteDialog");}}});var clear=new Element('div',{'class':'clear'});if(esg.share.model.isProjectShare){var shareImageWrapper=new Element('div',{'class':'shareProjectImageWrapper'});var shareImageProjectThumbCenter=new Element('div',{'class':'projectthumbcenter'});var shareImage=esg.share.views.sharingContent.createNewShareImageAsset(share.photoThumb,share.projectType);shareImageProjectThumbCenter.grab(shareImage);shareImageWrapper.grab(shareImageProjectThumbCenter);left.grab(shareImageWrapper);}else{var shareImageWrapper=new Element('span',{'class':'shareImageWrapper stackThumb'});var thumbslideshowURL=esg.photoPicker.model.config.uris.slideshow+'?albumId='+share.albumId;var shareImage=new Element('a',{'style':'background-image: url('+share.photoThumb+');','href':thumbslideshowURL,'class':'shareImage albumthumb'});shareImageWrapper.grab(shareImage);left.grab(shareImageWrapper);}
if(!esg.share.model.isProjectShare){var shareImageCheck=new Element('span',{'class':'shareImageCheck'});shareImageWrapper.appendChild(shareImageCheck);}
var shareHeader=new Element('h3',{'html':(esg.share.model.isProjectShare)?'Your share invitation was successfully sent.':'Your share was sent successfully.'});var shareP1=new Element('p',{'html':'Your contacts will receive the share shortly. To view the share you just sent and track who has viewed it click on the &quot;Share History&quot; tab.'});var shareP2=new Element('p',{'html':'To see who has viewed your shared projects, go to your <a href="/gallery/creativeapps/photoPicker/sharedHistory.jsp" title="Share History">Share History</a>.'});var wrapper=new Element('div',{'class':'wrapper'});center.appendChild(shareHeader);if(!esg.share.model.isProjectShare)center.appendChild(shareP1);else center.appendChild(shareP2);if(!esg.share.model.isProjectShare){var slideshowURL=esg.photoPicker.model.config.uris.slideshow+'?albumId='+share.albumId;var slideshowBtn=new Element('a',{'href':slideshowURL,'html':'<span>View Slideshow</span>','class':'linkbutton tertiarybutton','id':'viewSlideShowBtn'});center.appendChild(slideshowBtn);}
header.appendChild(left);header.appendChild(center);header.appendChild(close);if(!esg.share.commands.isShowMultipleShareCompleteDialog()){buttonRow.setStyle('border-top','none');otherActions.setStyle('height','50px');wrapper.setStyle('height','230px');if(esg.share.model.isProjectShare){}
var done=new Element('a',{'id':'shareCompleteOkay','html':'<span>Done</span>','class':(esg.share.model.isProjectShare&&$defined(window['addSharedProjectToCart']))?'linkbutton tertiarybutton':'linkbutton','events':{'click':function(e){e.stop();esg.share.controller.execute("hideShareCompleteDialog");}}});buttonRow.appendChild(done);if(esg.share.model.isProjectShare&&$defined(window['addSharedProjectToCart'])&&!$defined(esg.utility.getQsValue("orderId"))&&!$defined(esg.utility.getQsValue("commerceItemId"))){var add2cart=new Element('a',{'id':'shareCompleteAdd2Cart','html':'<span>Add To Cart</span>','class':'linkbutton','events':{'click':function(e){e.stop();esg.share.controller.execute("hideShareCompleteDialog");addSharedProjectToCart();}}});buttonRow.appendChild(add2cart);}}
else{otherActions.setStyle('height','330px');wrapper.setStyle('height','500px');var doMoreWrapper=new Element('div',{'id':'multipleRecipientsWrapper'});var createGroup=new Element('h4',{'html':'Would you like to create a group?'});var createGroupText=new Element('p',{'html':'That way, the next time you want to share with this set of friends, simply type the name of the group in the To: field.'});var groupName=new Element('input',{'type':'text','id':'groupName','name':'groupName','value':'Group name','events':{select:function(event){if(!Browser.Engine.trident)
esg.utility.eraseField(this,event);},focus:function(event){esg.utility.eraseField(this,event);},blur:function(event){esg.utility.populateField(this,"Group name",event);},keydown:function(event){esg.utility.eraseField(this,event);},keyup:function(event){esg.utility.populateField(this,"Group name",event);},mousedown:function(event){esg.utility.eraseField(this,event);},mouseup:function(event){esg.utility.eraseField(this,event);},contextmenu:function(event){esg.utility.eraseField(this,event);}}});var groupInclude=new Element('div',{'class':'groupInclude','html':'Include:'});var contactList=new Element('div',{'id':'newGroupContacts'});var contactListUL=new Element('ul');share.contactList.contacts.each(function(contact,index){var name=contact.getDisplayName(2);var li=new Element('li');var cb=new Element('input',{'type':'checkbox','name':'ngc'+index,'id':'ngc'+index,'checked':true});var name=new Element('div',{'class':'name','id':'ngt'+index,'html':name});li.appendChild(cb);li.appendChild(name);contactListUL.appendChild(li);});var save=new Element('a',{'id':'shareCompleteSave','html':'<span>Save Group</span>','class':'linkbutton','events':{'click':function(e){e.stop();esg.share.controller.execute("processShareCompleteDialog");}}});var cancel=new Element('a',{'id':'shareCompleteClose','html':'<span>No, Thanks</span>','class':'linkbutton tertiarybutton','events':{'click':function(e){e.stop();esg.share.controller.execute("hideShareCompleteDialog");}}});contactList.appendChild(contactListUL);doMoreWrapper.adopt([createGroup,createGroupText,groupName,groupInclude,contactList]);otherActions.appendChild(doMoreWrapper);buttonRow.adopt([cancel,save]);}
otherActions.appendChild(buttonRow);var topleft=new Element('div',{'class':'photopreviewtopleft'});var topright=new Element('div',{'class':'photopreviewtopright clearfix'});var botleft=new Element('div',{'class':'photopreviewbotleft'});var botright=new Element('div',{'class':'photopreviewbotright'});wrapper.appendChild(header);wrapper.appendChild(otherActions);wrapper.appendChild(clear);topright.appendChild(wrapper);topleft.appendChild(topright);botright.appendChild(botleft);dialog.appendChild(topleft);dialog.appendChild(botright);var oldDialog=$('shareComplete_dialog');if(oldDialog){oldDialog.parentNode.removeChild(oldDialog);}
if($('principal'))
$('principal').appendChild(dialog);else
document.body.appendChild(dialog);},showCompleteDialog:function(){esg.viewUtil.modalBox.show('shareComplete_dialog');esg.utility.redrawInIE6('#shareCompleteDialogClose');if($('groupName'))
$('groupName').focus();},hideCompleteDialog:function(){esg.viewUtil.modalBox.hide('shareComplete_dialog',true);}}
esg.share.views.error={showConfirm:function(){var dlg=null;if(!$("shareError")){dlg=new Element('div',{'class':"dialogbox",'id':"shareError"});var root=$('principal')||document.body;root.appendChild(dlg);}else{dlg=$("shareError");}
var message=esg.share.model.error.message;var messageHeader=esg.share.model.error.header;var yesLabel=esg.share.model.error.yesLabel;var noLabel=esg.share.model.error.noLabel;dlg.innerHTML='<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="errorContent"><h3>'+messageHeader+'</h3><p><strong>'+message+'</strong></p> <a id="shareErrorYes" href="#" class="linkbutton"><span>'+yesLabel+'</span></a><a id="shareErrorNo" href="#" class="linkbutton tertiarybutton"><span>'+noLabel+'</span></a></div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>';if(Browser.Engine.trident4){dlg.setStyle('top',$(document.body).getScroll().y+$(document.body).getSize().y/2-dlg.getSize().y);}
$("shareErrorNo").addEvent('click',function(){esg.share.views.error.hide();});$("shareErrorYes").addEvent('click',function(){var callBack=esg.share.model.error.callBack;if(callBack){if($type(callBack)=="string")
esg.share.controller.execute(callBack);else if($type(callBack)=="function")
callBack.run();}
esg.share.views.error.hide();});esg.viewUtil.modalBox.show('shareError');},show:function(){var dlg=null;if(!$("shareError")){dlg=new Element('div',{'class':"dialogbox",'id':"shareError"});var root=$('principal')||document.body;root.appendChild(dlg);}else{dlg=$("shareError");}
var message=esg.share.model.error.message;var messageHeader=esg.share.model.error.header;dlg.innerHTML='<div class="dialogtopleft"><div class="dialogtopright clearfix"><div class="errorContent"><h3>'+messageHeader+'</h3><p><strong>'+message+'</strong></p> <a id="closeShareError" href="#" class="linkbutton"><span>OK</span></a></div></div></div><div class="dialogbotright"><div class="dialogbotleft"></div></div>';if(Browser.Engine.trident4){dlg.setStyle('top',$(document.body).getScroll().y+$(document.body).getSize().y/2-dlg.getSize().y);}
var closeFunction=function(e){if(!esg.share.views.error.isVisible()){window.removeEvent(closeFunction);return;}
if(e.key=="enter"){esg.share.views.error.hide();window.removeEvent(closeFunction);}};$("closeShareError").addEvent('click',function(){esg.share.views.error.hide();window.removeEvent(closeFunction);var callBack=esg.share.model.error.callBack;if(callBack){if($type(callBack)=="string")
esg.share.controller.execute(callBack);else if($type(callBack)=="function")
callBack.run();}});window.addEvent('keypress',closeFunction);esg.viewUtil.modalBox.show('shareError');},hide:function(event){if(event)event.stop();esg.viewUtil.modalBox.hide('shareError');},isVisible:function(){return($("shareError")&&$("shareError").style.display=='block');}}
esg.share.views.projectShare={render:function(){var model=esg.share.model;var hasAccount=(Cookie.get("last_login_email"))?true:false;var slideShowStart=$('slideShowStart');if(!slideShowStart){slideShowStart=new Element('div',{'id':'slideShowStart'});$('pagecontent').grab(slideShowStart);}
var project=esg.share.model.projectMetaData;var inner=new Element('div',{'class':'inner clearfix'});var redeemProjectContentWrapper=new Element('div',{'id':'redeemProjectContentWrapper'});inner.grab(redeemProjectContentWrapper);var imageWrapper=new Element('div',{'class':'shareProjectImageWrapper'});var imageHolder=new Element('div',{'class':'projectthumbcenter'});imageWrapper.grab(imageHolder);var image=esg.share.views.sharingContent.createNewShareImageAsset(project.thumbURI,project.projectType);imageHolder.grab(image);var topContent=new Element('div',{'class':'projectContent','id':'invite'});var bottomContent=new Element('div',{'class':'projectContent','id':'description'});var name=esg.utility.sanitizeOutput(project.ownerName.split(" ")[0]);var topSubContentText="<span>"+((hasAccount)?"Sign in to your account to view this project.":"Create a free KODAK Gallery account to view this project.")+"</span>";topSubContentText+='<p><span>Once you\'re signed in, you can view the project, purchase it, and even make changes to it. <a rel="3122" href="#" class="popfaq">Learn More</a></span></p>';var h1=new Element('h1',{'html':name+' has shared a project with you'});var topSubContent=new Element('div',{'class':'shareText','html':topSubContentText});var bottomSubContent=new Element('div',{'class':'shareText'});var shareTextProductLinks="<a href='/gallery/category.jsp?parentCatId=Products&catId=Mugs'>Photo Mugs</a>, <a href='/gallery/category.jsp?parentCatId=Products&catId=Calendar'>Photo Calendars</a>, <a href='/gallery/photo-products/photo-books/photo-book-details.jsp'>Photo Books</a> and other <a href='/gallery/category.jsp?parentCatId=Products&catId=Home_Decor_and_Games'>Photo Gifts</a>";var shareText=new Element('span',{'id':'redeemProjectText','html':"<h2>What is a shared project?</h2>Shared projects are photo projects created by your friends and family that you can purchase, including "+shareTextProductLinks+". <a href='http://gallerystudio.custhelp.com/cgi-bin/gallerystudio.cfg/php/enduser/olh_adp.php?p_faqid=3122&p_olh=1' rel='3122' class='popfaq' title='Learn more'>Learn more</a>."});topContent.adopt([h1,topSubContent]);bottomSubContent.grab(shareText);bottomContent.grab(bottomSubContent);redeemProjectContentWrapper.adopt([imageWrapper,topContent,bottomContent]);var identityContent=new Element('div',{'class':'shareIdentityShowContentcss '+(Cookie.get("last_login_email")?'':'joinExpanded'),'id':'shareIdentityContent'});var landingHeader=new Element('div',{'id':'landingHeader','class':'clearfix'});var landingSignIn=new Element('span',{'id':'landingSignInText','class':(Cookie.get("last_login_email")?'open':''),'html':'<a href="javascript:void(0);">Sign In</a>'});var landingJoin=new Element('span',{'id':'shareLandingJoinLink','class':(Cookie.get("last_login_email")?'':'open'),'html':'<a href="javascript:void(0);">Join</a>'});var shareIdentityContentSignInDiv=new Element('div',{'id':'shareIdentityContentSignInDiv','class':'clearfix'});var shareIdentityContentJoinDiv=new Element('div',{'id':'shareIdentityContentJoinDiv','class':'clearfix'});landingHeader.appendChild(landingSignIn);landingHeader.appendChild(landingJoin);identityContent.appendChild(landingHeader);identityContent.appendChild(shareIdentityContentSignInDiv);identityContent.appendChild(shareIdentityContentJoinDiv);inner.appendChild(identityContent);var dTopLeft=new Element('div',{'class':'roundtopleft clearfix'});var dTopRight=new Element('div',{'class':'roundtopright clearfix'});dTopRight.appendChild(inner);dTopLeft.appendChild(dTopRight);var dBotLeft=new Element('div',{'class':'roundbotleft'});var dBotRight=new Element('div',{'class':'roundbotright'});dBotRight.appendChild(dBotLeft);slideShowStart.appendChild(dTopLeft);slideShowStart.appendChild(dBotRight);var callback=function(){esg.share.controller.execute('redeemProjectShare',{'shareToken':esg.share.model.shareToken,'callBack':'projectShareRedirect'});};esg.ident.views.shareIdentityContentDialogObj.display('signin',callback);$("landingSignInText").addEvent('click',function(e){e.stop();if(!$("landingSignInText").hasClass('open')){$("landingSignInText").addClass('open');$("shareLandingJoinLink").removeClass('open');var toMarginTop=($("shareIdentityContent").getStyle('margin-top').toInt()+95)+"px";var toHeight=($("shareIdentityContent").getStyle('height').toInt()-105)+"px";$("shareIdentityContentSignInDiv").removeClass('collapsed');$("shareIdentityContentJoinDiv").addClass('collapsed');$("shareIdentityContent").morph({'margin-top':toMarginTop,'height':'175px','duration':400});(function(){$("shareIdentityContent").removeClass('joinExpanded')}).delay(410);}});$("landingSignInText").store('clickEventAttached',true);esg.ident.views.shareIdentityContentDialogObj.display('join',callback);$("shareLandingJoinLink").addEvent('click',function(e){e.stop();if(!$("shareLandingJoinLink").hasClass('open')){$("landingSignInText").removeClass('open');$("shareLandingJoinLink").addClass('open');var toMarginTop=($("shareIdentityContent").getStyle('margin-top').toInt()-95)+"px";var toHeight=($("shareIdentityContent").getStyle('height').toInt()+105)+"px";$("shareIdentityContentSignInDiv").addClass('collapsed');$("shareIdentityContent").morph({'margin-top':toMarginTop,'height':'300px','duration':400});(function(){$("shareIdentityContentJoinDiv").removeClass('collapsed')}).delay(310);(function(){$("shareIdentityContent").addClass('joinExpanded')}).delay(410);}});$("shareLandingJoinLink").store('clickEventAttached',true);}};esg.share.views.slideShow={renderStart:function(){var model=esg.share.model;var slideShowStart=$('slideShowStart');if(!slideShowStart){slideShowStart=new Element('div',{'id':'slideShowStart'});$('pagecontent').appendChild(slideShowStart);}
var album=esg.share.model.album;var inner=new Element('div',{'class':'inner clearfix'});var imageWrapper=new Element('span',{'class':'largePhotoWrapper'});var imageHolder=new Element('span',{'class':'photoHolder'});imageWrapper.appendChild(imageHolder);var image=new Asset.image(album.thumbUri,{'onload':function(){if((this.width/this.height)>1){this.setStyle('height','177px');var leftPos=-(177/this.height*this.width-177)/2;this.setStyle('width','auto');this.setStyle('left',leftPos);}
else{this.setStyle('width','177px');var topPos=-(177/this.width*this.height-177)/2;this.setStyle('height','auto');this.setStyle('top',topPos);}
imageHolder.appendChild(image);}});if(!Browser.Engine.trident4){var imageReflection=new Element('span',{'class':'sharelandingreflection'});imageWrapper.appendChild(imageReflection);}
inner.appendChild(imageWrapper);var center=new Element('div',{'class':'center'});var name=esg.utility.sanitizeOutput(album.ownerName.split(" ")[0]);var h1=new Element('h1',{'html':name+' has shared photos with you'});var h1Parens=new Element('div',{'class':'slideshowInfo','html':'('+album.photoCount+' photos)'});var userRequest=new Element('div',{'class':'signInRequest','html':'and requests that you sign in to view these photos.'});var shareText=new Element('div',{'class':'shareText','html':"<h4>Why do I need to sign in?</h4><ul><li>"+name+" values these photos and wants to know who has viewed them.</li>"+
"<li>These photos will be saved in your account to view and share.</li></ul><p><a href='http://gallerystudio.custhelp.com/cgi-bin/gallerystudio.cfg/php/enduser/olh_adp.php?p_faqid=2900&p_olh=1' rel='2900' class='popfaq' title='Learn more'>Learn more</a>.</p>"});center.appendChild(h1);center.appendChild(userRequest);center.appendChild(shareText);inner.appendChild(center);var identityContent=new Element('div',{'class':'shareIdentityShowContentcss '+(Cookie.get("last_login_email")?'':'joinExpanded'),'id':'shareIdentityContent'});var landingHeader=new Element('div',{'id':'landingHeader','class':'clearfix'});var landingSignIn=new Element('span',{'id':'landingSignInText','class':(Cookie.get("last_login_email")?'open':''),'html':'<a href="javascript:void(0);">Sign In</a>'});var landingJoin=new Element('span',{'id':'shareLandingJoinLink','class':(Cookie.get("last_login_email")?'':'open'),'html':'<a href="javascript:void(0);">Join</a>'});var shareIdentityContentSignInDiv=new Element('div',{'id':'shareIdentityContentSignInDiv','class':'clearfix'});var shareIdentityContentJoinDiv=new Element('div',{'id':'shareIdentityContentJoinDiv','class':'clearfix'});landingHeader.appendChild(landingSignIn);landingHeader.appendChild(landingJoin);identityContent.appendChild(landingHeader);identityContent.appendChild(shareIdentityContentSignInDiv);identityContent.appendChild(shareIdentityContentJoinDiv);inner.appendChild(identityContent);var dTopLeft=new Element('div',{'class':'roundtopleft clearfix'});var dTopRight=new Element('div',{'class':'roundtopright clearfix'});dTopRight.appendChild(inner);dTopLeft.appendChild(dTopRight);var dBotLeft=new Element('div',{'class':'roundbotleft'});var dBotRight=new Element('div',{'class':'roundbotright'});dBotRight.appendChild(dBotLeft);slideShowStart.appendChild(dTopLeft);slideShowStart.appendChild(dBotRight);var callback=function(){esg.share.controller.execute('redeemShare',{'shareToken':esg.share.model.shareToken,'callBack':'slideshowRedirect'});};esg.ident.views.shareIdentityContentDialogObj.display('signin',callback);$("landingSignInText").addEvent('click',function(e){e.stop();if(!$("landingSignInText").hasClass('open')){$("landingSignInText").addClass('open');$("shareLandingJoinLink").removeClass('open');var toMarginTop=($("shareIdentityContent").getStyle('margin-top').toInt()+95)+"px";var toHeight=($("shareIdentityContent").getStyle('height').toInt()-105)+"px";$("shareIdentityContentSignInDiv").removeClass('collapsed');$("shareIdentityContentJoinDiv").addClass('collapsed');$("shareIdentityContent").morph({'margin-top':toMarginTop,'height':'175px','duration':400});(function(){$("shareIdentityContent").removeClass('joinExpanded')}).delay(410);}});$("landingSignInText").store('clickEventAttached',true);esg.ident.views.shareIdentityContentDialogObj.display('join',callback);$("shareLandingJoinLink").addEvent('click',function(e){e.stop();if(!$("shareLandingJoinLink").hasClass('open')){$("landingSignInText").removeClass('open');$("shareLandingJoinLink").addClass('open');var toMarginTop=($("shareIdentityContent").getStyle('margin-top').toInt()-95)+"px";var toHeight=($("shareIdentityContent").getStyle('height').toInt()+105)+"px";$("shareIdentityContentSignInDiv").addClass('collapsed');$("shareIdentityContent").morph({'margin-top':toMarginTop,'height':'300px','duration':400});(function(){$("shareIdentityContentJoinDiv").removeClass('collapsed')}).delay(310);(function(){$("shareIdentityContent").addClass('joinExpanded')}).delay(410);}});$("shareLandingJoinLink").store('clickEventAttached',true);},renderEnd:function(){var slideShowEnd=$('slideShowEnd');if(!slideShowEnd){slideShowEnd=new Element('div',{'id':'slideShowEnd'});$('pagecontent').appendChild(slideShowEnd);}
var album=esg.share.model.album;var inner=new Element('div',{'class':'inner clearfix'});var imageWrapper=new Element('span',{'class':'largePhotoWrapper'});var imageHolder=new Element('span',{'class':'photoHolder'});imageWrapper.appendChild(imageHolder);var image=new Asset.image(album.thumbUri,{'onload':function(){if((this.width/this.height)>1){this.setStyle('height','177px');var leftPos=-(177/this.height*this.width-177)/2;this.setStyle('width','auto');this.setStyle('left',leftPos);}
else{this.setStyle('width','177px');var topPos=-(177/this.width*this.height-177)/2;this.setStyle('height','auto');this.setStyle('top',topPos);}
imageHolder.appendChild(image);}});if(!Browser.Engine.trident4){var imageReflection=new Element('span',{'class':'sharelandingreflection'});imageWrapper.appendChild(imageReflection);}
inner.appendChild(imageWrapper);var center=new Element('div',{'class':'center'});var name=esg.utility.sanitizeOutput(album.ownerName.split(" ")[0]);name=name.substring(0,1).toUpperCase()+name.substring(1);var h1=new Element('h1',{'html':name+'\'s Slideshow.'});var h1Parens=new Element('div',{'class':'slideshowInfo','html':'('+album.photoCount+' photos)'});var userRequest=new Element('div',{'class':'signInRequest','html':'You have reached the end of this slideshow'});var shareText=new Element('div',{'class':'shareText','html':'Save these photos to your account by signing in or creating an account.'});var viewAgain=new Element('a',{'class':'linkbutton secondarybutton','html':'<span>View Slideshow Again</span>','events':{'click':function(e){e.stop();esg.share.controller.execute('slideshowRedirect');}}});var save=new Element('a',{'class':'linkbutton','html':'<span>Save This Slideshow</span>','events':{'click':function(e){e.stop();esg.share.controller.execute('anonymousSaveSlideShow');}}});center.appendChild(h1);center.appendChild(h1Parens);center.appendChild(userRequest);center.appendChild(shareText);center.appendChild(viewAgain);if(!$defined(esg.ident.model.isAnon)||esg.ident.model.isAnon)
center.appendChild(save);inner.appendChild(center);var dTopLeft=new Element('div',{'class':'roundtopleft'});var dTopRight=new Element('div',{'class':'roundtopright clearfix'});dTopRight.appendChild(inner);dTopLeft.appendChild(dTopRight);var dBotLeft=new Element('div',{'class':'roundbotleft'});var dBotRight=new Element('div',{'class':'roundbotright'});dBotRight.appendChild(dBotLeft);slideShowEnd.appendChild(dTopLeft);slideShowEnd.appendChild(dBotRight);slideShowEnd.appendChild(new Element('div',{'class':'clear clearfix'}));},renderAlbumNotFound:function(){var slideShowAlbumNotFound=$('slideShowAlbumNotFound');if(!slideShowAlbumNotFound){slideShowAlbumNotFound=new Element('div',{'id':'slideShowAlbumNotFound'});$('pagecontent').appendChild(slideShowAlbumNotFound);}
var album=esg.share.model.album;var inner=new Element('div',{'class':'inner clearfix'});var center=new Element('div',{'class':'center'});var h1=new Element('h1',{'html':'Album Not Found'});var p1=new Element('p',{'html':"We're sorry, but the online album you're looking for is unavailable. The owner may have deleted the album "+
"after sharing it with you, or the link you used may be incorrect"});var p2=new Element('p',{'html':'To view the album, please contact the person who originally shared the album with you and ask them to share it again'});center.appendChild(h1);center.appendChild(p1);center.appendChild(p2);inner.appendChild(center);var dTopLeft=new Element('div',{'class':'roundtopleft clearfix'});var dTopRight=new Element('div',{'class':'roundtopright clearfix'});dTopRight.appendChild(inner);dTopLeft.appendChild(dTopRight);var dBotLeft=new Element('div',{'class':'roundbotleft'});var dBotRight=new Element('div',{'class':'roundbotright'});dBotRight.appendChild(dBotLeft);slideShowAlbumNotFound.appendChild(dTopLeft);slideShowAlbumNotFound.appendChild(dBotRight);if(esg.ident.model.isAnon)
{var identityContent=new Element('div',{'class':'shareIdentityShowContentcss '+(Cookie.get("last_login_email")?'':'joinExpanded'),'id':'shareIdentityContent'});var landingHeader=new Element('div',{'id':'landingHeader','class':'clearfix'});var landingSignIn=new Element('span',{'id':'landingSignInText','class':(Cookie.get("last_login_email")?'open':''),'html':'<a href="javascript:void(0);">Sign In</a>'});var landingJoin=new Element('span',{'id':'shareLandingJoinLink','class':(Cookie.get("last_login_email")?'':'open'),'html':'<a href="javascript:void(0);">Join</a>'});var shareIdentityContentSignInDiv=new Element('div',{'id':'shareIdentityContentSignInDiv','class':'clearfix'});var shareIdentityContentJoinDiv=new Element('div',{'id':'shareIdentityContentJoinDiv','class':'clearfix'});landingHeader.appendChild(landingSignIn);landingHeader.appendChild(landingJoin);identityContent.appendChild(landingHeader);identityContent.appendChild(shareIdentityContentSignInDiv);identityContent.appendChild(shareIdentityContentJoinDiv);inner.appendChild(identityContent);var callback=function(){};esg.ident.views.shareIdentityContentDialogObj.display('signin',callback);$("landingSignInText").addEvent('click',function(e){e.stop();if(!$("landingSignInText").hasClass('open')){$("landingSignInText").addClass('open');$("shareLandingJoinLink").removeClass('open');var toMarginTop=($("shareIdentityContent").getStyle('margin-top').toInt()+95)+"px";var toHeight=($("shareIdentityContent").getStyle('height').toInt()-105)+"px";$("shareIdentityContentSignInDiv").removeClass('collapsed');$("shareIdentityContentJoinDiv").addClass('collapsed');$("shareIdentityContent").morph({'margin-top':toMarginTop,'height':'175px','duration':400});(function(){$("shareIdentityContent").removeClass('joinExpanded')}).delay(410);}});$("landingSignInText").store('clickEventAttached',true);esg.ident.views.shareIdentityContentDialogObj.display('join',callback);$("shareLandingJoinLink").addEvent('click',function(e){e.stop();if(!$("shareLandingJoinLink").hasClass('open')){$("landingSignInText").removeClass('open');$("shareLandingJoinLink").addClass('open');var toMarginTop=($("shareIdentityContent").getStyle('margin-top').toInt()-95)+"px";var toHeight=($("shareIdentityContent").getStyle('height').toInt()+105)+"px";$("shareIdentityContentSignInDiv").addClass('collapsed');$("shareIdentityContent").morph({'margin-top':toMarginTop,'height':'300px','duration':400});(function(){$("shareIdentityContentJoinDiv").removeClass('collapsed')}).delay(310);(function(){$("shareIdentityContent").addClass('joinExpanded')}).delay(410);}});$("shareLandingJoinLink").store('clickEventAttached',true);}}}
esg.share.views.identitySpeedBump={render:function(callback,view,disableSignIn){callback=callback||function(){};view=view||'signIn';disableSignIn=disableSignIn||false;if(disableSignIn)
view='join';var dlg=null;if(!$('shareSignInDialog')){dlg=new Element('div',{'class':'dialogbox shareSignInDialog','id':'shareSignInDialog'});var root=$('principal')||document.body;root.appendChild(dlg);}else{dlg=$('shareSignInDialog');dlg.innerHTML='';}
var title='Share';var body='Once signed in these photos will be saved to your account where you will be able to share and view these photos again.';var header=new Element('div',{'class':'header'});var headerText=new Element('h3',{'html':title});var headerClose=new Element('a',{'id':'shareDialogClose','href':'javascript:void(0);','title':'Close','class':'dialogclose','events':{'click':function(e){e.stop();esg.share.controller.execute("hideShareSpeedBump");}}});var headerBody=new Element('div',{'class':'headerBody','html':body});header.appendChild(headerText);header.appendChild(headerClose);header.appendChild(headerBody);var shareIdentityContentSignInDiv=new Element('div',{'id':'shareSignIn'});var shareIdentityContentJoinDiv=new Element('div',{'id':'shareJoin'});if(!disableSignIn){var landingHeader=new Element('ul',{'id':'shareLandingHeader','class':'subtabs clearfix'});var landingSignIn=new Element('li',{'id':'shareLandingSignIn','class':(view=='signIn')?'current':''});var landingSignInLink=new Element('a',{'id':'shareLandingSignInLink','html':'<span>Sign In</span>'});landingSignIn.appendChild(landingSignInLink);var landingJoin=new Element('li',{'id':'shareLandingJoin','class':(view=='join')?'current':''});var landingJoinLink=new Element('a',{'id':'shareLandingJoinLink','html':'<span>Join</span>'});landingJoin.appendChild(landingJoinLink);landingHeader.appendChild(landingSignIn);landingHeader.appendChild(landingJoin);}
var topLeft=new Element('div',{'class':'dialogtopleft'});var topRight=new Element('div',{'class':'dialogtopright clearfix'});var dTopLeft=new Element('div',{'class':'dpaneltopleft'});var dTopRight=new Element('div',{'class':'dpaneltopright'});topRight.appendChild(header)
if(!disableSignIn){topRight.appendChild(landingHeader);topRight.appendChild(shareIdentityContentSignInDiv);topRight.appendChild(shareIdentityContentJoinDiv);}
else{dTopRight.appendChild(shareIdentityContentSignInDiv);dTopRight.appendChild(shareIdentityContentJoinDiv);dTopLeft.appendChild(dTopRight);topRight.appendChild(dTopLeft);}
var dBotLeft=new Element('div',{'class':'dpanelbotleft'});var dBotRight=new Element('div',{'class':'dpanelbotright'});dBotRight.appendChild(dBotLeft);topRight.appendChild(dBotRight);var footer=new Element('div',{'class':'shareSignInFooter'});var cancel=new Element('a',{'id':'shareSignInCancelButton','href':'javascript:void(0)','class':'linkbutton tertiarybutton','events':{'click':function(e){e.stop();esg.share.controller.execute("hideShareSpeedBump");}},'html':'<span>Cancel</span>'});var send=new Element('a',{'id':'shareSignInButton','href':'javascript:void(0)','class':'linkbutton','html':(view=='signIn')?'<span>Sign In</span>':'<span>Join</span>'});footer.appendChild(cancel);footer.appendChild(send);topRight.appendChild(footer)
topLeft.appendChild(topRight);var botLeft=new Element('div',{'class':'dialogbotleft clearfix'});var botRight=new Element('div',{'class':'dialogbotright '});botRight.appendChild(botLeft);dlg.appendChild(topLeft);dlg.appendChild(botRight);if(!disableSignIn){esg.ident.views.shareSignInDialogObj.display('signin',callback,view);$("shareLandingSignInLink").addEvent('click',function(e){e.stop();if($("shareSignInDialog").hasClass('expanded')){var toHeight=($("shareSignInDialog").getStyle('height').toInt()-188)+"px";$("shareSignInDialog").removeClass('expanded');$("shareSignIn").removeClass('collapsed');$("shareJoin").addClass('collapsed');$("shareSignInDialog").morph({'height':toHeight,'duration':800});$('shareLandingSignIn').addClass('current');$('shareLandingJoin').removeClass('current');var btn=$('shareSignInButton');btn.removeEvents('click');btn.innerHTML='<span>Sign In</span>';btn.addEvent('click',function(e){e.stop();var uid=esg.ident.views.shareSignInDialogObj.root+'-'+'signin';esg.ident.controller.execute("signIn",{root:uid})});$('shareSignInCancelButton').tabIndex=8;$('shareSignInButton').tabIndex=7;}});}
esg.ident.views.shareSignInDialogObj.display('join',callback,view);if(!disableSignIn)
$("shareLandingJoinLink").addEvent('click',function(e){e.stop();if(!($("shareSignInDialog").hasClass('expanded'))){console.log('called2');var toHeight=($("shareSignInDialog").getStyle('height').toInt()+188)+"px";$("shareSignIn").addClass('collapsed');$("shareSignInDialog").addClass('expanded');$("shareSignInDialog").setStyle('overflow','hidden');$("shareSignInDialog").morph({'height':toHeight,'duration':800});(function(){$("shareJoin").removeClass('collapsed')}).delay(100);$('shareLandingJoin').addClass('current');$('shareLandingSignIn').removeClass('current');var btn=$('shareSignInButton');btn.removeEvents('click');btn.innerHTML='<span>Join</span>';btn.addEvent('click',function(e){e.stop();var uid=esg.ident.views.shareSignInDialogObj.root+'-'+'join';esg.ident.controller.execute("join",{root:uid})});$('shareSignInCancelButton').tabIndex=8;$('shareSignInButton').tabIndex=7;}});if(view=='join'){var toHeight=($("shareSignInDialog").getStyle('height').toInt()+188)+"px";$("shareSignIn").addClass('collapsed');$("shareSignIn").removeClass('expanded');$("shareSignInDialog").addClass('expanded');$("shareSignInDialog").setStyle('overflow','hidden');$("shareSignInDialog").setStyle('height',toHeight);$('shareSignInCancelButton').tabIndex=8;$('shareSignInButton').tabIndex=7;send.addEvent('click',function(e){e.stop();var uid=esg.ident.views.shareSignInDialogObj.root+'-'+'join';esg.ident.controller.execute("join",{root:uid})});}else{$("shareSignInDialog").removeClass('expanded');$("shareSignInDialog").setStyle('height',toHeight);$('shareSignInCancelButton').tabIndex=4;$('shareSignInButton').tabIndex=3;send.addEvent('click',function(e){e.stop();var uid=esg.ident.views.shareSignInDialogObj.root+'-'+'signin';esg.ident.controller.execute("signIn",{root:uid})});}
esg.viewUtil.modalBox.show('shareSignInDialog');},hide:function(){esg.viewUtil.modalBox.hide('shareSignInDialog');}}
if(!esg)var esg={};if(!esg.share)esg.share={};esg.share.commands={model:esg.share.model,controller:esg.share.controller,facebookWindow:null,initialize:function(){},getGuestbook:function(onCompleteControllerEvent){var model=this.model;var controller=this.controller;var cmd=this;var url=model.config.uris.guestbook;esg.viewUtil.throbber.show();var req=new esg.utility.JSONRequest({url:url,secure:false,method:"get",controller:controller,onSuccess:function(json){var guestbook=model.guestbook=new Guestbook();if($defined(json.GuestbookEntries)&&$defined(json.GuestbookEntries.GuestbookEntry)){if($type(json.GuestbookEntries.GuestbookEntry)!="array")
json.GuestbookEntries.GuestbookEntry=[json.GuestbookEntries.GuestbookEntry];json.GuestbookEntries.GuestbookEntry.each(function(entry,index){var shares=[];var ignoreEntry=false;var timeSent=cmd.formatDate(entry.timeSent);var isProject=(entry.projectId)?true:false;if($type(entry.shares)=="array")
entry.shares.each(function(share,index){if(share.email==esg.share.model.constants.SHARE_POST_OTHER_EMAIL_RECIPIENT){ignoreEntry=true;}
else{var newShare=new GuestbookEntryShare(share.email,share.dateViewed?cmd.formatDate(share.dateViewed,true):'',share.visitCount,share.forwardedBy,share.firstName,share.lastName);shares.push(newShare);}});else{if(entry.shares.email==esg.share.model.constants.SHARE_POST_OTHER_EMAIL_RECIPIENT){ignoreEntry=true;}
else{var share=new GuestbookEntryShare(entry.shares.email,entry.shares.dateViewed?cmd.formatDate(entry.shares.dateViewed):'',entry.shares.visitCount,entry.shares.forwardedBy);shares.push(share);}}
if(!ignoreEntry){var guestEntry=null;if(isProject){guestEntry=new GuestbookEntry(entry.projectId,entry.projectName,($defined(entry.projectThumb))?entry.projectThumb:'',timeSent,shares);guestEntry.setProject(isProject,entry.projectType);}
else
guestEntry=new GuestbookEntry(entry.albumId,entry.albumName,($defined(entry.albumThumb))?entry.albumThumb:'',timeSent,shares);guestbook.entries.push(guestEntry);}});}
esg.share.model.guestbookBooklet.setItemCount(guestbook.entries.length);esg.share.controller.execute(onCompleteControllerEvent,{type:'getGuestbook'});esg.viewUtil.throbber.hide();}}).send();},showGuestbookComplete:function(){var booklet=esg.share.model.guestbookBooklet;booklet.notifyObservers();},goToGuestbookPage:function(pageNbr){var booklet=esg.share.model.guestbookBooklet;booklet.goToPage(pageNbr);booklet.notifyObservers();if(Browser.Engine.trident4){if($('pagefooter').hasClass('clear'))
$('pagefooter').removeClass('clear');$('pagefooter').addClass('clear');}},getComments:function(onCompleteControllerEvent){var model=this.model;var controller=this.controller;var cmd=this;var url=model.config.uris.comments;esg.viewUtil.throbber.show();var req=new esg.utility.JSONRequest({url:url,secure:false,method:"get",controller:controller,onSuccess:function(json){var comments=[];if($defined(json.Comments.Comment)){if($type(json.Comments.Comment)!="array")
json.Comments.Comment=[json.Comments.Comment];json.Comments.Comment.each(function(comment,index){var newComment=new Comment(comment.id,comment.author,comment.authorId,comment.thumbUrl,comment.mediumPhotoUrl,comment.photoId,comment.text,comment.lastUpdated,comment.visibility);if($defined(comment.email))
newComment.email=comment.email;comments.push(newComment);});}
esg.share.model.commentsBooklet.setItemCount(comments.length);esg.share.controller.execute('getComments2',{'type':'getComments','comments':comments,'callBack':onCompleteControllerEvent});}}).send();},getComments2:function(tempComments,onCompleteControllerEvent){var perPage=esg.share.model.commentsBooklet.pageSize;var comments=esg.share.model.comments=new CommentGroupList();var commentGroup;tempComments.each(function(curComment,index){commentGroup=comments.getGroupById(curComment.photoId);var newGroup=false;if(commentGroup==null){commentGroup=new CommentGroup();newGroup=true;}
commentGroup.comments.push(curComment);if(newGroup)
comments.addGroup(commentGroup)});var paginatedComments=new CommentGroupList();var curWeight=0;comments.commentGroups.each(function(curGroup,index){if(curGroup.getWeight()+curWeight<perPage){paginatedComments.addGroup(curGroup);curWeight+=curGroup.getWeight();}
else{while(curGroup.getWeight()>0){var newComments=curGroup.popRange(perPage-curWeight);var newGroup=new CommentGroup();newGroup.comments=newComments;paginatedComments.addGroup(newGroup);curWeight+=newComments.length;if(curWeight==perPage)
curWeight=0;}}
if(curWeight==perPage)
curWeight=0;});esg.share.model.comments=paginatedComments;esg.share.controller.execute(onCompleteControllerEvent,{type:'getComments'});},showCommentsComplete:function(){var booklet=esg.share.model.commentsBooklet;booklet.notifyObservers();esg.share.model.editing=false;},deleteComment:function(){var url=this.model.config.uris.comment.replace('{photoId}',this.model.comment.photoId).replace('{id}',this.model.comment.id);esg.viewUtil.throbber.show();var rqst=new esg.utility.Request({url:url,secure:false,method:'DELETE',data:this.model.comment.getXML(),controller:esg.share.controller,onSuccess:function(text,xml){if(esg.share.model.comment.callBack)
esg.share.controller.execute(esg.share.model.comment.callBack);esg.viewUtil.throbber.hide();}}).send();},deleteCommentComplete:function(){},formatCommentsDate:function(date){var d=new Date();d.setISO8601(date);var str=d.toLocaleString();if(str.indexOf('GMT')!=-1)
str=str.substring(0,str.indexOf('GMT')).trim();return str;},goToCommentsPage:function(pageNbr){var booklet=esg.share.model.commentsBooklet;booklet.goToPage(pageNbr);booklet.notifyObservers();if(Browser.Engine.trident4){if($('pagefooter').hasClass('clear'))
$('pagefooter').removeClass('clear');$('pagefooter').addClass('clear');}},redeemShare:function(onCompleteControllerEvent,shareToken){var model=this.model;var controller=this.controller;var cmd=this;var url=model.config.uris.redeem.replace('{shareToken}',shareToken);esg.viewUtil.throbber.show();var req=new esg.utility.Request({url:url,secure:false,method:"POST",controller:controller,async:true,onSuccess:function(text,xml){var xmlDoc=esg.utility.loadXMLString(text.toString().replace(/^\s+|\s+$/g,'').replace(/ns2:/g,''));var albumXML=xmlDoc.getElementsByTagName('Album');var item=albumXML[0];var id=item.getElementsByTagName('id')[0].firstChild.nodeValue;var ownerId=item.getElementsByTagName('ownerId')[0].firstChild.nodeValue;var album=esg.share.model.album=new esg.photoPicker.model.albumEntry(id);album.ownerId=ownerId;esg.share.controller.execute(onCompleteControllerEvent,{type:'redeemShare'});esg.viewUtil.throbber.hide(true);},onFailure:function(resp){if(resp.status==404||resp.status==410||resp.status==500)
document.location='/gallery/sharing/albumNotFound.jsp';else
document.location='/galleryerror.jsp';}}).send();},redeemProjectShare:function(onCompleteControllerEvent,shareToken){var model=this.model;var controller=this.controller;var cmd=this;var url=model.config.uris.redeemProject.replace('{shareToken}',shareToken);esg.viewUtil.throbber.show();var req=new esg.utility.Request({url:url,secure:false,method:"POST",controller:controller,async:true,onSuccess:function(text,xml){var xmlDoc=esg.utility.loadXMLString(text.toString().replace(/^\s+|\s+$/g,'').replace(/ns2:/g,''));var redeemXML=xmlDoc.getElementsByTagName('pp_project');if(redeemXML.length<1);document.location.replace('/galleryerror.jsp');var attrib=(redeemXML[0])?redeemXML[0].getAttribute('pp_projectid'):null;var projId=(attrib&&attrib.length>0)?attrib:null;if(esg.share.model.projectMetaData.projectId&&projId){esg.share.model.projectMetaData.setProjectIdDirectly(projId);}
esg.share.controller.execute(onCompleteControllerEvent,{type:'redeemShare'});esg.viewUtil.throbber.hide();},onFailure:function(resp){if(resp.status==404||resp.status==401||resp.status==410||resp.status==500)
document.location.replace('/gallery/sharing/projectNotFound.jsp');else
document.location.replace('/galleryerror.jsp');}}).send();},anonymousRedeemShare:function(onCompleteControllerEvent,shareToken){var model=this.model;var controller=this.controller;var cmd=this;var url=model.config.uris.anonymousRedeem.replace('{shareToken}',shareToken);esg.viewUtil.throbber.show();var req=new esg.utility.Request({url:url,secure:false,method:"GET",controller:controller,onSuccess:function(text,xml){var xmlDoc=esg.utility.loadXMLString(text.toString().replace(/^\s+|\s+$/g,'').replace(/ns2:/g,''));var albumXML=xmlDoc.getElementsByTagName('ShareEmail');if(albumXML.length<1)
document.location.replace('/galleryerror.jsp');var item=albumXML[0];var id=(item.getElementsByTagName('albumId')&&item.getElementsByTagName('albumId').length>0)?item.getElementsByTagName('albumId')[0].firstChild.nodeValue:'';var projId=(item.getElementsByTagName('projectid')&&item.getElementsByTagName('projectid').length>0)?item.getElementsByTagName('projectid')[0].firstChild.nodeValue:'';var projType=(item.getElementsByTagName('projectType')&&item.getElementsByTagName('projectType').length>0)?item.getElementsByTagName('projectType')[0].firstChild.nodeValue:'';var title=(item.getElementsByTagName('name')&&item.getElementsByTagName('name').length>0)?item.getElementsByTagName('name')[0].firstChild.nodeValue:'';var ownerId=item.getElementsByTagName('senderId')[0].firstChild.nodeValue;var ownerName=item.getElementsByTagName('senderName')[0].firstChild.nodeValue;var thumbURI=(item.getElementsByTagName('ImageUrl')&&item.getElementsByTagName('ImageUrl').length>0)?item.getElementsByTagName('ImageUrl')[0].firstChild.nodeValue:'';var desc=(item.getElementsByTagName('description')&&item.getElementsByTagName('description').length>0)?item.getElementsByTagName('description')[0].firstChild.nodeValue:'';var photoCount=item.getElementsByTagName('photoCount')[0].firstChild.nodeValue;var catalogInfo=(item.getElementsByTagName('catalogInfo')&&item.getElementsByTagName('catalogInfo').length>0)?item.getElementsByTagName('catalogInfo')[0].firstChild.nodeValue:'';if(esg.share.model.isProjectShare&&projId){esg.share.model.projectMetaData.initialize(projId,title,projType,thumbURI,ownerName,catalogInfo);}
else{var album=esg.share.model.album=new esg.photoPicker.model.albumEntry(id,title,desc,thumbURI,photoCount,null,null,ownerId,ownerName,null);album.allowAnon=item.getElementsByTagName('allowAnon')[0].firstChild.nodeValue=="true";}
esg.share.controller.execute(onCompleteControllerEvent,{type:'redeemAnonymousShare'});esg.viewUtil.throbber.hide(true);},onFailure:function(resp){if(resp.status==404||resp.status==401||resp.status==410||resp.status==500){if(esg.share.model.isProjectShare){document.location.replace('/gallery/sharing/projectNotFound.jsp');}
else{document.location.replace('/gallery/sharing/albumNotFound.jsp');}}
else
document.location.replace('/galleryerror.jsp');}}).send();},anonymousAlbumView:function(onCompleteControllerEvent,shareToken){var model=this.model;var controller=this.controller;var cmd=this;var url=model.config.uris.anonymousAlbumView.replace('{shareToken}',shareToken);esg.viewUtil.throbber.show();var req=new esg.utility.Request({url:url,secure:false,method:"GET",controller:controller,onSuccess:function(text,xml){var xmlDoc=esg.utility.loadXMLString(text.toString().replace(/^\s+|\s+$/g,'').replace(/ns2:/g,''));var albumXML=xmlDoc.getElementsByTagName('Album');var item=albumXML[0];if(!item)
return;var id=item.getElementsByTagName('id')[0].firstChild.nodeValue;var title=item.getElementsByTagName('name')[0].firstChild.nodeValue;var ownerId=item.getElementsByTagName('ownerId')[0].firstChild.nodeValue;var ownerName=item.getElementsByTagName('ownerName')[0].firstChild.nodeValue;var hidden=item.getElementsByTagName('hidden')[0].firstChild.nodeValue;var type=item.getElementsByTagName('type')[0].firstChild.nodeValue;var thumbUri=(item.getElementsByTagName('photoUriMediumJpeg')&&item.getElementsByTagName('photoUriMediumJpeg').length>0)?item.getElementsByTagName('photoUriMediumJpeg')[0].firstChild.nodeValue:'';var desc=(item.getElementsByTagName('description')&&item.getElementsByTagName('description').length>0)?item.getElementsByTagName('description')[0].firstChild.nodeValue:'';var photoCount=item.getElementsByTagName('pictures').length;var date=item.getElementsByTagName('userEditedDate')[0].firstChild.nodeValue;var album=esg.share.model.album=new esg.photoPicker.model.albumEntry(id,title,desc,thumbUri,photoCount,type,date,ownerId,ownerName,hidden);esg.share.controller.execute(onCompleteControllerEvent,{type:'anonymousAlbumView'});esg.viewUtil.throbber.hide();},onFailure:function(resp){document.location='/galleryerror.jsp';}}).send();},redeemShareComplete:function(){},anonymousRedeemShareComplete:function(){},anonymousAlbumViewComplete:function(){},addContact:function(){this.serviceContact("POST");},updateContact:function(){this.serviceContact("PUT");},deleteContact:function(){this.serviceContact("DELETE");},getContact:function(){this.serviceContact("GET");},serviceContact:function(method){var url=this.model.config.uris.serviceContact.replace('{id}',(this.model.contact.id)?this.model.contact.id:0);esg.viewUtil.throbber.show();var rqst=new esg.utility.Request({url:url,secure:false,method:method,data:this.model.contact.getXML(),controller:esg.share.controller,onSuccess:function(text,xml){if(esg.share.model.contact.callBack)
esg.share.controller.execute(esg.share.model.contact.callBack);esg.viewUtil.throbber.hide();}}).send();},getContactList:function(onCompleteControllerEvent){var url=this.model.config.uris.contactList
esg.viewUtil.throbber.show();var rqst=new esg.utility.JSONRequest({url:url,secure:false,method:'get',controller:esg.share.controller,onSuccess:function(json){var contactList=esg.share.model.contactList;var contacts=esg.share.model.contactList.contacts;contacts.empty();if($defined(json.Friends)&&$defined(json.Friends.friend)){if($type(json.Friends.friend)!="array")
json.Friends.friend=[json.Friends.friend];json.Friends.friend.each(function(friend,index){var contact=new Contact(friend.id,friend.firstName.trim(),friend.lastName.trim(),friend.email.trim());contacts.push(contact);});}
contactList.sort();contactList.populated=true;if(onCompleteControllerEvent)
esg.share.controller.execute(onCompleteControllerEvent,{type:'getContactList'});if(esg.share.model.contactList.callBack)
esg.share.controller.execute(esg.share.model.contactList.callBack);esg.viewUtil.throbber.hide();}}).send();},getContactListComplete:function(){},showContactListComplete:function(){esg.share.model.contactList.notifyObservers();},showContactGroupListComplete:function(){esg.share.model.contactGroupList.notifyObservers();},addContactGroup:function(){this.serviceContactGroup("POST");},updateContactGroup:function(){this.serviceContactGroup("PUT");},updateContactGroupMembers:function(){var url=this.model.config.uris.updateContactGroup.replace('{id}',(this.model.contactGroup.id)?this.model.contactGroup.id:0);esg.viewUtil.throbber.show();var rqst=new esg.utility.Request({url:url,secure:false,method:'PUT',data:this.model.contactGroup.getXML(true),controller:esg.share.controller,onSuccess:function(text,xml){if(esg.share.model.contactGroup.callBack)
esg.share.controller.execute(esg.share.model.contactGroup.callBack);esg.viewUtil.throbber.hide();}}).send();},deleteContactGroup:function(){this.serviceContactGroup("DELETE");this.model.contact.empty();},getContactGroup:function(){this.serviceContactGroup("GET");},serviceContactGroup:function(method){var url=this.model.config.uris.serviceContactGroup.replace('{id}',(this.model.contactGroup.id)?this.model.contactGroup.id:0);esg.viewUtil.throbber.show();var rqst=new esg.utility.Request({url:url,secure:false,method:method,data:this.model.contactGroup.getXML((method=="POST")),controller:esg.share.controller,onSuccess:function(text,xml){if(esg.share.model.contactGroup.callBack)
esg.share.controller.execute(esg.share.model.contactGroup.callBack);esg.viewUtil.throbber.hide();},onFailure:function(resp){esg.viewUtil.throbber.hide();if(resp.status=='409'){esg.share.controller.execute('showError',{'message':'The group name you entered already exists. Please try again with a unique group name.'});}}}).send();},getContactGroupList:function(onCompleteControllerEvent){var url=this.model.config.uris.contactGroupList;esg.viewUtil.throbber.show();var rqst=new esg.utility.JSONRequest({url:url,secure:false,method:'get',controller:esg.share.controller,onSuccess:function(json){var contactGroupList=esg.share.model.contactGroupList
var contactGroups=esg.share.model.contactGroupList.contactGroups;contactGroups.empty();if($defined(json.FriendGroups)&&$defined(json.FriendGroups.friendGroup)){if($type(json.FriendGroups.friendGroup)!="array")
json.FriendGroups.friendGroup=[json.FriendGroups.friendGroup];json.FriendGroups.friendGroup.each(function(friendGroup,index){var members=[];if($defined(friendGroup.members)&&($defined(friendGroup.members.friend))){if($type(friendGroup.members.friend)=="array")
friendGroup.members.friend.each(function(friend,index){var member=new Contact(friend.id,friend.firstName.trim(),friend.lastName.trim(),friend.email.trim());members.push(member);});else{var friend=friendGroup.members.friend;var member=new Contact(friend.id,friend.firstName.trim(),friend.lastName.trim(),friend.email.trim());members.push(member);}}
var contactGroup=new ContactGroup(friendGroup.id,friendGroup.name.trim(),members);contactGroups.push(contactGroup);});}
contactGroupList.sort();contactGroupList.populated=true;if(esg.share.model.contactGroupList.callBack)
esg.share.controller.execute(esg.share.model.contactGroupList.callBack);if(onCompleteControllerEvent){esg.share.controller.execute(onCompleteControllerEvent);esg.viewUtil.throbber.hide();}
esg.viewUtil.throbber.hide();}}).send();},scrollContactList:function(letter){var contactAlphaList=this.model.contactListAlpha;var alpha=esg.utility.constants.alphabet;var index=alpha.indexOf(letter);while(!contactAlphaList.contains(letter)){if(++index>=alpha.length)
return;letter=alpha[index];}
document.location.hash='con'+letter.toUpperCase();},showContactOption:function(contactIndex){var timers=this.model.contactListActionTimers;var e=$('contactOptions'+contactIndex);if(!e)return;if(timers[contactIndex]!=0&&!isNaN(timers[contactIndex])){clearTimeout(timers[contactIndex]);timers[contactIndex]=0;}
timers.each(function(cur,index){if(cur!=0&&!isNaN(cur)){clearTimeout(cur);esg.share.controller.execute("hideContactOptionAction",{"contactIndex":index});}});e.tween('opacity','1');},hideContactOption:function(contactIndex){var timers=this.model.contactListActionTimers;if(timers[contactIndex]!=0&&!isNaN(timers[contactIndex])){clearTimeout(timers[contactIndex]);}
timers[contactIndex]=(function(){esg.share.controller.execute("hideContactOptionAction",{'contactIndex':contactIndex});}).delay(2000)},hideContactOptionAction:function(contactIndex){var timers=this.model.contactListActionTimers;timers[contactIndex]=0;var e=$('contactOptions'+contactIndex);if(!e)return;e.tween('opacity',0);},showContactGroupContact:function(groupIndex,contactIndex){var timers=this.model.contactGroupContactListActionTimers;var e=$$('li#contactGroupContact'+groupIndex+'_'+contactIndex+' a.deleteContact')[0];if(!e)return;if(timers[contactIndex]!=0&&!isNaN(timers[contactIndex])){clearTimeout(timers[contactIndex]);timers[contactIndex]=0;}
timers.each(function(cur,index){if(cur!=0&&!isNaN(cur)){clearTimeout(cur);esg.share.controller.execute("hideContactGroupContactAction",{"groupIndex":groupIndex,"contactIndex":index});}});e.fade('in');},hideContactGroupContact:function(groupIndex,contactIndex){var timers=this.model.contactGroupContactListActionTimers;if(timers[contactIndex]!=0&&!isNaN(timers[contactIndex])){clearTimeout(timers[contactIndex]);}
timers[contactIndex]=(function(){esg.share.controller.execute("hideContactGroupContactAction",{"groupIndex":groupIndex,"contactIndex":contactIndex});}).delay(2000);},hideContactGroupContactAction:function(groupIndex,contactIndex){var timers=this.model.contactGroupContactListActionTimers;timers[contactIndex]=0;var e=$$('li#contactGroupContact'+groupIndex+'_'+contactIndex+' a.deleteContact')[0];if(!e)return;e.fade('out');},showAddContact:function(callBack){this.model.contact.callBack=callBack;esg.share.views.addContact.render();esg.share.controller.execute('showGroupsCover');},showEditContact:function(callBack,contactIndex,isShareDialog){this.model.contact.callBack=callBack;esg.share.views.addContact.renderEdit(contactIndex,isShareDialog);esg.share.controller.execute('showGroupsCover');},showAddContactComplete:function(){esg.share.controller.execute('showContactList',{'refresh':true});esg.share.controller.execute('showContactGroupList');esg.share.controller.execute('hideGroupsCover');},formatDate:function(input,includeTime){var del=(esg.share.model.isProjectShare)?'/':'-';if(!input){var d=new Date();var zf=esg.utility.zeroFill;var month=zf(d.getMonth()+1,2);var day=zf(d.getDate(),2);var year=d.getFullYear().toString();if(esg.share.model.isProjectShare)
return month+del+day+del+year;else
return year+del+month+del+day;}
try{var s=input.split(' ')[0].split('-');return s[0]+del+s[1]+del+s[2];}
catch(e){return null;}},toggleContactGroupDisplay:function(groupIndex){var group=this.model.contactGroupList.contactGroups[groupIndex];this.model.contactGroupContactListActionTimers=[];if(!group)
return;if(group.expanded){esg.share.views.contactGroupList.hide(groupIndex);}else{esg.share.views.contactGroupList.show(groupIndex);}},toggleShareToContactGroupDisplay:function(groupIndex){var group=this.model.contactGroupList.contactGroups[groupIndex];if(!group)
return;if(group.expanded){esg.share.views.shareDialog.hideContactGroup(groupIndex);esg.utility.redrawInIE6("#groupsList li a.groupName",500);}else{esg.share.views.shareDialog.showContactGroup(groupIndex);esg.utility.redrawInIE6("#groupsList li.open a.groupName");}},addContactToContactGroup:function(groupIndex,contactIndex){var group=this.model.contactGroupList.contactGroups[groupIndex];var contact=this.model.contactList.contacts[contactIndex];var exists=false;group.contacts.each(function(curContact,index){if(curContact.id==contact.id)
exists=true;});if(exists)
return;group.contacts.push(contact);group.sort();esg.share.views.contactGroupList.renderNewContact(groupIndex);this.model.contactGroup=group;esg.share.commands.updateContactGroupMembers();},deleteContactFromContactGroup:function(groupIndex,contactIndex){var group=this.model.contactGroupList.contactGroups[groupIndex];var contact=this.model.contactList.contacts[contactIndex];group.contacts.splice(contactIndex,1);group.sort();esg.share.views.contactGroupList.renderNewContact(groupIndex);this.model.contactGroup=group;esg.share.controller.execute('updateContactGroupMembers');},createContactGroup:function(){var groupName=$('newGroupName');groupName.value=groupName.value.trim();if(groupName.value==''||groupName.value=='Group name'){esg.share.controller.execute('showError',{'message':'Please enter a group name.'});return;}
var exists=false;esg.share.model.contactGroupList.contactGroups.each(function(group){if(exists)
return;if(group.name.toLowerCase()==groupName.value.toLowerCase())
exists=true;});if(exists){esg.share.controller.execute('showError',{'message':'The group name you entered already exists. <br/> Please enter a new group name.'});return;}
this.model.contactGroup=new ContactGroup();this.model.contactGroup.name=groupName.value;this.model.contactGroup.callBack='createContactGroupComplete';esg.share.controller.execute('addContactGroup');groupName.value='Group Name';},createContactGroupComplete:function(){esg.share.controller.execute('showContactGroupList',{'callback':'createContactGroupComplete2'});},createContactGroupComplete2:function(){esg.share.model.contactGroupList.refresh=true;esg.share.model.contactGroupList.notifyObservers();var groups=this.model.contactGroupList.contactGroups;var newGroup=this.model.contactGroup;var groupIndex=0;groups.each(function(curGroup,index){if(curGroup.id==newGroup.id||curGroup.name==newGroup.name){groupIndex=index;return;}});esg.share.controller.execute('toggleContactGroupDisplay',{'groupIndex':groupIndex,'newGroup':true});},removeContactGroup:function(groupIndex){var group=this.model.contactGroupList.contactGroups[groupIndex];group.callBack='showContactGroupList';this.model.contactGroup=group;esg.share.model.contactGroupList.refresh=true;var error=esg.share.model.error;error.message='Are you sure you would like to delete this group?';error.callBack="deleteContactGroup";esg.share.controller.execute("showConfirm");},changeContactGroupName:function(groupIndex){esg.share.model.contactGroup=esg.share.model.contactGroupList.contactGroups[groupIndex];esg.share.views.contactGroupList.showEditGroup();},processChangeContactGroupName:function(){var group=esg.share.model.contactGroup;var newName=$('editGroupName').value;if(!newName||newName==group.name){esg.share.views.contactGroupList.hideEditGroup();return;}
var oldName=group.name;group.name=newName;group.callBack='showContactGroupList';var exists=false;esg.share.model.contactGroupList.contactGroups.each(function(curGroup){if(exists||curGroup.id==group.id)
return;if(curGroup.name.toLowerCase()==group.name.toLowerCase())
exists=true;});if(exists){esg.share.views.contactGroupList.hideEditGroup();group.name=oldName;esg.share.controller.execute('showError',{'message':'The group name you entered already exists. <br/> Please enter a new group name.','callBack':esg.share.views.contactGroupList.showEditGroup});return;}
esg.share.model.contactGroupList.refresh=true;esg.share.controller.execute('updateContactGroup');esg.share.views.contactGroupList.hideEditGroup();},updateChangeContactGroupName:function(){var group=esg.share.model.contactGroup;var input=$('editGroupName');var button=$('editGroupYes');var newName=$('editGroupName').value.trim();if((!newName||newName==group.name)&&!button.hasClass('disabledbutton')){button.addClass('disabledbutton');return;}
if(button.hasClass('disabledbutton')&&$('editGroupName').value!='Group name')
button.removeClass('disabledbutton')},updateShareAutoComplete:function(searchTerm){var autoComplete=this.model.shareAutoComplete;var groups=this.model.contactGroupList;var contacts=this.model.contactList;if(!searchTerm)
searchTerm=autoComplete.searchTerm;else
searchTerm=searchTerm.replace(/\\/g,'\\\\').replace(/\+/g,'\\+').replace(/\|/g,'\\|').replace(/\'/g,'\\\'').replace(/\"/g,'\\\"');if(searchTerm.length>2)
autoComplete.setSearchTerm(searchTerm);else{autoComplete.setSearchTerm('');autoComplete.notifyObservers();return;}
if(!contacts.populated){esg.share.controller.execute('getContactList',{'callback':'updateShareAutoComplete'});return;}
if(!groups.populated){esg.share.controller.execute('getContactGroupList',{'callback':'updateShareAutoComplete'});return;}
var results=[];groups.contactGroups.each(function(group){if(group.name.test('^'+searchTerm,"i")&&results.indexOf(group.name)==-1)
results.push(group.name);});contacts.contacts.each(function(contact){if(contact.firstName.test('^'+searchTerm,"i")||contact.lastName.test('^'+searchTerm,"i")&&results.indexOf(contact.getDisplayName(2))==-1)
results.push(contact.getDisplayName(2));else if(contact.email.test('^'+searchTerm,"i")&&results.indexOf(contact.getDisplayName(2))==-1)
results.push(contact.getDisplayName(2));else{var name=contact.firstName+' '+contact.lastName;if(name.test('^'+searchTerm,"i")&&results.indexOf(contact.getDisplayName(2))==-1)
results.push(contact.getDisplayName(2));}});if(results.length>9){results=results.slice(0,9);}
autoComplete.results=results;autoComplete.updated=true;autoComplete.notifyObservers();},addShare:function(onCompleteControllerEvent){var share=this.model.share;var isFBShare=('addShareForFacebookComplete'==onCompleteControllerEvent)?true:false;var url;if(esg.share.model.isProjectShare)
url=esg.share.model.config.uris.addProjectShare.replace('{projectid}',share.projectId);else
url=this.model.config.uris.addShare.replace('{id}',(this.model.contactGroup.id)?this.model.contactGroup.id:0);esg.viewUtil.throbber.show();var rqst=new esg.utility.Request({url:url,secure:false,method:'POST',data:share.getXML(),controller:esg.share.controller,onSuccess:function(text,xml){var xmlDoc=esg.utility.loadXMLString(text.toString().replace(/^\s+|\s+$/g,'').replace(/ns2:/g,''));if(!esg.share.model.isProjectShare)esg.share.model.share.albumId=xmlDoc.getElementsByTagName('albumId')[0].firstChild.nodeValue;if(isFBShare)esg.share.model.shareToken=xmlDoc.getElementsByTagName('shareToken')[0].firstChild.nodeValue;if(onCompleteControllerEvent)
esg.share.controller.execute(onCompleteControllerEvent);esg.viewUtil.throbber.hide();}}).send();},addShareComplete:function(){},addShareForFacebookComplete:function(){var share=esg.share.model.share;share.photoThumb=share.photoThumb.replace('SM','ALB');share.photoThumb=esg.photoPicker.model.mockObjects?"http://www.kodakgallery.com/imaging-site/services/doc/4964:161437436406/jpeg/ALB/.jpg":share.photoThumb+"/.jpg";var partitionIdBegin=share.photoThumb.indexOf('doc')+4;var partitionIdEnd=share.photoThumb.lastIndexOf(':');var partitionId=share.photoThumb.substring(partitionIdBegin,partitionIdEnd);var thumbFirstHalf=share.photoThumb.substring(0,partitionIdBegin);var thumbLastHalf=share.photoThumb.substring(partitionIdEnd+1);var fullRedoneThumb=thumbFirstHalf+thumbLastHalf+'?p='+partitionId;share.photoThumb=fullRedoneThumb;var link;if(this.model.isFBdirect){link=esg.share.model.config.uris.projectFacebookRedirect;linkQueryStr="?fbTitle="+share.name+"&fbDescription="+share.message+"&NoShare=true&fbThumbURI="+share.photoThumb;}
else{link=esg.share.model.config.uris.slideShowFacebookRedirect;linkQueryStr="?token="+esg.share.model.shareToken+"&fbTitle="+share.name+"&fbDescription="+share.message+"&fbThumbURI="+share.photoThumb;}
link=esg.photoPicker.model.mockObjects?link:"http://"+document.location.host+link;link+=encodeURIComponent(linkQueryStr);this.facebookWindow.document.location.replace('http://www.facebook.com/sharer.php?u='+link);esg.share.controller.execute("hideShareDialog");},showShareDialog:function(){if(!this.model.isFBdirect)
esg.share.controller.execute('updateShareAutoComplete',{'searchTerm':''});esg.share.views.shareDialog.show();},hideShareDialog:function(){esg.share.views.shareDialog.hide();},updateShareCharacterCount:function(data){var domHandle=$(data.elem);var len=data.len;if(domHandle.value.length>len){domHandle.value=domHandle.value.substring(0,len);}
if(domHandle.name=='shareMessage'){var remaining=len-domHandle.value.length;var remainingText=((esg.share.model.isProjectShare)?'['+remaining+']':remaining)+' characters remaining';$('shareMessageLength').set('html',remainingText);}},changeShareAutoCompleteSelection:function(key){var results=esg.share.model.shareAutoComplete.results;var selected=$$('#shareAutoComplete ul li.selected');var selectedIndex=-1;if(selected&&selected.length>0){selected=selected[0];selected.removeClass('selected');selectedIndex=selected.id.replace('sac','');}
switch(key){case'esc':esg.share.views.shareDialog.hideAutoComplete();break;case'enter':esg.share.controller.execute('selectShareAutoCompleteOption',{'selectedIndex':selectedIndex});break;case'down':if(++selectedIndex>=results.length)
selectedIndex=0;if($('sac'+selectedIndex))
$('sac'+selectedIndex).addClass('selected');break;case'up':if(--selectedIndex<0)
selectedIndex=results.length-1;if($('sac'+selectedIndex))
$('sac'+selectedIndex).addClass('selected');break;}},selectShareAutoCompleteOption:function(selectedIndex){var text=$('shareContacts');var autoComplete=esg.share.model.shareAutoComplete;var val=text.value.replace('\n','');if(val.length==0||!selectedIndex||autoComplete.results.length==0)
return;if(val.lastIndexOf(',')!=-1||val.lastIndexOf(';')!=-1)
val=val.substring(0,Math.max(val.lastIndexOf(','),val.lastIndexOf(';'))+1);else
val='';val+=((val.length!=0)?' ':'')+autoComplete.results[selectedIndex];text.value=val;esg.share.controller.execute('cleanShareContacts');this.setCaretPosition(text,text.value.length);esg.share.views.shareDialog.hideAutoComplete();autoComplete.setSearchTerm('');},setCaretPosition:function(elem,caretPos){if(elem!=null){if(elem.createTextRange){var range=elem.createTextRange();range.move('character',caretPos);range.select();}
else{if(elem.selectionStart){elem.focus();elem.setSelectionRange(caretPos,caretPos);}
else
elem.focus();}}},getContactPageItemHeight:function(){var minHeight=(Browser.Engine.trident)?382:343;var clHeight=($('contactsList'))?$('contactsList').clientHeight:-1;var glHeight=($('groupsList'))?$('groupsList').clientHeight:-1;var minHeight2=Math.max(clHeight,glHeight);if(minHeight2==-1)
minHeight2=999999;var browserHeight=(document.body.clientHeight-346);return Math.max(Math.min(minHeight2,browserHeight),minHeight);},updateContactGroupDisplayHeight:function(){if(Browser.Engine.trident&&Browser.Engine.version==4)
return;var height=esg.share.commands.getContactPageItemHeight();if($('groupsInner'))
$('groupsInner').style.height=height+'px';;if($('groupsCover')&&$('groupsCover').style.display=='block')
esg.share.controller.execute('showGroupsCover');$('contacts').style.height=(height+59)+'px';},updateContactDisplayHeight:function(){if(Browser.Engine.trident&&Browser.Engine.version==4)
return;var height=esg.share.commands.getContactPageItemHeight();if($('contactsInner'))
$('contactsInner').style.height=height+'px';;if($('alphaList'))
$('alphaList').style.height=height+'px';if($('contactsOuterWrapper'))
$('contactsOuterWrapper').style.height=height+'px';$('groups').style.height=(height+59)+'px';},startClosedGroupDragover:function(groupIndex){var timer=esg.share.model.contactGroupDragoverTimer;timer.groupId=groupIndex;if(timer.timerId!=''){clearTimeout(timer.timerId);}
timer.timerId=(function(){esg.share.controller.execute('completeClosedGroupDragover',{groupIndex:groupIndex});}).delay(500);},completeClosedGroupDragover:function(groupIndex){var timer=esg.share.model.contactGroupDragoverTimer;esg.share.controller.execute('toggleContactGroupDisplay',{'groupIndex':groupIndex});timer.groupId='';timer.timerId='';},stopClosedGroupDragover:function(groupIndex){var timer=esg.share.model.contactGroupDragoverTimer;clearTimeout(timer.timerId);timer.groupId='';timer.timerId='';},showShareToDialog:function(){esg.share.controller.execute('updateShareAutoComplete',{'searchTerm':''});esg.share.views.shareDialog.showTo();},hideShareToDialog:function(){esg.share.views.shareDialog.hideTo();},showGroupsCover:function(){if(!$('groupsCover')||!$('groups'))
return;if(Browser.Engine.trident4||Browser.Engine.trident5)
{$('groupsCover').style.left=($('groups').offsetLeft+2)+'px';$('groupsCover').style.top=($('groups').getPosition().y)+'px';}
else
{$('groupsCover').style.left=($('groups').offsetLeft)+'px';$('groupsCover').style.top=($('groups').offsetTop)+'px';}
$('groupsCover').style.width=($('groups').offsetWidth)+'px';$('groupsCover').style.height=($('groups').offsetHeight)+'px';$('groupsCover').style.display='block';},hideGroupsCover:function(){if(!$('groupsCover')||!$('groups'))
return;$('groupsCover').style.display='none';},populateShareToOther:function(){var model=esg.share.model;var share=model.share;share.addNewContact(null,null,model.constants.SHARE_POST_OTHER_EMAIL_RECIPIENT);share.name=share.name||esg.share.views.defaultShareAlbumName();share.message=(model.isFBdirect)?"You are invited to view my online photos at the KODAK Gallery. Enjoy!":"";share.subject="Share to Other Sites";},launchFacebookPopUp:function(){esg.share.controller.execute('addShare',{'callback':'addShareForFacebookComplete'});},switchShareView:function(view){esg.share.model.setWhichTab(view);switch(view){case'email':var postBtn=$('shareSend');postBtn.addClass('disabledbutton');postBtn.removeEvents('click');postBtn.addEvent('click',function(e){e.stop();esg.share.controller.execute("processShareDialog");});postBtn.set('html','<span>Send</span>');var val=$('shareContacts').value;if(val.length==0)
postBtn.getFirst().setStyle('cursor','default');else{postBtn.getFirst().setStyle('cursor','pointer');postBtn.removeClass('disabledbutton');}
if(!esg.share.model.isProjectShare){$('emailShareTab').addClass('current');$('postOtherTab').removeClass('current');$('postOtherInner').style.display='none';}
$('shareEmailInner').style.display='block';if($('shareToCancel')&&$('shareToCancel').hasClass('disabledbutton'))
$('shareToCancel').removeClass('disabledbutton');if($('shareFooter')&&$('shareFooter').style.display!='block')
$('shareFooter').setStyle('display','block');break;case'other':console.info('other');var postBtn=$('shareSend');var share=esg.share.model.share;var innerHTML='<span>Share on Facebook</span>';postBtn.addClass('disabledbutton');postBtn.removeEvents('click');postBtn.addEvent('click',function(e){e.stop();if($('optOutInput').checked==true){esg.share.commands.facebookWindow=null;esg.share.commands.facebookWindow=window.open('/A/Kodak_Gallery_Media/creativeapps/share/html/facebookWait.html','facebook','location=0,toolbar=0,status=0,menubar=0,titlebar=0,width=626,height=436,resizable=no,scrollbars=no');if(esg.share.model.isFBdirect)
esg.share.controller.execute("addShareForFacebookComplete");else
esg.share.controller.execute('launchFacebookPopUp');}});console.info('edited');$('footerInfo').style.display='none';postBtn.set('html',innerHTML);postBtn.getFirst().setStyle('cursor','default');console.info(postBtn.getStyle('cursor'));this.populateShareToOther();if($('postOtherTab')){$('postOtherTab').addClass('current');$('emailShareTab').removeClass('current');}
$('shareEmailInner').style.display='none';$('postOtherInner').style.display='block';$('optOutInput').set('checked',false);break;}},switchShareToView:function(view,contactId,editContact){var contactTab=$('contactTab');var contacts=$('contactsInner');var groups=$('groupsInner');var groupTab=$('groupTab');var contactEditTab=$('contactsAddWrapper');if(view=='contacts'){$('contactTab').addClass('current');$('groupTab').removeClass('current');$('groupsInner').style.display='none';$('contactsInner').style.display='block';$('contactsAddWrapper').style.display='block';if($('shareToCancel')&&$('shareToCancel').hasClass('disabledbutton'))
$('shareToCancel').removeClass('disabledbutton');if(editContact)
esg.share.views.addContact.slideOut();}else if(view=='groups'){$('groupTab').addClass('current');$('contactTab').removeClass('current');esg.share.views.addContact.slideOut();$('contactsInner').style.display='none';$('contactsAddWrapper').style.display='none';$('groupsInner').style.display='block';if($('shareToCancel')&&$('shareToCancel').hasClass('disabledbutton'))
$('shareToCancel').removeClass('disabledbutton');}else if(view='editContact'){$('shareToCancel').addClass('disabledbutton');esg.share.controller.execute('showEditContact',{'callback':'refreshShareToContacts','contactIndex':contactId,'isShareDialog':true});}},refreshShareToContacts:function(){esg.share.controller.execute('getContactList',{'callback':'refreshShareToContactsComplete'});},refreshShareToContactsComplete:function(){esg.share.views.shareDialog.refreshContacts();this.switchShareToView('contacts',null,true);},toggleShareToAddEnabled:function(e){var contacts=$$('#contactsList li input');var groups=$$('#groupsList ul.groupContact li input');var enabled=false;var add=$('shareToAdd');contacts.each(function(cur){if(enabled)
return;enabled=cur.checked;});if(!enabled){groups.each(function(cur){if(enabled)
return;enabled=cur.checked;});}
if(enabled){if(add.hasClass('disabledbutton'))
add.removeClass('disabledbutton');}
else{if(!add.hasClass('disabledbutton'))
add.addClass('disabledbutton');}
var currentContacts=$$(e.target.getParent().getParent().getElementsByTagName('input'));var currentGroup=e.target.getParent().getParent().getParent().getParent().getElementsByTagName('input')[0];if(currentGroup.checked){enabled=false;currentContacts.each(function(cur){if(enabled)
return;enabled=cur.checked;});if(!enabled)
currentGroup.checked=false;}},processShareToDialog:function(){var share=new Share();var contacts=$$('#contactsList li input');var groups=$$('#groupsList ul.groupContact li input');var text=$('shareContacts');contacts.each(function(cur){if(!cur.checked)
return;cur.checked=false;var index=cur.id.replace('ccb','');var contact=esg.share.model.contactList.contacts[index];share.addContact(contact);});groups.each(function(cur){if(!cur.checked)
return;cur.checked=false;var indexes=cur.id.replace('cgc','').split('_');var contact=esg.share.model.contactGroupList.contactGroups[indexes[0]].contacts[indexes[1]];share.addContact(contact);});groups=$$('#groupsList li input.groupCheckBox');groups.each(function(cur){cur.checked=false;});share.sort();var contactList=share.contactList.contacts;var contactStr='';contactList.each(function(contact){contactStr+=contact.getDisplayName(2)+'; ';});contactStr=contactStr.substring(0,contactStr.length-2);var curVal=text.value.trim();if(curVal.length>0&&!(curVal.lastIndexOf(',')==(curVal.length-1)||curVal.lastIndexOf(';')==(curVal.length-1))){curVal+='; ';}
else if(curVal.length>0)
curVal+=' ';curVal+=contactStr;text.value=curVal;esg.share.controller.execute('cleanShareContacts');esg.share.controller.execute('hideShareToDialog');},parseShareContacts:function(input){var val=(input)?input:$('shareContacts').value;var share=new Share();var contacts=val.replace(/,/g,';').replace(/&lt;/g,'<').replace(/&gt;/g,'>').split(';');var nameEmailRegex=/^(.*)\s(.*)\s<([_\w\.\-\+]+@[\w\.-]+\.[a-z]{2,6})>$/;var firstNameEmailRegex=/^(.*)\s<([_\w\.\-\+]+@[\w\.-]+\.[a-z]{2,6})>$/;var emailRegex=/^([_\w\.\-\+]+@[\w\.-]+\.[a-z]{2,6})$/;contacts.each(function(cur){cur=cur.trim();var res;if((res=nameEmailRegex.exec(cur))!=null){share.addNewContact(res[1],res[2],res[3]);}else if((res=firstNameEmailRegex.exec(cur))!=null){share.addNewContact(res[1],'',res[2]);}else if((res=emailRegex.exec(cur))!=null){share.addNewContact(null,null,res[1]);}
else{res=esg.share.model.contactGroupList.findGroupByName(cur);if(res!=null)
share.addContactGroup(res);}});return share;},cleanShareContacts:function(){var share=esg.share.commands.parseShareContacts();var contactList=share.contactList.contacts;var contactStr='';contactList.each(function(contact){contactStr+=contact.getDisplayName(2)+'; ';});contactStr=contactStr.substring(0,contactStr.length-2);contactStr=contactStr.replace(/&lt;/g,'<').replace(/&gt;/g,'>');$('shareContacts').value=contactStr+((contactStr.length>0)?'; ':'');if(contactStr.length>0&&$('shareSend').hasClass('disabledbutton')){$('shareSend').removeClass('disabledbutton');$('shareSend').getFirst().setStyle('cursor','pointer');}
if(contactStr.length==0&&!$('shareSend').hasClass('disabledbutton')){$('shareSend').addClass('disabledbutton');$('shareSend').getFirst().setStyle('cursor','default');}},getSignInStatus:function(onCompleteControllerEvent){var share=esg.share.model.share;var photos=share.photos;var albums=share.albums;var photosList;if(photos.length>0)
{photosList=esg.utility.xmlSerializer.serialize(photos,'ids');photosList=photosList.replace(/ids/gi,'pictures');}
else if(albums.length>0)
{photosList=esg.utility.xmlSerializer.serialize(albums[0],'albumId');}
var xmlPhotosList='<ShareSignInStatus xmlns="http://namespace.kodakgallery.com/site/20080402/Picture">'+photosList+'</ShareSignInStatus>';var url=this.model.config.uris.getSignInStatus;console.info(xmlPhotosList);var rqst=new esg.utility.Request({url:url,secure:false,method:'POST',data:xmlPhotosList,controller:esg.share.controller,onSuccess:function(text,xml){esg.share.model.share.requireSignIn=xml.getElementsByTagName('signInRequired')[0].firstChild.nodeValue=='true';console.info(esg.share.model.share.requireSignIn);if(onCompleteControllerEvent)
esg.share.controller.execute(onCompleteControllerEvent);}}).send();},processShareDialog:function(){var contactsShare=esg.share.commands.parseShareContacts();var share=esg.share.model.share;var albumName=$('shareAlbumName').value;var subject=$('shareSubject').value;var message=$('shareMessage').value;var requireSignIn=($('shareRequireLogin'))?$('shareRequireLogin').checked:share.requireSignIn;if(contactsShare.contactList.contacts.length==0){esg.share.controller.execute('showError',{'message':'You must choose at least one valid recepient.'});return;}
albumName=esg.utility.sanitizeOutput(albumName);if(albumName.length==0){var errMsg="You must enter {what} name to continue.";errMsg=(esg.share.model.isProjectShare)?errMsg.replace('{what}','a project'):errMsg.replace('{what}','an album');esg.share.controller.execute('showError',{'message':errMsg});return;}
if(subject.length==0){esg.share.controller.execute('showError',{'message':'You must enter a subject to continue.'});return;}
share.contactList=contactsShare.contactList;share.name=albumName;share.subject=subject;share.message=message;share.requireSignIn=requireSignIn;esg.share.controller.execute('addShare',{'callback':'processShareDialogComplete'});},addShareContacts:function(){if(esg.share.model.contact!=null){esg.share.model.contactGroup.contacts.push(esg.share.model.contact);}
var contactList=esg.share.model.tempContactList;if(contactList.contacts.length<1){esg.share.controller.execute('processShareDialogComplete');return;}
var contact=esg.share.model.contact=contactList.contacts.pop();contact.callBack="addShareContacts";esg.share.controller.execute("addContact");},processShareDialogComplete:function(){esg.share.controller.execute('hideShareDialog');esg.share.controller.execute('getContactList',{'callback':'showShareCompleteDialog'});},showShareCompleteDialog:function(){esg.share.views.shareDialog.renderCompleteDialog();esg.share.views.shareDialog.showCompleteDialog();},hideShareCompleteDialog:function(){esg.share.views.shareDialog.hideCompleteDialog();if(esg.share.model.share.callback)
esg.share.controller.execute(esg.share.model.share.callBack);},isShowMultipleShareCompleteDialog:function(){var share=esg.share.model.share;var groupList=esg.share.model.contactGroupList.contactGroups;if(share.contactList.contacts.length<2)
return false;var match=false;var isMatchingGroup=function(shareList,contacts){var match=true;for(var i=0;i<contacts.length;i++){if(shareList[i].email!=contacts[i].email){match=false;break;}}
return match;};var shareList=share.contactList.contacts.sort(esg.utility.alphaNumericSort.bind({'property':'email'}));for(var i=0;i<groupList.length;i++){var group=groupList[i];if(group.contacts.length!=shareList.length)
continue;var contacts=group.contacts.sort(esg.utility.alphaNumericSort.bind({'property':'email'}));match=isMatchingGroup(shareList,contacts);if(match)
break;}
return!match;},processShareCompleteDialog:function(){var groupName=$('groupName').value.trim();if(groupName=='Group name'||groupName.length<1){esg.share.controller.execute('showError',{'message':'You must enter a group name.','callBack':function(){esg.share.controller.execute('hideError');}});return;}
var exists=false;esg.share.model.contactGroupList.contactGroups.each(function(group){if(exists)
return;if(group.name.toLowerCase()==groupName.toLowerCase())
exists=true;});if(exists){esg.share.controller.execute('showError',{'message':'The group name you entered already exists. Please enter a new group name.','callBack':function(){esg.share.controller.execute('hideError');}});return;}
var contacts=$$('#newGroupContacts li input');var checkedContacts=[];contacts.each(function(cur,index){if(cur.checked)
checkedContacts.push($(cur.id.replace('ngc','ngt')).innerHTML);});if(checkedContacts.length==0){alert('Please select at least one contact to add.');}
esg.viewUtil.throbber.show();var group=esg.share.model.contactGroup=new ContactGroup();group.name=groupName;var contactList=esg.share.model.tempContactList=esg.share.commands.parseShareContacts(checkedContacts.toString()).contactList;contactList.contacts.each(function(contact,index){var existingContact=esg.share.model.contactList.findContactByEmail(contact.email);if(existingContact){group.contacts.push(existingContact)}});var group=esg.share.model.contactGroup;group.callBack="processShareCompleteDialogComplete";esg.share.controller.execute("addContactGroup");},processShareCompleteDialogComplete:function(){esg.viewUtil.throbber.hide();esg.share.controller.execute("hideShareCompleteDialog");},showError:function(message,header,callBack){var error=esg.share.model.error;error.message=error.header=error.callBack='';if(message)
error.message=message;if(header)
error.header=header;if(callBack)
error.callBack=callBack;esg.share.views.error.show();},showConfirm:function(message,header,callBack){if(message)
esg.share.model.error.message=message;if(header)
esg.share.model.error.header=header;if(callBack)
esg.share.model.error.callBack=callBack;esg.share.views.error.showConfirm();},hideError:function(){esg.share.views.error.hide();},isSlideshowPage:function(){return document.location.href.toLowerCase().contains('main.jsp');},showSlideshowWelcome:function(shareToken){if(!shareToken){shareToken=esg.utility.getParameter('token');}
if(!shareToken&&esg.utility.getParameter('c')&&esg.utility.getParameter('y'))
esg.share.commands.generateShareTokenFromSS({async:false});else
esg.share.commands.commenceShareRedeemProcessing(shareToken);},commenceShareRedeemProcessing:function(shareToken){if(!shareToken)
shareToken=-1;esg.share.model.shareToken=shareToken;esg.share.model.isProjectShare=(esg.utility.getQsValue('type')&&esg.utility.getQsValue('type')=='product')?true:false;if(esg.ident&&$defined(esg.ident.model.isAnon)&&!esg.ident.model.isAnon){if(esg.share.model.isProjectShare)
esg.share.controller.execute('anonymousRedeemShare',{'shareToken':shareToken,'callBack':'handleProjectShareRedeem'});else
esg.share.controller.execute('redeemShare',{'shareToken':shareToken,'callBack':'slideshowRedirect'})}
else{esg.share.controller.execute('anonymousRedeemShare',{'shareToken':shareToken,'callBack':(esg.share.model.isProjectShare)?'handleProjectShareRedeem':'showSlideshowWelcome2'});}},showSlideshowWelcome2:function(){if($defined(esg.share.model.album.allowAnon)&&esg.share.model.album.allowAnon)
esg.share.controller.execute('slideshowRedirect');else{esg.share.controller.execute('showSlideshowWelcome3');}},showSlideshowWelcome3:function(){if(esg.share.commands.isSlideshowPage()){esg.share.commands.landingPageRedirect();}
else{esg.share.views.slideShow.renderStart();}},handleProjectShareRedeem:function(){if(esg.ident&&$defined(esg.ident.model.isAnon)&&!esg.ident.model.isAnon)
esg.share.controller.execute('redeemProjectShare',{'shareToken':esg.share.model.shareToken,'callBack':'projectShareRedirect'})
else
esg.share.views.projectShare.render();},projectShareRedirect:function(){var redirectURL='/galleryerror.jsp';var projectData=esg.share.model.projectMetaData;switch(projectData.projectType){case'spm':redirectURL=esg.share.model.config.uris.shareProjectSPMRedirect.replace('{catId}',projectData.categoryId).replace('{productId}',projectData.productId).replace('{skuId}',projectData.skuId).replace('{projectId}',projectData.projectId);break;case'photoBook':redirectURL=esg.share.model.config.uris.shareProjectPhotobooksRedirect.replace('{projectId}',projectData.projectId);break;case'calendar':redirectURL=esg.share.model.config.uris.shareProjectCalendarsRedirect.replace('{projectId}',projectData.projectId);break;default:console.info('no project type');break;}
if(!(esg.utility.getQsValue('redirect')&&esg.utility.getQsValue('redirect')=='false'))
document.location.replace(redirectURL);},showSlideshowAlbumNotFound:function(){esg.share.views.slideShow.renderAlbumNotFound();},slideshowRedirect:function(){var albumId=esg.share.model.album.id;var ownerId=esg.share.model.album.ownerId;var shareToken=esg.utility.getParameter('token');var allowAnon=($defined(esg.share.model.album.allowAnon)&&esg.share.model.album.allowAnon);if(esg.share.commands.isSlideshowPage()){launchFlexApp(albumId,ownerId,(allowAnon)?shareToken:null);}
else{var slideshowURL=esg.photoPicker.model.config.uris.slideshow+"?albumId="+albumId+'&ownerId='+ownerId+((allowAnon)?('&token='+shareToken):'');document.location.href=slideshowURL;}
return false;},landingPageRedirect:function(){var shareToken=esg.share.model.shareToken;document.location.href=esg.photoPicker.model.config.uris.landingPage+'?token='+shareToken},showSlideshowFinish:function(shareToken){if(!shareToken){shareToken=esg.utility.getParameter('token');}
if(!shareToken)
return;esg.share.model.shareToken=shareToken;esg.share.controller.execute('anonymousRedeemShare',{'shareToken':shareToken,'callBack':'showSlideshowFinish2'});},showSlideshowFinish2:function(){esg.share.views.slideShow.renderEnd();},showShareSpeedBump:function(callBack,view,disableSignIn){esg.share.views.identitySpeedBump.render(callBack,view,disableSignIn);},hideShareSpeedBump:function(){esg.share.views.identitySpeedBump.hide();},slideshowShowSignInDialog:function(view,disableSignIn,showSpeedBump,fromSpeedBump,albumId){esg.ident.views.anonUploadDialogObj.successCallback=function(){var shareToken=esg.utility.getParameter('token');esg.share.controller.execute('redeemShare',{'shareToken':shareToken,'callBack':'signinRedeemComplete'});};esg.ident.views.anonUploadDialogObj.display(function(){esg.share.model.flexApp.signInSpeedbumpCallback('','','','',true);},'');},slideshowShowShareDialog:function(albumId,photoId,photoThumb,albumName){var share=esg.share.model.share=new Share();share.callBack='slideshowShowShareDialogComplete';if(albumId&&albumId!=-1)
share.albums.push(albumId);if(photoId&&photoId!=-1)
share.photos.push(photoId);if(photoThumb)
share.photoThumb=photoThumb;if(albumName)
share.name=albumName;esg.share.controller.execute('getSignInStatus');},slideshowShowShareDialogComplete:function(){esg.share.model.flexApp.shareCallback('true');},initSlideshow:function(){var token=esg.utility.getParameter('token');if(!token&&esg.utility.getParameter('c')&&esg.utility.getParameter('y'))
esg.share.commands.generateShareTokenFromSS({async:false});else
esg.share.commands.commenceInitSlideshow(token);},commenceInitSlideshow:function(token){if(!token)
token=-1;var albumId=esg.utility.getParameter('albumId',-1);var ownerId=esg.utility.getParameter('ownerId',-1);if(albumId!=-1){launchFlexApp(albumId,ownerId,token);return;}
esg.share.model.shareToken=token;if(esg.ident&&$defined(esg.ident.model.isAnon)&&!esg.ident.model.isAnon){esg.share.controller.execute('redeemShare',{'shareToken':token,'callBack':'slideshowRedirect'})}
else{esg.share.controller.execute('anonymousRedeemShare',{'shareToken':token,'callBack':'showSlideshowWelcome2'});}},testProjectShareParams:function(projObj){var good=true;var text='The following values were submitted undefined: ';for(var p in projObj){if(!$defined(projObj[p])){good=false;text+=' ['+p+']';}};if(!good)
alert(text)},showLargerCommentPhoto:function(photoID){esg.share.views.comments.viewLarge.show(photoID);},generateShareTokenFromSS:function(optionsObj){var cVal=esg.utility.getParameter('c');var xVal=esg.utility.getParameter('x');var yVal=esg.utility.getParameter('y');var url=this.model.config.uris.legacyShareTranslate.replace('{cVal}',cVal).replace('{xVal}',xVal).replace('{yVal}',yVal);var rqst=new esg.utility.Request({url:url,method:'GET',async:optionsObj.async,onSuccess:function(text,xml){if(xml.getElementsByTagName('shareToken')[0]){var shareToken=xml.getElementsByTagName('shareToken')[0].firstChild.nodeValue;location.search='token='+shareToken;}
else{this.failure();}},onFailure:function(){if(location.href.contains('slideShow/Main.jsp'))
esg.share.commands.commenceInitSlideshow(null);else if(location.href.contains('memberLandingPage.jsp'))
esg.share.commands.commenceShowSlideshowWelcome(null);}}).send();}}
if(!esg)var esg={};if(!esg.photoPicker)esg.photoPicker={};if(!esg.photoPicker.model)esg.photoPicker.model={};if(!esg.photoPicker.model.config)esg.photoPicker.model.config={};if(!esg.photoPicker.model.config.uris)esg.photoPicker.model.config.uris={};if(!esg.photoPicker.model.config.uris.upload)esg.photoPicker.model.config.uris.upload={};esg.photoPicker.model.config.uris.printConfig="/gallery/creativeapps/printConfig/printConfig.jsp";esg.photoPicker.model.config.uris.editFromCart="/gallery/creativeapps/printConfig/editFromCart.jsp";esg.photoPicker.model.config.uris.slideshow="/gallery/creativeapps/slideShow/Main.jsp";esg.photoPicker.model.config.uris.landingPage="/gallery/sharing/memberLandingPage.jsp";esg.photoPicker.model.config.uris.storageStatus="/gallery/ma_storagestatus.jsp";var siteSvc="/site/rest";var ecomSvc="/ecomm";var imgSvc="/imaging-site";esg.photoPicker.model.config.uris.upload.html="/site/rest/v1.0/album/{albumId}/upload?upload_source={uploadSourceId}";esg.photoPicker.model.config.uris.upload.flash="/site/rest/v1.0/album/{albumId}/upload?upload_source={uploadSourceId}";esg.photoPicker.model.config.uris.upload.arrangeServiceURL="/site/rest/v1.0/album/{albumId}/arrange";esg.photoPicker.model.config.uris.listAlbums=siteSvc+"/v1.0/albumList"
esg.photoPicker.model.config.uris.listFriendsAlbums=siteSvc+"/v1.0/friendsAlbumList"
esg.photoPicker.model.config.uris.playList=siteSvc+"/v1.0/playlist/default";esg.photoPicker.model.config.uris.getAlbum=siteSvc+"/v1.0/album/{albumId}";esg.photoPicker.model.config.uris.getPhoto=siteSvc+"/v1.0/picture/{photoId}/pictureMetaDataBasic";esg.photoPicker.model.config.uris.createAlbum=siteSvc+"/v1.0/album/{albumId}";esg.photoPicker.model.config.uris.imgSvc=imgSvc+"/services/doc/{partitionId}:{photoId}/jpeg/BG";esg.photoPicker.model.config.uris.thumbUri=imgSvc+"/services/doc/{partitionId}:{photoId}/jpeg/SM";esg.photoPicker.model.config.uris.getPartnerAlbums=siteSvc+"/v1.0/partnerAlbum/sourceid/{sourceid}/album/{albumId}";esg.photoPicker.model.config.uris.slideshowSplashUri="http://cmscache.ofoto.com/publish/gallery/www/americas/en/us/fullpages/slideshow/splash.-Par-50566-Image1Ref.MC4w.jpg";if(esg.editControls&&esg.editControls.model){esg.editControls.model.config.uris.getAlbum=esg.photoPicker.model.config.uris.getAlbum;esg.editControls.model.config.uris.getFriendsAlbum=siteSvc+"/v1.0/friendsAlbum/{albumId}";esg.editControls.model.config.uris.rearrangePhoto=siteSvc+"/v1.0/album/{albumId}/arrange";esg.editControls.model.config.uris.albumMeta=siteSvc+"/v1.0/album/{albumId}/metaData";esg.editControls.model.config.uris.callPicture=siteSvc+"/v1.0/album/{albumId}/picture/{photoId}";esg.editControls.model.config.uris.rotatePicture=siteSvc+"/v1.0/album/{albumId}/picture/{photoId}/edit/rotate/{degrees}";esg.editControls.model.config.uris.callPictureCaption=siteSvc+"/v1.0/picture/{photoId}/caption";esg.editControls.model.config.uris.getPhotoEditorSWF="Wilma.swf";}
if(esg.share&&esg.share.model){esg.share.model.config.uris.guestbook=siteSvc+"/v1.0/guestbook";esg.share.model.config.uris.comments=siteSvc+"/v1.0/user/comments/ungrouped";esg.share.model.config.uris.comment=siteSvc+"/v1.0/picture/{photoId}/comment/{id}";esg.share.model.config.uris.redeem=siteSvc+"/v1.0/share/redeem/{shareToken}";esg.share.model.config.uris.redeemProject=siteSvc+"/v1.0/project/share/redeem/{shareToken}";esg.share.model.config.uris.anonymousRedeem=siteSvc+"/v1.0/share/metadata/{shareToken}";esg.share.model.config.uris.anonymousAlbumView=siteSvc+"/v1.0/album/anon?asaf={shareToken}";esg.share.model.config.uris.serviceContact=siteSvc+"/v1.0/friend/{id}";esg.share.model.config.uris.contactList=siteSvc+"/v1.0/friends";esg.share.model.config.uris.serviceContactGroup=siteSvc+"/v1.0/friendGroup/{id}";esg.share.model.config.uris.updateContactGroup=siteSvc+"/v1.0/friendGroup/{id}/members";esg.share.model.config.uris.contactGroupList=siteSvc+"/v1.0/friendGroups";esg.share.model.config.uris.addShare=siteSvc+"/v1.0/share/create";esg.share.model.config.uris.addProjectShare=siteSvc+"/v1.0/project/{projectid}/share/create";esg.share.model.config.uris.getSignInStatus=siteSvc+"/v1.0/pictures/shareSignInStatus";esg.share.model.config.uris.legacyShareTranslate=siteSvc+"/v1.0/share/legacy/translate/c/{cVal}/x/{xVal}/y/{yVal}";esg.share.model.config.uris.slideShowFacebookRedirect="/gallery/sharing/shareRedirect.jsp";esg.share.model.config.uris.projectFacebookDisplay="/gallery/sharing/cardFacebookDisplay.jsp";esg.share.model.config.uris.projectFacebookRedirect="/gallery/sharing/cardsRedirect.jsp";esg.share.model.config.uris.shareProjectPhotobooksRedirect="/gallery/creativeapps/portBooks/portBooks.jsp?projectId={projectId}&preview=true";esg.share.model.config.uris.shareProjectCalendarsRedirect="/gallery/creativeapps/calendars/calendars.jsp?projectId={projectId}&preview=true";esg.share.model.config.uris.shareProjectSPMRedirect="/gallery/creativeapps/SPM/SPM.jsp?catId={catId}&productId={productId}&skuId={skuId}&projectId={projectId}&preview=true";}
if(esg.comments&&esg.comments.model){esg.comments.model.config.uris.person=siteSvc+"/v1.0/user/{id}";esg.comments.model.config.uris.comments=siteSvc+"/v1.0/picture/{photoId}/comments";esg.comments.model.config.uris.createComment=siteSvc+"/v1.0/picture/{photoId}/comment";esg.comments.model.config.uris.updateComment=siteSvc+"/v1.0/picture/{photoId}/comment/{commentId}";esg.comments.model.config.uris.deleteComment=siteSvc+"/v1.0/picture/{photoId}/comment/{commentId}";}
if(esg.photoPullerMonitor&&esg.photoPullerMonitor.model){esg.photoPullerMonitor.model.config.uris.postPartnerDownload=siteSvc+"/v1.0/partnerDownload/sourceid/{sourceId}/start";esg.photoPullerMonitor.model.config.uris.finalizePartnerImageUpload="/gallery/finalizePartnerImageUpload.jsp";}
if(esg.photoBook&&esg.photoBook.model){esg.photoBook.model.config.uris.bookCategories=ecomSvc+"/xml/bookCategories.jsp?categoryId={categoryId}";esg.photoBook.model.config.uris.bookCategoryProducts=ecomSvc+"/xml/bookCategoryProducts.jsp?categoryId={categoryId}";esg.photoBook.model.config.uris.pageDesignList="/gallery/templates/books/pageDesignList.jsp?bookSkuId={skuId}"}
if(esg.bulkEdit&&esg.bulkEdit.model){esg.bulkEdit.model.config.uris.rearrangePhoto=siteSvc+"/v1.0/album/{albumId}/arrange";esg.bulkEdit.model.config.uris.updateCaptions=siteSvc+"/v1.0/album/{albumId}/pictures/captions";esg.bulkEdit.model.config.uris.deletePhotos=siteSvc+"/v1.0/album/{albumId}";}