/*
 * InSite v3
 * Gisle Nes
 * gisle@gisle.net
 */

(function(){var a=false,b=/xyz/.test(function(){})?/\b_super\b/:/.*/;this.Class=function(){};Class.extend=function(c){function d(){!a&&this.init&&this.init.apply(this,arguments)}var e=this.prototype;a=true;var f=new this;a=false;for(var g in c)f[g]=typeof c[g]=="function"&&typeof e[g]=="function"&&b.test(c[g])?function(h,k){return function(){var i=this._super;this._super=e[h];var j=k.apply(this,arguments);this._super=i;return j}}(g,c[g]):c[g];d.prototype=f;d.constructor=d;d.extend=arguments.callee;
return d}})();
var IsSwitch=Class.extend({init:function(a,b){this.time=a||500;if(this.time=="NULL")this.time=0;this.ready=1;this.properties=b||[]},prepare:function(a){if(this.initiated)return true;this.eObj=a;this.$element=this.eObj.$element;this.initiated=1;return true},postInsert:function(){return this},setCurrent:function(a){this.$currentElement=$("#"+a);return this},done:function(a){a.interactor&&a.interactor.done(a)},reset:function(a,b){var c=this;this.$element.fadeOut((a.prop.duration||this.time)/2,function(){c.$element.empty();
c.created=0;c.create(a);b&&b();c.$currElement=undefined;$(this).show()});return this}}),LayerSwitch=IsSwitch.extend({switcher:"LayerSwitch",prepareElement:function(a){this.$currentElement&&this.$currentElement.length>0?this.$currentElement.width():this.$scrollPane.width();a.css({display:"block",position:"absolute"}).hide();return this},prepareContainer:function(){return this},finishContainer:function(){this.ready=1;return this},postCreate:function(){return this},preInsert:function(){return this},
postInsert:function(){return this.showEffect()},insert:function(a){this.created||this.create(a);if($("#"+a.id).length>0){$("#"+a.id).addClass("_isLayer");this.prepareElement($("#"+a.id));a.prop.reload&&$("#"+a.id).html(a.data);this.prepareContainer($("#"+a.id));this.finishContainer($("#"+a.id));return this}this.ready=0;var b,c=this.$currentElement.data("position"),d=a.prop.position;if(a.prop.direction!="left"&&(!d||d>c)){a.prop.direction="right";if(d)for(var e=d-1;e>c&&!b;e--)if(this.eObj.slidePos[e])b=
$("#"+this.eObj.slidePos[e]);d=d||c+1}else{a.prop.direction="left";if(d)for(e=d+1;e<c&&!b;e++)if(this.eObj.slidePos[e])b=$("#"+this.eObj.slidePos[e]);d=d||c-1}b=b||this.$currentElement;this.eObj.slidePos[d]=a.id;this.prepareContainer(a);this.preInsert(a);a.prop.direction=="left"?b.before('<div class="_isLayer" id="'+a.id+'">'+a.data+"</div>"):b.after('<div class="_isLayer" id="'+a.id+'">'+a.data+"</div>");this.prepareElement($("#"+a.id));this.finishContainer(a);$("#"+a.id).data("position",d);return this},
create:function(a){var b="_isContainer_"+this.eObj.cleanId(),c="_isPane_"+this.eObj.cleanId(),d=this.eObj.currId;if(a&&a.id)d=a.id;this.$element.wrapInner('<div class="_isPane" id="'+c+'"><div class="_isContainer" id="'+b+'"></div></div>');this.$scrollContainer=$("#"+b);this.$scrollPane=$("#"+c);if($("#"+d).length<=0){this.$scrollContainer.wrapInner('<div class="_isLayer" id="'+d+'"></div>');this.prepareElement($("#"+d));this.prepareContainer();$("#"+d).show()}this.$scrollPane.css({position:"relative"});
this.$currentElement=$("#"+d);a=0;if(this.eObj.idInteractor[d])for(var e in this.eObj.idInteractor[d])if((b=this.eObj.idInteractor[d][e])&&b.property("position"))a=b.prop("position");this.$currentElement.data("position",a);this.eObj.slidePos=[];this.eObj.slidePos[a]=d;this.created=1;this.postCreate();return this},show:function(a){this.created||this.create(a);var b=this;if(this.ready)return this.showEffect(a);else setTimeout(function(){b.show(a)},5)},showEffect:function(a){var b=this;a||(a={id:this.$currentElement.attr("id"),
prop:{duration:1}});var c=this.$currentElement;this.$currentElement=$("#"+a.id);if(c.attr("id")==a.id)c=null;var d=a.prop.duration||this.time;if(c&&c.length>0){c.css({position:"absolute",top:0,left:0,width:c.width(),zIndex:1});c.fadeOut(d,function(){$(this).css({zIndex:0,width:"auto"})})}this.$currentElement.css("position","relative").fadeIn(d);b.done(a);return this}}),SlideSwitch=LayerSwitch.extend({switcher:"SlideSwitch",prepareElement:function(a){a.data("width",a.width());a.data("height",a.height());
a.css({"float":"left"}).hide();this.$scrollPane.css({width:"auto",height:"auto"})},postCreate:function(){},preInsert:function(){this.$scrollPane.css({width:this.$scrollPane.width(),height:this.$scrollPane.height(),overflow:"hidden"})},prepareContainer:function(){this.$scrollContainer.css("overflow","hidden");this.$scrollPane.css("overflow","hidden")},finishContainer:function(){this.ready=1},showEffect:function(a){var b=this;if(a){this.$prevElement=this.$currentElement;this.$currentElement=$("#"+a.id);
var c=this.$currentElement.data("width");if(a.prop.axis!="y")if(this.$prevElement)c+=this.$prevElement.data("width")*2;this.$scrollContainer.css({width:c});this.$scrollPane.css({width:this.$scrollPane.width(),height:this.$scrollPane.height()});this.$currentElement.show();if(this.$currentElement.data("position")<this.$prevElement.data("position"))a.prop.axis=="y"?this.$scrollContainer.css("marginTop","-"+this.$currentElement.data("height")+"px"):this.$scrollContainer.css("marginLeft","-"+this.$currentElement.data("width")+
"px");c=this.$currentElement.offset().left-this.$element.offset().left;var d=this.$currentElement.offset().top-this.$element.offset().top,e=[];if(jQuery.easing)e.easing=a.prop.easing||"easeInOut";e.duration=a.prop.duration||this.time;this.$scrollPane.animate({height:this.$currentElement.height(),width:this.$currentElement.width()},e.duration,function(){b.$scrollPane.css("overflow","hidden")});this.$scrollContainer.animate({marginLeft:"-="+c,marginTop:"-="+d},e.duration,null,function(){$(this).css({height:"auto",
width:"auto",marginLeft:0,marginTop:0});b.$scrollPane.css({height:"auto",width:"auto"});b.$prevElement&&b.$prevElement.hide()});setTimeout(function(){b.done(a)},e.duration);return this}}}),RepSwitch=IsSwitch.extend({create:function(){if(this.created)return true;var a=this.eObj.cleanId();this.$element.wrapInner('<div id="'+a+'_wrapper"><div id="'+a+'_content"></div></div>');this.$wrapper=$("#"+a+"_wrapper");this.$content=$("#"+a+"_content");this.$content.after('<div id="'+a+'_tmpContainer"></div>');
this.$tmpContainer=$("#"+a+"_tmpContainer").hide();this.$currentElement=this.$content;this.created=1;return this},insert:function(a){this.created||this.create(a);this.newData=a.data;return this},show:function(a){var b=this;this.created||this.create(a);this.$wrapper.css({overflow:"hidden",height:this.$wrapper.height(),width:this.$wrapper.width(),position:"relative",zIndex:0});this.$content.css({position:"absolute"});this.$tmpContainer.html(this.$content.html());this.$tmpContainer.css({position:"absolute",
zIndex:2}).show();this.$content.html(this.newData);this.$wrapper.animate({width:this.$content.width(),height:this.$content.height()},this.time);this.$tmpContainer.fadeOut(this.time,function(){b.$tmpContainer.html("&nbsp;");b.$wrapper.css({height:"auto",width:"auto"});b.$content.css("position","relative");b.done(a)});return this},done:function(a){this._super(a)}}),DefaultActivator=Class.extend({init:function(){},activate:function(a){$(a).addClass("active")},deActivate:function(a){$(a).removeClass("active")}}),
CursorLoader=Class.extend({init:function(a){var b=this;if($("#isCursorLoader").length<=0){var c=new Image;c.src=a;c.id="isCursorLoader";$("body").append(c);$("#isCursorLoader").hide()}this.icon=$("#isCursorLoader");this.mouseY=this.mouseX=0;$().mousemove(function(d){b.mouseMoveEvent(d)});return this},load:function(){var a=this;this.icon.css("z-index",100);this.icon.fadeIn("fast").css({position:"absolute",top:this.mouseY+17+"px",left:this.mouseX+15+"px"});this.mouseMoveEvent=function(b){a.icon.css({top:b.pageY+
17+"px",left:b.pageX+15+"px"})};return this},done:function(){this.icon.fadeOut("fast");this.mouseMoveEvent=function(a){this.mouseX=a.pageX;this.mouseY=a.pageY};return this},mouseMoveEvent:function(a){this.mouseX=a.pageX;this.mouseY=a.pageY}});$(document).ready(function(){is.prepare();jQuery.extend(jQuery.expr[":"],{contains:"$(a).text() == m[3]"})});
var InSite=Class.extend({init:function(){this.version="3.0";this.interactors=[];this.elements=[];this.properties=[];this.catchArg=[];this.delayed=[];this.extensions=[];this.cache=[];this.internHash=this.currentHash="";this.isIE=$.browser.msie&&parseInt($.browser.version.substr(0,1))},prepare:function(a){if(!this.prepared){var b=this;this.update();!a&&window.location.hash.substr(1)&&this.goTo(window.location);this.location(window.location.toString());setInterval(function(){b.checkHash()},100);this.prepared=
1;return this}},update:function(a){this.runExtension("preUpdate",a);for(var b in this.elements)this.elements[b].prepared||this.elements[b].prepare();for(var c in this.interactors)this.interactors[c].prepared||this.interactors[c].prepare();for(b in this.elements)this.elements[b].initialShow();this.runExtension("postUpdate",a);return this},checkHash:function(){if(this.currentHash!=window.location.hash){this.currentHash=window.location.hash+"";this.goTo(window.location.hash.substr(1))}window.location.href!=
this.location()&&this.location(window.location.href);return this},location:function(a){this.locHistory=this.locHistory||[];a=a||0;if(a.indexOf){this.locHistory.push(a);return this}else{a=this.locHistory.length-1+a;if(a<0)return"";return this.locHistory[a]}},goTo:function(a){a=a||window.location+"";var b=this.getElementsFromUrl(a);if(b.length<=0)return this;var c=[],d=[];for(var e in b){if(!d[b[e]]){d[b[e]]=1;c.push(b[e])}var f=this.element(b[e]).depends();for(var g in f)if(!d[f[g]]){d[f[g]]=1;c.push(f[g])}}for(e in c)this.element(c[e]);
(new IsInteractor(this,"_gotoInteractor",c,{url:a})).property("reset",1).property("reload",1).execute()},splitUrl:function(a){var b=[];a=a||"";a=a.toString();var c="";if(a.search(/^https?\:/i)<0)c=window.location.protocol+"//"+window.location.hostname;if(c!=""&&a.search(/^[\/]/)<0)c+=window.location.pathname;if(a.search(/^[\#]/)>=0)c+=window.location.search;a=c+a;c=a.indexOf("#");if(c>=0){b.noHash=a.substr(0,c);b.hash=a.substr(c+1);c=b.hash.indexOf("?");if(c>=0){b.hashPath=b.hash.substr(0,c);b.hashQuery=
b.hash.substr(c+1)}}if(b.noHash==undefined)b.noHash=a;b.noHash=b.noHash.toString();c=b.noHash.indexOf("?");if(c>=0){b.path=b.noHash.substr(0,c);b.query=b.noHash.substr(c+1)}if(b.path==undefined)b.path=b.noHash;if(b.query==undefined)b.query="";if(b.hash==undefined)b.hash="";if(b.hashPath==undefined)b.hashPath=b.hash;if(b.hashQuery==undefined)b.hashQuery="";return b},querifyPath:function(a){if(!this.catchArg)return"";var b=this.property("urlRoot")||"/";b=new RegExp(b+"([^\\?\\#]*)");a.toString().match(b);
a=RegExp.$1.split("/");for(var c in this.catchArg)if(a[c])a[c]=this.catchArg[c]+"="+a[c];return a.join("&")},concatUrl:function(a){var b=a.path;if(a.query)b+="?"+a.query;if(a.hash)b+="#"+a.hash;this.cache.concatUrl=this.cache.concatUrl||[];this.cache.concatUrl[b]=a;return b},getElementsFromUrl:function(a){var b=this.splitUrl(a);a=[];if(b.hashPath!="is"){var c=b.hashPath.split("/");for(var d in c)this.catchArg[d]&&a.push(this.catchArg[d])}d=[];b=this.mergeQueries(b.query,b.hashQuery,null,1);for(var e in b){c=
b[e].split(/[\.\=]/);if(!d[c[0]]){d[c[0]]=1;a.push(c[0])}}return a},element:function(a){if(a&&!this.elements[a])this.elements[a]=new IsElement(this,a);return this.elements[a]},removeElement:function(a){delete this.elements[a];return this},interactor:function(a,b,c){if(!this.interactors[a]){b=b.split(",");for(var d in b)this.element(b[d]);this.interactors[a]=new IsInteractor(this,a,b,c)}return this.interactors[a]},property:function(a,b){if(typeof b=="undefined")return this.properties[a];this.properties[a]=
b;return this},setProperty:function(a,b){return this.property(a,b)},interactorElement:function(a,b){if(typeof a!="string")a=$(a).data("isId");this.interactorElements=this.interactorElements||{};if(typeof b=="undefined")return this.interactorElements[a]||$([]);if($(b).data("isId"))return this;if(this.interactorElements[a]){var c=this;$(b).each(function(){try{c.interactorElements[a]=c.interactorElements[a].add($(this))}catch(d){}})}else this.interactorElements[a]=$(b);$(b).data("isId",a);return this},
mergeQueries:function(a,b,c,d){if(a.charAt(0)=="#"||a.charAt(0)=="?")a=a.substr(1);if(b.charAt(0)=="#"||b.charAt(0)=="?")b=b.substr(1);c=c||"";var e=c.split(",");c=[];for(var f in e)c[e[f]]=1;a=a.split("&");b=b.split("&");e=[];var g=[];for(f in b){var h=b[f].split(/[\=]/,1);e[b[f]]=1;g[h]=1}for(f in a){h=a[f].split(/[\.\=]/,1);var k=a[f].split(/[\=]/,1);!e[a[f]]&&h&&!c[h]&&!g[k]&&b.push(a[f])}for(f in b)b[f]==""&&b.splice(f--,1);if(d)return b;return b.join("&")},extractQuery:function(a,b){if(a.charAt(0)==
"#"||a.charAt(0)=="?")a=a.substr(1);if(b.charAt(0)=="#"||b.charAt(0)=="?")b=b.substr(1);var c=[],d=[];a=a.split("&");b=b.split("&");for(var e in a){var f=a[e].split("=");if(f[0]!="")if(f[1]!="undefined")d[f[0]]=f[1]}for(e in b){f=b[e].split("=");if(f[0]!="")d[f[0]]=d[f[0]]?null:f[1]}for(e in d)d[e]!=null&&c.push(e+"="+d[e]);return c.join("&")},ajaxifyUrl:function(a,b,c){if(this.catchArg.length>0){this.element(this.catchArg[0]);var d=(this.property("urlRoot")||"").toString();d=d.replace("/","\\/");
a=a.replace(new RegExp("("+d+")[\\/]*#?(.*)","i"),"$1#$2")||a}d=this.splitUrl(window.location);var e=this.splitUrl(a);if(d.path!=e.path)return a;a=this.mergeQueries(d.query,d.hashQuery);var f=this.mergeQueries(e.query,e.hashQuery);b=c?this.mergeQueries("",f,b):this.mergeQueries(a,f,b);a=d.path;if(d.query!="")a+="?"+d.query;if(e.hash!=""||b!="")a+="#";if(e.hashPath!="")a+=e.hashPath;if(b!="")a+="?"+b;return a},deAjaxifyUrl:function(a){a=this.splitUrl(a);var b=this.mergeQueries(a.hashQuery,a.query);
a=a.path+a.hashPath;if(b!="")a+="?"+b;return a},stripEntities:function(a){if(a)return a=a.replace(/\&amp;/g,"&")},preloadImg:function(a){$.each(a,function(){$(new Image).attr("src",this)});return this},attach:function(a){return this.overlay(a)},overlay:function(a){var b=a.areaX||[0,1],c=a.areaY||[0,1],d=a.src,e=a.dst||"";if(d&&d.charAt("0")!="#")d="#"+d;if(e.charAt("0")!="#")e="#"+e;var f=$(d);e=$(e);var g="attached_"+a.src+"_"+a["class"].replace(" ","");if(!e.data(g))if(d&&f.length<1||e.length<1){this.delayed.attach=
this.delayed.attach||[];this.delayed.attach.push(a)}else{d=b[1]-b[0];var h=c[1]-c[0];e.offset();b=b[0]*100+"%";c=c[0]*100+"%";d=d*100+"%";h=h*100+"%";for(var k=a["class"].split(","),i=[],j=0;j<k.length;j++){i.push($('<div class="'+k[j]+'"></div>'));j>0&&i[j-1].wrapInner(i[j])}a.content&&i[i.length-1].html(a.content);i[0].width(d).height(h).css({position:"absolute",top:c,left:b,cursor:"pointer",zIndex:a.zIndex||1E3});e.prepend(i[0]);f.length>0&&i[0].bind("click",function(){f.click();if(a.followLink)location.href=
f.attr("href")}).hover(function(){f.addClass("hover")},function(){f.removeClass("hover")});a.attached=1;e.data(g,1);return this}},defaultValue:function(a,b,c){if($(a).val()==""){$(a).data("startColor",$(a).css("color"));c&&$(a).css("color",c);$(a).val(b);$(a).bind("focus",function(){if($(this).val()==b){$(this).val("");c&&$(this).css("color",$(this).data("startColor"))}});$(a).bind("blur",function(){if($(this).val()==""){$(this).val(b);c&&$(this).css("color",c)}});$(a).parents("form:first").each(function(){$(this).submit(function(){$(a).val()==
b&&$(a).val("")})});return this}},extension:function(a,b){this.extensions[a]=this.extensions[a]||[];this.extensions[a].push(b);return this},extend:function(a,b){return this.extension(a,b)},runExtension:function(a,b){if(this.extensions[a]!=undefined)for(var c in this.extensions[a])this.extensions[a][c](b);return this},debug:function(){if($("#_isDebug").length<=0){$("body").append('<div id="_isDebug"></div>');$("#_isDebug").css({position:"absolute",top:0,left:0,zIndex:99999})}}}),IsElement=Class.extend({init:function(a,
b){this.isObj=a;this.id=b;this.loadCount=[];this.properties=[];this.interactors=[];this.extensions=[];this.insertCache=[];this.idInteractor=[];this.cache=[]},prepare:function(){if(this.prepared>0)return this;this.runExtension("prePrepare");this.$element=this.id.charAt(0)=="#"?$(this.id):$("#_isElement_"+this.id);var a=this.isObj.splitUrl(window.location).noHash+this.isObj.internHash;this.currId=this.currId||this.generateId(a);this.switcher=this.switcher||new LayerSwitch(this.properties.duration||
250);this.switcher.setCurrent(this.currId).prepare(this);if(this.properties.catchArg!=undefined)this.isObj.catchArg[this.properties.catchArg]=this.id;this.create();this.runExtension("postPrepare");this.prepared=1;if(!this.$element.attr("id"))return null;return this},initialShow:function(){if(this.shown)return this;var a={id:this.currId,element:this};this.activateInteractor(this.currId,undefined,a);this.findUnloadedImages(this.currId)>0&&this.loading();this.show(a);this.shown=1},create:function(a){if(this.created>
0)return this;this.runExtension("preCreate");this.switcher.create(a);this.runExtension("postCreate");this.created=1;for(var b in this.insertCache)this.insert(this.insertCache[b]);return this},reset:function(a){this.runExtension("preReset",a);var b=this,c=this.children();for(var d in c)c[d]&&c[d].remove();this.switcher.reset(a,function(){b.executeInteraction(a,1)});this.runExtension("postReset",a);return this},remove:function(){this.isObj.removeElement(this.id)},children:function(){var a=this,b=[];
this.$element.find("._isElement").each(function(){var c=$(this).attr("id").substr(11);b.push(a.isObj.element(c))});return b},executeInteraction:function(a,b){this.runExtension("preExecuteInteraction",a);if(this.$element.length<=0){a.interactor.interactions--;this.loaded();return this}if(a.prop.reset&&!b){this.reset(a);return this}if(a.prop.reload||$("#"+a.id).length<=0)this.insert(a);a.prop.noShow||this.show(a);this.runExtension("postExecuteInteraction",a);return this},insert:function(a){this.runExtension("preInsert",
a);if(a.charAt)a={id:a.substr(1),prop:{}};if(!this.created){this.insertCache=this.insertCache||[];this.insertCache.push(a);return this}this.switcher.insert(a);this.property("skipPreloadImg")||this.findUnloadedImages(a.id);this.runExtension("postInsert",a);return this},findUnloadedImages:function(a){var b=this;this.loadCount[a]=0;$("#"+a).find("img").each(function(){if(!this.complete&&this.readyState!="complete"){b.loadCount[a]++;$(this).load(function(){b.loadCount[a]--})}});return this.loadCount[a]},
setCurrent:function(a){this.currId=a.substr(1);return this},show:function(a,b){b||this.runExtension("preShow",a);var c=this;if(this.showTimeout){clearTimeout(this.showTimeout);this.timeout=0}if(this.loadCount[a.id]>0){this.showTimeout=setTimeout(function(){c.show(a,1)},100);a.started||setTimeout(function(){c.loadCount[a.id]=0},8E3);a.started=1;return this}if((!a||a.id==this.currId)&&!(a.prop&&a.prop.reload)){this.runExtension("atShow",a);this.switcher.show();this.loaded();this.runExtension("postShow",
a);return this}b=this.currId;var d=a.id;a.prop=a.prop||[];if(d!=b||a.prop.reload){this.runExtension("atShow",a);this.switcher.show(a)}else this.switcher.done(a);this.currId=d;this.loaded();this.runExtension("postShow",a)},generateId:function(a){var b=this.isObj.splitUrl(a);a=this.getDependant();var c=a.split(","),d=[];for(var e in c)d[c[e]]=1;c=[];var f;e=this.isObj.mergeQueries(b.query,this.isObj.querifyPath(b.path));b=this.isObj.mergeQueries(this.isObj.mergeQueries(b.hashQuery,this.isObj.querifyPath(b.hash)),
e).split("&").sort();for(e=0;e<b.length;e++){f=b[e].split("=");if(!(!f[1]||f[1]=="0"))if(f=b[e].search(/[\.\=]/)){var g=b[e].substr(0,f);d[g]&&b[e].length>f&&c.push(b[e].substr(f+1))}}d=c.join("_");d="_isId_"+a+"_"+c.join("_");d=d.replace(/[\=\.]/g,"");return d=d.replace(",","-")},cleanId:function(){if(this.id.charAt(0)=="#")return this.id.substr(1);return this.id},depend:function(a){this.dependant=this.dependant||[];this.dependant.push(a);this.isObj.element(a).depends(this.cleanId());return this},
getDependant:function(){var a=this.cleanId();if(this.dependant)a+=","+this.dependant;return a},depends:function(a){this.depends=this.depends||[];this.depends.array=this.depends.array||[];this.depends.hash=this.depends.hash||[];if(typeof a=="undefined")return this.depends.array;if(!this.depends.hash[a]){this.depends.array.push(a);this.depends.hash[a]=1}return this},extension:function(a,b){this.extensions[a]=this.extensions[a]||[];this.extensions[a].push(b);return this},extend:function(a,b){return this.extension(a,
b)},runExtension:function(a,b){if(this.extensions[a]!=undefined)for(var c in this.extensions[a])this.extensions[a][c](b);return this},loading:function(){var a=this.properties.loader||this.isObj.property("defaultLoader");a&&a.load(this.$element)},loaded:function(){var a=this.properties.loader||this.isObj.property("defaultLoader");a&&a.done(this.$element)},preAction:function(a){this.properties.pre&&this.properties.pre.pre(a);this.properties.prepost&&this.properties.prepost.pre(a)},postAction:function(a){this.properties.post&&
this.properties.post.post(a);this.properties.prepost&&this.properties.prepost.post(a)},addInteractor:function(a,b){this.interactors[a]=b},registerInteractor:function(a,b){b=this.isObj.splitUrl(b);b=this.generateId(a.property("noMergeHash")?b.noHash:b.noHash+this.isObj.internHash);this.registered=this.registered||{};if(this.registered[b])return b;this.idInteractor[b]||(this.idInteractor[b]=[]);this.idInteractor[b].push(a);this.registered[b]=1;return b},activateInteractor:function(a,b,c){this.runExtension("preActivate",
c);if(this.idInteractor[b]&&a!=b)for(var d in this.idInteractor[b])this.idInteractor[b][d].deActivate(b,c);if(this.idInteractor[a])for(d in this.idInteractor[a])this.idInteractor[a][d].activate(a,c);this.runExtension("postActivate",c)},setSwitcher:function(a,b){if(this.switcher&&!b)return this;this.switcher=a;return this},addSwitcher:function(a,b){return this.setSwitcher(a,b)},property:function(a,b){if(typeof b=="undefined")return this.properties[a];this.properties[a]=b;return this},setProperty:function(a,
b){return this.property(a,b)}}),IsInteractor=Class.extend({init:function(a,b,c,d){this.el=c.join?c:new Array(c);this.isObj=a;this.selector=b;this.elementStr=c.join?c.join(","):c;this.interactions=0;this.properties=d||[];this.extensions=[];this.running=0;this.dom=[];this.url=this.properties.url;this.method=this.properties.method;for(var e in this.el)this.isObj.element(this.el[e]).addInteractor(b,this)},prepare:function(a){var b=this;this.runExtension("prePrepare");(a?a.$element.find(this.selector):
$(this.selector)).each(function(){if(!$(this).data("_isInitiated")){b.bind(this);$(this).data("_isInitiated",1)}});this.runExtension("postPrepare");return this},bind:function(a){var b=this;this.runExtension("preBind");var c,d;if($(a).attr("tagName").toUpperCase()=="A"){d=$(a).attr("href")||window.location.toString().split("#")[0];$(a).click(function(){d=$(this).attr("href")||window.location.toString().split("#")[0];c=b.isObj.ajaxifyUrl(d,null,b.property("noMergeHash"));if(!b.atRoot(d)){window.location.assign(c);
return false}b.registerDom(a,d);b.execute(c,"get");return false})}else if($(a).attr("tagName").toUpperCase()=="FORM"){d=$(a).attr("action")||window.location.toString().split("#")[0];var e;e=a.method.toUpperCase()=="POST"?"post":"get";$(a).submit(function(){d=$(a).attr("action")||window.location.toString().split("#")[0];var f=b.isObj.ajaxifyUrl(d,null,b.property("noMergeHash"));if(b.atRoot(d)){b.registerDom(a,d);var g=$(this).serialize();b.execute(f,e,g);return false}else $(this).attr("action",f)})}this.registerDom(a,
d);this.runExtension("postBind");return this},execute:function(a,b,c){this.runExtension("preExecute");this.running=1;var d=a||this.url;b=b||this.type||"get";d=this.isObj.deAjaxifyUrl(d);d=this.isObj.stripEntities(d);var e=this.isObj.splitUrl(d);if(b=="get"&&c){e.query=this.isObj.mergeQueries(e.query,c);d=this.isObj.concatUrl(e);c=""}var f=this.getInteractions(d);e.query=this.isObj.mergeQueries(e.query,"_is._view="+this.elementStr);d=this.isObj.concatUrl(e);e=f.length;for(var g in f){!this.property("reload")&&
$("#"+f[g].id).length>0&&e--;var h=f[g].element;h.activateInteractor(f[g].id,h.currId,f[g])}if(this.property("reload")||e>0){this.loadAction();b=="post"?this.executePost(d,c,f):this.executeGet(d,c,f)}else this.show(f,"");a&&typeof pageTracker!="undefined"&&pageTracker._trackPageview(a.replace("#",""));a&&typeof _gaq!="undefined"&&_gaq.push(["_trackPageview",a.replace("#","")]);this.runExtension("postExecute")},executeGet:function(a,b,c){var d=this;this.runExtension("preExecuteGet",c);jQuery.get(a,
b,function(e){d.show(c,e)});this.runExtension("postExecuteGet",c)},executePost:function(a,b,c){var d=this;this.runExtension("preExecutePost",c);this.property("reload",1);jQuery.post(a,b,function(e){d.show(c,e)});this.runExtension("postExecutePost",c)},show:function(a,b){this.runExtension("preShow");this.interactions=a.length;this.running=1;var c=b.split("||");b=[];for(var d in c){var e=c[d].indexOf(":"),f=c[d].substr(0,e);e=c[d].substr(e+1);b[f]=e.replace(/\\(.{1})/g,"$1")}for(var g in this.el){c=
this.isObj.element(this.el[g]);a[c.id].data=b[c.id];this.preAction(a[c.id]);c.executeInteraction(a[c.id])}this.runExtension("postShow",a);return this},registerDom:function(a,b){for(var c in this.el){var d=this.isObj.element(this.el[c]).registerInteractor(this,b);this.dom[d]||(this.dom[d]=[]);if(d&&!$(a).data("isId")){this.isObj.interactorElement(d,a);this.dom[d].push(a)}}return this},done:function(a){this.runExtension("preDone",a);this.interactions--;if(this.interactions<=0){var b=this.isObj.ajaxifyUrl(a.noHash,
this.getDependantElements(),this.property("noMergeHash")),c=b.indexOf("#"),d="#is";if(c>=0)d=b.substr(c);if(this.isObj.internHash!=d){this.isObj.internHash=d;if(!a.element.property("skipHash")&&!a.prop.skipHash){this.isObj.currentHash=d;window.location.assign(d)}}}this.running=0;this.postAction(a);this.isObj.update(a.element);this.runExtension("postDone",a)},getInteractions:function(a){var b=new Array(this.el.length);for(var c in this.el){var d=this.isObj.element(this.el[c]),e=this.isObj.splitUrl(a),
f=d.generateId(a);b[d.id]={url:e.path,noHash:e.noHash,hash:e.hash,qs:e.query,query:e.query,id:f,element:d,prop:this.properties,interactor:this}}return b},getDependantElements:function(){var a=[],b=[];for(var c in this.el){var d=this.isObj.element(this.el[c]).getDependant().split(",");for(c in d)if(!b[d[c]]){b[d[c]]=1;a.push(d[c])}}return a.join(",")},atRoot:function(a){var b=this.isObj.property("urlRoot");if(b==undefined)return 1;if(a&&a.charAt(0)=="?")return 1;var c=this.isObj.splitUrl(window.location).path;
if(c.search("^http")>=0){c.match("^http[s]{0,1}://[^/]+(.*)");c=RegExp.$1}if(c!=b)return 0;b=a.search("^http")>=0?new RegExp("^http[s]{0,1}://[^/]+"+b):new RegExp(b);if(!a.match(b))return 0;return 1},extension:function(a,b){this.extensions[a]=this.extensions[a]||[];this.extensions[a].push(b);return this},extend:function(a,b){return this.extension(a,b)},runExtension:function(a,b){if(this.extensions[a]!=undefined)for(var c in this.extensions[a])this.extensions[a][c](b);return this},preAction:function(a){this.properties.pre&&
this.properties.pre.pre(a);this.properties.prepost&&this.properties.prepost.pre(a);for(var b in this.el)this.isObj.element(this.el[b]).preAction()},postAction:function(a){this.properties.post&&this.properties.post.post(a);this.properties.prepost&&this.properties.prepost.post(a);for(var b in this.el)this.isObj.element(this.el[b]).postAction()},loadAction:function(a){for(var b in this.el)this.isObj.element(this.el[b]).loading(a)},activate:function(a,b){this.properties.activator=this.properties.activator||
new DefaultActivator;if(this.dom[a])for(var c in this.dom[a])this.properties.activator.activate(this.dom[a],b);return this},deActivate:function(a,b){this.properties.activator=this.properties.activator||new DefaultActivator;if(this.dom[a])for(var c in this.dom[a])this.properties.activator.deActivate(this.dom[a],b);return this},property:function(a,b){if(typeof b=="undefined")return this.properties[a];this.properties[a]=b;return this},setProperty:function(a,b){return this.property(a,b)}}),UrlInteractor=
IsInteractor,CenterLoader=Class.extend({init:function(a){if($("#isCenterLoader").length<=0){var b=new Image;b.src=a;b.id="isCenterLoader";$("body").append(b)}var c=this;$.browser.msie&&$(window).wresize?$(window).wresize(function(){c.resize()}):$(window).resize(function(){c.resize()});this.$icon=$("#isCenterLoader");this.height=(this.width=this.width||this.$icon.width())||this.$icon.height();this.$icon.hide();this.resize();this.loading=0},load:function(){this.loading||$("#isCenterLoader").fadeIn();
this.loading++},done:function(){this.loading--;if(this.loading<0)this.loading=0;this.loading<=0&&$("#isCenterLoader").fadeOut()},resize:function(){var a=$(window).width(),b=$(window).height()/2-this.height/2-this.height;a=a/2-this.width/2;if(!a||!b)return this;$("#isCenterLoader").css({position:"absolute",left:a,top:b});return this}});
CursorLoader=Class.extend({init:function(a){var b=this;if($("#isCursorLoader").length<=0){var c=new Image;c.src=a;c.id="isCursorLoader";$("body").append(c);$("#isCursorLoader").hide()}this.icon=$("#isCursorLoader");this.mouseY=this.mouseX=0;$(document).mousemove(function(d){b.mouseMoveEvent(d)});return this},load:function(){var a=this;this.icon.css("z-index",100);this.icon.fadeIn("fast").css({position:"absolute",top:this.mouseY+this.offsetY||"17px",left:this.mouseX+this.offsetX||"15px"});this.mouseMoveEvent=
function(b){a.icon.css({top:(b.pageY+this.offsetY||17)+"px",left:(b.pageX+this.offsetX||15)+"px"})};return this},done:function(){this.icon.fadeOut("fast");this.mouseMoveEvent=function(a){this.mouseX=a.pageX;this.mouseY=a.pageY};return this},mouseMoveEvent:function(a){this.mouseX=a.pageX;this.mouseY=a.pageY}});DefaultActivator=Class.extend({init:function(){},activate:function(a){$(a).addClass("active")},deActivate:function(a){$(a).removeClass("active")}});

