(function($){window.di=window.di||{};var di=window.di;di.ajax=di.ajax||{};di.ajax.utils=function(){var cacheDurationValues={none:1,second:1000,minute:60*1000,quarterHour:15*60*1000,halfHour:30*60*1000,hour:60*60*1000,day:24*60*60*1000,week:7*24*60*60*1000,month:30*24*60*60*1000,year:365.25*24*60*60*1000,forever:0};return{cacheDurations:cacheDurationValues,unwrapJson:function(data){if(typeof data!=="string"){return{};}return eval("("+data.replace(/^\{\}&& /,"")+")");},getCacheFix:function(duration){if(typeof duration!=="number"){duration=cacheDurationValues.none;}if(duration===cacheDurationValues.forever){return 0;}return Math.floor(new Date().getTime()/duration);}};}();var c=di.constants;var utils=di.ajax.utils;di.ajax.featuredContent=function(){return{getFeaturedContent:function(args){if(args===undefined){args={};}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};var params={cacheFix:utils.getCacheFix(utils.cacheDurations.quarterHour)};if(args.forceStatic===true){params.useStaticImagery=true;
}$.get(c.url.featuredContent,params,function(data){data=utils.unwrapJson(data);args.callback(data);});},getLandingThumbs:function(args){if(args===undefined){args={};}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};var params={cacheFix:utils.getCacheFix()};if(args.forceStatic===true){params.useStaticImagery=true;}$.get(c.url.landingThumbnails,params,function(data){data=utils.unwrapJson(data);args.callback(data);});}};}();di.ajax.findImagery=function(){var inProgress={still:false,motion:false,av:false,imi:false,site:false};var types={still:0,motion:1,av:2,imi:3,site:4,collection:5};function PageToIndexConverter(pageNum,resultsPerPage,resultsPerPageChanged){this.pageNumber=pageNum;this.rsPerPage=resultsPerPage;this.resultsPerPageChanged=resultsPerPageChanged;}PageToIndexConverter.prototype.getStartIndex=function(){if(!this.resultsPerPageChanged){return this.pageNumber*this.rsPerPage;}else{return 0;}};PageToIndexConverter.prototype.getStopIndex=function(){if(!this.resultsPerPageChanged){return this.getStartIndex()+this.rsPerPage;
}else{return this.rsPerPage;}};return{resultTypes:types,postSearchCriteria:function(args){if(args===undefined){args={};}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};args.criteria=args.criteria||{};args.criteria.cacheFix=utils.getCacheFix();$.post(c.url.postSearchCriteria,args.criteria,function(data){args.callback(utils.unwrapJson(data));});return true;},fetchResults:function(args){if(args===undefined){args={};}if(args.resultType===undefined||args.resultType<0||args.resultType>5){return false;}args.pageNum=(args.pageNum===undefined||args.pageNum<0)?0:args.pageNum;args.perPage=(args.perPage===undefined||args.perPage<1)?12:args.perPage;args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};var conv=new PageToIndexConverter(args.pageNum,args.perPage,false);var ajaxUrl="";var ajaxArgs={startIndex:conv.getStartIndex(),stopIndex:conv.getStopIndex(),cacheFix:utils.getCacheFix()};switch(args.resultType){case types.still:inProgress.still=true;
ajaxUrl=c.url.imagerySearch;break;case types.motion:inProgress.motion=true;ajaxUrl=c.url.motionSearch;break;case types.av:inProgress.av=true;ajaxUrl=c.url.productSearch;ajaxArgs.resultType="av";break;case types.imi:inProgress.imi=true;ajaxUrl=c.url.productSearch;ajaxArgs.resultType="int";break;case types.site:inProgress.site=true;ajaxUrl=c.url.siteSearch;break;case types.collection:inProgress.still=true;ajaxUrl=c.url.collectionContents;ajaxArgs.lightboxId=args.collectionId||0;ajaxArgs.firstLoad=args.firstLoad||"true";break;default:return false;}$.get(ajaxUrl,ajaxArgs,function(data){switch(args.resultType){case types.still:case types.collection:inProgress.still=false;break;case types.motion:inProgress.motion=false;break;case types.av:inProgress.av=false;break;case types.imi:inProgress.imi=false;break;case types.site:inProgress.site=false;break;default:return false;}data=utils.unwrapJson(data);data.origType=args.resultType;args.callback(data);});return true;},getCollections:function(args){if(args===undefined){args={};
}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(c.url.getCollections,{cacheFix:utils.getCacheFix(utils.cacheDurations.halfHour)},function(data){data=utils.unwrapJson(data);args.callback(data.lightboxArray);});},getPopularSearches:function(args){if(args===undefined){args={};}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(c.url.getPopularSearches,{cacheFix:utils.getCacheFix(utils.cacheDurations.halfHour)},function(data){data=utils.unwrapJson(data);args.callback(data.predefinedSearches);});},getImageDetails:function(args){if(args===undefined){args={};}if(args.guid===undefined){return false;}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(c.url.getAssetDetails,{guid:args.guid},function(data){data=utils.unwrapJson(data);args.callback(data);});},getMotionDetails:function(args){if(args===undefined){args={};}if(args.subjectId===undefined){return false;
}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(c.url.getMotionDetails,{subjectId:args.subjectId},function(data){data=utils.unwrapJson(data);args.callback(data);});},getAvProductDetails:function(args){if(args===undefined){args={};}if(args.recNum===undefined){return false;}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(c.url.getAvProductDetails,{davisditisId:args.recNum},function(data){data=utils.unwrapJson(data);args.callback(data);});},getImiProductDetails:function(args){if(args===undefined){args={};}if(args.ditisNum===undefined){return false;}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(c.url.getImiProductDetails,{davisditisId:args.ditisNum},function(data){data=utils.unwrapJson(data);args.callback(data);});}};}();di.ajax.shoppingCart=function(){var types=di.constants.shoppingCart.itemTypes;return{fetchOrderInfo:function(args){args=args||{};
args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(c.url.fetchOrderInfo,{cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);args.callback(data);});},updateItem:function(args){args=args||{};if(typeof args.item!=="object"||typeof args.type!=="string"){return false;}if(!(args.item.key||args.item.id)){return false;}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};var params=args.item||{};params.type=args.type;params.cacheFix=utils.getCacheFix();$.post(c.url.updateShoppingCartItem,params,function(data){data=utils.unwrapJson(data);args.callback(data);});},addItem:function(args){args=args||{};if(typeof args.id!=="string"||typeof args.type!=="string"){return false;}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.post(c.url.updateShoppingCartItem,{id:args.id,type:args.type,cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);
args.callback(data);});},removeItem:function(args){args=args||{};if(args.key===undefined){return false;}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.post(c.url.removeShoppingCartItem,{key:args.key,cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);args.callback(data);});},removeAllItems:function(args){args=args||{};args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.post(c.url.removeAllCartItems,{cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);args.callback(data);});},removeAllImages:function(args){args=args||{};args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.post(c.url.removeAllImageItems,{cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);args.callback(data);});},addAdHoc:function(args){args=args||{};if(!args.id||args.id===""){return false;}if(!(args.type===types.still||args.type===types.motion||args.type===types.av||args.type===types.imi)){return false;
}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(c.url.getAdHocCartItem,{searchType:args.type,id:args.id,cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);args.callback(data);});},updateCustomerInfo:function(args){args=args||{};if(!args.orderInfo){return false;}args.orderInfo.cacheFix=utils.getCacheFix();args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.post(c.url.updateCustomerInfo,args.orderInfo,function(data){data=utils.unwrapJson(data);args.callback(data);});},submitOrder:function(args){args=args||{};args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.post(c.url.submitOrder,{cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);args.callback(data);});},mergeCarts:function(args){args=args||{};args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};var params={cacheFix:utils.getCacheFix()};
params.whichCart=args.mergeType||args.whichCart||c.shoppingCart.mergeTypes.both;$.post(c.url.mergeCarts,params,function(data){data=utils.unwrapJson(data);args.callback(data);});}};}();di.ajax.facilities=function(){var cc=di.constants.facilities;function updateStatus(id,status,callback){if(typeof id!=="string"){return false;}if(typeof status==="string"){status=parseInt(status,10);}if(typeof status!=="number"){return false;}callback=typeof callback==="function"?callback:function(data){return false;};$.get(cc.url.activateFacility,{facilityId:id,statusId:status,cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);callback(data);});return true;}return{search:function(args){args=args||{};var params={};if(typeof args.criteria!=="object"){return false;}else{$.each(args.criteria,function(k,v){params["criteria."+k]=v;});}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};params.cacheFix=utils.getCacheFix();$.get(cc.url.searchFacility,params,function(data){data=utils.unwrapJson(data);
args.callback(data);});},getDetails:function(args){args=args||{};if(typeof args.id!=="string"){return false;}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(cc.url.showFacility,{facilityId:args.id,cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);args.callback(data);});},edit:function(args){args=args||{};var params={cacheFix:utils.getCacheFix()};if(typeof args.data!=="object"){return false;}else{$.each(args.data,function(k,v){if(v!==""){params["facilityRecord."+k]=v;}});}if(typeof args.data.id!=="string"){return false;}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.post(cc.url.editFacility,params,function(data){data=utils.unwrapJson(data);args.callback(data);});},remove:function(args){args=args||{};if(typeof args.id!=="string"){return false;}args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.get(cc.url.deleteFacility,{facilityId:args.id,cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);
args.callback(data);});},activate:function(args){args=args||{};return updateStatus(args.id,cc.status.active,args.callback);},deactivate:function(args){args=args||{};return updateStatus(args.id,cc.status.inactive,args.callback);},updateStatus:function(args){args=args||{};return updateStatus(args.id,args.status,args.callback);},login:function(args){args=args||{};args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};var params={cacheFix:utils.getCacheFix()};if(typeof args.user==="string"){params.userId=args.user;}if(typeof args.hash==="string"){params.userPasswd=args.hash;}$.post(cc.url.login,params,function(data){data=utils.unwrapJson(data);args.callback(data);});},logout:function(args){args=args||{};args.callback=typeof args.callback==="function"?args.callback:function(data){return false;};$.post(cc.url.logout,{cacheFix:utils.getCacheFix()},function(data){data=utils.unwrapJson(data);args.callback(data);});}};}();})(window.jQuery);(function(b){window.di=window.di||{};var a=window.di;var d=a.constants;a.utils=function(){var f={};var e="The page contents have been updated.";String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"");};String.prototype.ltrim=function(){return this.replace(/^\s+/,"");};String.prototype.rtrim=function(){return this.replace(/\s+$/,"");};function c(g,i){i=i||{};i=b.extend({},{toolbar:0,scrollbars:0,location:0,statusbar:0,menubar:0,resizable:0,width:600,height:400},i);var j="win_"+new Date().getTime(),h="";b.each(i,function(m,l){h+=m+"="+l+",";});h=h.substring(0,h.lastIndexOf(","));f[j]=window.open(g,j,h);return f[j];}return{downloadPopUp:function(g){if(typeof g!=="string"){return null;}if(g.indexOf(d.url.imgDownload)>=0){return c(g);}else{return c(d.url.imgDownload+"?"+d.params.imgGuid+"="+g);}},openPopUp:function(g,h){return c(g,h);},sendEmail:function(){var g=arguments[0];if(arguments.length>1){g+="@"+arguments[1]+(arguments[2]?"."+arguments[2]:"");}else{if(arguments.length===1){if(typeof g!=="string"){return;
}g.replace(/;;/g,"@").replace(/::/g,".");}else{return;}}window.location="mailto:"+g;},executeContentsChangedAlert:function(){if(d.request.pageUpdateAlertsEnabled){alert(e);}},getObjectLength:function(h){var g=0;b.each(h,function(){g++;});return g;},getImageUrl:function(h){h=h||{};var g=(!h.guid&&h.filename)?true:false;if(!g&&!h.guid){return false;}return d.url.imgRetrieve+"?"+(g?d.params.filename+"="+h.filename:d.params.imgGuid+"="+h.guid)+"&"+d.params.imgType+"="+(h.type||d.imgTypes.preview)+(h.width?"&"+d.params.imgWidth+"="+h.width:"")+(h.height?"&"+d.params.imgHeight+"="+h.height:"");},getUrlParams:function(){var g=function(l){return l.substring(l.search(/[#?]/)+1);};var k=function(l){return l.split("&");};var h=function(l){return l.split("=");};var j=function(l){var m={};b.each(k(g(l)),function(o,n){var p=h(n);if(p[0]){m[p[0]]=p[1]||true;}});return m;};var i={};i.get=j(location.search);i.hash=j(location.hash);return i;}};}();a.utils.shoppingCart=function(){var f=d.shoppingCart.itemTypes;
function c(k,l){if(k&&k.conflicted){var j=b("#dlg_mergeCart").remove();if(b.jqm){j=b("<div/>").attr("id","dlg_mergeCart").addClass("dialog").appendTo("#content").jqm({ajax:d.request.contextPath+"/docroot/jsp/cartMergeDialog.jsp",modal:true,ajaxText:'<div class="smallLoadingMsg">Loading Message...</div>'});j.data("reloadAfter",l?true:false);j.jqmShow();}}}function e(j){return function(k){if(typeof j==="function"){j(k);}c(k);};}function h(m,k){var j=function(){return true;};if(!k){k=function(){return j;};}switch(typeof m){case"function":break;case"boolean":if(m){m=k();}else{m=j;}break;case"string":m=k(m);break;case"object":var l=m;m=function(n){b.each(l,function(o,p){h(p,k)(n);});};break;default:m=j;}return e(m);}function g(k,m,o){var n=function(p){p=p||"The item was added to the Shopping Cart.";return function(s){if(s.hasErrors){var q=["Unable to add the item to the Shopping Cart:\n"];b.each(s.myActionErrors,function(u,t){q.push(t);});if(q.length>1){alert(q.join("\n"));}else{alert("Unable to add the item to the Shopping Cart. Please try again.\n\nIf this problem continues, report it by clicking Contact Us at the bottom of the page.");
}}else{try{a.pages.common.updateGlobalCartItemCount(s.orderInfo.shoppingCartItems.shoppingCartItems.length);}catch(r){}finally{alert(p);}}};};o=h(o,n);var l;switch(k){case f.still:if(!m.id){return false;}l=b.extend({},{quantity:1},m);break;case f.collection:if(!m.id){return false;}l=b.extend({},{quantity:1,lightboxType:d.collectionTypes.current},m);break;case f.motion:if(!m.id){return false;}l=b.extend({},{quantity:1},m);break;case f.av:if(!m.id){return false;}l=b.extend({},{quantity:1},m);break;case f.imi:if(!m.id){return false;}l=b.extend({},{quantity:1},m);break;case f.research:if(!m.desc){return false;}m.researchType=m.researchType||f.still;if(!(m.researchType===f.still||m.researchType===f.motion)){return false;}var j=m.researchType===f.motion?"Motion Imagery":"Still Imagery";l=b.extend({},{quantity:1,id:new Date().getTime().toString(),title:j+" Research"},m);break;default:return false;}a.ajax.shoppingCart.updateItem({type:k,item:l,callback:o});return true;}function i(j,l){if(!j){return false;
}var k=function(m){m=m||"The item was removed from the Shopping Cart.";return function(o){if(o.hasErrors){alert("Unable to remove the item from the Shopping Cart.  Please try again.\n\nIf this problem continues, report it by clicking Contact Us at the bottom of the page.");}else{try{a.pages.common.updateGlobalCartItemCount(o.orderInfo.shoppingCartItems.shoppingCartItems.length);}catch(n){}finally{alert(m);}}};};l=h(l,k);a.ajax.shoppingCart.removeItem({key:j,callback:l});return true;}return{addItem:function(j,k,l){if(typeof j!=="string"){return false;}if(typeof k==="string"){k={id:k};}return g(j,k,l);},addStillImage:function(j,k){if(typeof j!=="string"){return false;}return g(f.still,{id:j},k);},addCollection:function(l,j,k){if(!(typeof l==="number"||typeof l==="string")){return false;}if(!(typeof j==="number"||typeof j==="string")){return false;}return g(f.collection,{id:l,lightboxType:j},k);},addMotion:function(j,m,l,n){if(typeof j!=="string"){return false;}var k={id:j};if(typeof m==="number"){k.itemNumber=m;
if(typeof l==="number"){k.sceneNumber=l;}else{n=l;}}else{n=m;}return g(f.motion,k,n);},addAvProduct:function(j,k){if(!(typeof j==="number"||typeof j==="string")){return false;}return g(f.av,{id:j},k);},addImiProduct:function(j,k){if(!(typeof j==="number"||typeof j==="string")){return false;}return g(f.imi,{id:j},k);},addResearch:function(j,k,l){if(typeof j!=="string"){j=f.still;}if(typeof k!=="string"){return false;}return g(f.research,{desc:k,researchType:j},l);},removeItem:function(j,k){if(!j){return false;}return i(j,k);},checkCartConflict:c};}();a.utils.findImagery=function(){return{rewriteHashParams:function(){if(location.href.indexOf("#")<0){return;}var e=d.params.imgGuid;var g=a.utils.getUrlParams();if(!g.hash[e]){return;}var c=location.href.substring(0,location.href.search(/[#?]/))+"?";c+=g.hash[e]?e+"="+g.hash[e]:"";b.each(g.get,function(i,h){c+=i!==e?("&"+i+(h&&typeof h!=="boolean"?"="+h:"")):"";});c=c.replace(/\?$/,"").replace("?&","?");var f="";b.each(g.hash,function(i,h){f+=i!==e?("&"+i+(h&&typeof h!=="boolean"?"="+h:"")):"";
});f=f.replace(/^&/,"#");if(f.length>1){c+=f;}location.replace(c);}};}();a.utils.facilities=function(){return{rewriteHashParams:function(){if(location.href.indexOf("#")<0){return;}var f=d.params.id;var e=a.utils.getUrlParams();var c=location.href.substring(0,location.href.search(/[#?]/))+"?";c+=e.hash[f]?f+"="+e.hash[f]:"";b.each(e.get,function(h,g){c+=h!==f?("&"+h+(g&&typeof g!=="boolean"?"="+g:"")):"";});c=c.search(/\?$/)>=0?c.substring(0,c.indexOf("?")):c;c=c.replace("?&","?");location.replace(c);}};}();})(window.jQuery);(function(b){window.di=window.di||{};var a=window.di;a.pages=a.pages||{};a.pages.common=function(){var e=a.constants;var d=a.utils;return{init:function(){b("#footerLinks li:last").addClass("last");b("#nav>ul>li:eq(1)").css("width",130);b("#nav>ul>li:last").css("margin-right",0);if(b("#nav>ul>li").length===5){b("#nav>ul>li").css("width",152).filter(":last").css({"width":153,"margin-right":0});b("#nav>ul>li>a").css({"font-size":"1.1em","line-height":"1.65em"});}if(e.request.pageUpdateAlertsEnabled){b(document).ajaxStop(d.executeContentsChangedAlert);}b("a[rel='external']").attr("target","_blank");},updateGlobalCartItemCount:function(c){if(typeof c!=="number"){return false;}b("#globalActions .globalCartItemCount").text(c>0?"["+c+"]":"");}};}();})(window.jQuery);