var currentProject; var currentSection; var projectSlot; var numLevelsIn; //used to distinguish whether at /art/project or just /project - for the relative path of image in navbarHoverImage var localhost = true; //on localhost structure of url is different var urlStr = ""+window.location+""; var urlArr = urlStr.split("/"); var rootPath; if(localhost) { projectSlot = 5; numLevelsIn = urlArr.length - projectSlot; rootPath = "/ec"; } else { projectSlot = 4; numLevelsIn = urlArr.length - projectSlot; rootPath = "/"; } currentProject = urlArr[projectSlot]; currentSection = urlArr[projectSlot-1]; if(currentSection=="motion") currentSection="design"; $(document).ready(function(){ var navbarFinishingOpacity = 1; if(!theDreadedIE6 && !theDreadedIE7 && !theDreadedIE8 ){ $("#artNavTriggerContainer").bind("mouseenter",function(){ $("#navArt").animate({opacity:1}); $("#artNavTriggerContainer p a").css({color:"#000000"}); }); $("#artNavTriggerContainer").bind("mouseleave",function(){ $("#navArt").animate({opacity:navbarFinishingOpacity}); $("#artNavTriggerContainer p a").css({color:"#888"}); hideNavbarHoverImage(); }); $("#designNavTriggerContainer").bind("mouseenter",function(){ $("#navDesign").animate({opacity:1}); $("#designNavTriggerContainer p a").css({color:"#000000"}); }); $("#designNavTriggerContainer").bind("mouseleave",function(){ $("#navDesign").animate({opacity:navbarFinishingOpacity}); $("#designNavTriggerContainer p a").css({color:"#888"}); hideNavbarHoverImage(); }); $("#curateNavTriggerContainer").bind("mouseenter",function(){ $("#navCurate").animate({opacity:1}); $("#curateNavTriggerContainer p a").css({color:"#000000"}); }); $("#curateNavTriggerContainer").bind("mouseleave",function(){ $("#navCurate").animate({opacity:navbarFinishingOpacity}); $("#curateNavTriggerContainer p a").css({color:"#888"}); hideNavbarHoverImage(); }); $("#aboutNavTriggerContainer").bind("mouseenter",function(){ $("#navAbout").animate({opacity:1}); $("#aboutNavTriggerContainer p a").css({color:"#000000"}); }); $("#aboutNavTriggerContainer").bind("mouseleave",function(){ $("#navAbout").animate({opacity:navbarFinishingOpacity}); $("#aboutNavTriggerContainer p a").css({color:"#888"}); hideNavbarHoverImage(); }); $("#contactNavTriggerContainer").bind("mouseenter",function(e){ $("#navContact").animate({opacity:1}); $("#contactNavTriggerContainer p a").css({color:"#000000"}); }); $("#contactNavTriggerContainer").bind("mouseleave",function(){ $("#navContact").animate({opacity:navbarFinishingOpacity}); $("#contactNavTriggerContainer p a").css({color:"#888"}); hideNavbarHoverImage(); }); $("#mailingListNavTriggerContainer").bind("mouseenter",function(e){ $("#navMailingList").animate({opacity:1}); }); $("#mailingListNavTriggerContainer").bind("mouseleave",function(){ $("#navMailingList").animate({opacity:navbarFinishingOpacity}); hideNavbarHoverImage(); }); //fade in current nav switch(currentSection) { case "design": $("#navDesign").animate({opacity:1}); $("#designNavTriggerContainer p a").css({color:"#000000"}); $("#designNavTriggerContainer").unbind("mouseenter"); $("#designNavTriggerContainer").unbind("mouseleave"); $("#navbarHoverImage").bind("mouseleave",hideNavbarHoverImage); break; case "art": $("#navArt").animate({opacity:1}); $("#artNavTriggerContainer p a").css({color:"#000000"}); $("#artNavTriggerContainer").unbind("mouseenter"); $("#artNavTriggerContainer").unbind("mouseleave"); $("#artNavTriggerContainer").bind("mouseleave",hideNavbarHoverImage); break; case "motion": $("#navMotion").animate({opacity:1}); $("#motionNavTriggerContainer p a").css({color:"#000000"}); $("#motionNavTriggerContainer").unbind("mouseenter"); $("#motionNavTriggerContainer").unbind("mouseleave"); $("#motionNavTriggerContainer").bind("mouseleave",hideNavbarHoverImage); break; case "curate": $("#navCurate").animate({opacity:1}); $("#curateNavTriggerContainer p a").css({color:"#000000"}); $("#curateNavTriggerContainer").unbind("mouseenter"); $("#curateNavTriggerContainer").unbind("mouseleave"); $("#curateNavTriggerContainer").bind("mouseleave",hideNavbarHoverImage); break; case "contact": $("#navContact").animate({opacity:1}); $("#contactNavTriggerContainer p a").css({color:"#000000"}); $("#contactNavTriggerContainer").unbind("mouseenter"); $("#contactNavTriggerContainer").unbind("mouseleave"); $("#contactNavTriggerContainer").bind("mouseleave",hideNavbarHoverImage); break; default: $("#navAbout").animate({opacity:1}); $("#aboutNavTriggerContainer p a").css({color:"#000000"}); $("#aboutNavTriggerContainer").unbind("mouseenter"); $("#aboutNavTriggerContainer").unbind("mouseleave"); $("#aboutNavTriggerContainer").bind("mouseleave",hideNavbarHoverImage); break; } } //depending on numLevelsIn will need to adjust the path of the Image /* navbarHoverImgSrc = (numLevelsIn==1)? "../images/navbar/appassionata.jpg" : "../../images/navbar/appassionata.jpg"; $("#navbarHoverImage img").attr("src",navbarHoverImgSrc); $(".navbarLink,.navbarLinkArchive").bind("mouseenter",function(e){ if($("#navbarHoverImage").css("display")=="none") $("#navbarHoverImage").fadeIn(); $ele = $("#"+$(this).attr('id')+""); $("#navbarHoverImage").css({top:""+($ele.offset().top - 65)+"px"}); }); */ function hideNavbarHoverImage(){ $("#navbarHoverImage").fadeOut(); } //homepage localscroll $(".homepageH1").localScroll(); //navbar email value field $("#emailValue").bind("focus",function(){ if($("#emailValue").val()=="Email address") $("#emailValue").val(''); }); //$(".popupwindow").popupwindow(profiles); }); function prepareHomepageThumbnails(){ //homepage info box $(".cj_image_flipbox_block").bind("mouseenter",function(e){ id = $(this).attr("id"); topp = $("#"+id).offset().top; //google chrome !like "top" $("#homepageInfoContainer").css({top:""+topp+"px",display:"block"}); $("#homepageInfoContainer #title").html(projects[id].title); $("#homepageInfoContainer #type").html(projects[id].type); $("#homepageInfoContainer #year").text(projects[id].year); $("#homepageInfoContainer p").html(projects[id].description); }); $("div.cj_image_flipbox_block").cjImageFlipBox({}); $(".albumTag").bind("mouseenter",function(){ $(this).siblings().each(function(){ //turn all sqs off $(this).find("img").attr({src: $(this).find("img").attr("src").replace("on","off")}); }); $(this).find("img").attr({src: $(this).find("img").attr("src").replace("off","on")}); //turn this sq on var index = $(this).index(); //get box # //set image thumbnail var $imgChildren = $(this).parent().parent().find("div.cj_image_flipbox_pics").children(); //get children from parent var $newImgSrc; $imgChildren.each(function(){ if($(this).index() == index) $newImgSrc = $(this).find("img").attr("src"); //get src of children }); $(this).parent().parent().find("div.cj_image_flipbox_pics img.cj_image_flipbox_img").attr({ //set thumbnail img src "src": $newImgSrc }); }); } function capitalizeFirstLetter(string){ return string.charAt(0).toUpperCase() + string.slice(1); } /********************************************************************* *HOMEPAGE *********************************************************************/ var isLoadedArt = false; var isLoadedDesign = false; var isLoadedAbout = false; var isLoadedContact = false; var isLoadedCurate = false; function showHomepageLoadingAnimation(menu){ paddingTop = 35; paddingLeft = 95; $("#homepageLoadingContainer").css({display:"block",top:""+($("#container"+menu+"").offset().top+paddingTop)+"px",left:""+($('#container'+menu+' h1').width()+paddingLeft)+"px"}); }function hideHomepageLoadingAnimation(){ $("#homepageLoadingContainer").hide(); } function showHomepageMenu(menu){ switch(menu){ case "art": if(!isLoadedArt){ showHomepageLoadingAnimation(capitalizeFirstLetter(menu)); $("#containerArt .homepageThumbnails").load("ajax/projects.art.php",{},function(){ isLoadedArt = true; showHomepageMenu(menu); prepareHomepageThumbnails(); hideHomepageLoadingAnimation(); }); }else{ if($("#containerArt .homepageThumbnails").css("display")=="block") { $("#containerArt .homepageThumbnails").slideUp(500,function(){ $(".removeMe").remove(); $("#homepageInfoContainer").hide(); }); $("#containerDesign .homepageH1").css("border-top-width","1px"); }else{ $("#containerArt").append("
"); $("#containerDesign .homepageH1").css("border-top-width","0px"); $("#containerArt .homepageThumbnails").slideDown(); } } break; case "design": if(!isLoadedDesign){ showHomepageLoadingAnimation(capitalizeFirstLetter(menu)); $("#containerDesign .homepageThumbnails").load("ajax/projects.design.php",{},function(){ isLoadedDesign = true; showHomepageMenu(menu); prepareHomepageThumbnails(); hideHomepageLoadingAnimation(); $("#containerCurate .homepageH1").css("border-top-width","0px"); }); }else{ if($("#containerDesign .homepageThumbnails").css("display")=="block") { $("#containerDesign .homepageH1").css("border-bottom-width","0px"); $("#containerDesign .homepageThumbnails").slideUp(500,function(){ $(".removeMe").remove(); $("#homepageInfoContainer").hide(); $("#containerCurate .homepageH1").css("border-top-width","1px"); }); }else{ $("#containerDesign").append("
"); $("#containerDesign .homepageThumbnails").slideDown(); $("#containerDesign .homepageH1").css("border-bottom-width","0px"); $("#containerCurate .homepageH1").css("border-top-width","0px"); } } break; case "curate": if(!isLoadedCurate){ showHomepageLoadingAnimation(capitalizeFirstLetter(menu)); $("#containerCurate .homepageThumbnails").load("ajax/projects.curate.php",{},function(){ isLoadedCurate = true; showHomepageMenu(menu); prepareHomepageThumbnails(); hideHomepageLoadingAnimation(); $("#containerCurate .homepageH1").css("border-bottom-width","0px"); }); }else{ if($("#containerCurate .homepageThumbnails").css("display")=="block") { $("#containerCurate .homepageThumbnails").slideUp(500,function(){ $(".removeMe").remove(); $("#homepageInfoContainer").hide(); $("#containerCurate .homepageH1").css("border-bottom-width","1px"); }); $("#containerAbout .homepageH1").css("border-top-width","0px"); }else{ $("#containerCurate").append("
"); $("#containerAbout .homepageH1").css("border-top-width","0px"); $("#containerCurate .homepageThumbnails").slideDown(); $("#containerCurate .homepageH1").css("border-bottom-width","0px"); } } break; case "about": if(!isLoadedAbout){ showHomepageLoadingAnimation(capitalizeFirstLetter(menu)); $("#containerAbout .homepageThumbnails").load("ajax/projects.about.php",{},function(){ isLoadedAbout = true; showHomepageMenu(menu); prepareHomepageThumbnails(); hideHomepageLoadingAnimation() }); }else{ if($("#containerAbout .homepageThumbnails").css("display")=="block") { $("#containerContact .homepageH1").css("border-top-width","1px"); $("#containerAbout .homepageThumbnails").slideUp(500,function(){ $(".removeMe").remove(); $("#homepageInfoContainer").hide(); }); }else{ $("#containerAbout").append("
"); $("#containerAbout .homepageThumbnails").slideDown(); $("#containerContact .homepageH1").css("border-top-width","0px"); } } break; case "contact": if(!isLoadedContact){ showHomepageLoadingAnimation(capitalizeFirstLetter(menu)); $("#containerContact .homepageThumbnails").load("ajax/projects.contact.php",{},function(){ isLoadedContact = true; showHomepageMenu(menu); prepareHomepageThumbnails(); hideHomepageLoadingAnimation() }); }else{ if($("#containerContact .homepageThumbnails").css("display")=="block") { $("#containerContact .homepageThumbnails").slideUp(); $("#homepageInfoContainer").hide(); $("#containerContact .homepageH1").css("border-bottom-width","1px"); }else{ $("#containerContact .homepageH1").css("border-bottom-width","0px"); $("#containerContact .homepageThumbnails").slideDown(); } } break; } } /********************************************************************* *NEWSLETTER *********************************************************************/ function newsletterStepII(){ $("#buttonJoinMailingListContainer").hide(); $("#mailingListFormContainer").show(); } function submitNewsletter(){ $("#mailingListFormResponse2").hide(); emailAddr = $("#emailValue2").val(); urlPrefix = (localhost)? "http://localhost/ec/" : "/"; $.ajax({ url: urlPrefix + "ajax/validate.mailingList.php", type:"POST", data:({ email:emailAddr }), success: function(data){ if(data=="true"){ $("#mailingListFormResponse2").css({top:"62px",borderWidth:"0px 1px 1px 0px"}); $("#mailingListFormResponse2").html("Thanks!"); $("#mailingListFormContainer").hide(); $("#mailingListFormResponse2").show(); }else { $("#mailingListFormResponse2").html("Invalid address"); $("#mailingListFormResponse2").show(); } }}); } /********************************************************************* *DETAIL PAGES *********************************************************************/ function changeMathSign(elementId) { var mathSign = document.getElementById(elementId); if (mathSign.innerHTML=="-") mathSign.innerHTML="+"; else mathSign.innerHTML="-"; matchColumnHeights(); fixBorders(); }function matchColumnHeights() { var leftCol = document.getElementById("leftCol"); var centerCol = document.getElementById("centerCol"); if(leftCol){ var leftColHeight = leftCol.offsetHeight; var centerColHeight = centerCol.offsetHeight; if(centerColHeight>leftColHeight) { leftCol.style.height = centerColHeight + "px"; }else { //centerCol.style.height = leftColHeight + "px"; } } //alert("center: " + centerColHeight + " || " + centerCol.offsetHeight); //alert("left: " + leftColHeight + " || " + leftCol.offsetHeight + " || " + leftCol.style.pixelHeight); }function getCurrentProject() { if(urlStr.indexOf("mailinglist/")>=1) currentProject="mailinglist"; //needs to come before contact because contact is in the url else if(urlStr.indexOf("news/")>=1) currentProject="news"; else if(urlStr.indexOf("artist_statement/")>=1) currentProject="artist_statement"; else if(urlStr.indexOf("contact/")>=1) currentProject="contact"; currentElement = document.getElementById(currentProject); if(currentElement){ currentParentId = currentElement.parentNode.id; currentParent = document.getElementById(currentParentId); if(currentParent.style.visibility=="hidden") { showhidesubmenu(currentParentId); changeMathSign(currentParentId+"Sign"); } if(!theDreadedIE7 && !theDreadedIE6)currentElement.style.fontWeight="bolder"; if(currentElement.innerHTML.indexOf(">>")<0) currentElement.innerHTML=">>"+currentElement.innerHTML+""; } } /********************************************************************* *ON LOAD *********************************************************************/ function checkEcProjectPage() { checkPageSize(); getCurrentProject(); matchColumnHeights(); //configureFooter(); setTimeout(fixBorders,500); }function checkHomepage() { checkPageSize(); }function checkPageSize() { var br = new Array(4); br = getBrowser(); var browser_name = br[0]; var browser_version = br[1]; if(browser_name="msie" && browser_version<7) var theDreadedIE=true; else var theDreadedIE=false; if(theDreadedIE) var width = document.body.offsetWidth; else var width = window.innerWidth; if(width<1024) { var left=(window.screen.availWidth-1024)/2; window.screenX=left; window.moveTo(left,window.screenY); window.outerWidth=1024; //Firefox if(theDreadedIE) { window.resizeTo(1024,window.screen.availHeight); }else window.resizeTo(1024,window.outerHeight); } } $(document).ready(function(){ checkEcProjectPage(); $("#inactiveLinks a").addClass("inactive"); $kids = $("#inactiveLinks, #inactiveLinks a").not(".navbarLinkRubric a"); $kids.each(function(){ // this.style.color="#888"; }); }); var retestBrowser = true; function configureFooter(){ var $navbarHeight = $("#leftColInner").height(); var $centerHeight = $("#centerCol").height(); var leftMax; if(theDreadedIE6) leftMax = "-174px"; else if(theDreadedIE7 || theDreadedIE8) leftMax = "-178px"; else leftMax = "-175px"; var FF3MacLeft; var FF3PCLeft; //alert('leftCol: ' + $navbarHeight + ' || center: ' + $centerHeight); if($centerHeight > $navbarHeight){ //FF3 Mac does not render the page correctly when there's an odd number of multimedia links var numLinks = ($("#linksUl li").length); var projectOrShowcase = $("body").attr("id"); if((theDreadedIE7 || theDreadedIE8) && projectOrShowcase=="showcase") { $("#footerWeb").css({left:leftMax,visibility:"visible"}); }else if (FF3Mac){ if(projectOrShowcase=="showcase"){ //sorry, FF3 Mac is just weird and there's just no other way to do this if(numLinks%2==0) FF3MacLeft = "0px"; else FF3MacLeft = leftMax; switch(currentProject){ case "the_brooklyn_zoo": FF3MacLeft = leftMax; break; case "yellow_building": FF3MacLeft = "0px"; break; case "Happy_Holidays_2007": FF3MacLeft = "0px"; break; } $("#footerWeb").css({left:FF3MacLeft,visibility:"visible"}); }else{ $("#footerWeb").css({left:leftMax,visibility:"visible"}); } }else if(FF3PC){ switch (currentProject){ case "news" : FF3PCLeft = leftMax; break; case "yellow_building" : FF3PCLeft = "0px"; break; default: FF3PCLeft = "0px"; break; } $("#footerWeb").css({left:FF3PCLeft,visibility:"visible"}); }else{ $("#footerWeb").css({left:"0px",visibility:"visible"}); } }else{ $("#footerWeb").css({left:leftMax,visibility:"visible"}); }if(retestBrowser){ retestBrowser = false; //setTimeout(configureFooter,500); setTimeout(fixBorders,500); } }function fixBorders(){ var $navbarHeight = $("#leftColInner").height(); var $centerHeight = $("#centerCol").height(); //alert('leftCol: ' + $navbarHeight + ' || center: ' + $centerHeight); if($centerHeight > $navbarHeight){ $("#leftColInner").css({borderWidth:"0px 0px 0px 0px"}); $("#centerCol").css({borderWidth:"0px 1px 1px 1px"}); }else{ $("#leftColInner").css({borderWidth:"0px 1px 0px 0px"}); $("#centerCol").css({borderWidth:"0px 1px 1px 0px"}); } } /********************************************************************* *DHTML_LIB.JS **********************************************************************/ function MM_showHideLayers() { //v3.0 var i,p,v,d,obj,args=MM_showHideLayers.arguments; //alert("class=" + args[0]); //when display=none, ns4.7 not even make a layer obj for it, so must use display:block for (i=0; i<(args.length-2); i+=3) //for IE and NS4 if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { //alert("V=" + v); obj=obj.style; } //12-30-02 - moved this bracket to here from ln 25 b/c ns 4.7 ! support obj.style, just obj.visibility... if(v=="show") { v='visible'; d='block'; } else if(v=="hide") { v='hidden'; d='none'; } else v=v; obj.visibility=v; obj.display=d; //alert(obj.display); //e=document.getElementByID("navigate");e.focus(); //alert(args[0] + v + d); } else //for NS7 (version=5) { //args[0] = class to show/hide //args[2] = command to show or hide args[0] if(parseInt(navigator.appVersion) >=5 && navigator.appName=="Netscape") { if (document.getElementById(args[0])) { if(args[2]=="hide") //call from hide all submenus() { document.getElementById(args[0]).style.visibility="hidden"; document.getElementById(args[0]).style.display="none"; } else if (args[2]=="show") { document.getElementById(args[0]).style.visibility="visible"; document.getElementById(args[0]).style.display="block"; } } } else if(parseInt(navigator.appVersion) <5 && navigator.appName=="Netscape") {//for NS6 obj=document.getElementById(args[0]); obj=obj.style; if(v=="show") { v='visible'; d='block'; } else if(v=="hide") { v='hidden'; d='none'; } else v=v; obj.visibility=v; obj.display=d; //alert(args[0] + " " + obj.visibility); } } } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i=hidden_count) MM_showHideLayers(name,"","hide"); else MM_showHideLayers(name,"","show"); } } function hideallsubmenus() { var num_sections=nsNavSection.length; for (var i=0;i0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&iavailWidth) {width = availWidth; height+=35;} //to account for scrollbars if(height>availHeight) {height = availHeight; width+=35;} var height=height.toString(); var width=width.toString(); left=left.toString(); top=top.toString(); address+='&window_width='+availWidth+'&window_height='+availHeight; var left=left.toString(); var win_str="height=" + height + ",width=" + width + ",left=" + left + ",top="+top+",location=no,scrollbars=no,resizable=yes,menu=yes,status=no,menubar=no,toolbar=no,directories=no"; w=window.open(address,'tempWin',win_str,''); w.resizeTo(width,height); w.focus(); }function open_win_v2(address,suggestedWindowHeight,suggestedWindowWidth,left) { //07.10.31 - rewrote to accomidate very large images in slideshow - see the loquendi page var availWidth = screen.availWidth; var availHeight = screen.availHeight; //SET DEFAULT VALUES if(suggestedWindowHeight==null) windowHeight = 550; else windowHeight = suggestedWindowHeight; if(suggestedWindowWidth==null) windowWidth = 850; else windowWidth = suggestedWindowWidth; if(left==null) left = 100; //CHECK TO SEE WHETHER THE PHP FUNCTION get_height_width_for_open_win_v2($DBTableObj,$folder_path,$params) SUGGESTS A WINDOW SIZE BIGGER THAN SCREEN SIZE //IF SO, RESIZE WINDOW TO MAXIMUM DIMENSIONS if(suggestedWindowHeight>availHeight) { windowHeight=availHeight; }if(suggestedWindowWidth>availWidth) { windowWidth=availWidth; } var left = (availWidth-windowWidth)/2; var top = (availHeight-windowHeight)/2; address+='&window_width='+windowWidth+'&window_height='+windowHeight; var win_str="height=" + windowHeight + ",width=" + windowWidth + ",left=" + left + ",top=" + top + ",location=no,scrollbars=no,resizable=yes,menu=yes,status=no,menubar=no,toolbar=no,directories=no"; w=window.open(address,'tempWin',win_str,''); w.resizeTo(windowWidth,windowHeight); w.focus(); } function create_viewer(img_loc,height,width,caption){ doc_code="Eric Corriel: Memoire Image"; doc_code+=""; doc_code+=""; doc_code+="
"; doc_code+="" +  + ""; doc_code+="
" + caption + "
"; //alert(img_array[img_num].src); //alert("w=" + width + " h=" + (height + 60)); if(caption!="") height+=100; window_str="width=" + width + ",height=" + height + ",left=50,screenX=50,top=10,screenY=10,resizable=yes,directories=no,status=no,scrollbars=no,location=no,menubar=no,toolbar=no"; w=window.open("","img_viewer",window_str,"false"); w.document.clear(); w.resizeTo(width,height); w.document.write(doc_code); w.document.close(); w.focus(); } /************************************obsuf.js*************************************/ var edress = 'desig'+'n_a'+'t_ericcorr'+'iel_d'+'o'+'t_c'+'o'+'m'; function get_edress(){ var re= /_at_/gi; edress = edress.replace(re,'@'); var re= /_dot_/gi; edress = edress.replace(re,'.'); var the_link="mai" + "lto" +":"+edress+"" ; window.location=the_link; } /************************************FLICKR*************************************/ var viewportWidth; var viewportHeight; var imageContainerWidth; var imageContainerHeight; var thumbnailContainerWidth; var thumbnailContainerHeight; var tallestDimension = 0; var widestDimension = 0; function loadFlickrSet(){ grayOut(); $('#whiteScreen').css({display:"block"}); $('#whiteScreen').load('../../test.flickr.html'); }function getLargeImageURLFromID(imageID){ var thumbnailURL = eval("img"+imageID+"").src; var lgURL = thumbnailURL.replace("s.jpg","b.jpg"); return lgURL; }function getLargeImageURLFromThumbnailURL(thumbnailURL){ var lgURL = thumbnailURL.replace("s.jpg","b.jpg"); return lgURL; } function showBig(imageID){ grayOut(); for(var i=0;i=0) { currentImageIndex = i; break; } } showLargeImage(currentImageIndex); } function showSmalls(){ removeGrayOut(); $("#imageContainer").fadeOut(500,function(){ $("#container").show(); }); } function grayOut(){ $("#grayScreen").css({display:"block"}); $("#grayScreen").animate({opacity:.75},500); $("#grayScreen").click(function(){ showSmalls(); }); } function removeGrayOut(){ $("#grayScreen").animate({opacity:0},500,function(){ $("#grayScreen").css({display:"none"}); }); } function showLargeImage() { $("#imageContainer").fadeIn(400,function(){ $("#flickrPhotoSetImageNum").css({marginLeft:"" + (($("#prevNextContainer").width()/2 - (2*($("#leftArrowContainer").width()))/2)-32) + "px"}); //32 because the width of the imageNums is 72(/2) }); $("#imageHolder img").fadeOut(300,function(){ $("#flickrPhotoContainer img").attr({src:""+rootPath+"images/ajax-loader.gif",width:16,height:16}); $("#imageHolder").load(rootPath+"/ajax/loadFlickrImage.php", { url : img_arr[currentImageIndex].lgURL, maxImageWidth : img_arr[currentImageIndex].maxWidth, maxImageHeight : img_arr[currentImageIndex].maxHeight, isVert : img_arr[currentImageIndex].isVert, title : img_arr[currentImageIndex].title, description : img_arr[currentImageIndex].description, maxWindowWidth : imageContainerWidth-100, maxWindowHeight : imageContainerHeight-150 },function(){ $("#imageHolder img").animate({opacity:1},500); $("#viewImageOnFlickr a").attr("href",img_arr[currentImageIndex].url); $("#flickrPhotoSetImageNum").text(""+(currentImageIndex+1)+" of " + (img_arr.length)+""); }); }); } function showNext(){ currentImageIndex++; if(currentImageIndex > img_arr.length-1) currentImageIndex = 0; showLargeImage(); }; function showPrevious(){ currentImageIndex--; if(currentImageIndex<0) currentImageIndex = img_arr.length-1; showLargeImage(); } /********************************************************************* *BROWSER SNIFF.JS **********************************************************************/ /* * jsBrwSniff v0.5 * * A browser sniffer library * http://jsbrwsniff.sf.net * * Released under the GNU LGPL license * Author: Pau Garcia i Quiles * */ function getBrowser(obj) { var b=new Array("unknown", "unknown", "unknown", "unknown"); (isEmpty(obj) ? brs=navigator.userAgent.toLowerCase() : brs=obj); if (brs.search(/omniweb[\/\s]v?(\d+([\.-]\d)*)/) != -1) { // Omniweb b[0]="omniweb"; b[1]=brs.match(/omniweb[\/\s]v?(\d+([\.-]\d)*)/)[1]; (b[1] > 4.5 ? b[2]="khtml" : b[2]="omniweb"); (brs.search(/omniweb[\/\s]((\d+([\.-]\d)*)-)?v(\d+([\.-]\d)*)/) == -1 ? b[3]=brs.match(/omniweb[\/\s](\d+([\.-]\d)*)/)[1] : b[3]=brs.match(/omniweb[\/\s]((\d+([\.-]\d)*)-)?v(\d+([\.-]\d)*)/)[4]); return b; } else if (brs.search(/opera[\/\s](\d+(\.?\d)*)/) != -1) { // Opera b[0]="opera"; b[1]=brs.match(/opera[\/\s](\d+(\.?\d)*)/)[1]; b[2]="opera"; b[3]=b[1]; return b; } else if (brs.search(/crazy\s?browser\s(\d+(\.?\d)*)/) != -1) { // Crazy Browser b[0]="crazy"; b[1]=brs.match(/crazy\s?browser\s(\d+(\.?\d)*)/)[1]; b[2]="msie"; b[3]=getMSIEVersion(); return b; } else if (brs.search(/myie2/) != -1) { // MyIE2 b[0]="myie2"; b[2]="msie"; b[3]=brs.match(/msie\s(\d+(\.?\d)*)/)[1]; return b; } else if (brs.search(/netcaptor/) != -1) { // NetCaptor b[0]="netcaptor"; b[1]=brs.match(/netcaptor\s(\d+(\.?\d)*)/)[1]; b[2]="msie"; b[3]=getMSIEVersion(); return b; } else if (brs.search(/avant\sbrowser/) != -1) { // Avant Browser b[0]="avantbrowser"; b[2]="msie"; b[3]=getMSIEVersion(); return b; } else if (brs.search(/msn\s(\d+(\.?\d)*)/) != -1) { // MSN Explorer b[0]="msn"; b[1]=brs.match(/msn\s(\d+(\.?\d)*)/)[1]; b[2]="msie"; b[3]=getMSIEVersion(); return b; } else if (brs.search(/msie\s(\d+(\.?\d)*)/) != -1) { // MS Internet Explorer b[0]="msie"; b[1]=getMSIEVersion(); b[2]="msie"; b[3]=b[1]; return b; } else if (brs.search(/powermarks\/(\d+(\.?\d)*)/) != -1) { // PowerMarks b[0]="powermarks"; b[1]=brs.match(/powermarks\/(\d+(\.?\d)*)/)[1]; b[2]="msie"; try { b[3]=getMSIEVersion(); } catch (e) { } return b; } else if (brs.search(/konqueror[\/\s](\d+([\.-]\d)*)/) != -1) { // Konqueror b[0]="konqueror"; b[1]=brs.match(/konqueror[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="khtml"; return b; } else if (brs.search(/safari\/(\d)*/) != -1) { // Safari b[0]="safari"; b[1]=brs.match(/safari\/(\d+(\.?\d*)*)/)[1]; b[2]="khtml"; b[3]=brs.match(/applewebkit\/(\d+(\.?\d*)*)/)[1]; return b; } else if(brs.search(/zyborg/) != -1) { // Zyborg (SSD) b[0]="zyborg"; b[1]=brs.match(/zyborg\/(\d+(\.?\d)*)/)[1]; b[2]="robot"; b[3]="-1"; return b; } else if (brs.search(/netscape6[\/\s](\d+([\.-]\d)*)/) != -1) { // Netscape 6.x b[0]="netscape"; b[1]=brs.match(/netscape6[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/netscape\/(7\.\d*)/) != -1) { // Netscape 7.x b[0]="netscape"; b[1]=brs.match(/netscape\/(7\.\d*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/galeon[\/\s](\d+([\.-]\d)*)/) != -1) { // Galeon b[0]="galeon"; b[1]=brs.match(/galeon[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/nautilus[\/\s](\d+([\.-]\d)*)/) != -1) { // Nautilus b[0]="nautilus"; b[1]=brs.match(/nautilus[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/firefox[\/\s](\d+([\.-]\d)*)/) != -1) { // Firefox b[0]="firefox"; b[1]=brs.match(/firefox[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/k-meleon[\/\s](\d+([\.-]\d)*)/) != -1) { // K-Meleon b[0]="kmeleon"; b[1]=brs.match(/k-meleon[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/firebird[\/\s](\d+([\.-]\d)*)/) != -1) { // Firebird b[0]="firebird"; b[1]=brs.match(/firebird[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/phoenix[\/\s](\d+([\.-]\d)*)/) != -1) { // Phoenix b[0]="phoenix"; b[1]=brs.match(/phoenix[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/camino[\/\s](\d+([\.-]\d)*)/) != -1) { // Camino b[0]="camino"; b[1]=brs.match(/camino[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/epiphany[\/\s](\d+([\.-]\d)*)/) != -1) { // Epiphany b[0]="epiphany"; b[1]=brs.match(/epiphany[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/chimera[\/\s](\d+([\.-]\d)*)/) != -1) { // Chimera b[0]="chimera"; b[1]=brs.match(/chimera[\/\s](\d+([\.-]\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/icab[\s\/]?(\d+(\.?\d)*)/) !=-1) { // iCab b[0]="icab"; b[1]=brs.match(/icab[\s\/]?(\d+(\.?\d)*)/)[1]; b[2]="icab"; b[3]=b[1]; return b; } else if (brs.search(/netfront\/(\d+([\._]\d)*)/) != -1) { // NetFront b[0]="netfront"; b[1]=brs.match(/netfront\/(\d+([\._]\d)*)/)[1]; b[2]="netfront"; b[3]=b[1]; return b; } else if (brs.search(/netscape4\/(\d+([\.-]\d)*)/) != -1) { // Netscape 4.x b[0]="netscape"; b[1]=brs.match(/netscape4\/(\d+([\.-]\d)*)/)[1]; b[2]="mozold"; b[3]=b[1]; return b; } else if ( (brs.search(/mozilla\/(4.\d*)/) != -1) && (brs.search(/msie\s(\d+(\.?\d)*)/) == -1) ) { b[0]="netscape"; b[1]=brs.match(/mozilla\/(4.\d*)/)[1]; b[2]="mozold"; b[3]=b[1]; return b; } else if ((brs.search(/mozilla\/5.0/) != -1) && (brs.search(/gecko\//) != -1)) { // Mozilla Seamonkey b[0]="mozsea"; b[1]=brs.match(/rv\x3a(\d+(\.?\d)*)/)[1]; b[2]="gecko"; b[3]=getGeckoVersion(); return b; } else if (brs.search(/elinks/) != -1) { // ELinks b[0]="elinks"; (brs.search(/elinks\/(\d+(\.?\d)*)/) == -1 ? b[1]=brs.match(/elinks\s\x28(\d+(\.?\d)*)/)[1] : b[1]=brs.match(/elinks\/(\d+(\.?\d)*)/)[1]); b[2]="elinks"; b[3]=b[1]; return b; } else if (brs.search(/w3m\/(\d+(\.?\d)*)/) != -1) { // w3m b[0]="w3m"; b[1]=brs.match(/(^w3m|\sw3m)\/(\d+(\.?\d)*)/)[2]; b[2]="w3m"; b[3]=b[1]; return b; } else if (brs.search(/links/) != -1) { // Links b[0]="links"; (brs.search(/links\/(\d+(\.?\d)*)/) == -1 ? b[1]=brs.match(/links\s\x28(\d+(\.?\d)*)/)[1] : b[1]=brs.match(/links\/(\d+(\.?\d)*)/)[1]); b[2]="links"; b[3]=b[1]; return b; } else if (brs.search(/java[\/\s]?(\d+([\._]\d)*)/) != -1) { // Java (as web-browser) b[0]="java"; b[1]=brs.match(/java[\/\s]?(\d+([\._]\d)*)/)[1]; b[2]="java"; b[3]=b[1]; return b; } else if(brs.search(/lynx/) != -1) { // Lynx (SSD) b[0]="lynx"; b[1]=brs.match(/lynx\/(\d+(\.?\d)*)/)[1]; b[2]="libwww-fm"; b[3]=brs.match(/libwww-fm\/(\d+(\.?\d)*)/)[1]; return b; } else if(brs.search(/dillo/) != -1) { // Dillo (SSD) b[0]="dillo"; b[1]=brs.match(/dillo\s*\/*(\d+(\.?\d)*)/)[1]; b[2]="dillo"; b[3]=b[1]; return b; } else if(brs.search(/wget/) != -1) { // wget (SSD) b[0]="wget"; b[1]=brs.match(/wget\/(\d+(\.?\d)*)/)[1]; b[2]="robot"; b[3]="-1"; return b; } else if(brs.search(/googlebot\-image/) != -1) { // GoogleBot-Image (SSD) b[0]="googlebotimg"; b[1]=brs.match(/googlebot\-image\/(\d+(\.?\d)*)/)[1]; b[2]="robot"; b[3]="-1"; return b; } else if(brs.search(/googlebot/) != -1) { // GoogleBot (SSD) b[0]="googlebot"; b[1]=brs.match(/googlebot\/(\d+(\.?\d)*)/)[1]; b[2]="robot"; b[3]="-1"; return b; } else if(brs.search(/msnbot/) != -1) { // MSNBot (SSD) b[0]="msnbot"; b[1]=brs.match(/msnbot\/(\d+(\.?\d)*)/)[1]; b[2]="robot"; b[3]="-1"; return b; } else if(brs.search(/turnitinbot/) != -1) { // Turnitin (SSD) b[0]="turnitinbot"; b[1]=brs.match(/turnitinbot\/(\d+(\.?\d)*)/)[1]; b[2]="robot"; b[3]="-1"; return b; } else { b[0]="unknown"; return b; } } // Return browser's (actual) major version or -1 if bad version entered function getMajorVersion(v) { return (isEmpty(v) ? -1 : (hasDot(v) ? v : v.match(/(\d*)(\.\d*)*/)[1])) } // Return browser's (actual) minor version or -1 if bad version entered function getMinorVersion(v) { return (!isEmpty(v) ? (!hasDot(v) ? v.match(/\.(\d*([-\.]\d*)*)/)[1] : 0) : -1) } // Return operating system we are running on top of function getOS(obj) { var os=new Array("unknown", "unknown"); (isEmpty(obj) ? brs=navigator.userAgent.toLowerCase() : brs=obj); if (brs.search(/windows\sce/) != -1) { os[0]="wince"; try { os[1]=brs.match(/windows\sce\/(\d+(\.?\d)*)/)[1]; } catch (e) { } return os; } else if ( (brs.search(/windows/) !=-1) || ((brs.search(/win9\d{1}/) !=-1)) ) { os[0]="win"; if (brs.search(/nt\s5\.1/) != -1) { os[1]="xp"; } else if (brs.search(/nt\s5\.0/) != -1) { os[1]="2000"; } else if ( (brs.search(/win98/) != -1) || (brs.search(/windows\s98/)!= -1 ) ) { os[1]="98"; } else if (brs.search(/windows\sme/) != -1) { os[1]="me"; } else if (brs.search(/nt\s5\.2/) != -1) { os[1]="win2k3"; } else if ( (brs.search(/windows\s95/) != -1) || (brs.search(/win95/)!= -1 ) ) { os[1]="95"; } else if ( (brs.search(/nt\s4\.0/) != -1) || (brs.search(/nt4\.0/) ) != -1) { os[1]="nt4"; } return os; } else if (brs.search(/linux/) !=-1) { os[0]="linux"; try { os[1] = brs.match(/linux\s?(\d+(\.?\d)*)/)[1]; } catch (e) { } return os; } else if (brs.search(/mac\sos\sx/) !=-1) { os[0]="macosx"; return os; } else if (brs.search(/freebsd/) !=-1) { os[0]="freebsd"; try { os[1] = brs.match(/freebsd\s(\d(\.\d)*)*/)[1]; } catch (e) { } return os; } else if (brs.search(/sunos/) !=-1) { os[0]="sunos"; try { os[1]=brs.match(/sunos\s(\d(\.\d)*)*/)[1]; } catch (e) { } return os; } else if (brs.search(/irix/) !=-1) { os[0]="irix"; try { os[1]=brs.match(/irix\s(\d(\.\d)*)*/)[1]; } catch (e) { } return os; } else if (brs.search(/openbsd/) !=-1) { os[0]="openbsd"; try { os[1] = brs.match(/openbsd\s(\d(\.\d)*)*/)[1]; } catch (e) { } return os; } else if ( (brs.search(/macintosh/) !=-1) || (brs.search(/mac\x5fpowerpc/) != -1) ) { os[0]="macclassic"; return os; } else if (brs.search(/os\/2/) !=-1) { os[0]="os2"; try { os[1]=brs.match(/warp\s((\d(\.\d)*)*)/)[1]; } catch (e) { } return os; } else if (brs.search(/openvms/) !=-1) { os[0]="openvms"; try { os[1]=brs.match(/openvms\sv((\d(\.\d)*)*)/)[1]; } catch (e) { } return os; } else if ( (brs.search(/amigaos/) !=-1) || (brs.search(/amiga/) != -1) ) { os[0]="amigaos"; try { os[1]=brs.match(/amigaos\s?(\d(\.\d)*)*/)[1]; } catch (e) { } return os; } else if (brs.search(/hurd/) !=-1) { os[0]="hurd"; return os; } else if (brs.search(/hp\-ux/) != -1) { os[0]="hpux"; try { os[1]=brs.match(/hp\-ux\sb\.[\/\s]?(\d+([\._]\d)*)/)[1]; } catch (e) { } return os; } else if ( (brs.search(/unix/) !=-1) || (brs.search(/x11/) != -1 ) ) { os[0]="unix"; return os; } else if (brs.search(/cygwin/) !=-1) { os[0]="cygwin"; return os; } else if (brs.search(/java[\/\s]?(\d+([\._]\d)*)/) != -1) { os[0]="java"; try { os[1]=brs.match(/java[\/\s]?(\d+([\._]\d)*)/)[1]; } catch (e) { } return os; } else if (brs.search(/palmos/) != -1) { os[0]="palmos"; return os; } else if (brs.search(/symbian\s?os\/(\d+([\._]\d)*)/) != -1) { os[0]="symbian"; try { os[1]=brs.match(/symbian\s?os\/(\d+([\._]\d)*)/)[1]; } catch (e) { } return os; } else { os[0]="unknown"; return os; } } // Return Gecko version function getGeckoVersion() { return brs.match(/gecko\/([0-9]+)/)[1]; } // Return MSIE version function getMSIEVersion() { return brs.match(/msie\s(\d+(\.?\d)*)/)[1]; } // Return full browser UA string function getFullUAString(obj) { (isEmpty(obj) ? brs=navigator.userAgent.toLowerCase() : brs=obj); return brs; } // Is Flash plug-in installed? function hasFlashPlugin(obj) { (isEmpty(obj) ? brs=navigator.userAgent.toLowerCase() : brs=obj); var f=new Array("0", "0"); var brwEng=getBrowser(obj)[2]; //if (getBrowser(obj)[2]!="msie") { if ( (brwEng=="gecko") || (brwEng="opera") || (brwEng="khtml") || (brwEng="mozold")) { // Non-IE Flash plug-in detection if (navigator.plugins && navigator.plugins.length) { x = navigator.plugins["Shockwave Flash"]; if (x) { f[0] = 2; if (x.description) { y = x.description; f[1] = y.charAt(y.indexOf('.')-1); } } else { f[0] = 1; } if (navigator.plugins["Shockwave Flash 2.0"]) { f[0] = 2; f[0] = 2; } } else if (navigator.mimeTypes && navigator.mimeTypes.length) { x = navigator.mimeTypes['application/x-shockwave-flash']; if (x && x.enabledPlugin) { f[0] = 2; } else { f[0] = 1; } } return f; } else if (brwEng=="msie") { // IE flash detection. for(var i=7; i>0; i--) { try { var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i); f[1] = i; break; //return; } catch(e) { } } if (f[1]>0) { f[0]=2 } else { f[0]=1 } return f; } else { f[0]=0; f[1]=0; return f; } } /* FOR INTERNAL USE ONLY. THIS FUNCTIONS ARE SUBJECT TO CHANGE, DON'T TRUST THEM */ // Is input empty? function isEmpty(input) { return (input==null || input =="") } // Does this string contain a dot? function hasDot(input) { return (input.search(/\./) == -1) } /* END OF FOR INTERNAL USE ONLY FUNCTIONS */ var br = new Array(4); br = getBrowser(); var browser_name = br[0]; var browser_version = br[1]; var os = navigator.platform; var win = (os.indexOf("Win")>=0)? true : false; var mac = (os.indexOf("Mac")>=0)? true : false; var theDreadedIE6 = (browser_name=="msie" && browser_version<7)? true : false; var theDreadedIE7 = (browser_name=="msie" && browser_version==7)? true : false; var theDreadedIE8 = (browser_name=="msie" && browser_version==8)? true : false; var firefox = (browser_name=="firefox")? true : false; var FF3Mac = (firefox && browser_version.indexOf("3.")>=0 && mac)? true : false; var FF3PC = (firefox && browser_version.indexOf("3.")>=0 && win)? true : false; var safari = (browser_name=="safari")? true : false; /********************************************************************* *PROJECTS **********************************************************************/ projects = new Array(); //arr items moved to ajax files