sessvars=function(){var x={};x.$={prefs:{memLimit:2000,autoFlush:true,crossDomain:false,includeProtos:false,includeFunctions:false},parent:x,clearMem:function(){for(var i in this.parent){if(i!="$"){this.parent[i]=undefined}}this.flush()},usedMem:function(){x={};return Math.round(this.flush(x)/1024)},usedMemPercent:function(){return Math.round(this.usedMem()/this.prefs.memLimit)},flush:function(x){var y,o={},j=this.$$;x=x||top;for(var i in this.parent){o[i]=this.parent[i]}o.$=this.prefs;j.includeProtos=this.prefs.includeProtos;j.includeFunctions=this.prefs.includeFunctions;y=this.$$.make(o);if(x!=top){return y.length}if(y.length/1024>this.prefs.memLimit){return false}x.name=y;return true},getDomain:function(){var l=location.href;l=l.split("///").join("//");l=l.substring(l.indexOf("://")+3).split("/")[0];while(l.split(".").length>2){l=l.substring(l.indexOf(".")+1)}return l},debug:function(t){var t=t||this,a=arguments.callee;if(!document.body){setTimeout(function(){a(t)},200);return}t.flush();var d=document.getElementById("sessvarsDebugDiv");if(!d){d=document.createElement("div");document.body.insertBefore(d,document.body.firstChild)}d.id="sessvarsDebugDiv";d.innerHTML='<div style="line-height:20px;padding:5px;font-size:11px;font-family:Verdana,Arial,Helvetica;z-index:10000;background:#FFFFCC;border: 1px solid #333;margin-bottom:12px"><b style="font-family:Trebuchet MS;font-size:20px">sessvars.js - debug info:</b><br/><br/>Memory usage: '+t.usedMem()+" Kb ("+t.usedMemPercent()+'%)&nbsp;&nbsp;&nbsp;<span style="cursor:pointer"><b>[Clear memory]</b></span><br/>'+top.name.split("\n").join("<br/>")+"</div>";d.getElementsByTagName("span")[0].onclick=function(){t.clearMem();location.reload()}},init:function(){var o={},t=this;try{o=this.$$.toObject(top.name)}catch(e){o={}}this.prefs=o.$||t.prefs;if(this.prefs.crossDomain||this.prefs.currentDomain==this.getDomain()){for(var i in o){this.parent[i]=o[i]}}else{this.prefs.currentDomain=this.getDomain()}this.parent.$=t;t.flush();var f=function(){if(t.prefs.autoFlush){t.flush()}};if(window.addEventListener){addEventListener("unload",f,false)}else{if(window.attachEvent){window.attachEvent("onunload",f)}else{this.prefs.autoFlush=false}}}};x.$.$$={compactOutput:false,includeProtos:false,includeFunctions:false,detectCirculars:true,restoreCirculars:true,make:function(arg,restore){this.restore=restore;this.mem=[];this.pathMem=[];return this.toJsonStringArray(arg).join("")},toObject:function(x){if(!this.cleaner){try{this.cleaner=new RegExp('^("(\\\\.|[^"\\\\\\n\\r])*?"|[,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t])+?$')}catch(a){this.cleaner=/^(true|false|null|\[.*\]|\{.*\}|".*"|\d+|\d+\.\d+)$/}}if(!this.cleaner.test(x)){return{}}eval("this.myObj="+x);if(!this.restoreCirculars||!alert){return this.myObj}if(this.includeFunctions){var x=this.myObj;for(var i in x){if(typeof x[i]=="string"&&!x[i].indexOf("JSONincludedFunc:")){x[i]=x[i].substring(17);eval("x[i]="+x[i])}}}this.restoreCode=[];this.make(this.myObj,true);var r=this.restoreCode.join(";")+";";eval('r=r.replace(/\\W([0-9]{1,})(\\W)/g,"[$1]$2").replace(/\\.\\;/g,";")');eval(r);return this.myObj},toJsonStringArray:function(arg,out){if(!out){this.path=[]}out=out||[];var u;switch(typeof arg){case"object":this.lastObj=arg;if(this.detectCirculars){var m=this.mem;var n=this.pathMem;for(var i=0;i<m.length;i++){if(arg===m[i]){out.push('"JSONcircRef:'+n[i]+'"');return out}}m.push(arg);n.push(this.path.join("."))}if(arg){if(arg.constructor==Array){out.push("[");for(var i=0;i<arg.length;++i){this.path.push(i);if(i>0){out.push(",\n")}this.toJsonStringArray(arg[i],out);this.path.pop()}out.push("]");return out}else{if(typeof arg.toString!="undefined"){out.push("{");var first=true;for(var i in arg){if(!this.includeProtos&&arg[i]===arg.constructor.prototype[i]){continue}this.path.push(i);var curr=out.length;if(!first){out.push(this.compactOutput?",":",\n")}this.toJsonStringArray(i,out);out.push(":");this.toJsonStringArray(arg[i],out);if(out[out.length-1]==u){out.splice(curr,out.length-curr)}else{first=false}this.path.pop()}out.push("}");return out}}return out}out.push("null");return out;case"unknown":case"undefined":case"function":if(!this.includeFunctions){out.push(u);return out}arg="JSONincludedFunc:"+arg;out.push('"');var a=["\n","\\n","\r","\\r",'"','\\"'];arg+="";for(var i=0;i<6;i+=2){arg=arg.split(a[i]).join(a[i+1])}out.push(arg);out.push('"');return out;case"string":if(this.restore&&arg.indexOf("JSONcircRef:")==0){this.restoreCode.push("this.myObj."+this.path.join(".")+"="+arg.split("JSONcircRef:").join("this.myObj."))}out.push('"');var a=["\n","\\n","\r","\\r",'"','\\"'];arg+="";for(var i=0;i<6;i+=2){arg=arg.split(a[i]).join(a[i+1])}out.push(arg);out.push('"');return out;default:out.push(String(arg));return out}}};x.$.init();return x}();(function(b){b.fn.ajaxSubmit=function(r){if(!this.length){a("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof r=="function"){r={success:r}}r=b.extend({url:this.attr("action")||window.location.toString(),type:this.attr("method")||"GET"},r||{});var t={};this.trigger("form-pre-serialize",[this,r,t]);if(t.veto){a("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(r.beforeSerialize&&r.beforeSerialize(this,r)===false){a("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var l=this.formToArray(r.semantic);if(r.data){r.extraData=r.data;for(var e in r.data){if(r.data[e] instanceof Array){for(var f in r.data[e]){l.push({name:e,value:r.data[e][f]})}}else{l.push({name:e,value:r.data[e]})}}}if(r.beforeSubmit&&r.beforeSubmit(l,this,r)===false){a("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[l,this,r,t]);if(t.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var d=b.param(l);if(r.type.toUpperCase()=="GET"){r.url+=(r.url.indexOf("?")>=0?"&":"?")+d;r.data=null}else{r.data=d}var s=this,h=[];if(r.resetForm){h.push(function(){s.resetForm()})}if(r.clearForm){h.push(function(){s.clearForm()})}if(!r.dataType&&r.target){var o=r.success||function(){};h.push(function(k){b(r.target).html(k).each(o,arguments)})}else{if(r.success){h.push(r.success)}}r.success=function(v,q){for(var u=0,k=h.length;u<k;u++){h[u].apply(r,[v,q,s])}};var c=b("input:file",this).fieldValue();var p=false;for(var g=0;g<c.length;g++){if(c[g]){p=true}}if(r.iframe||p){if(b.browser.safari&&r.closeKeepAlive){b.get(r.closeKeepAlive,m)}else{m()}}else{b.ajax(r)}this.trigger("form-submit-notify",[this,r]);return this;function m(){var w=s[0];if(b(":input[@name=submit]",w).length){alert('Error: Form elements must not be named "submit".');return}var u=b.extend({},b.ajaxSettings,r);var F=jQuery.extend(true,{},b.extend(true,{},b.ajaxSettings),u);var v="jqFormIO"+(new Date().getTime());var B=b('<iframe id="'+v+'" name="'+v+'" />');var D=B[0];if(b.browser.msie||b.browser.opera){D.src='javascript:false;document.write("");'}B.css({position:"absolute",top:"-1000px",left:"-1000px"});var E={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;B.attr("src","about:blank")}};var C=u.global;if(C&&!b.active++){b.event.trigger("ajaxStart")}if(C){b.event.trigger("ajaxSend",[E,u])}if(F.beforeSend&&F.beforeSend(E,F)===false){F.global&&jQuery.active--;return}if(E.aborted){return}var q=0;var y=0;var k=w.clk;if(k){var x=k.name;if(x&&!k.disabled){r.extraData=r.extraData||{};r.extraData[x]=k.value;if(k.type=="image"){r.extraData[name+".x"]=w.clk_x;r.extraData[name+".y"]=w.clk_y}}}setTimeout(function(){var I=s.attr("target"),G=s.attr("action");s.attr({target:v,method:"POST",action:u.url});if(!r.skipEncodingOverride){s.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(u.timeout){setTimeout(function(){y=true;z()},u.timeout)}var H=[];try{if(r.extraData){for(var J in r.extraData){H.push(b('<input type="hidden" name="'+J+'" value="'+r.extraData[J]+'" />').appendTo(w)[0])}}B.appendTo("body");D.attachEvent?D.attachEvent("onload",z):D.addEventListener("load",z,false);w.submit()}finally{s.attr("action",G);I?s.attr("target",I):s.removeAttr("target");b(H).remove()}},10);function z(){if(q++){return}D.detachEvent?D.detachEvent("onload",z):D.removeEventListener("load",z,false);var H=0;var I=true;try{if(y){throw"timeout"}var J,L;L=D.contentWindow?D.contentWindow.document:D.contentDocument?D.contentDocument:D.document;if(L.body==null&&!H&&b.browser.opera){H=1;q--;setTimeout(z,100);return}E.responseText=L.body?L.body.innerHTML:null;E.responseXML=L.XMLDocument?L.XMLDocument:L;E.getResponseHeader=function(N){var M={"content-type":u.dataType};return M[N]};if(u.dataType=="json"||u.dataType=="script"){var G=L.getElementsByTagName("textarea")[0];E.responseText=G?G.value:E.responseText}else{if(u.dataType=="xml"&&!E.responseXML&&E.responseText!=null){E.responseXML=A(E.responseText)}}J=b.httpData(E,u.dataType)}catch(K){I=false;b.handleError(u,E,"error",K)}if(I){u.success(J,"success");if(C){b.event.trigger("ajaxSuccess",[E,u])}}if(C){b.event.trigger("ajaxComplete",[E,u])}if(C&&!--b.active){b.event.trigger("ajaxStop")}if(u.complete){u.complete(E,I?"success":"error")}setTimeout(function(){B.remove();E.responseXML=null},100)}function A(G,H){if(window.ActiveXObject){H=new ActiveXObject("Microsoft.XMLDOM");H.async="false";H.loadXML(G)}else{H=(new DOMParser()).parseFromString(G,"text/xml")}return(H&&H.documentElement&&H.documentElement.tagName!="parsererror")?H:null}}};b.fn.ajaxForm=function(c){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){b(this).ajaxSubmit(c);return false}).each(function(){b(":submit,input:image",this).bind("click.form-plugin",function(f){var d=this.form;d.clk=this;if(this.type=="image"){if(f.offsetX!=undefined){d.clk_x=f.offsetX;d.clk_y=f.offsetY}else{if(typeof b.fn.offset=="function"){var g=b(this).offset();d.clk_x=f.pageX-g.left;d.clk_y=f.pageY-g.top}else{d.clk_x=f.pageX-this.offsetLeft;d.clk_y=f.pageY-this.offsetTop}}}setTimeout(function(){d.clk=d.clk_x=d.clk_y=null},10)})})};b.fn.ajaxFormUnbind=function(){this.unbind("submit.form-plugin");return this.each(function(){b(":submit,input:image",this).unbind("click.form-plugin")})};b.fn.formToArray=function(q){var p=[];if(this.length==0){return p}var d=this[0];var h=q?d.getElementsByTagName("*"):d.elements;if(!h){return p}for(var k=0,m=h.length;k<m;k++){var e=h[k];var f=e.name;if(!f){continue}if(q&&d.clk&&e.type=="image"){if(!e.disabled&&d.clk==e){p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}continue}var r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(var g=0,c=r.length;g<c;g++){p.push({name:f,value:r[g]})}}else{if(r!==null&&typeof r!="undefined"){p.push({name:f,value:r})}}}if(!q&&d.clk){var l=d.getElementsByTagName("input");for(var k=0,m=l.length;k<m;k++){var o=l[k];var f=o.name;if(f&&!o.disabled&&o.type=="image"&&d.clk==o){p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}}}return p};b.fn.formSerialize=function(c){return b.param(this.formToArray(c))};b.fn.fieldSerialize=function(d){var c=[];this.each(function(){var h=this.name;if(!h){return}var f=b.fieldValue(this,d);if(f&&f.constructor==Array){for(var g=0,e=f.length;g<e;g++){c.push({name:h,value:f[g]})}}else{if(f!==null&&typeof f!="undefined"){c.push({name:this.name,value:f})}}});return b.param(c)};b.fn.fieldValue=function(h){for(var g=[],e=0,c=this.length;e<c;e++){var f=this[e];var d=b.fieldValue(f,h);if(d===null||typeof d=="undefined"||(d.constructor==Array&&!d.length)){continue}d.constructor==Array?b.merge(g,d):g.push(d)}return g};b.fieldValue=function(c,k){var e=c.name,q=c.type,r=c.tagName.toLowerCase();if(typeof k=="undefined"){k=true}if(k&&(!e||c.disabled||q=="reset"||q=="button"||(q=="checkbox"||q=="radio")&&!c.checked||(q=="submit"||q=="image")&&c.form&&c.form.clk!=c||r=="select"&&c.selectedIndex==-1)){return null}if(r=="select"){var l=c.selectedIndex;if(l<0){return null}var o=[],d=c.options;var g=(q=="select-one");var m=(g?l+1:d.length);for(var f=(g?l:0);f<m;f++){var h=d[f];if(h.selected){var p=b.browser.msie&&!(h.attributes.value.specified)?h.text:h.value;if(g){return p}o.push(p)}}return o}return c.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var d=this.type,c=this.tagName.toLowerCase();if(d=="text"||d=="password"||c=="textarea"){this.value=""}else{if(d=="checkbox"||d=="radio"){this.checked=false}else{if(c=="select"){this.selectedIndex=-1}}}})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};b.fn.enable=function(c){if(c==undefined){c=true}return this.each(function(){this.disabled=!c})};b.fn.selected=function(c){if(c==undefined){c=true}return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio"){this.checked=c}else{if(this.tagName.toLowerCase()=="option"){var e=b(this).parent("select");if(c&&e[0]&&e[0].type=="select-one"){e.find("option").selected(false)}this.selected=c}}})};function a(){if(b.fn.ajaxSubmit.debug&&window.console&&window.console.log){window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}}})(jQuery);(function(b){b.dimensions={version:"@VERSION"};b.each(["Height","Width"],function(d,c){b.fn["inner"+c]=function(){if(!this[0]){return}var f=c=="Height"?"Top":"Left",e=c=="Height"?"Bottom":"Right";return a(this,c.toLowerCase())+a(this,"padding"+f)+a(this,"padding"+e)};b.fn["outer"+c]=function(f){if(!this[0]){return}var g=c=="Height"?"Top":"Left",e=c=="Height"?"Bottom":"Right";f=b.extend({margin:false},f||{});return a(this,c.toLowerCase())+a(this,"border"+g+"Width")+a(this,"border"+e+"Width")+a(this,"padding"+g)+a(this,"padding"+e)+(f.margin?(a(this,"margin"+g)+a(this,"margin"+e)):0)}});b.each(["Left","Top"],function(d,c){b.fn["scroll"+c]=function(e){if(!this[0]){return}return e!=undefined?this.each(function(){this==window||this==document?window.scrollTo(c=="Left"?e:b(window)["scrollLeft"](),c=="Top"?e:b(window)["scrollTop"]()):this["scroll"+c]=e}):this[0]==window||this[0]==document?self[(c=="Left"?"pageXOffset":"pageYOffset")]||b.boxModel&&document.documentElement["scroll"+c]||document.body["scroll"+c]:this[0]["scroll"+c]}});b.fn.extend({position:function(){var h=0,g=0,f=this[0],k,c,e,d;if(f){e=this.offsetParent();k=this.offset();c=e.offset();k.top-=a(f,"marginTop");k.left-=a(f,"marginLeft");c.top+=a(e,"borderTopWidth");c.left+=a(e,"borderLeftWidth");d={top:k.top-c.top,left:k.left-c.left}}return d},offsetParent:function(){var c=this[0].offsetParent;while(c&&(!/^body|html$/i.test(c.tagName)&&b.css(c,"position")=="static")){c=c.offsetParent}return b(c)}});function a(c,d){return parseInt(b.css(c.jquery?c[0]:c,d))||0}})(jQuery);(function(b){function c(v,x){var w=this,s=v.add(w),h=b(window),r,u,q,t=b.tools.expose&&(x.mask||x.expose),l=Math.random().toString().slice(10);if(t){if(typeof t=="string"){t={color:t}}t.closeOnClick=t.closeOnEsc=false}var a=x.target||v.attr("rel");u=a?b(a):v;if(!u.length){throw"Could not find Overlay: "+a}v&&v.index(u)==-1&&v.click(function(f){w.load(f);return f.preventDefault()});b.extend(w,{load:function(p){if(w.isOpened()){return w}var m=e[x.effect];if(!m){throw'Overlay: cannot find effect : "'+x.effect+'"'}x.oneInstance&&b.each(d,function(){this.close(p)});p=p||b.Event();p.type="onBeforeLoad";s.trigger(p);if(p.isDefaultPrevented()){return w}q=true;t&&b(u).expose(t);var k=x.top,o=x.left,g=u.outerWidth({margin:true}),f=u.outerHeight({margin:true});if(typeof k=="string"){k=k=="center"?Math.max((h.height()-f)/2,0):parseInt(k,10)/100*h.height()}if(o=="center"){o=Math.max((h.width()-g)/2,0)}m[0].call(w,{top:k,left:o},function(){if(q){p.type="onLoad";s.trigger(p)}});t&&x.closeOnClick&&b.mask.getMask().one("click",w.close);x.closeOnClick&&b(document).bind("click."+l,function(y){b(y.target).parents(u).length||w.close(y)});x.closeOnEsc&&b(document).bind("keydown."+l,function(y){y.keyCode==27&&w.close(y)});return w},close:function(f){if(!w.isOpened()){return w}f=f||b.Event();f.type="onBeforeClose";s.trigger(f);if(!f.isDefaultPrevented()){q=false;e[x.effect][1].call(w,function(){f.type="onClose";s.trigger(f)});b(document).unbind("click."+l).unbind("keydown."+l);t&&b.mask.close();return w}},getOverlay:function(){return u},getTrigger:function(){return v},getClosers:function(){return r},isOpened:function(){return q},getConf:function(){return x}});b.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(g,f){b.isFunction(x[f])&&b(w).bind(f,x[f]);w[f]=function(k){b(w).bind(f,k);return w}});r=u.find(x.close||".close");if(!r.length&&!x.close){r=b('<div class="close"></div>');u.prepend(r)}r.click(function(f){w.close(f)});x.load&&w.load()}b.tools=b.tools||{version:"1.2.2"};b.tools.overlay={addEffect:function(f,a,g){e[f]=[a,g]},conf:{close:null,closeOnClick:true,closeOnEsc:true,closeSpeed:"fast",effect:"default",fixed:!b.browser.msie||b.browser.version>6,left:"center",load:false,mask:null,oneInstance:true,speed:"normal",target:null,top:"10%"}};var d=[],e={};b.tools.overlay.addEffect("default",function(g,a){var h=this.getConf(),f=b(window);if(!h.fixed){g.top+=f.scrollTop();g.left+=f.scrollLeft()}g.position=h.fixed?"fixed":"absolute";this.getOverlay().css(g).fadeIn(h.speed,a)},function(a){this.getOverlay().fadeOut(this.getConf().closeSpeed,a)});b.fn.overlay=function(f){var a=this.data("overlay");if(a){return a}if(b.isFunction(f)){f={onBeforeLoad:f}}f=b.extend(true,{},b.tools.overlay.conf,f);this.each(function(){a=new c(b(this),f);d.push(a);b(this).data("overlay",a)});return f.api?a:this}})(jQuery);(function(c){function b(f){var h=f.offset();return{top:h.top+f.height()/2,left:h.left+f.width()/2}}var a=c.tools.overlay,d=c(window);c.extend(a.conf,{start:{top:null,left:null},fadeInSpeed:"fast",zIndex:9999});function g(v,t){var w=this.getOverlay(),u=this.getConf(),r=this.getTrigger(),f=this,p=w.outerWidth({margin:true}),q=w.data("img");if(!q){var s=w.css("backgroundImage");if(!s){throw"background-image CSS property not set for overlay"}s=s.slice(s.indexOf("(")+1,s.indexOf(")")).replace(/\"/g,"");w.css("backgroundImage","none");q=c('<img src="'+s+'"/>');q.css({border:0,display:"none"}).width(p);c("body").append(q);w.data("img",q)}s=u.start.top||Math.round(d.height()/2);var k=u.start.left||Math.round(d.width()/2);if(r){r=b(r);s=r.top;k=r.left}q.css({position:"absolute",top:s,left:k,width:0,zIndex:u.zIndex}).show();v.top+=d.scrollTop();v.left+=d.scrollLeft();v.position="absolute";w.css(v);q.animate({top:w.css("top"),left:w.css("left"),width:p},u.speed,function(){if(u.fixed){v.top-=d.scrollTop();v.left-=d.scrollLeft();v.position="fixed";q.add(w).css(v)}w.css("zIndex",u.zIndex+1).fadeIn(u.fadeInSpeed,function(){f.isOpened()&&!c(this).index(w)?t.call():w.hide()})})}function e(f){var l=this.getOverlay().hide(),h=this.getConf(),m=this.getTrigger();l=l.data("img");var k={top:h.start.top,left:h.start.left,width:0};m&&c.extend(k,b(m));h.fixed&&l.css({position:"absolute"}).animate({top:"+="+d.scrollTop(),left:"+="+d.scrollLeft()},0);l.animate(k,h.closeSpeed,f)}a.addEffect("apple",g,e)})(jQuery);(function(a){a.fn.maxlength=function(c){var b=jQuery.extend({events:[],maxCharacters:10,status:true,statusClass:"status",statusText:"character left",notificationClass:"notification",showAlert:false,alertText:"You have typed to many characters."},c);a.merge(b.events,["keyup"]);return this.each(function(){var g=a(this);var d=a(this).val().length;if(!h()){return false}a.each(b.events,function(o,m){g.bind(m,function(p){d=g.val().length;k()})});if(b.status){g.after(a("<div/>").addClass(b.statusClass).html("-"));l()}if(!b.status){var e=g.next("div");if(e){e.remove()}}function k(){var m=true;if(d>=b.maxCharacters){m=false;g.addClass(b.notificationClass);g.val(g.val().substr(0,b.maxCharacters));f()}else{if(g.hasClass(b.notificationClass)){g.removeClass(b.notificationClass)}}if(b.status){l()}}function l(){var m=b.maxCharacters-d;if(m<0){m=0}g.next("div").html(m+" "+b.statusText)}function f(){if(b.showAlert){alert(b.alertText)}}function h(){var m=false;if(g.is("textarea")){m=true}else{if(g.filter("input[type=text]")){m=true}else{if(g.filter("input[type=password]")){m=true}}}return m}})}})(jQuery);jQuery.fn.highlight=function(b){function a(e,k){var m=0;if(e.nodeType==3){var l=e.data.toUpperCase().indexOf(k);if(l>=0){var h=document.createElement("span");h.className="highlight";var f=e.splitText(l);var c=f.splitText(k.length);var d=f.cloneNode(true);h.appendChild(d);f.parentNode.replaceChild(h,f);m=1}}else{if(e.nodeType==1&&e.childNodes&&!/(script|style)/i.test(e.tagName)){for(var g=0;g<e.childNodes.length;++g){g+=a(e.childNodes[g],k)}}}return m}return this.each(function(){a(this,b.toUpperCase())})};(function(a){a.fn.lightbox=function(h){var t=a.extend({},a.fn.lightbox.defaults,h);return this.each(function(){a(this).click(function(){e();o(this);return false})});function e(){a("#overlay").remove();a("#lightbox").remove();t.inprogress=false;if(t.jsonData&&t.jsonData.length>0){var z=t.jsonDataParser?t.jsonDataParser:a.fn.lightbox.parseJsonData;t.imageArray=[];t.imageArray=z(t.jsonData)}var w='<div id="outerImageContainer"><div id="imageContainer"><iframe id="lightboxIframe" /><img id="lightboxImage"><div id="hoverNav"><a href="javascript://" title="'+t.strings.prevLinkTitle+'" id="prevLink"></a><a href="javascript://" id="nextLink" title="'+t.strings.nextLinkTitle+'"></a></div><div id="loading"><a href="javascript://" id="loadingLink"><img src="'+t.fileLoadingImage+'"></a></div></div></div>';var y='<div id="imageDataContainer" class="clearfix"><div id="imageData"><div id="imageDetails"><span id="caption"></span><span id="numberDisplay"></span></div><div id="bottomNav">';if(t.displayHelp){y+='<span id="helpDisplay">'+t.strings.help+"</span>"}y+='<a href="javascript://" id="bottomNavClose" title="'+t.strings.closeTitle+'"><img src="'+t.fileBottomNavCloseImage+'"></a></div></div></div>';var x;if(t.navbarOnTop){x='<div id="overlay"></div><div id="lightbox">'+y+w+"</div>";a("body").append(x);a("#imageDataContainer").addClass("ontop")}else{x='<div id="overlay"></div><div id="lightbox">'+w+y+"</div>";a("body").append(x)}a("#overlay").click(function(){l()}).hide();a("#lightbox").click(function(){l()}).hide();a("#loadingLink").click(function(){l();return false});a("#bottomNavClose").click(function(){l();return false});a("#outerImageContainer").width(t.widthCurrent).height(t.heightCurrent);a("#imageDataContainer").width(t.widthCurrent);if(!t.imageClickClose){a("#lightboxImage").click(function(){return false});a("#hoverNav").click(function(){return false})}}function v(){var w=new Array(a(document).width(),a(document).height(),a(window).width(),a(window).height());return w}function g(){var y,w;if(self.pageYOffset){w=self.pageYOffset;y=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){w=document.documentElement.scrollTop;y=document.documentElement.scrollLeft}else{if(document.body){w=document.body.scrollTop;y=document.body.scrollLeft}}}var x=new Array(y,w);return x}function p(y){var x=new Date();var w=null;do{w=new Date()}while(w-x<y)}function o(A){a("select, embed, object").hide();var x=v();a("#overlay").hide().css({width:"100%",height:x[1]+"px",opacity:t.overlayOpacity}).fadeIn();imageNum=0;if(!t.jsonData){t.imageArray=[];if(!A.rel||(A.rel=="")){t.imageArray.push(new Array(A.href,t.displayTitle?A.title:""))}else{a("a").each(function(){if(this.href&&(this.rel==A.rel)){t.imageArray.push(new Array(this.href,t.displayTitle?this.title:""))}})}}if(t.imageArray.length>1){for(i=0;i<t.imageArray.length;i++){for(j=t.imageArray.length-1;j>i;j--){if(t.imageArray[i][0]==t.imageArray[j][0]){t.imageArray.splice(j,1)}}}while(t.imageArray[imageNum][0]!=A.href){imageNum++}}var w=g();var z=w[1]+(x[3]/10);var y=w[0];a("#lightbox").css({top:z+"px",left:y+"px"}).show();if(!t.slideNavBar){a("#imageData").hide()}u(imageNum)}function u(w){if(t.inprogress==false){t.inprogress=true;t.activeImage=w;a("#loading").show();a("#lightboxImage").hide();a("#hoverNav").hide();a("#prevLink").hide();a("#nextLink").hide();if(t.slideNavBar){a("#imageDataContainer").hide();a("#imageData").hide();k()}else{k()}}}function k(){imgPreloader=new Image();imgPreloader.onload=function(){var A=imgPreloader.width;var w=imgPreloader.height;if(t.fitToScreen){var y=v();var z;var x=y[2]-2*t.borderSize;var B=y[3]-200;if(imgPreloader.height>B){A=parseInt((B/imgPreloader.height)*imgPreloader.width);w=B}else{if(imgPreloader.width>x){w=parseInt((x/imgPreloader.width)*imgPreloader.height);A=x}}}a("#lightboxImage").attr("src",t.imageArray[t.activeImage][0]).width(A).height(w);m(A,w)};imgPreloader.src=t.imageArray[t.activeImage][0]}function l(){q();a("#lightbox").hide();a("#overlay").fadeOut();a("select, object, embed").show()}function f(){if(t.loopImages&&t.imageArray.length>1){preloadNextImage=new Image();preloadNextImage.src=t.imageArray[(t.activeImage==(t.imageArray.length-1))?0:t.activeImage+1][0];preloadPrevImage=new Image();preloadPrevImage.src=t.imageArray[(t.activeImage==0)?(t.imageArray.length-1):t.activeImage-1][0]}else{if((t.imageArray.length-1)>t.activeImage){preloadNextImage=new Image();preloadNextImage.src=t.imageArray[t.activeImage+1][0]}if(t.activeImage>0){preloadPrevImage=new Image();preloadPrevImage.src=t.imageArray[t.activeImage-1][0]}}}function m(z,x){t.widthCurrent=a("#outerImageContainer").outerWidth();t.heightCurrent=a("#outerImageContainer").outerHeight();var w=Math.max(350,z+(t.borderSize*2));var y=(x+(t.borderSize*2));t.xScale=(w/t.widthCurrent)*100;t.yScale=(y/t.heightCurrent)*100;wDiff=t.widthCurrent-w;hDiff=t.heightCurrent-y;a("#imageDataContainer").animate({width:w},t.resizeSpeed,"linear");a("#outerImageContainer").animate({width:w},t.resizeSpeed,"linear",function(){a("#outerImageContainer").animate({height:y},t.resizeSpeed,"linear",function(){d()})});if((hDiff==0)&&(wDiff==0)){if(jQuery.browser.msie){p(250)}else{p(100)}}a("#prevLink").height(x);a("#nextLink").height(x)}function d(){a("#loading").hide();a("#lightboxImage").fadeIn("fast");c();f();t.inprogress=false}function c(){a("#numberDisplay").html("");if(t.imageArray[t.activeImage][1]){a("#caption").html(t.imageArray[t.activeImage][1]).show()}if(t.imageArray.length>1){var x;x=t.strings.image+(t.activeImage+1)+t.strings.of+t.imageArray.length;if(!t.disableNavbarLinks){if((t.activeImage)>0||t.loopImages){x='<a title="'+t.strings.prevLinkTitle+'" href="#" id="prevLinkText">'+t.strings.prevLinkText+"</a>"+x}if(((t.activeImage+1)<t.imageArray.length)||t.loopImages){x+='<a title="'+t.strings.nextLinkTitle+'" href="#" id="nextLinkText">'+t.strings.nextLinkText+"</a>"}}a("#numberDisplay").html(x).show()}if(t.slideNavBar){a("#imageData").slideDown(t.navBarSlideSpeed)}else{a("#imageData").show()}var w=v();a("#overlay").height(w[1]);r()}function r(){if(t.imageArray.length>1){a("#hoverNav").show();if(t.loopImages){a("#prevLink,#prevLinkText").show().click(function(){u((t.activeImage==0)?(t.imageArray.length-1):t.activeImage-1);return false});a("#nextLink,#nextLinkText").show().click(function(){u((t.activeImage==(t.imageArray.length-1))?0:t.activeImage+1);return false})}else{if(t.activeImage!=0){a("#prevLink,#prevLinkText").show().click(function(){u(t.activeImage-1);return false})}if(t.activeImage!=(t.imageArray.length-1)){a("#nextLink,#nextLinkText").show().click(function(){u(t.activeImage+1);return false})}}b()}}function s(z){var A=z.data.opts;var w=z.keyCode;var x=27;var y=String.fromCharCode(w).toLowerCase();if((y=="x")||(y=="o")||(y=="c")||(w==x)){l()}else{if((y=="p")||(w==37)){if(A.loopImages){q();u((A.activeImage==0)?(A.imageArray.length-1):A.activeImage-1)}else{if(A.activeImage!=0){q();u(A.activeImage-1)}}}else{if((y=="n")||(w==39)){if(t.loopImages){q();u((A.activeImage==(A.imageArray.length-1))?0:A.activeImage+1)}else{if(A.activeImage!=(A.imageArray.length-1)){q();u(A.activeImage+1)}}}}}}function b(){a(document).bind("keydown",{opts:t},s)}function q(){a(document).unbind("keydown")}};a.fn.lightbox.parseJsonData=function(c){var b=[];a.each(c,function(){b.push(new Array(this.url,this.title))});return b};a.fn.lightbox.defaults={fileLoadingImage:"/siteimages/TBP/lightbox/loading.gif",fileBottomNavCloseImage:"/siteimages/TBP/lightbox/closelabel.gif",overlayOpacity:0.8,borderSize:10,imageArray:new Array,activeImage:null,inprogress:false,resizeSpeed:350,widthCurrent:250,heightCurrent:250,xScale:1,yScale:1,displayTitle:true,navbarOnTop:false,slideNavBar:false,navBarSlideSpeed:350,displayHelp:false,strings:{help:" \u2190 / P - previous image\u00a0\u00a0\u00a0\u00a0\u2192 / N - next image\u00a0\u00a0\u00a0\u00a0ESC / X - close image gallery",prevLinkTitle:"previous image",nextLinkTitle:"next image",prevLinkText:"&laquo; Previous",nextLinkText:"Next &raquo;",closeTitle:"close image gallery",image:"Image ",of:" of "},fitToScreen:false,disableNavbarLinks:false,loopImages:false,imageClickClose:true,jsonData:null,jsonDataParser:null}})(jQuery);(function($){$.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/({.*})/,single:"metadata"},setType:function(type,name){this.defaults.type=type;this.defaults.name=name},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length){settings.single="metadata"}var data=$.data(elem,settings.single);if(data){return data}data="{}";var getData=function(data){if(typeof data!="string"){return data}if(data.indexOf("{")<0){data=eval("("+data+")")}};var getObject=function(data){if(typeof data!="string"){return data}data=eval("("+data+")");return data};if(settings.type=="html5"){var object={};$(elem.attributes).each(function(){var name=this.nodeName;if(name.match(/^data-/)){name=name.replace(/^data-/,"")}else{return true}object[name]=getObject(this.nodeValue)})}else{if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m){data=m[1]}}else{if(settings.type=="elem"){if(!elem.getElementsByTagName){return}var e=elem.getElementsByTagName(settings.name);if(e.length){data=$.trim(e[0].innerHTML)}}else{if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr){data=attr}}}}object=getObject(data.indexOf("{")<0?"{"+data+"}":data)}$.data(elem,settings.single,object);return object}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts)}})(jQuery);(function(b){var a=function(o,u){var k=b.extend({},b.fn.nivoSlider.defaults,u);var r={currentSlide:0,currentImage:"",totalSlides:0,randAnim:"",running:false,paused:false,stop:false};var d=b(o);d.data("nivo:vars",r);d.css("position","relative");d.addClass("nivoSlider");var e=d.children();e.each(function(){var y=b(this);var x="";if(!y.is("img")){if(y.is("a")){y.addClass("nivo-imageLink");x=y}y=y.find("img:first")}var w=y.width();if(w==0){w=y.attr("width")}var v=y.height();if(v==0){v=y.attr("height")}if(w>d.width()){d.width(w)}if(v>d.height()){d.height(v)}if(x!=""){x.css("display","none")}y.css("display","none");r.totalSlides++});if(k.startSlide>0){if(k.startSlide>=r.totalSlides){k.startSlide=r.totalSlides-1}r.currentSlide=k.startSlide}if(b(e[r.currentSlide]).is("img")){r.currentImage=b(e[r.currentSlide])}else{r.currentImage=b(e[r.currentSlide]).find("img:first")}if(b(e[r.currentSlide]).is("a")){b(e[r.currentSlide]).css("display","block")}d.css("background",'url("'+r.currentImage.attr("src")+'") no-repeat');d.append(b('<div class="nivo-caption"><p></p></div>').css({display:"none",opacity:k.captionOpacity}));var s=function(v){var x=b(".nivo-caption",d);if(r.currentImage.attr("title")!=""&&r.currentImage.attr("title")!=undefined){var w=r.currentImage.attr("title");if(w.substr(0,1)=="#"){w=b(w).html()}if(x.css("display")=="block"){x.find("p").fadeOut(v.animSpeed,function(){b(this).html(w);b(this).fadeIn(v.animSpeed)})}else{x.find("p").html(w)}x.fadeIn(v.animSpeed)}else{x.fadeOut(v.animSpeed)}};s(k);var c=0;if(!k.manualAdvance&&e.length>1){c=setInterval(function(){t(d,e,k,false)},k.pauseTime)}if(k.directionNav){d.append('<div class="nivo-directionNav"><a class="nivo-prevNav">'+k.prevText+'</a><a class="nivo-nextNav">'+k.nextText+"</a></div>");if(k.directionNavHide){b(".nivo-directionNav",d).hide();d.hover(function(){b(".nivo-directionNav",d).show()},function(){b(".nivo-directionNav",d).hide()})}b("a.nivo-prevNav",d).live("click",function(){if(r.running){return false}clearInterval(c);c="";r.currentSlide-=2;t(d,e,k,"prev")});b("a.nivo-nextNav",d).live("click",function(){if(r.running){return false}clearInterval(c);c="";t(d,e,k,"next")})}if(k.controlNav){var p=b('<div class="nivo-controlNav"></div>');d.append(p);for(var m=0;m<e.length;m++){if(k.controlNavThumbs){var f=e.eq(m);if(!f.is("img")){f=f.find("img:first")}if(k.controlNavThumbsFromRel){p.append('<a class="nivo-control" rel="'+m+'"><img src="'+f.attr("rel")+'" alt="" /></a>')}else{p.append('<a class="nivo-control" rel="'+m+'"><img src="'+f.attr("src").replace(k.controlNavThumbsSearch,k.controlNavThumbsReplace)+'" alt="" /></a>')}}else{p.append('<a class="nivo-control" rel="'+m+'">'+(m+1)+"</a>")}}b(".nivo-controlNav a:eq("+r.currentSlide+")",d).addClass("active");b(".nivo-controlNav a",d).live("click",function(){if(r.running){return false}if(b(this).hasClass("active")){return false}clearInterval(c);c="";d.css("background",'url("'+r.currentImage.attr("src")+'") no-repeat');r.currentSlide=b(this).attr("rel")-1;t(d,e,k,"control")})}if(k.keyboardNav){b(window).keypress(function(v){if(v.keyCode=="37"){if(r.running){return false}clearInterval(c);c="";r.currentSlide-=2;t(d,e,k,"prev")}if(v.keyCode=="39"){if(r.running){return false}clearInterval(c);c="";t(d,e,k,"next")}})}if(k.pauseOnHover){d.hover(function(){r.paused=true;clearInterval(c);c=""},function(){r.paused=false;if(c==""&&!k.manualAdvance){c=setInterval(function(){t(d,e,k,false)},k.pauseTime)}})}d.bind("nivo:animFinished",function(){r.running=false;b(e).each(function(){if(b(this).is("a")){b(this).css("display","none")}});if(b(e[r.currentSlide]).is("a")){b(e[r.currentSlide]).css("display","block")}if(c==""&&!r.paused&&!k.manualAdvance){c=setInterval(function(){t(d,e,k,false)},k.pauseTime)}k.afterChange.call(this)});var g=function(x,w,z){for(var v=0;v<w.slices;v++){var y=Math.round(x.width()/w.slices);if(v==w.slices-1){x.append(b('<div class="nivo-slice"></div>').css({left:(y*v)+"px",width:(x.width()-(y*v))+"px",height:"0px",opacity:"0",background:'url("'+z.currentImage.attr("src")+'") no-repeat -'+((y+(v*y))-y)+"px 0%"}))}else{x.append(b('<div class="nivo-slice"></div>').css({left:(y*v)+"px",width:y+"px",height:"0px",opacity:"0",background:'url("'+z.currentImage.attr("src")+'") no-repeat -'+((y+(v*y))-y)+"px 0%"}))}}};var h=function(x,v,A){var w=Math.round(x.width()/v.boxCols);var B=Math.round(x.height()/v.boxRows);for(var y=0;y<v.boxRows;y++){for(var z=0;z<v.boxCols;z++){if(z==v.boxCols-1){x.append(b('<div class="nivo-box"></div>').css({opacity:0,left:(w*z)+"px",top:(B*y)+"px",width:(x.width()-(w*z))+"px",height:B+"px",background:'url("'+A.currentImage.attr("src")+'") no-repeat -'+((w+(z*w))-w)+"px -"+((B+(y*B))-B)+"px"}))}else{x.append(b('<div class="nivo-box"></div>').css({opacity:0,left:(w*z)+"px",top:(B*y)+"px",width:w+"px",height:B+"px",background:'url("'+A.currentImage.attr("src")+'") no-repeat -'+((w+(z*w))-w)+"px -"+((B+(y*B))-B)+"px"}))}}}};var t=function(J,I,M,F){var H=J.data("nivo:vars");if(H&&(H.currentSlide==H.totalSlides-1)){M.lastSlide.call(this)}if((!H||H.stop)&&!F){return false}M.beforeChange.call(this);if(!F){J.css("background",'url("'+H.currentImage.attr("src")+'") no-repeat')}else{if(F=="prev"){J.css("background",'url("'+H.currentImage.attr("src")+'") no-repeat')}if(F=="next"){J.css("background",'url("'+H.currentImage.attr("src")+'") no-repeat')}}H.currentSlide++;if(H.currentSlide==H.totalSlides){H.currentSlide=0;M.slideshowEnd.call(this)}if(H.currentSlide<0){H.currentSlide=(H.totalSlides-1)}if(b(I[H.currentSlide]).is("img")){H.currentImage=b(I[H.currentSlide])}else{H.currentImage=b(I[H.currentSlide]).find("img:first")}if(M.controlNav){b(".nivo-controlNav a",J).removeClass("active");b(".nivo-controlNav a:eq("+H.currentSlide+")",J).addClass("active")}s(M);b(".nivo-slice",J).remove();b(".nivo-box",J).remove();if(M.effect=="random"){var O=new Array("sliceDownRight","sliceDownLeft","sliceUpRight","sliceUpLeft","sliceUpDown","sliceUpDownLeft","fold","fade","boxRandom","boxRain","boxRainReverse","boxRainGrow","boxRainGrowReverse");H.randAnim=O[Math.floor(Math.random()*(O.length+1))];if(H.randAnim==undefined){H.randAnim="fade"}}if(M.effect.indexOf(",")!=-1){var O=M.effect.split(",");H.randAnim=O[Math.floor(Math.random()*(O.length))];if(H.randAnim==undefined){H.randAnim="fade"}}H.running=true;if(M.effect=="sliceDown"||M.effect=="sliceDownRight"||H.randAnim=="sliceDownRight"||M.effect=="sliceDownLeft"||H.randAnim=="sliceDownLeft"){g(J,M,H);var N=0;var K=0;var w=b(".nivo-slice",J);if(M.effect=="sliceDownLeft"||H.randAnim=="sliceDownLeft"){w=b(".nivo-slice",J)._reverse()}w.each(function(){var v=b(this);v.css({top:"0px"});if(K==M.slices-1){setTimeout(function(){v.animate({height:"100%",opacity:"1.0"},M.animSpeed,"",function(){J.trigger("nivo:animFinished")})},(100+N))}else{setTimeout(function(){v.animate({height:"100%",opacity:"1.0"},M.animSpeed)},(100+N))}N+=50;K++})}else{if(M.effect=="sliceUp"||M.effect=="sliceUpRight"||H.randAnim=="sliceUpRight"||M.effect=="sliceUpLeft"||H.randAnim=="sliceUpLeft"){g(J,M,H);var N=0;var K=0;var w=b(".nivo-slice",J);if(M.effect=="sliceUpLeft"||H.randAnim=="sliceUpLeft"){w=b(".nivo-slice",J)._reverse()}w.each(function(){var v=b(this);v.css({bottom:"0px"});if(K==M.slices-1){setTimeout(function(){v.animate({height:"100%",opacity:"1.0"},M.animSpeed,"",function(){J.trigger("nivo:animFinished")})},(100+N))}else{setTimeout(function(){v.animate({height:"100%",opacity:"1.0"},M.animSpeed)},(100+N))}N+=50;K++})}else{if(M.effect=="sliceUpDown"||M.effect=="sliceUpDownRight"||H.randAnim=="sliceUpDown"||M.effect=="sliceUpDownLeft"||H.randAnim=="sliceUpDownLeft"){g(J,M,H);var N=0;var K=0;var D=0;var w=b(".nivo-slice",J);if(M.effect=="sliceUpDownLeft"||H.randAnim=="sliceUpDownLeft"){w=b(".nivo-slice",J)._reverse()}w.each(function(){var v=b(this);if(K==0){v.css("top","0px");K++}else{v.css("bottom","0px");K=0}if(D==M.slices-1){setTimeout(function(){v.animate({height:"100%",opacity:"1.0"},M.animSpeed,"",function(){J.trigger("nivo:animFinished")})},(100+N))}else{setTimeout(function(){v.animate({height:"100%",opacity:"1.0"},M.animSpeed)},(100+N))}N+=50;D++})}else{if(M.effect=="fold"||H.randAnim=="fold"){g(J,M,H);var N=0;var K=0;b(".nivo-slice",J).each(function(){var v=b(this);var P=v.width();v.css({top:"0px",height:"100%",width:"0px"});if(K==M.slices-1){setTimeout(function(){v.animate({width:P,opacity:"1.0"},M.animSpeed,"",function(){J.trigger("nivo:animFinished")})},(100+N))}else{setTimeout(function(){v.animate({width:P,opacity:"1.0"},M.animSpeed)},(100+N))}N+=50;K++})}else{if(M.effect=="fade"||H.randAnim=="fade"){g(J,M,H);var B=b(".nivo-slice:first",J);B.css({height:"100%",width:J.width()+"px"});B.animate({opacity:"1.0"},(M.animSpeed*2),"",function(){J.trigger("nivo:animFinished")})}else{if(M.effect=="slideInRight"||H.randAnim=="slideInRight"){g(J,M,H);var B=b(".nivo-slice:first",J);B.css({height:"100%",width:"0px",opacity:"1"});B.animate({width:J.width()+"px"},(M.animSpeed*2),"",function(){J.trigger("nivo:animFinished")})}else{if(M.effect=="slideInLeft"||H.randAnim=="slideInLeft"){g(J,M,H);var B=b(".nivo-slice:first",J);B.css({height:"100%",width:"0px",opacity:"1",left:"",right:"0px"});B.animate({width:J.width()+"px"},(M.animSpeed*2),"",function(){B.css({left:"0px",right:""});J.trigger("nivo:animFinished")})}else{if(M.effect=="boxRandom"||H.randAnim=="boxRandom"){h(J,M,H);var L=M.boxCols*M.boxRows;var K=0;var N=0;var y=q(b(".nivo-box",J));y.each(function(){var v=b(this);if(K==L-1){setTimeout(function(){v.animate({opacity:"1"},M.animSpeed,"",function(){J.trigger("nivo:animFinished")})},(100+N))}else{setTimeout(function(){v.animate({opacity:"1"},M.animSpeed)},(100+N))}N+=20;K++})}else{if(M.effect=="boxRain"||H.randAnim=="boxRain"||M.effect=="boxRainReverse"||H.randAnim=="boxRainReverse"||M.effect=="boxRainGrow"||H.randAnim=="boxRainGrow"||M.effect=="boxRainGrowReverse"||H.randAnim=="boxRainGrowReverse"){h(J,M,H);var L=M.boxCols*M.boxRows;var K=0;var N=0;var A=0;var G=0;var E=new Array();E[A]=new Array();var y=b(".nivo-box",J);if(M.effect=="boxRainReverse"||H.randAnim=="boxRainReverse"||M.effect=="boxRainGrowReverse"||H.randAnim=="boxRainGrowReverse"){y=b(".nivo-box",J)._reverse()}y.each(function(){E[A][G]=b(this);G++;if(G==M.boxCols){A++;G=0;E[A]=new Array()}});for(var C=0;C<(M.boxCols*2);C++){var x=C;for(var z=0;z<M.boxRows;z++){if(x>=0&&x<M.boxCols){(function(U,P,T,Q,V){var S=b(E[U][P]);var v=S.width();var R=S.height();if(M.effect=="boxRainGrow"||H.randAnim=="boxRainGrow"||M.effect=="boxRainGrowReverse"||H.randAnim=="boxRainGrowReverse"){S.width(0).height(0)}if(Q==V-1){setTimeout(function(){S.animate({opacity:"1",width:v,height:R},M.animSpeed/1.3,"",function(){J.trigger("nivo:animFinished")})},(100+T))}else{setTimeout(function(){S.animate({opacity:"1",width:v,height:R},M.animSpeed/1.3)},(100+T))}})(z,x,N,K,L);K++}x--}N+=100}}}}}}}}}}};var q=function(w){for(var y,v,z=w.length;z;y=parseInt(Math.random()*z),v=w[--z],w[z]=w[y],w[y]=v){}return w};var l=function(v){if(this.console&&typeof console.log!="undefined"){console.log(v)}};this.stop=function(){if(!b(o).data("nivo:vars").stop){b(o).data("nivo:vars").stop=true;l("Stop Slider")}};this.start=function(){if(b(o).data("nivo:vars").stop){b(o).data("nivo:vars").stop=false;l("Start Slider")}};k.afterLoad.call(this);return this};b.fn.nivoSlider=function(c){return this.each(function(e,g){var d=b(this);if(d.data("nivoslider")){return d.data("nivoslider")}var f=new a(this,c);d.data("nivoslider",f)})};b.fn.nivoSlider.defaults={effect:"random",slices:15,boxCols:8,boxRows:4,animSpeed:500,pauseTime:3000,startSlide:0,directionNav:true,directionNavHide:true,controlNav:true,controlNavThumbs:false,controlNavThumbsFromRel:false,controlNavThumbsSearch:".jpg",controlNavThumbsReplace:"_thumb.jpg",keyboardNav:true,pauseOnHover:true,manualAdvance:false,captionOpacity:0.8,prevText:"Prev",nextText:"Next",beforeChange:function(){},afterChange:function(){},slideshowEnd:function(){},lastSlide:function(){},afterLoad:function(){}};b.fn._reverse=[].reverse})(jQuery);(function(d){var a=new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{","}","\\"].join("|\\")+")","g");function c(l,k,f){var h=f.split(" ");var e=[];var g;for(i=0;i<h.length;i++){e.push(h[i].replace(a,"\\$1"))}g="("+e.join("|")+")";return l.replace(new RegExp(g,"gi"),"<strong>$1</strong>")+" "}function b(f,e){this.el=d(f);this.el.attr("autocomplete","off");this.suggestions=[];this.data=[];this.badQueries=[];this.selectedIndex=-1;this.currentValue=this.el.val();this.intervalId=0;this.cachedResponse=[];this.onChangeInterval=null;this.ignoreValueChange=false;this.serviceUrl=e.serviceUrl;this.isLocal=false;this.options={autoSubmit:false,multiple:true,multipleSeparator:" ",minChars:1,maxHeight:300,deferRequestBy:0,width:0,highlight:true,params:{},fnFormatResult:c,delimiter:null,zIndex:9999};this.initialize();this.setOptions(e)}d.fn.autocomplete=function(e){return new b(this.get(0)||d("<input />"),e)};b.prototype={killerFn:null,initialize:function(){var g,e,f;g=this;e=Math.floor(Math.random()*1048576).toString(16);f="Autocomplete_"+e;this.killerFn=function(h){if(d(h.target).parents(".autocomplete").size()===0){g.killSuggestions();g.disableKillerFn()}};if(!this.options.width){this.options.width=this.el.width()}this.mainContainerId="AutocompleteContainter_"+e;d('<div id="'+this.mainContainerId+'" style="position:absolute;z-index:9999;"><div class="autocomplete-w1"><div class="autocomplete" id="'+f+'" style="display:none; width:300px;"></div></div></div>').appendTo("body");this.container=d("#"+f);this.fixPosition();if(window.opera){this.el.keypress(function(h){g.onKeyPress(h)})}else{this.el.keydown(function(h){g.onKeyPress(h)})}this.el.keyup(function(h){g.onKeyUp(h)});this.el.blur(function(){g.enableKillerFn()});this.el.focus(function(){g.fixPosition()})},setOptions:function(e){var f=this.options;d.extend(f,e);if(f.lookup){this.isLocal=true;if(d.isArray(f.lookup)){f.lookup={suggestions:f.lookup,data:[]}}}d("#"+this.mainContainerId).css({zIndex:f.zIndex});this.container.css({maxHeight:f.maxHeight+"px",width:f.width})},clearCache:function(){this.cachedResponse=[];this.badQueries=[]},disable:function(){this.disabled=true},enable:function(){this.disabled=false},fixPosition:function(){var e=this.el.offset();d("#"+this.mainContainerId).css({top:(e.top+this.el.innerHeight())+"px",left:e.left+"px"})},enableKillerFn:function(){var e=this;d(document).bind("click",e.killerFn)},disableKillerFn:function(){var e=this;d(document).unbind("click",e.killerFn)},killSuggestions:function(){var e=this;this.stopKillSuggestions();this.intervalId=window.setInterval(function(){e.hide();e.stopKillSuggestions()},300)},stopKillSuggestions:function(){window.clearInterval(this.intervalId)},onKeyPress:function(f){if(this.disabled||!this.enabled){return}switch(f.keyCode){case 27:this.el.val(this.currentValue);this.hide();break;case 9:case 13:if(this.selectedIndex===-1){this.hide();return}this.select(this.selectedIndex);if(f.keyCode===9){return}break;case 38:this.moveUp();break;case 40:this.moveDown();break;default:return}f.stopImmediatePropagation();f.preventDefault()},onKeyUp:function(g){if(this.disabled){return}switch(g.keyCode){case 38:case 40:return}clearInterval(this.onChangeInterval);if(this.currentValue!==this.el.val()){if(this.options.deferRequestBy>0){var f=this;this.onChangeInterval=setInterval(function(){f.onValueChange()},this.options.deferRequestBy)}else{this.onValueChange()}}},onValueChange:function(){clearInterval(this.onChangeInterval);this.currentValue=this.el.val();var e=this.getQuery(this.currentValue);this.selectedIndex=-1;if(this.ignoreValueChange){this.ignoreValueChange=false;return}if(e===""||e.length<this.options.minChars){this.hide()}else{this.getSuggestions(e)}},getQuery:function(g){var f,e;f=this.options.delimiter;if(!f){return d.trim(g)}e=g.split(f);return d.trim(e[e.length-1])},getSuggestionsLocal:function(k){var g,f,e,l,h;f=this.options.lookup;e=f.suggestions.length;g={suggestions:[],data:[]};k=k.toLowerCase();for(h=0;h<e;h++){l=f.suggestions[h];if(l.toLowerCase().indexOf(k)===0){g.suggestions.push(l);g.data.push(f.data[h])}}return g},getSuggestions:function(g){var f,e;f=this.isLocal?this.getSuggestionsLocal(g):this.cachedResponse[g];if(f&&d.isArray(f.suggestions)){this.suggestions=f.suggestions;this.data=f.data;this.suggest()}else{if(!this.isBadQuery(g)){e=this;e.options.params.query=g;d.ajax({url:this.serviceUrl,data:e.options.params,success:function(h){e.processResponse(h)},type:"GET",dataType:"jsonp",jsonp:"callback"})}}},isBadQuery:function(f){var e=this.badQueries.length;while(e--){if(f.indexOf(this.badQueries[e])===0){return true}}return false},hide:function(){this.enabled=false;this.selectedIndex=-1;this.container.hide()},suggest:function(){if(this.suggestions.length===0){this.hide();return}var o,m,e,l,p,h,q,k,g;o=this;m=this.suggestions.length;l=this.options.fnFormatResult;p=this.getQuery(this.currentValue);k=function(f){return function(){o.activate(f)}};g=function(f){return function(){o.select(f)}};this.container.hide().empty();for(h=0;h<m;h++){q=this.suggestions[h];e=d((o.selectedIndex===h?'<div class="selected"':"<div")+' title="'+q+'">'+l(q,this.data[h],p)+"</div>");e.mouseover(k(h));e.click(g(h));this.container.append(e)}this.enabled=true;this.container.show()},processResponse:function(e){if(!d.isArray(e.data)){e.data=[]}if(!this.options.noCache){this.cachedResponse[e.query]=e;if(e.suggestions.length===0){this.badQueries.push(e.query)}}if(e.query===this.getQuery(this.currentValue)){this.suggestions=e.suggestions;this.data=e.data;this.suggest()}},activate:function(e){var f,g;f=this.container.children();if(this.selectedIndex!==-1&&f.length>this.selectedIndex){d(f.get(this.selectedIndex)).removeClass()}this.selectedIndex=e;if(this.selectedIndex!==-1&&f.length>this.selectedIndex){g=f.get(this.selectedIndex);d(g).addClass("selected")}return g},deactivate:function(f,e){f.className="";if(this.selectedIndex===e){this.selectedIndex=-1}},select:function(g){var e,h;e=this.suggestions[g];if(e){this.el.val(e);if(this.options.autoSubmit){h=this.el.parents("form");if(h.length>0){h.get(0).submit()}}this.ignoreValueChange=true;this.hide();this.onSelect(g)}},moveUp:function(){if(this.selectedIndex===-1){return}if(this.selectedIndex===0){this.container.children().get(0).className="";this.selectedIndex=-1;this.el.val(this.currentValue);return}this.adjustScroll(this.selectedIndex-1)},moveDown:function(){if(this.selectedIndex===(this.suggestions.length-1)){return}this.adjustScroll(this.selectedIndex+1)},adjustScroll:function(e){var k,f,g,h;k=this.activate(e);f=k.offsetTop;g=this.container.scrollTop();h=g+this.options.maxHeight-25;if(f<g){this.container.scrollTop(f)}else{if(f>h){this.container.scrollTop(f-this.options.maxHeight+25)}}this.el.val(this.getValue(this.suggestions[e]))},onSelect:function(e){var h,g,f,k;h=this;g=h.options.onSelect;f=h.suggestions[e];k=h.data[e];h.el.val(h.getValue(f));if(d.isFunction(g)){g(f,k,h.el)}},getValue:function(k){var f,h,e,g;g=this;f=g.options.delimiter;if(!f){return k}h=g.currentValue;e=h.split(f);if(e.length===1){return k}return h.substr(0,h.length-e[e.length-1].length)+k}}}(jQuery));(function(g){function b(){this.regional=[];this.regional[""]={labels:["Years","Months","Weeks","Days","Hours","Minutes","Seconds"],labels1:["Year","Month","Week","Day","Hour","Minute","Second"],compactLabels:["y","m","w","d"],whichLabels:null,timeSeparator:":",isRTL:false};this._defaults={until:null,since:null,timezone:null,serverSync:null,format:"dHMS",layout:"",compact:false,significant:0,description:"",expiryUrl:"",expiryText:"",alwaysExpire:false,onExpiry:null,onTick:null,tickInterval:1};g.extend(this._defaults,this.regional[""]);this._serverSyncs=[];function o(s){var r=(s||new Date().getTime());if(r-p>=1000){g.countdown._updateTargets();p=r}q(o)}var q=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||null;var p=0;if(!q){setInterval(function(){g.countdown._updateTargets()},980)}else{p=window.mozAnimationStartTime||new Date().getTime();q(o)}}var l="countdown";var c=0;var h=1;var d=2;var a=3;var m=4;var k=5;var f=6;g.extend(b.prototype,{markerClassName:"hasCountdown",_timerTargets:[],setDefaults:function(o){this._resetExtraLabels(this._defaults,o);e(this._defaults,o||{})},UTCDate:function(w,v,u,s,r,q,p,o){if(typeof v=="object"&&v.constructor==Date){o=v.getMilliseconds();p=v.getSeconds();q=v.getMinutes();r=v.getHours();s=v.getDate();u=v.getMonth();v=v.getFullYear()}var t=new Date();t.setUTCFullYear(v);t.setUTCDate(1);t.setUTCMonth(u||0);t.setUTCDate(s||1);t.setUTCHours(r||0);t.setUTCMinutes((q||0)-(Math.abs(w)<30?w*60:w));t.setUTCSeconds(p||0);t.setUTCMilliseconds(o||0);return t},periodsToSeconds:function(o){return o[0]*31557600+o[1]*2629800+o[2]*604800+o[3]*86400+o[4]*3600+o[5]*60+o[6]},_settingsCountdown:function(p,o){if(!o){return g.countdown._defaults}var q=g.data(p,l);return(o=="all"?q.options:q.options[o])},_attachCountdown:function(p,o){var r=g(p);if(r.hasClass(this.markerClassName)){return}r.addClass(this.markerClassName);var q={options:g.extend({},o),_periods:[0,0,0,0,0,0,0]};g.data(p,l,q);this._changeCountdown(p)},_addTarget:function(o){if(!this._hasTarget(o)){this._timerTargets.push(o)}},_hasTarget:function(o){return(g.inArray(o,this._timerTargets)>-1)},_removeTarget:function(o){this._timerTargets=g.map(this._timerTargets,function(p){return(p==o?null:p)})},_updateTargets:function(){for(var o=this._timerTargets.length-1;o>=0;o--){this._updateCountdown(this._timerTargets[o])}},_updateCountdown:function(y,x){var w=g(y);x=x||g.data(y,l);if(!x){return}w.html(this._generateHTML(x));w[(this._get(x,"isRTL")?"add":"remove")+"Class"]("countdown_rtl");var v=this._get(x,"onTick");if(v){var u=x._hold!="lap"?x._periods:this._calculatePeriods(x,x._show,this._get(x,"significant"),new Date());var t=this._get(x,"tickInterval");if(t==1||this.periodsToSeconds(u)%t==0){v.apply(y,[u])}}var s=x._hold!="pause"&&(x._since?x._now.getTime()<x._since.getTime():x._now.getTime()>=x._until.getTime());if(s&&!x._expiring){x._expiring=true;if(this._hasTarget(y)||this._get(x,"alwaysExpire")){this._removeTarget(y);var r=this._get(x,"onExpiry");if(r){r.apply(y,[])}var q=this._get(x,"expiryText");if(q){var p=this._get(x,"layout");x.options.layout=q;this._updateCountdown(y,x);x.options.layout=p}var o=this._get(x,"expiryUrl");if(o){window.location=o}}x._expiring=false}else{if(x._hold=="pause"){this._removeTarget(y)}}g.data(y,l,x)},_changeCountdown:function(p,o,t){o=o||{};if(typeof o=="string"){var s=o;o={};o[s]=t}var r=g.data(p,l);if(r){this._resetExtraLabels(r.options,o);e(r.options,o);this._adjustSettings(p,r);g.data(p,l,r);var q=new Date();if((r._since&&r._since<q)||(r._until&&r._until>q)){this._addTarget(p)}this._updateCountdown(p,r)}},_resetExtraLabels:function(p,o){var r=false;for(var q in o){if(q!="whichLabels"&&q.match(/[Ll]abels/)){r=true;break}}if(r){for(var q in p){if(q.match(/[Ll]abels[0-9]/)){p[q]=null}}}},_adjustSettings:function(w,v){var u;var t=this._get(v,"serverSync");var s=0;var r=null;for(var o=0;o<this._serverSyncs.length;o++){if(this._serverSyncs[o][0]==t){r=this._serverSyncs[o][1];break}}if(r!=null){s=(t?r:0);u=new Date()}else{var q=(t?t.apply(w,[]):null);u=new Date();s=(q?u.getTime()-q.getTime():0);this._serverSyncs.push([t,s])}var p=this._get(v,"timezone");p=(p==null?-u.getTimezoneOffset():p);v._since=this._get(v,"since");if(v._since!=null){v._since=this.UTCDate(p,this._determineTime(v._since,null));if(v._since&&s){v._since.setMilliseconds(v._since.getMilliseconds()+s)}}v._until=this.UTCDate(p,this._determineTime(this._get(v,"until"),u));if(s){v._until.setMilliseconds(v._until.getMilliseconds()+s)}v._show=this._determineShow(v)},_destroyCountdown:function(p){var o=g(p);if(!o.hasClass(this.markerClassName)){return}this._removeTarget(p);o.removeClass(this.markerClassName).empty();g.removeData(p,l)},_pauseCountdown:function(o){this._hold(o,"pause")},_lapCountdown:function(o){this._hold(o,"lap")},_resumeCountdown:function(o){this._hold(o,null)},_hold:function(p,o){var r=g.data(p,l);if(r){if(r._hold=="pause"&&!o){r._periods=r._savePeriods;var q=(r._since?"-":"+");r[r._since?"_since":"_until"]=this._determineTime(q+r._periods[0]+"y"+q+r._periods[1]+"o"+q+r._periods[2]+"w"+q+r._periods[3]+"d"+q+r._periods[4]+"h"+q+r._periods[5]+"m"+q+r._periods[6]+"s");this._addTarget(p)}r._hold=o;r._savePeriods=(o=="pause"?r._periods:null);g.data(p,l,r);this._updateCountdown(p,r)}},_getTimesCountdown:function(p){var o=g.data(p,l);return(!o?null:(!o._hold?o._periods:this._calculatePeriods(o,o._show,this._get(o,"significant"),new Date())))},_get:function(p,o){return(p.options[o]!=null?p.options[o]:g.countdown._defaults[o])},_determineTime:function(r,q){var p=function(u){var o=new Date();o.setTime(o.getTime()+u*1000);return o};var t=function(C){C=C.toLowerCase();var B=new Date();var A=B.getFullYear();var z=B.getMonth();var y=B.getDate();var x=B.getHours();var w=B.getMinutes();var v=B.getSeconds();var u=/([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g;var o=u.exec(C);while(o){switch(o[2]||"s"){case"s":v+=parseInt(o[1],10);break;case"m":w+=parseInt(o[1],10);break;case"h":x+=parseInt(o[1],10);break;case"d":y+=parseInt(o[1],10);break;case"w":y+=parseInt(o[1],10)*7;break;case"o":z+=parseInt(o[1],10);y=Math.min(y,g.countdown._getDaysInMonth(A,z));break;case"y":A+=parseInt(o[1],10);y=Math.min(y,g.countdown._getDaysInMonth(A,z));break}o=u.exec(C)}return new Date(A,z,y,x,w,v,0)};var s=(r==null?q:(typeof r=="string"?t(r):(typeof r=="number"?p(r):r)));if(s){s.setMilliseconds(0)}return s},_getDaysInMonth:function(p,o){return 32-new Date(p,o,32).getDate()},_normalLabels:function(o){return o},_generateHTML:function(H){var G=this._get(H,"significant");H._periods=(H._hold?H._periods:this._calculatePeriods(H,H._show,G,new Date()));var F=false;var E=0;var D=G;var C=g.extend({},H._show);for(var B=c;B<=f;B++){F|=(H._show[B]=="?"&&H._periods[B]>0);C[B]=(H._show[B]=="?"&&!F?null:H._show[B]);E+=(C[B]?1:0);D-=(H._periods[B]>0?1:0)}var A=[false,false,false,false,false,false,false];for(var B=f;B>=c;B--){if(H._show[B]){if(H._periods[B]){A[B]=true}else{A[B]=D>0;D--}}}var z=this._get(H,"compact");var y=this._get(H,"layout");var x=(z?this._get(H,"compactLabels"):this._get(H,"labels"));var w=this._get(H,"whichLabels")||this._normalLabels;var v=this._get(H,"timeSeparator");var u=this._get(H,"description")||"";var t=function(p){var o=g.countdown._get(H,"compactLabels"+w(H._periods[p]));return(C[p]?H._periods[p]+(o?o[p]:x[p])+" ":"")};var s=function(p){var o=g.countdown._get(H,"labels"+w(H._periods[p]));return((!G&&C[p])||(G&&A[p])?'<span class="countdown_section"><span class="countdown_amount">'+H._periods[p]+"</span><br/>"+(o?o[p]:x[p])+"</span>":"")};return(y?this._buildLayout(H,C,y,z,G,A):((z?'<span class="countdown_row countdown_amount'+(H._hold?" countdown_holding":"")+'">'+t(c)+t(h)+t(d)+t(a)+(C[m]?this._minDigits(H._periods[m],2):"")+(C[k]?(C[m]?v:"")+this._minDigits(H._periods[k],2):"")+(C[f]?(C[m]||C[k]?v:"")+this._minDigits(H._periods[f],2):""):'<span class="countdown_row countdown_show'+(G||E)+(H._hold?" countdown_holding":"")+'">'+s(c)+s(h)+s(d)+s(a)+s(m)+s(k)+s(f))+"</span>"+(u?'<span class="countdown_row countdown_descr">'+u+"</span>":"")))},_buildLayout:function(G,F,E,D,C,B){var z=this._get(G,(D?"compactLabels":"labels"));var y=this._get(G,"whichLabels")||this._normalLabels;var x=function(o){return(g.countdown._get(G,(D?"compactLabels":"labels")+y(G._periods[o]))||z)[o]};var w=function(p,o){return Math.floor(p/o)%10};var v={desc:this._get(G,"description"),sep:this._get(G,"timeSeparator"),yl:x(c),yn:G._periods[c],ynn:this._minDigits(G._periods[c],2),ynnn:this._minDigits(G._periods[c],3),y1:w(G._periods[c],1),y10:w(G._periods[c],10),y100:w(G._periods[c],100),y1000:w(G._periods[c],1000),ol:x(h),on:G._periods[h],onn:this._minDigits(G._periods[h],2),onnn:this._minDigits(G._periods[h],3),o1:w(G._periods[h],1),o10:w(G._periods[h],10),o100:w(G._periods[h],100),o1000:w(G._periods[h],1000),wl:x(d),wn:G._periods[d],wnn:this._minDigits(G._periods[d],2),wnnn:this._minDigits(G._periods[d],3),w1:w(G._periods[d],1),w10:w(G._periods[d],10),w100:w(G._periods[d],100),w1000:w(G._periods[d],1000),dl:x(a),dn:G._periods[a],dnn:this._minDigits(G._periods[a],2),dnnn:this._minDigits(G._periods[a],3),d1:w(G._periods[a],1),d10:w(G._periods[a],10),d100:w(G._periods[a],100),d1000:w(G._periods[a],1000),hl:x(m),hn:G._periods[m],hnn:this._minDigits(G._periods[m],2),hnnn:this._minDigits(G._periods[m],3),h1:w(G._periods[m],1),h10:w(G._periods[m],10),h100:w(G._periods[m],100),h1000:w(G._periods[m],1000),ml:x(k),mn:G._periods[k],mnn:this._minDigits(G._periods[k],2),mnnn:this._minDigits(G._periods[k],3),m1:w(G._periods[k],1),m10:w(G._periods[k],10),m100:w(G._periods[k],100),m1000:w(G._periods[k],1000),sl:x(f),sn:G._periods[f],snn:this._minDigits(G._periods[f],2),snnn:this._minDigits(G._periods[f],3),s1:w(G._periods[f],1),s10:w(G._periods[f],10),s100:w(G._periods[f],100),s1000:w(G._periods[f],1000)};var u=E;for(var A=c;A<=f;A++){var t="yowdhms".charAt(A);var s=new RegExp("\\{"+t+"<\\}(.*)\\{"+t+">\\}","g");u=u.replace(s,((!C&&F[A])||(C&&B[A])?"$1":""))}g.each(v,function(q,p){var o=new RegExp("\\{"+q+"\\}","g");u=u.replace(o,p)});return u},_minDigits:function(p,o){p=""+p;if(p.length>=o){return p}p="0000000000"+p;return p.substr(p.length-o)},_determineShow:function(p){var o=this._get(p,"format");var q=[];q[c]=(o.match("y")?"?":(o.match("Y")?"!":null));q[h]=(o.match("o")?"?":(o.match("O")?"!":null));q[d]=(o.match("w")?"?":(o.match("W")?"!":null));q[a]=(o.match("d")?"?":(o.match("D")?"!":null));q[m]=(o.match("h")?"?":(o.match("H")?"!":null));q[k]=(o.match("m")?"?":(o.match("M")?"!":null));q[f]=(o.match("s")?"?":(o.match("S")?"!":null));return q},_calculatePeriods:function(N,M,L,K){N._now=K;N._now.setMilliseconds(0);var J=new Date(N._now.getTime());if(N._since){if(K.getTime()<N._since.getTime()){N._now=K=J}else{K=N._since}}else{J.setTime(N._until.getTime());if(K.getTime()>N._until.getTime()){N._now=K=J}}var I=[0,0,0,0,0,0,0];if(M[c]||M[h]){var H=g.countdown._getDaysInMonth(K.getFullYear(),K.getMonth());var G=g.countdown._getDaysInMonth(J.getFullYear(),J.getMonth());var F=(J.getDate()==K.getDate()||(J.getDate()>=Math.min(H,G)&&K.getDate()>=Math.min(H,G)));var E=function(o){return(o.getHours()*60+o.getMinutes())*60+o.getSeconds()};var D=Math.max(0,(J.getFullYear()-K.getFullYear())*12+J.getMonth()-K.getMonth()+((J.getDate()<K.getDate()&&!F)||(F&&E(J)<E(K))?-1:0));I[c]=(M[c]?Math.floor(D/12):0);I[h]=(M[h]?D-I[c]*12:0);K=new Date(K.getTime());var C=(K.getDate()==H);var B=g.countdown._getDaysInMonth(K.getFullYear()+I[c],K.getMonth()+I[h]);if(K.getDate()>B){K.setDate(B)}K.setFullYear(K.getFullYear()+I[c]);K.setMonth(K.getMonth()+I[h]);if(C){K.setDate(B)}}var A=Math.floor((J.getTime()-K.getTime())/1000);var z=function(p,o){I[p]=(M[p]?Math.floor(A/o):0);A-=I[p]*o};z(d,604800);z(a,86400);z(m,3600);z(k,60);z(f,1);if(A>0&&!N._since){var y=[1,12,4.3482,7,24,60,60];var x=f;var w=1;for(var v=f;v>=c;v--){if(M[v]){if(I[x]>=w){I[x]=0;A=1}if(A>0){I[v]++;A=0;x=v;w=1}}w*=y[v]}}if(L){for(var v=c;v<=f;v++){if(L&&I[v]){L--}else{if(!L){I[v]=0}}}}return I}});function e(p,o){g.extend(p,o);for(var q in o){if(o[q]==null){p[q]=null}}return p}g.fn.countdown=function(p){var o=Array.prototype.slice.call(arguments,1);if(p=="getTimes"||p=="settings"){return g.countdown["_"+p+"Countdown"].apply(g.countdown,[this[0]].concat(o))}return this.each(function(){if(typeof p=="string"){g.countdown["_"+p+"Countdown"].apply(g.countdown,[this].concat(o))}else{g.countdown._attachCountdown(this,p)}})};g.countdown=new b()})(jQuery);var debug=false;var sessionController=null;var accountController=null;var basketController=null;var storeId="10001";var catalogId="10051";var langId="100";var QS_Utils;function QS_Utils(){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";var a="0123456789ABCDEF";return{getUrlParam:function(d){d=d.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var c="[\\?&]"+d+"=([^&#]*)";var f=new RegExp(c);var e=f.exec(window.location.href);if(e==null){return""}else{var g=e[1];return g}},shiftFocus:function(e,f,c){var d=e.val().length;if(d>=c){f.focus()}},getCookie:function(c){var e="(?:; )?"+c+"=([^;]*);?";var d=new RegExp(e);if(d.test(document.cookie)){return decodeURIComponent(RegExp["$1"])}else{return null}},deleteCookie:function(c,e,d){if(QS_Utils.getCookie(c)){document.cookie=c+"="+((e)?"; path="+e:"")+((d)?"; domain="+d:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT"}},generateNickname:function(f){var d=new Date();var e=f.find("input[name=addressType]").val();var c=e+"_"+d.getTime();f.find("input[name=nickName]").val(c);return c},callNull:function(){},createPageLink:function(e,d,c,f){$("#"+f).append("<li class='"+c+"'><a href='#"+d+"'>"+e+"</a></li>")},fadeTransition:function(c,e,d){$(c).fadeOut(d,function(){$(e).fadeIn(d)})},encodeHtml:function(c){so=new String(c);so=so.replace('"',"");so=so.replace("'","");return so.valueOf()},encodeURIComponent:function(f){f=this.toUTF8(f);var g;var d="";for(var e=0;e<f.length;e++){if(this.okURIchars.indexOf(f.charAt(e))==-1){d+="%"+this.toHex(f.charCodeAt(e))}else{d+=f.charAt(e)}}return d},toUTF8:function(f){var g;var d="";var e=0;while(e<wide.length){g=wide.charCodeAt(e++);if(g>=56320&&g<57344){continue}if(g>=55296&&g<56320){if(e>=wide.length){continue}f=wide.charCodeAt(e++);if(f<56320||g>=56832){continue}g=((g-55296)<<10)+(f-56320)+65536}if(g<128){d+=String.fromCharCode(g)}else{if(g<2048){d+=String.fromCharCode(192+(g>>6),128+(g&63))}else{if(g<65536){d+=String.fromCharCode(224+(g>>12),128+(g>>6&63),128+(g&63))}else{d+=String.fromCharCode(240+(g>>18),128+(g>>12&63),128+(g>>6&63),128+(g&63))}}}}return d},toHex:function(c){return this.hexchars.charAt(n>>4)+this.hexchars.charAt(n&15)},validateEmailAddress:function(d){var c=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;if(d==null||d==""||!c.test(d)){return false}return true},validateCardExpiryDate:function(h,d){var e=new Date();var f=e.getFullYear();var g=e.getMonth();g++;var k=f*12+g;var c=(d+2000)*12+h;if((k<=c)&&(h<13)&&(h>0)){return true}else{return false}},validateCardStartDate:function(f,d){var e=new Date();var g=e.getFullYear();var h=e.getMonth();h++;var k=g*12+h;var c=(d+2000)*12+f;if((c<=k)&&(f<13)&&(f>0)){return true}else{return false}},hideDefaultErrors:function(){$("#QS_defaultErrorSection").hide()},openCertDetails:function(c){window.open("https://www.thawte.com/core/process?process=public-site-seal-cert-details&public-site-seal-cert-details.referer="+c,"anew",config="height=500,width=516,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,directories=no,status=yes")},hideValidationErrors:function(){$(".errorSection").hide();$(".errorSection ul").empty();$("*").removeClass("errorHighlight")}}}$(function(){QS_Utils=new QS_Utils()});jQuery.validator.setDefaults({onkeyup:false,onclick:false});var QS_Constants;function QS_Constants(){var d=/^((([BEGLMNS][1-9]\d?)|(W[2-9])|((A[BL]|B[ABDHLNRST]|C[ABFHMORTVW]|D[ADEGHLNTY]|E[HNX]|F[KY]|G[LUY]|H[ADGPRSUX]|I[GMPV]|JE|K[ATWY]|L[ADELNSU]|M[EKL]|N[EGNPRW]|O[LX]|P[AEHLOR]|R[GHM]|S[AEGKL-PRSTWY]|T[ADFNQRSW]|UB|W[ADFNRSV]|YO|ZE)\d\d?)|(W1[A-HJKSTUW0-9])|(((WC[1-2])|(EC[1-4])|(SW1)|E1|W1)[ABEHMNPRVWXY]))(\s*)?([0-9][ABD-HJLNP-UW-Z]{2}))$|^(GIR\s?0AA)$|^(ASCN|BBND|BIQQ|FIQQ|PCRN|SIQQ|STHL|TDCU|TKCA)\s?1ZZ$|^(BFPO\s?\d\d?\d?)$/;var c=/^00\d{8}$/;var a=/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$/;var b=/^\d+$/;return{initCustomValidationRules:function(){jQuery.validator.addMethod("ukPostCode",function(h,g){if(h){h=new String($.trim(h)).toUpperCase();if(h.length>5&&(h.lastIndexOf(" ")==-1)){var f=h.slice(0,-3);var e=h.slice(-3);h=f+" "+e}g.value=h}return this.optional(g)||d.test(h)},"Please enter a valid UK Postcode");jQuery.validator.addMethod("logonId",function(f,e){if(b.test(f)){return this.optional(e)||c.test(f)}else{return this.optional(e)||a.test(f)}},"Invalid");jQuery.validator.addMethod("logonPaswordMinlength",function(f,e){var g=false;f=new String($.trim(f));if(b.test(f)){g=(f.length>3&&f.length<100)}else{g=(f.length>5&&f.length<100)}return this.optional(e)||g},"Invalid Password")},validation_rules:function(e){if(!e){alert("DEV NOTE: Please set a form id against validation rules for this form");return}return{firstName:{required:true,maxlength:30},lastName:{required:true,maxlength:30},phone1:{required:true,maxlength:20},phone2:{maxlength:20},address1:{required:true,maxlength:30},address2:{maxlength:30},address3:{maxlength:30},zipCode:{required:function(f){return $(e+" *[name='country']").val()=="GB"},ukPostCode:true},postcode:{required:function(f){return $(e+" *[name='country']").val()=="GB"},ukPostCode:true},city:{required:true,maxlength:30},state:{required:true,maxlength:30},country:{required:true},email1:{email:true,required:true,minlength:4},emailVerify:{email:true,required:true,minlength:4,equalTo:e+" input[name='email1']"},maginusAccountNumber:{required:true},shipModeId:{required:true},policyId:{required:true},cardNumberRaw:{required:true,minlength:13,maxlength:19,creditcard:true},cardNumber:{required:true,minlength:13,maxlength:19,creditcard:true},cardHolderName:{required:true,maxlength:100},cardExpiryMonth:{required:true,digits:true,maxlength:2,minlength:2},cardExpiryYear:{required:true,digits:true,maxlength:2,minlength:2},cardStartMonth:{digits:true,maxlength:2,minlength:2},cardStartYear:{digits:true,maxlength:2,minlength:2},cardIssue:{digits:true,maxlength:2},verificationNumber:{required:true,maxlength:3,minlength:3,digits:true},subscribeEmail:{required:true,email:true},subscribeEmailAddress:{required:true,email:true,maxlength:100},subscribeTitle:{required:true},subscribeFirstName:{required:true},subscribeLastName:{required:true},logonId:{required:true,logonId:true,maxlength:100},logonPassword:{required:true,logonPaswordMinlength:true},logonPasswordOld:{required:true},logonPasswordNew:{required:true,maxlength:20},logonPasswordVerify:{required:true,equalTo:e+" input[name='logonPassword']"},terms:{required:true},sender_name:{required:true,minlength:2},sender:{email:true,required:true,minlength:4},recipient_name:{required:true,minlength:2},recipient:{email:true,required:true,minlength:4},message:{required:false,maxlength:1000},fromname:{required:true,maxlength:100},toname:{required:true,maxlength:100},fromemail:{required:true,email:true,maxlength:100},toemail:{required:true,email:true,maxlength:100},emailMessage:{required:true,maxlength:1000},rating:{required:true},foreName:{required:true,maxlength:100},forename:{required:true,maxlength:100},emailAddress:{required:true,email:true,maxlength:100},reviewTitle:{required:true,maxlength:100},reviewText:{required:true,maxlength:1000},QS_contactFormOption:{required:true},surname:{required:true,maxlength:30},tel:{maxlength:20},fromEmail:{required:true,email:true,maxlength:100}}},validation_messages:{firstName:{required:"Your first name is required.",maxlength:"Forename must not exceed 30 characters in length."},lastName:{required:"Your surname is required.",maxlength:"Surname must not exceed 30 characters in length."},phone1:{required:"Please enter your phone number.",maxlength:"Your phone number cannot exceed 20 characters."},phone2:{maxlength:"Your phone number cannot exceed 20 characters."},address1:{required:"Please enter the first line of your address.",maxlength:"Your address cannot contain more then 30 characters"},address2:{maxlength:"The second line of your address cannot contain more then 30 characters"},address3:{maxlength:"The third line of your address cannot contain more then 30 characters"},zipCode:{required:"Please enter a UK Postcode.",ukPostCode:"UK Postcode has invalid format"},postcode:{required:"Please enter a UK Postcode.",ukPostCode:"UK Postcode has invalid format"},city:{required:"Please enter a valid city or town.",maxlength:"Your city/town cannot exceed 30 characters."},state:{required:"Please enter a state/county/province.",maxlength:"Your state/county/province cannot exceed 30 characters."},country:{required:"Please select"},email1:{email:"Invalid format",minlength:"email must be 4 characters or more."},emailVerify:{email:"Invalid format",minlength:"Re-typed email must be 4 characters or more.",equalTo:"emails entered do not match"},maginusAccountNumber:{required:"Your customer number is required.",minlength:"Invalid customer number",maxlength:"Invalid customer number",digits:"Invalid customer number"},shipModeId:{required:"A shipping option must be selected."},policyId:{required:"Please select a card type."},cardNumberRaw:{minlength:"Invalid Card number.",maxlength:"Invalid Card number.",required:"Card number required."},cardNumber:{minlength:"Invalid Card number.",maxlength:"Invalid Card number.",creditcard:"Invalid Card number.",required:"Card number required."},cardHolderName:{required:"Name on card is required",maxlength:"Invalid name on card."},cardExpiryMonth:{required:"Expiry month is required",digits:"2 digit expiry month required.",maxlength:"2 digit expiry month required.",minlength:"2 digit expiry month required."},cardExpiryYear:{required:"Card expiry year is required",digits:"2 digit expiry year required.",maxlength:"2 digit expiry year required.",minlength:"2 digit expiry year required."},cardStartMonth:{digits:"2 digit start month required.",maxlength:"2 digit start month required.",minlength:"2 digit start month required."},cardStartYear:{digits:"2 digit start year required.",maxlength:"2 digit start year required.",minlength:"2 digit start year required."},cardIssue:{digits:"Invalid issue number.",maxlength:"Invalid issue number."},verificationNumber:{required:"3 digit security number required.",maxlength:"3 digit security number required.",minlength:"3 digit security number required.",digits:"3 digit security number required."},subscribeEmail:{required:"Please supply a valid email address.",email:"Please supply a valid email address."},subscribeEmailAddress:{required:"Email address is required",email:"Invalid format"},subscribeTitle:{required:"Please select a title."},subscribeFirstName:{required:"Please enter your first name."},subscribeLastName:{required:"Please enter your last name."},logonId:{required:"Email address or customer number  is required.",email:"Your email does not seem to be in a valid format.",maxlength:"Email address or customer number is invalid.",logonId:"Email address or customer number is invalid."},logonPassword:{equalTo:"Passwords entered do not match"},logonPasswordNew:{minlength:"Password must be 6 characters or more."},logonPasswordVerify:{minlength:"Re-typed password must be 6 characters or more.",equalTo:"Re-typed password must match password"},terms:{required:"Please read and accept our terms and conditions before completing your registration"},sender_name:{minlength:"Your name must be at least 2 characters in length"},sender:{email:"Your email address is not valid",minlength:"Your email address must be 5 characters or more."},recipient_name:{minlength:"Friend's name must be at least 2 characters in length"},recipient:{email:"Friend's email address is not valid",minlength:"Friend's email address must be 5 characters or more."},message:{maxlength:"Message must be 1000 characters or less."},fromname:{required:"Your name is required to send.",maxlength:"Forename must not exceed 100 characters in length."},toname:{required:"Your friend's name is required.",maxlength:"Surname must not exceed 100 characters in length."},fromemail:{required:"Please enter a valid email address.",email:"The email you entered seems to have an error, please re-enter.",maxlength:"The length of the email address cannot exceed 100 characters."},toemail:{required:"Please enter a valid email address.",email:"Your friend's email seems to have an error, please re-enter.",maxlength:"The length of the email address cannot exceed 100 characters."},emailMessage:{required:"Please supply a message to send to your friend.",maxlength:"Message cannot contain more then 1000 characters."},rating:{required:"Please choose a rating from 1 to 5 stars."},foreName:{required:"Your name is required for this review.",maxlength:"Your name not exceed 100 characters in length."},forename:{required:"Your name is required for this review.",maxlength:"Your name not exceed 100 characters in length."},emailAddress:{required:"Please enter a valid email address.",email:"The email you entered seems to have an error, please re-enter.",maxlength:"The length of the email address cannot exceed 100 characters."},reviewTitle:{required:"Please give a title to your review.",maxlength:"Your title cannot exceed 100 characters."},reviewText:{required:"Please supply comments to your review.",maxlength:"Your review cannot contain more then 1000 characters."},QS_contactFormOption:{required:"Please select a reason for your enquiry."},surname:{required:"Your surname is required.",maxlength:"Surname must not exceed 30 characters in length."},tel:{maxlength:"Telephone must not exceed 20 characters in length."},fromEmail:{required:"Please enter a valid email address.",email:"The email you entered does not seem to have a valid format.  Please check and try again.",maxlength:"The length of the email address cannot exceed 100 characters."}},validation_messages_inline:{firstName:{required:"Required",maxlength:"Max 30 chars"},lastName:{required:"Required",maxlength:"Max 30 chars"},phone1:{required:"Required",maxlength:"Max 20 chars"},phone2:{maxlength:"Max 20 chars"},address1:{required:"Required",maxlength:"Max 30 chars"},address2:{maxlength:"Max 30 chars"},address3:{maxlength:"Max 30 chars"},zipCode:{required:"Required",ukPostCode:"Invalid"},postcode:{required:"Required",ukPostCode:"Invalid"},city:{required:"Required",maxlength:"Max 30 chars"},state:{required:"Required",maxlength:"Max 30 chars"},country:{required:"Required"},email1:{email:"Invalid format",minlength:"Min 3 chars"},emailVerify:{email:"Invalid format",minlength:"Min 3 chars",equalTo:"Emails do not match"},maginusAccountNumber:{required:"Required",minlength:"Invalid customer number",maxlength:"Invalid customer number",digits:"Invalid customer number"},shipModeId:{required:"Please select an option"},policyId:{required:"Required"},cardNumberRaw:{minlength:"Invalid Card number.",maxlength:"Invalid Card number.",creditcard:"Invalid Card number.",required:"Card number required."},cardNumber:{required:"Card number required.",minlength:"Invalid Card number.",maxlength:"Invalid Card number.",creditcard:"Invalid Card number."},cardHolderName:{required:"Required",maxlength:"Max 100 chars"},cardExpiryMonth:{required:"Required",digits:"Numbers only",maxlength:"2 digits required",minlength:"2 digits required"},cardExpiryYear:{required:"Required",digits:"Numbers only",maxlength:"2 digits required",minlength:"2 digits required"},cardStartMonth:{digits:"Numbers only",maxlength:"2 digits required",minlength:"2 digits required"},cardStartYear:{digits:"Numbers only",maxlength:"2 digits required",minlength:"2 digits required"},cardIssue:{digits:"Numbers only",maxlength:"Max 3 chars"},verificationNumber:{required:"Required",maxlength:"3 digits required",minlength:"3 digits required",digits:"Numbers only"},subscribeEmail:{required:"Required",email:"Invalid format"},subscribeEmailAddress:{required:"Required",email:"Invalid format"},subscribeTitle:{required:"Required"},subscribeFirstName:{required:"Required"},subscribeLastName:{required:"Required"},logonId:{required:"Required",email:"Invalid",maxlength:"Invalid",minlength:"Invalid"},logonPassword:{equalTo:"Invalid"},logonPasswordOld:{minlength:"Invalid"},logonPasswordNew:{minlength:"Invalid"},logonPasswordVerify:{minlength:"Invalid",equalTo:"Incorrect"},terms:{required:"Please accept to continue"},sender_name:{minlength:"Min 2 chars"},sender:{email:"Invalid format",minlength:"Min 5 chars"},recipient_name:{minlength:"Min 2 chars"},recipient:{email:"Invalid format",minlength:"Min 5 chars"},message:{maxlength:"Max 1000 chars"},fromname:{required:"Required",maxlength:"Max 100 chars"},toname:{required:"Required",maxlength:"Max 100 chars"},fromemail:{required:"Required",email:"Invalid format",maxlength:"Max 100 chars"},toemail:{required:"Required",email:"Invalid formats",maxlength:"Max 100 chars"},emailMessage:{required:"Required",maxlength:"Max 1000 chars"},rating:{required:"Please choose a rating"},foreName:{required:"Required",maxlength:"Max 100 chars"},forename:{required:"Required",maxlength:"Max 100 chars"},emailAddress:{required:"Required",email:"Invalid format",maxlength:"Max 100 chars"},reviewTitle:{required:"Required",maxlength:"Max 100 chars"},reviewText:{required:"Required",maxlength:"Max 1000 chars"},QS_contactFormOption:{required:"Please select"},surname:{required:"Required",maxlength:"Max 30 chars"},tel:{maxlength:"Max 20 chars"},fromEmail:{required:"Required",email:"Invalid format",maxlength:"Max 100 chars"}},postcodeRegex:function(){return d}}}$(function(){QS_Constants=new QS_Constants();QS_Constants.initCustomValidationRules()});function QS_SessionController(){return{init:function(b){$.tools.overlay.conf.fixed=false;$.ajaxSetup({type:"POST",timeout:60000,dataType:"json",beforeSend:function(){},complete:function(e,d){},error:function(g,d,e){var f="";if(e){f="Exception: "+e+"."}if(!d){alert("Sorry, an unspecified error has occurred. Please try your last action again."+f)}else{if(d=="timeout"){alert("Sorry, your request has timed out. Please try your last action again."+f)}else{if(d=="parsererror"){alert("Sorry, a parser error has occurred. If this problem persists, please contact customer services quoting any details in this message. "+f)}else{alert("Sorry, an error has occurred. If this problem persists, please contact customer services quoting any details in this message. "+f)}}}}});accountController=new QS_AccountController();accountController.init();basketController=new QS_BasketController();basketController.init();if(b){sessvars.$.debug()}var a=false;var c=($(".QS_bypassSync").size()>0);if(!c){if(sessionController.isContextMarkedForTermination()){a=true;sessionController.terminateSession();sessionController.markContextForTermination(false)}if((!a)&&sessvars.tbp_order==null){sessionController.synchronise()}else{basketController.refreshMiniBasket();basketController.refreshBookPoints()}}},synchronise:function(){$.ajax({url:"qs_jsonOrderBeans",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",errorViewName:"qs_jsonStatusError"},success:function(a){if(a.status=="success"){basketController.setOrder(a.order);basketController.refreshMiniBasket();basketController.refreshBookPoints()}else{sessionController.showErrorOverlay(a.errorMessages)}}})},logIn:function(){accountController.purge();basketController.purge();sessvars.$.flush()},purgeAjaxSession:function(){accountController.purge();basketController.purge();sessvars.$.flush()},markContextForTermination:function(a){sessvars.tbp_contextDueTermination=a},isContextMarkedForTermination:function(){return sessvars.tbp_contextDueTermination},terminateSession:function(){$.ajax({url:"Logoff",data:{storeId:storeId,catalogId:catalogId,langId:langId,rememberMe:"false",errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(a){if(a.status=="success"){sessionController.synchronise()}else{sessionController.showErrorOverlay(a.errorMessages)}}})},logOut:function(){accountController.purge();basketController.purge();sessvars.$.clearMem();sessvars.$.flush()},register:function(){accountController.purge();basketController.purge();sessvars.$.flush()},showErrorOverlay:function(c,b){if(!b){b="We found a problem!"}if(c instanceof Array){c=c[0]}$("#QS_errorOverlayMessage").html(c);$("#QS_errorOverlayTitle").html(b);var a=$("#QS_errorOverlay").overlay();a.load()},deleteProduct:function(c,a,b){basketController.deleteProduct(c,a,b)},updateProduct:function(c,d,a,b){basketController.updateProduct(c,d,a,b)},moveToWishList:function(d,c,a,b){basketController.moveToWishList(d,c,a,b)},setPageVisit:function(d,c,a,b){var e="tbp_visit_"+d;sessvars[e]={name:c,cssClass:a,url:b}},getPageVisit:function(a){var b="tbp_visit_"+a;return sessvars[b]},incrementPageCount:function(){var a=sessvars.tbp_visit_count;if(a){sessvars.tbp_visit_count=new Number(a).valueOf()+1}else{sessvars.tbp_visit_count=1}},getPageCount:function(a){var b=sessvars.tbp_visit_count;if(b){return b}else{return 1}},clearBreadcrumbData:function(){var a="tbp_breadcrumb";sessvars[a]=""},getProductBreadcrumbData:function(){var a="tbp_breadcrumb";return sessvars[a]},setProductBreadcrumbData:function(b,a){var c="tbp_breadcrumb";sessvars[c]={previousPageType:b,crumbs:a,productId:""}},fixBreadcrumbDataToProduct:function(a){var b="tbp_breadcrumb";sessvars[b].productId=a},setSelectedTopCategory:function(a){sessvars.tbp_selectedTopCategory=a},getSelectedTopCategory:function(){return sessvars.tbp_selectedTopCategory}}}$(function(){sessionController=new QS_SessionController();sessionController.init(debug)});$(window).load(function(){$("#QS_errorOverlay").overlay({close:"button.QS_closeOverlay"})});var MAX_BASKET_LINE_QUANTITY=20;function QS_BasketController(){return{init:function(){},refreshMiniBasket:function(){if(this.getOrder()){$(".QS_basketQty").html(this.getOrder().basketQty);$(".QS_basketTotal").html(""+this.getOrder().currencySymbol+new Number(this.getOrder().basketTotal).toFixed(2));if(new Number(this.getOrder().basketQty).valueOf()!=1){$("span.minibasketItemsPlural").show()}}$("div.QS_basketDataLoadMask").removeAttr("style")},refreshBookPoints:function(){if(this.getOrder()&&this.getOrder().bookPoints){$(".QS_bookPointsTotal").html(""+this.getOrder().bookPoints.currentBalance)}else{$(".QS_bookPointsTotal").html("0")}},purge:function(){sessvars.tbp_order=null;sessvars.$.flush()},getOrder:function(){return sessvars.tbp_order},getBasketTotal:function(){if(this.getOrder()&&this.getOrder().basketTotal){return(new Number(this.getOrder().basketTotal).toFixed(2))}else{return 0}},getBasketQty:function(){if(this.getOrder()&&this.getOrder().basketQty){return(new Number(this.getOrder().basketQty))}else{return 0}},setOrder:function(order){sessvars.tbp_order=order;sessvars.$.flush()},getOrderItemInfoForProductById:function(catEntryId){var order=this.getOrder();if(order!=null&&order!=undefined&&order.cashOrderItems!=null&&order.cashOrderItems!=undefined){if(order.cashOrderItems.length>0){for(var i=0,item;item=order.cashOrderItems[i];i++){if(item.objectStatus=="valid"&&item.itemId==catEntryId){var info=new Object();info.orderItemId=item.orderItemId;info.itemId=item.itemId;info.partNumber=item.partNumber;info.qty=item.qty;return info}}}}return null},getOrderItemInfoForProductByCode:function(productCode){var order=this.getOrder();if(order!=null&&order!=undefined&&order.cashOrderItems!=null&&order.cashOrderItems!=undefined){if(order.cashOrderItems.length>0){for(var i=0,item;item=order.cashOrderItems[i];i++){if(item.objectStatus=="valid"&&item.partNumber==productCode){var info=new Object();info.orderItemId=item.orderItemId;info.itemId=item.itemId;info.partNumber=item.partNumber;info.qty=item.qty;return info}}}}return null},getOrderItemInfoForProductByOrderItemId:function(orderItemId){var order=this.getOrder();if(order!=null&&order!=undefined&&order.cashOrderItems!=null&&order.cashOrderItems!=undefined){if(order.cashOrderItems.length>0){for(var i=0,item;item=order.cashOrderItems[i];i++){if(item.objectStatus=="valid"&&item.orderItemId==orderItemId){var info=new Object();info.orderItemId=item.orderItemId;info.itemId=item.itemId;info.partNumber=item.partNumber;info.qty=item.qty;return info}}}}return null},getRedeemedBPOrderItemInfoForProductById:function(itemId){var order=this.getOrder();if(order!=null&&order!=undefined&&order.redeemedBPOrderItems!=null&&order.redeemedBPOrderItems!=undefined){if(order.redeemedBPOrderItems.length>0){for(var i=0,item;item=order.redeemedBPOrderItems[i];i++){if(item.objectStatus=="valid"&&item.itemId==itemId){var info=new Object();info.orderItemId=item.orderItemId;info.itemId=item.itemId;info.partNumber=item.partNumber;info.qty=item.qty;return info}}}}return null},getRedeemedBPOrderItemInfoForProductByOrderItemId:function(orderItemId){var order=this.getOrder();if(order!=null&&order!=undefined&&order.redeemedBPOrderItems!=null&&order.redeemedBPOrderItems!=undefined){if(order.redeemedBPOrderItems.length>0){for(var i=0,item;item=order.redeemedBPOrderItems[i];i++){if(item.objectStatus=="valid"){if(item.orderItemId==orderItemId){var info=new Object();info.orderItemId=item.orderItemId;info.itemId=item.itemId;info.partNumber=item.partNumber;info.qty=item.qty;return info}}}}}return null},addProduct:function(catEntryId,quantity,successCallback,errorCallback){var orderItemInfo=this.getOrderItemInfoForProductById(catEntryId);if(orderItemInfo!=null){var orderItemId=orderItemInfo.orderItemId;var newQuantity=(new Number(quantity)+new Number(orderItemInfo.qty));this.updateProduct(orderItemId,newQuantity,successCallback,errorCallback,catEntryId);return}if(quantity>MAX_BASKET_LINE_QUANTITY){if(confirm("There is a limit of "+MAX_BASKET_LINE_QUANTITY+" of this product available to purchase at one time. Would you like to add "+MAX_BASKET_LINE_QUANTITY+" to your basket?")){quantity=MAX_BASKET_LINE_QUANTITY}else{errorCallback(null,catEntryId);return}}$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",catEntryId:catEntryId,quantity:quantity,URL:"qs_jsonOrderBeans",errorViewName:"qs_jsonStatusError"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data,catEntryId)}else{errorCallback(data.errorMessages,catEntryId)}},error:function(xmlHttpObj,status,exception){errorCallback("Please try adding to your basket again",catEntryId)}})},addMultipleProducts:function(catEntryIds,successCallback,errorCallback){var dataObj={storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",URL:"qs_jsonOrderBeans",errorViewName:"qs_jsonStatusError"};for(var i=0;i<catEntryIds.length;i++){eval("dataObj.catEntryId_"+i+"='"+catEntryIds[i]+"'");eval("dataObj.quantity_"+i+"='1'")}$.ajax({url:"OrderItemUpdate",data:dataObj,success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data,catEntryIds)}else{errorCallback(data.errorMessages,catEntryIds)}},error:function(xmlHttpObj,status,exception){errorCallback("Please try adding these items to your basket again",catEntryIds)}})},addProductAndCalculate:function(catEntryId,quantity,successCallback,errorCallback){var orderItemInfo=this.getOrderItemInfoForProductById(catEntryId);if(orderItemInfo!=null){var orderItemId=orderItemInfo.orderItemId;var newQuantity=(new Number(quantity)+new Number(orderItemInfo.qty));this.updateProduct(orderItemId,newQuantity,successCallback,errorCallback,catEntryId);return}if(quantity>MAX_BASKET_LINE_QUANTITY){if(confirm("There is a limit of "+MAX_BASKET_LINE_QUANTITY+" of this product available to purchase at one time. Would you like to add "+MAX_BASKET_LINE_QUANTITY+" to your basket?")){quantity=MAX_BASKET_LINE_QUANTITY}else{return}}$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",catEntryId:catEntryId,quantity:quantity,updatePrices:"1",calculationUsageId:"-1",URL:"OrderCalculate?URL=qs_jsonOrderBeans",errorViewName:"qs_jsonStatusError"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data,catEntryId)}else{errorCallback(data.errorMessages)}}})},quickShop:function(productCode,quantity,orderId,successCallback,errorCallback){var orderItemInfo=this.getOrderItemInfoForProductByCode(productCode);if(orderItemInfo!=null){var orderItemId=orderItemInfo.orderItemId;var catEntryId=orderItemInfo.itemId;var newQuantity=(new Number(quantity)+new Number(orderItemInfo.qty));this.updateProductAndCalculate(orderItemId,newQuantity,successCallback,errorCallback,catEntryId);return}if(quantity>MAX_BASKET_LINE_QUANTITY){if(confirm("There is a limit of "+MAX_BASKET_LINE_QUANTITY+" of this product available to purchase at one time. Would you like to add "+MAX_BASKET_LINE_QUANTITY+" to your basket?")){quantity=MAX_BASKET_LINE_QUANTITY}else{return}}$.ajax({url:"QuickShop",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:orderId,quantity:quantity,field2:"QuickShop",updatePrices:"1",calculationUsageId:"-1",productListId:"",productCode:productCode,URL:"OrderCalculate?URL=qs_jsonOrderBeans",errorViewName:"qs_jsonStatusError"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},redeemBookpoints:function(orderItemId,successCallback,errorCallback){var item=this.getOrderItemInfoForProductByOrderItemId(orderItemId);var bpRedeemedItem=this.getRedeemedBPOrderItemInfoForProductById(item.itemId);var isRedemption=true;if(item.qty==1&&bpRedeemedItem==null){this.bookPointsUpdate_single(orderItemId,isRedemption,successCallback,errorCallback)}else{if(item.qty>1&&bpRedeemedItem==null){this.bookPointsUpdate_split_new(item,isRedemption,successCallback,errorCallback)}else{if(item.qty>=1&&bpRedeemedItem!=null){this.bookPointsUpdate_split_existing(item,bpRedeemedItem,isRedemption,successCallback,errorCallback)}}}},undoBookpoints:function(orderItemId,successCallback,errorCallback,clearAll){var bpRedeemedItem=this.getRedeemedBPOrderItemInfoForProductByOrderItemId(orderItemId);var item=this.getOrderItemInfoForProductById(bpRedeemedItem.itemId);var isRedemption=false;if(bpRedeemedItem.qty==1&&item==null){this.bookPointsUpdate_single(orderItemId,isRedemption,successCallback,errorCallback)}else{if(bpRedeemedItem.qty>1&&item==null){this.bookPointsUpdate_split_new(bpRedeemedItem,isRedemption,successCallback,errorCallback,clearAll)}else{if(bpRedeemedItem.qty>=1&&item!=null){this.bookPointsUpdate_split_existing(item,bpRedeemedItem,isRedemption,successCallback,errorCallback,clearAll)}}}},clearBookpoints:function(orderItemId,successCallback,errorCallback){basketController.undoBookpoints(orderItemId,successCallback,errorCallback,true)},clearBookpointsAndUpdateCalcQty:function(orderItemId,qty,successCallback,errorCallback){var bpRedeemedItem=this.getRedeemedBPOrderItemInfoForProductByOrderItemId(orderItemId);var item=this.getOrderItemInfoForProductById(bpRedeemedItem.itemId);if(item==null){this.clearBookpointsAndUpdateQty_single(orderItemId,qty,successCallback,errorCallback)}else{this.clearBookpointsAndUpdateQty_split(item,bpRedeemedItem,qty,successCallback,errorCallback)}},clearBookpointsAndUpdateQty_single:function(orderItemId,qty,successCallback,errorCallback){var addressId="";var metadata=$(".qs_orderData").metadata();if(metadata&&metadata.addressId){addressId=metadata.addressId}$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",orderItemId:orderItemId,addressId:addressId,field1:"0",quantity:qty,calculateOrder:"1",updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},clearBookpointsAndUpdateQty_split:function(item,bpRedeemedItem,qty,successCallback,errorCallback){var addressId="";var metadata=$(".qs_orderData").metadata();if(metadata&&metadata.addressId){addressId=metadata.addressId}$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",orderItemId_1:item.orderItemId,orderItemId_2:bpRedeemedItem.orderItemId,addressId_1:addressId,addressId_2:addressId,quantity_1:qty,quantity_2:"0",field1_1:"0",field1_2:"1",calculateOrder:"1",updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},bookPointsUpdate_single:function(orderItemId,isRedemption,successCallback,errorCallback){var field1="0";if(isRedemption){field1="1"}var addressId="";var metadata=$(".qs_orderData").metadata();if(metadata&&metadata.addressId){addressId=metadata.addressId}$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",orderItemId:orderItemId,field1:field1,quantity:"1",addressId:addressId,calculateOrder:"1",updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},bookPointsUpdate_split_new:function(item,isRedemption,successCallback,errorCallback,clearAllRedemptions){var quantity_1=(new Number(item.qty).valueOf()-1);var quantity_2=1;var field1_1="0";var field1_2="1";if(!isRedemption){field1_1="1";field1_2="0";if(clearAllRedemptions){var quantity_1=0;var quantity_2=new Number(item.qty).valueOf()}}var addressId="";var metadata=$(".qs_orderData").metadata();if(metadata&&metadata.addressId){addressId=metadata.addressId}$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",orderItemId_1:item.orderItemId,catEntryId_1:item.itemId,catEntryId_2:item.itemId,quantity_1:quantity_1,quantity_2:quantity_2,addressId_1:addressId,addressId_2:addressId,field1_1:field1_1,field1_2:field1_2,calculateOrder:"1",updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},bookPointsUpdate_split_existing:function(item,bpRedeemedItem,isRedemption,successCallback,errorCallback,clearAllRedemptions){var quantity_1=new Number(item.qty).valueOf();var quantity_2=new Number(bpRedeemedItem.qty).valueOf();if(isRedemption){quantity_1=(quantity_1-1);quantity_2=(quantity_2+1)}else{if(clearAllRedemptions){quantity_1=(quantity_1+quantity_2);quantity_2=0}else{quantity_1=(quantity_1+1);quantity_2=(quantity_2-1)}}var addressId="";var metadata=$(".qs_orderData").metadata();if(metadata&&metadata.addressId){addressId=metadata.addressId}$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",orderItemId_1:item.orderItemId,orderItemId_2:bpRedeemedItem.orderItemId,quantity_1:quantity_1,quantity_2:quantity_2,addressId_1:addressId,addressId_2:addressId,field1_1:"0",field1_2:"1",calculateOrder:"1",updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},updateProduct:function(orderItemId,quantity,successCallback,errorCallback,catEntryId){if(quantity>MAX_BASKET_LINE_QUANTITY){if(confirm("There is a limit of "+MAX_BASKET_LINE_QUANTITY+" of this product available to purchase at one time. Would you like to change your basket quantity to "+MAX_BASKET_LINE_QUANTITY+"?")){quantity=MAX_BASKET_LINE_QUANTITY}else{errorCallback(null,catEntryId);return}}$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",orderItemId:orderItemId,quantity:quantity,updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data,catEntryId)}else{errorCallback(data.errorMessages,catEntryId)}},error:function(xmlHttpObj,status,exception){errorCallback("Please try adding to your basket again",catEntryId)}})},updateProductAndCalculate:function(orderItemId,quantity,successCallback,errorCallback,catEntryId){var addressId="";var metadata=$(".qs_orderData").metadata();if(metadata&&metadata.addressId){addressId=metadata.addressId}$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",addressId_1:addressId,orderItemId_1:orderItemId,quantity_1:quantity,updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"OrderCalculate?URL=qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data,catEntryId)}else{errorCallback(data.errorMessages)}}})},updateProductAndCalculateShipping:function(orderItemId,quantity,successCallback,errorCallback,catEntryId){$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",orderItemId:orderItemId,quantity:quantity,updatePrices:"1",calculationUsageId:"-1",calculationUsageId:"-2",errorViewName:"qs_jsonStatusError",URL:"OrderCalculate?URL=qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data,catEntryId)}else{errorCallback(data.errorMessages)}}})},calculateOrder:function(successCallback,errorCallback){$.ajax({url:"OrderCalculate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},calculateOrderAndShipping:function(successCallback,errorCallback){$.ajax({url:"OrderCalculate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",updatePrices:"1",calculationUsageId:"-1",calculationUsageId:"-2",errorViewName:"qs_jsonStatusError",URL:"qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},deleteProductAndCalculate:function(orderItemId,successCallback,errorCallback){$.ajax({url:"OrderItemDelete",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",orderItemId:orderItemId,updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"OrderCalculate?URL=qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},deleteProductAndCalculateShipping:function(orderItemId,successCallback,errorCallback){$.ajax({url:"OrderItemDelete",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",orderItemId:orderItemId,updatePrices:"1",calculationUsageId:"-1",calculationUsageId:"-2",errorViewName:"qs_jsonStatusError",URL:"OrderCalculate?URL=qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},updateOrderShippingAddress:function(orderId,addressId,successCallback,errorCallback){$.ajax({url:"OrderItemUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:orderId,addressId:addressId,updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"OrderCalculate?URL=qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){successCallback(data)}else{errorCallback(data.errorMessages)}}})},makePayment:function(orderId,policyId,cardBrand,cardNumber,cardHolderName,cardExpiryMonth,cardExpiryYear,verificationNumber,cardStartMonth,cardStartYear,cardIssue,notifyShopper,notifyOrderSubmitted,notify_OrderReceived_EMailSender_recipient,city,billtoAddressId,deliveryInstructions,verificationURL,tnsPurchaseAmount,tnsCountryCode,tnsCurrencyCode,sectionSuffix,successCallback,errorCallback){var referrerId=QS_Utils.getCookie("Referrer");if(referrerId==null){var referrerId=""}QS_Utils.deleteCookie("Referrer");$.ajax({url:"OrderPrepare",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:orderId,policyId:policyId,cardBrand:cardBrand,cardNumber:cardNumber,cardHolderName:cardHolderName,cardExpiryMonth:cardExpiryMonth,cardExpiryYear:cardExpiryYear,cardStartMonth:cardStartMonth,cardStartYear:cardStartYear,cardIssue:cardIssue,creditCardPolicyNumber:policyId,city:city,billtoAddressId:billtoAddressId,field3:deliveryInstructions,referrerId:referrerId,verificationNumber:verificationNumber,notifyOrderSubmitted:notifyOrderSubmitted,notify_OrderReceived_EMailSender_recipient:notify_OrderReceived_EMailSender_recipient,notifyShopper:notifyShopper,errorViewName:"qs_jsonStatusPaymentError",verificationURL:verificationURL,URL:"PaymentVerify?URL=OrderProcess?URL=qs_jsonStatusPaymentSuccess",tnsPurchaseAmount:tnsPurchaseAmount,tnsCountryCode:tnsCountryCode,tnsCurrencyCode:tnsCurrencyCode,sectionSuffix:sectionSuffix},success:function(data){if(data.status=="success"){basketController.purge();successCallback(data,orderId)}else{errorCallback(data.errorMessages)}}})},removeAllFromWishList:function(successCallback,errorCallback){$.ajax({url:"InterestItemDelete",data:{storeId:storeId,catalogId:catalogId,langId:langId,listId:".",catEntryId:"*",errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(data){if(data.status=="success"){successCallback(data)}else{errorCallback(data.errorMessages)}}})},removeFromWishList:function(catEntryId,successCallback,errorCallback){$.ajax({url:"InterestItemDelete",data:{storeId:storeId,catalogId:catalogId,langId:langId,listId:".",catEntryId:catEntryId,errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(data){if(data.status=="success"){successCallback(data)}else{errorCallback(data.errorMessages)}}})},moveToBasketFromWishList:function(catEntryId,successCallback,errorCallback){$.ajax({url:"OrderItemAdd",data:{storeId:storeId,catalogId:catalogId,langId:langId,catEntryId:catEntryId,quantity:"1",orderId:".",updatePrices:"1",calculationUsageId:"-1",calculationUsageId:"-2",errorViewName:"qs_jsonStatusError",URL:"InterestItemDelete?URL=qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},addToWishList:function(catEntryId,successCallback,errorCallback){$.ajax({url:"InterestItemAdd",data:{storeId:storeId,catalogId:catalogId,langId:langId,listId:".",catEntryId:catEntryId,errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(data){if(data.status=="success"){successCallback(data,catEntryId)}else{errorCallback(data.errorMessages)}}})},moveToWishList:function(catEntryId,orderItemId,successCallback,errorCallback){$.ajax({url:"OrderItemDelete",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:".",listId:".",updatePrices:"1",calculationUsageId:"-1",calculationUsageId:"-2",catEntryId:catEntryId,orderItemId:orderItemId,errorViewName:"qs_jsonStatusError",URL:"OrderCalculate?URL=InterestItemAdd?URL=qs_jsonOrderBeans"},success:function(data){if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}})},sendWishList:function(listId,senderName,sender,recipientName,recipient,message,successCallback,errorCallback){$.ajax({url:"InterestItemListMessage",data:{storeId:storeId,catalogId:catalogId,langId:langId,listId:listId,sender_name:senderName,sender:sender,recipient_name:recipientName,recipient:recipient,message:message,SendCopy:"0",errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(data){if(data.status=="success"){successCallback(data,recipientName)}else{errorCallback(data.errorMessages)}}})},submitPromoCode:function(orderId,promoCode,successCallback,errorCallback){$.ajax({url:"PromotionCodeManage",data:{storeId:storeId,catalogId:catalogId,langId:langId,orderId:orderId,taskType:"A",promoCode:promoCode,updatePrices:"1",calculationUsageId:"-1",errorViewName:"qs_jsonStatusError",URL:"OrderCalculate?URL=qs_jsonOrderBeans"},success:function(data){if(!data){errorCallback("Sorry.. there was a problem processing your promotion code. Please contact customer services.")}else{if(data.status=="success"){basketController.setOrder(data.order);basketController.refreshMiniBasket();basketController.refreshBookPoints();successCallback(data)}else{errorCallback(data.errorMessages)}}}})},sendToAFriend:function(title,author,ourPrice,rrp,save,urlInEmail,thumbnail,fromname,toname,fromemail,toemail,emailMessage,sendMeACopy,successCallback,errorCallback){$.ajax({url:"ItemInfoNotification",data:{storeId:storeId,catalogId:catalogId,langId:langId,intro:"Send to a Friend",msgType:"NotifyItemInfoEmailFormat",title:title,author:author,ourPrice:ourPrice,rrp:rrp,save:save,urlInEmail:urlInEmail,thumbnail:thumbnail,fromname:fromname,toname:toname,fromemail:fromemail,toemail:toemail,emailMessage:emailMessage,sendMeACopy:sendMeACopy,errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(data){if(data.status=="success"){successCallback(data)}else{errorCallback(data.errorMessages)}}})},postReview:function(productIds,productId,itemName,itemMaker,productFeature,reviewStatusRef,reviewTypeRef,rating,foreName,emailAddress,reviewTitle,reviewText,successCallback,errorCallback){var categoryId=QS_Utils.getUrlParam("categoryId");$.ajax({url:"ManageBookReview",data:{storeId:storeId,catalogId:catalogId,langId:langId,categoryId:categoryId,updateReviewBody:"true",updateReviewProductLink:"true",redirecturl:"qs_jsonStatusSuccess",productIds:productIds,productId:productId,itemName:itemName,itemMaker:itemMaker,productFeature:productFeature,reviewStatusRef:reviewStatusRef,reviewTypeRef:reviewTypeRef,rating:rating,foreName:foreName,surname:"",email:emailAddress,field3:reviewTitle,reviewText:reviewText},success:function(data){if(data.status=="success"){successCallback(data)}else{errorCallback(data.errorMessages)}}})},subscribe:function(listName,title,firstName,lastName,subscribeEmailAddress,setting,successCallback,errorCallback){$.ajax({url:"EmailBulletinRequest",data:{storeId:storeId,catalogId:catalogId,langId:langId,firstName:firstName,lastName:lastName,emailAddress:subscribeEmailAddress,listName:listName,errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(data){if(data.status=="success"){successCallback(data)}else{errorCallback(data.errorMessages)}}})}}}function QS_AccountController(){return{init:function(){if(sessvars.tbp_user==null||sessvars.tbp_user.userId=="-1002"){var a=($(".QS_bypassSync").size()>0);if(!a){$.ajax({url:"qs_jsonUserRegistrationDataBean",data:{storeId:storeId,catalogId:catalogId,langId:langId,errorViewName:"qs_jsonStatusError"},success:function(b){if(b.status=="success"){accountController.setUser(b.user);accountController.bind();accountController.render()}else{sessionController.showErrorOverlay(b.errorMessages)}}})}}else{this.bind();this.render()}},bind:function(){$(".QS_AccountController_logOut_button").bind("click",function(a){sessionController.logOut()})},render:function(){if(this.getUser()==null||this.getUser().status!="loggedIn"){$(".loggedOut").show();$(".loggedIn").hide()}else{$(".QS_userFullName").html(this.getUser().firstName);$(".loggedIn").show();$(".loggedOut").hide()}if(this.getUser()&&this.getUser().vipQualificationStatus=="qualified"){$(".vipQualifiedView").show();$(".vipPendingView").hide()}else{$(".vipPendingView").show();$(".vipQualifiedView").hide()}if(this.getUser()&&this.getUser().vipMemberStatus=="member"){$(".vipMemberView").show();$(".vipNonMemberView").hide()}else{$(".vipNonMemberView").show();$(".vipMemberView").hide()}},purge:function(){this.setUser(null);sessvars.$.flush()},getUser:function(){return sessvars.tbp_user},setUser:function(a){sessvars.tbp_user=a;sessvars.$.flush()},addAddress:function(a){alert("todo")},updateAddress:function(a,b){alert("todo")},deleteAddress:function(a){alert("todo")},updateUser:function(a){alert("todo")},requestNewPassword:function(c,a,b){$.ajax({url:"ResetPassword",data:{storeId:storeId,challengeAnswer:"-",catalogId:catalogId,langId:langId,logonId:c,errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(d){if(d.status=="success"){a(d)}else{b(d.errorMessages)}}})},reportAjaxErrors:function(a){alert(a)}}}var QS_AddressController;function QS_AddressController(){var b=function(g,e){$("#QS_lookupAddressResultsOverlay select").empty();for(var d=0,c;c=e[d];d++){$("#QS_lookupAddressResultsOverlay select").append("<option value='"+c.id+"'   >"+c.text+"</option>")}$("#QS_lookupAddressResultsOkButton").attr("name",g);var f=$("#QS_lookupAddressResultsOverlay").overlay({close:"#QS_lookupAddressResultsCloseButton,#QS_lookupAddressResultsOkButton",closeOnClick:false});f.load()};var a=function(e,d){$("#"+e+" option[value='"+d+"']").attr("selected","selected");var c=$("#"+e+" .QS_postcodeElement");if($.trim(d)!="GB"){c.fadeOut();$("#"+e+" input[name='zipCode']").val("")}else{c.fadeIn()}};return{init:function(){$("input[name=zipCode]").bind("keypress",function(e){if(e.keyCode==13&&false){var d=$(e.target).next();if(d&&d.attr("class")=="submit addressFindButton"){d.click()}}});$("#QS_lookupAddressResultsOverlay").overlay({close:"#QS_lookupAddressResultsCloseButton,#QS_lookupAddressResultsOkButton",closeOnClick:false});$("#QS_lookupAddressResultsOverlay select").bind("dblclick",function(){QS_AddressController.invokeSelectAddressButton()});var c=$(".QS_addressFragment");c.each(function(f){var e=this.id;var d=$("#"+e+" input[name='initialCountryValue']").val();if(!d){d="GB"}a(e,d)})},findLookupAddressList:function(d){var c=$("#"+d+" dd input[name='zipCode']").val();if(!c){sessionController.showErrorOverlay("Unable to find address search results for the following reasons:<br /><br />- No value for postcode<br />- Please enter a UK postcode<br />");return}c=new String($.trim(c)).toUpperCase();$("#"+d+" input[name=zipCode]").val(c);if(!(QS_Constants.postcodeRegex().test(c))){sessionController.showErrorOverlay("Unable to find address search results for the following reasons:<br /><br />- Invalid postcode value<br />- Please enter a valid UK postcode<br />")}else{$.ajax({url:"qs_jsonLookupAddressSummaryBean",data:{storeId:storeId,catalogId:catalogId,langId:langId,postcode:c,errorViewName:"qs_jsonStatusError"},success:function(e){if(e.status=="success"){if(e.addressSummaries&&e.addressSummaries.length>0){b(d,e.addressSummaries)}else{sessionController.showErrorOverlay("<strong>No address information found for "+c+".</strong><br /><br />Please check your postcode and country are correct.<br /><br />If this error persists, please enter your address information by hand.<br /><br /><br />")}}else{sessionController.showErrorOverlay(errorMessages)}}})}},selectLookupAddress:function(d){var c=$("#QS_lookupAddressResultsOverlay select").val();$.ajax({url:"qs_jsonLookupAddressBean",data:{storeId:storeId,catalogId:catalogId,langId:langId,addressId:c,errorViewName:"qs_jsonStatusError"},success:function(f){if(f.status=="success"){var e=$("#"+d);e.find("input[name=address1]").val(f.address.address1);e.find("input[name=address2]").val(f.address.address2);e.find("input[name=address3]").val(f.address.address3);e.find("input[name=city]").val(f.address.city);e.find("input[name=state]").val(f.address.state);e.find("input[name=zipCode]").val(f.address.zipCode)}else{sessionController.showErrorOverlay(errorMessages)}}})},invokeSelectAddressButton:function(){$("#QS_lookupAddressResultsOkButton").click()},addressCountryChanged:function(d,c){a(d,c)},addressAddViaAjax:function(h,c,e){var f="";var g=h.find("input[name=zipCode]").val();if(g){f=g}var d=h.find("input[name=addressId]").val();if(d){$.ajax({url:"AddressUpdate",data:{storeId:storeId,catalogId:catalogId,langId:langId,addressType:"B",primary:"1",addressId:d,email1:h.find("input[name=email1]").val(),phone1:h.find("input[name=phone1]").val(),addressField2:h.find("input[name=addressField2]").val(),personTitle:h.find("select[name=personTitle]").val(),firstName:h.find("input[name=firstName]").val(),lastName:h.find("input[name=lastName]").val(),address1:h.find("input[name=address1]").val(),address2:h.find("input[name=address2]").val(),address3:h.find("input[name=address3]").val(),city:h.find("input[name=city]").val(),state:h.find("input[name=state]").val(),country:h.find("select[name=country]").val(),zipCode:f,errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(l){if(l.status=="success"){c(h)}else{e(l.errorMessages)}}})}else{var k=QS_Utils.generateNickname(h);$.ajax({url:"AddressAdd",data:{storeId:storeId,catalogId:catalogId,langId:langId,addressType:"B",primary:"1",nickName:k,personTitle:h.find("select[name=personTitle]").val(),email1:h.find("input[name=email1]").val(),phone1:h.find("input[name=phone1]").val(),addressField2:h.find("input[name=addressField2]").val(),firstName:h.find("input[name=firstName]").val(),lastName:h.find("input[name=lastName]").val(),address1:h.find("input[name=address1]").val(),address2:h.find("input[name=address2]").val(),address3:h.find("input[name=address3]").val(),city:h.find("input[name=city]").val(),state:h.find("input[name=state]").val(),country:h.find("select[name=country]").val(),zipCode:f,errorViewName:"qs_jsonStatusError",URL:"qs_jsonStatusSuccess"},success:function(l){if(l.status=="success"){c(h)}else{e(l.errorMessages)}}})}}}}$(function(){QS_AddressController=new QS_AddressController();QS_AddressController.init()});var browseComponentManager;function browseComponentManager(){var b=function(){$("#QS_SubscriptionBoxDefaultView").fadeOut("normal",function(){$(".QS_SubscriptionBoxThanksView").fadeIn("normal")});window.setTimeout(function(){$("#QS_subscriptionBoxForm").validate().resetForm();$("#QS_subscriptionBoxForm .subscribeFirstName").hide();$("#QS_subscriptionBoxForm .subscribeLastName").hide();$("dd.subscribeFirstName input").val("");$("dd.subscribeLastName input").val("");$("dd.subscribeEmailAddress input").val("");$(".QS_SubscriptionBoxThanksView").fadeOut("normal",function(){$("#QS_SubscriptionBoxDefaultView").fadeIn("normal")})},5000)};var a=function(c){sessionController.showErrorOverlay(c)};return{submitSubscriptionRequest:function(f){var e=$(""+f);if(e.validate().form()){var d="";var c="";if(e.find("input[name=subscribeFirstName]").length>0){d=e.find("input[name=subscribeFirstName]").val()}if(e.find("input[name=subscribeLastName]").length>0){c=e.find("input[name=subscribeLastName]").val()}basketController.subscribe(e.find("input[name=listName]").val(),"",d,c,e.find("input[name=subscribeEmailAddress]").val(),e.find("input[name=setting]").val(),b,a)}},initValidation:function(){$("#QS_subscriptionBoxForm").validate({errorClass:"errorHighlight",errorContainer:"#QS_subscriptionBoxErrorSection",errorLabelContainer:"#QS_subscriptionBoxErrors",onfocusout:false,onclick:false,onkeyup:false,wrapper:"li",highlight:function(d,c){$(d).addClass(c)},rules:QS_Constants.validation_rules("#QS_subscriptionBoxForm"),messages:QS_Constants.validation_messages});$("#pageNLForm").validate({errorClass:"errorHighlight",errorContainer:"#pageNLFormErrorSection",errorLabelContainer:"#pageNLFormErrors",onfocusout:false,onclick:false,onkeyup:false,wrapper:"li",highlight:function(d,c){$(d).addClass(c)},rules:QS_Constants.validation_rules("#pageNLForm"),messages:QS_Constants.validation_messages})},initSubsriptionBox:function(){$(".subscribeFirstName").show();$(".subscribeLastName").show();$(".subscribeEmailAddress").show()},initConciseSubsriptionBox:function(){$("#subscribeFirstName").show();$("#subscribeLastName").show();$("#subscribeEmailAddress").val("")}}}$(function(){browseComponentManager=new browseComponentManager();browseComponentManager.initValidation();$("#QS_SubscriptionBoxThankyouWrapper").hide()});$(function(){$(".QS_toggleSetTitles").hide();$(".QS_setTitles .QS_hideShowSetTitles").click(function(b){var a=$(b.target).parents("div.QS_setTitles");if(a.find(".QS_toggleSetTitles").is(":hidden")){a.find(".QS_toggleSetTitles").slideDown("slow");a.find(".QS_hideShowSetTitles").html("Hide included titles");a.addClass("expanded");a.removeClass("collapsed")}else{a.find(".QS_toggleSetTitles").slideUp("slow");a.find(".QS_hideShowSetTitles").html("Show included titles");a.addClass("collapsed");a.removeClass("expanded")}})});var verticalCatNavList;function VerticalCatNavList(){return{init:function(){var a=sessionController.getSelectedTopCategory();$("li.topCatLink").each(function(b){if(this.id==("category_"+a)){$(this).addClass("selected");$(this).find("ul.subCategories").show()}else{$(this).removeClass("selected");$(this).find("ul.subCategories").hide()}});$("#category_"+a+" ul.subCategories").show()},selectTopCategory:function(a){sessionController.setSelectedTopCategory(a);$("li.topCatLink").each(function(b){if(this.id==("category_"+a)){$(this).addClass("selected");$(this).find("ul.subCategories").show()}else{$(this).removeClass("selected");$(this).find("ul.subCategories").hide()}})}}}$(function(){verticalCatNavList=new VerticalCatNavList();verticalCatNavList.init()});var searchBox;function SearchBox(){return{doSearch:function(a){if(a){$("#searchField").val(a)}else{a=$("#searchField").val()}if(a&&new String(a).length>0){document.searchForm.submit()}else{location.href="qs_category_tbp?storeId="+storeId+"&langId="+langId+"&catalogId="+catalogId}}}}$(function(){searchBox=new SearchBox()});
