/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - js/functions.js - */
// http://discovermagazine.com/portal_javascripts/js/functions.js?original=1
autoSelectMenu=false;var prevEl;
function init(){if(arguments.callee.done) return;arguments.callee.done=true;if(_timer){clearInterval(_timer);_timer=null}
labels_init();nav=navigator.userAgent.toLowerCase();isIEMac=(nav.indexOf('mac')>-1&&(nav.indexOf('ie')>-1&&nav.indexOf('opera')==-1));if(document.attachEvent){embeddedContent.reinsertContent()}
links=document.getElementsBySelector('a');for(var i=0,t=links.length;i<t ;i++){if(linkHasBodyId(links[i].id)){links[i].className+=' selected'}}
if(autoSelectMenu){fileName=getFileName(location.href);linksProdMenu=document.getElementsBySelector('a');for(var i=0,t=linksProdMenu.length;i<t;i++){if(fileName==getFileName(linksProdMenu[i].href)){linksProdMenu[i].className+=' selected'}}}
var links=document.getElementsBySelector('a.rollover');var tmpImg=[];for(var i=0,t=links.length;i<t ;i++){var img=links[i].getElementsByTagName('img')[0];addEvent(links[i],'focus',rollOver);addEvent(links[i],'blur',rollOut);if(img&&!isIEMac&&!isSafari){addEvent(links[i],'mouseover',rollOver);addEvent(links[i],'mouseout',rollOut);tmpImg[i]=new Image(img.width,img.height);tmpImg[i].setAttribute('src',getImg(img,'over'));if(links[i].className.indexOf('selected')!=-1){img.setAttribute('src',getImg(img,'selected'))}}}
if(document.getElementById("mediaNav")){var mediaNavs=document.getElementsBySelector('#mediaNav li a');for(var i=0,t=mediaNavs.length;i<t ;i++){addEvent(mediaNavs[i],'click',getMovie)}}
if(document.getElementById("browser")){var browserLists=document.getElementsBySelector('#browser ul ul');for(var i=0,t=browserLists.length;i<t ;i++){if(browserLists[i].className!='unfolded'){browserLists[i].style.display='none'}}
var browserLIs=document.getElementsBySelector('#browser ul li');for(var i=0,t=browserLIs.length;i<t ;i++){if(browserLIs[i].getElementsByTagName("UL").length==1){addEvent(browserLIs[i],'click',toggleBrowserList)}}
var browserLinks=document.getElementsBySelector('#browser ul li a');for(var i=0,t=browserLinks.length;i<t ;i++){addEvent(browserLinks[i],'click', function(e){e.stopPropagation()})}}
allowMediaNav=false;lastMediaType='movie';clearer=document.createElement('div');clearer.className='clearBoth';if(document.getElementById("mediaScreen")){var thumbs=document.getElementsBySelector('#mediaNav li');for(var i=0,t=thumbs.length;i<t;i++){if(i%2==0&&i>0){thumbs[i].parentNode.insertBefore(clearer.cloneNode(false),thumbs[i])}}
defThumb=document.getElementsBySelector('#mediaNav a.selected')[0];if(defThumb){lastMediaType=getMediaType(defThumb)}
if(!document.getElementById("mediaScreen_movie")){onTemplateLoaded()}
document.getElementById("mediaNoScript").style.display='none';var IEVersion=getIEVersion();if((IEVersion==-1||IEVersion>=7)&&document.getElementById('mediaScreen_movie')){showPlayer()}}
if(document.getElementById("AlbumWrapper")){setTimeout("fix_gallery()",10)}}
if(document.addEventListener){document.addEventListener("DOMContentLoaded",init,false)}
/*@cc_on @*/
/*@if (@_win32 && @_jscript_version > 5.5)
 document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");var script=document.getElementById("__ie_onload");script.onreadystatechange=function(){if(this.readyState=="complete"){init()}};/*@end @*/
isSafari=false;if(navigator.userAgent.toLowerCase().indexOf('webkit')!=-1){isSafari=true;var _timer=setInterval(function(){var mP=document.getElementById("mediaPlayer");if(mP){mP.className=''}
if (/loaded|complete/.test(document.readyState)){init()}},10)}
window.onload=init_onload;
function init_onload(){if(document.getElementById('mediaScreen_movie')){showPlayer()}
init()}
function getIEVersion(){var rv=-1;if(navigator.appName=='Microsoft Internet Explorer'){var ua=navigator.userAgent;var re=new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");if(re.exec(ua)!=null){rv=parseFloat(RegExp.$1)}}
return rv}
function fix_gallery(){var thumbs=document.getElementsBySelector('#AlbumWrapper .photoWrapper');for(var i=0,t=thumbs.length;i<t;i++){if(i%3==0&&i>0){thumbs[i].parentNode.insertBefore(clearer.cloneNode(false),thumbs[i])}}
btn_next=document.getElementsBySelector("span.next a")[0];if(btn_next){addEvent(btn_next,'click', function(e){setTimeout("fix_gallery()",10)})}
btn_previous=document.getElementsBySelector("span.previous a")[0];if(btn_previous){addEvent(btn_previous,'click', function(e){setTimeout("fix_gallery()",10)})}}
function showPlayer(){document.getElementById('mediaScreen_movie').style.display='block'}
function getFileName(str){var arr=str.split("/");return arr[arr.length-1]}
function rollOver(e){this.className+=' selected';var img=this.getElementsByTagName('img')[0];if(img){img.src=getImg(img,'over')}}
function rollOut(e){this.className=this.className.replace('selected','');var img=this.getElementsByTagName('img')[0];if(img){if(!linkHasBodyId(this.id)&&this.className.indexOf('selected')==-1){var imgNormal=img.getAttribute('src').replace('_over.','.')} else{var imgNormal=img.getAttribute('src').replace('_over.','_over.')}
img.src=imgNormal}}
function getImg(img,status){return img.getAttribute('src').replace(/(_over|_over)?.(gif|jpg|png)/ig,'_'+status+'.$2')}
function linkHasBodyId(linkId){if(!linkId){return false}
bodyId=document.getElementsByTagName("BODY")[0].id;linkSection=linkId.split("_");if(linkSection.length==2){linkSection=linkSection[1]} else{linkSection=false}
return(linkSection&&linkSection==bodyId)}
function toggleBrowserList(e){theChild=this.getElementsByTagName("UL");theChild=theChild[0];if(theChild.style.display=='none'){theChild.style.display='';this.className+=' unfolded'} else{theChild.style.display='none';this.className=this.className.replace('unfolded','')}
e.preventDefault()}
function onTemplateLoaded(message){var mp=document.getElementById("flashObj0");mp.className=mp.className.replace('disableHover','');allowMediaNav=true}
function getMovie(e){mediaType=getMediaType(this);titleId=this.getAttribute("id");if(typeof titleId=='string'&&mediaType!=''&&allowMediaNav){titleId=titleId.split("_")[1];if(mediaType=='photo'||(mediaType=='movie'&&mediaType!=lastMediaType)){var allMedias=document.getElementsBySelector("#mediaScreen .mediaObject");forEach(allMedias, function(media){if(media.className.indexOf('hiddenMedia')==-1){media.className+=' hiddenMedia'}})}
if(mediaType=='photo'){if(lastMediaType=='movie'){callFlash("pauseVideo","true")}
var newScreen=document.getElementById("mediaScreen_"+titleId)} else if(mediaType=='movie'){if(typeof lastVideoId=='undefined'){lastVideoId=config["videoId"]}
if(titleId==lastVideoId){callFlash("pauseVideo","false")} else{callFlash("fetchTitleById",titleId);callFlash("loadTitleById",titleId)}
lastVideoId=titleId
var newScreen=document.getElementById("mediaScreen_movie")}
newScreen.className=newScreen.className.replace('hiddenMedia','');lastMediaType=mediaType;var otherLinks=document.getElementsBySelector("#mediaNav li a");for(var i=0,t=otherLinks.length;i<t;i++){otherLinks[i].className=otherLinks[i].className.replace('selected','');otherLinks[i].hideFocus=false}
this.className+=' selected';this.hideFocus=true}
e.preventDefault()}
function getMediaType(el){if(el.className.indexOf('movie')!=-1){return 'movie'}
else if(el.className.indexOf('photo')!=-1){return 'photo'}}
function addEvent(element,type,handler){if(element.addEventListener){element.addEventListener(type,handler,false)}else{if(!handler.$$guid){handler.$$guid=addEvent.guid++}
if(!element.events){element.events={}}
var handlers=element.events[type];if(!handlers){handlers=element.events[type]={};if(element['on'+type]){handlers[0]=element['on'+type]}
element['on'+type]=handleEvent}
handlers[handler.$$guid]=handler}}
addEvent.guid=1;
function removeEvent(element,type,handler){if(element.removeEventListener){element.removeEventListener(type,handler,false)}else if(element.events&&element.events[type]&&handler.$$guid){delete element.events[type][handler.$$guid]}}
function handleEvent(event){event=event||fixEvent(window.event);var returnValue=true;var handlers=this.events[event.type];for(var i in handlers){if(!Object.prototype[i]){this.$$handler=handlers[i];if(this.$$handler(event)===false){returnValue=false}}}
if(this.$$handler){this.$$handler=null}
return returnValue}
function fixEvent(event){event.preventDefault=fixEvent.preventDefault;event.stopPropagation=fixEvent.stopPropagation;return event}
fixEvent.preventDefault=function(){this.returnValue=false}
fixEvent.stopPropagation=function(){this.cancelBubble=true}
if(!window.addEventListener){document.onreadystatechange=function(){if(window.onload&&window.onload!=handleEvent){addEvent(window,'load',window.onload);window.onload=handleEvent}}}
function getAllChildren(e){return e.all?e.all:e.getElementsByTagName('*')}
document.getElementsBySelector=function(selector){if(!document.getElementsByTagName){return new Array()}
var tokens=selector.split(' ');var currentContext=new Array(document);for(var i=0;i<tokens.length;i++){token=tokens[i].replace(/^\s+/,'').replace(/\s+$/,'');if(token.indexOf('#')>-1){var bits=token.split('#');var tagName=bits[0];var id=bits[1];var element=document.getElementById(id);if(tagName&&element.nodeName.toLowerCase()!=tagName){return new Array()}
currentContext=new Array(element);continue}
if(token.indexOf('.')>-1){var bits=token.split('.');var tagName=bits[0];var className=bits[1];if(!tagName){tagName='*'}
var found=new Array;var foundCount=0;for(var h=0;h<currentContext.length;h++){var elements;if(tagName=='*'){elements=getAllChildren(currentContext[h])} else{elements=currentContext[h].getElementsByTagName(tagName)}
for(var j=0;j<elements.length;j++){found[foundCount++]=elements[j]}}
currentContext=new Array;var currentContextIndex=0;for(var k=0;k<found.length;k++){if(found[k].className&&found[k].className.match(new RegExp('\\b'+className+'\\b'))){currentContext[currentContextIndex++]=found[k]}}
continue}
if(token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)){var tagName=RegExp.$1;var attrName=RegExp.$2;var attrOperator=RegExp.$3;var attrValue=RegExp.$4;if(!tagName){tagName='*'}
var found=new Array;var foundCount=0;for(var h=0;h<currentContext.length;h++){var elements;if(tagName=='*'){elements=getAllChildren(currentContext[h])} else{elements=currentContext[h].getElementsByTagName(tagName)}
for(var j=0;j<elements.length;j++){found[foundCount++]=elements[j]}}
currentContext=new Array;var currentContextIndex=0;var checkFunction;switch(attrOperator){case '=':checkFunction=function(e){return(e.getAttribute(attrName)==attrValue)};break;case '~':checkFunction=function(e){return(e.getAttribute(attrName).match(new RegExp('\\b'+attrValue+'\\b')))};break;case '|':checkFunction=function(e){return(e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?')))};break;case '^':checkFunction=function(e){return(e.getAttribute(attrName).indexOf(attrValue)==0)};break;case '$':checkFunction=function(e){return(e.getAttribute(attrName).lastIndexOf(attrValue)==e.getAttribute(attrName).length-attrValue.length)};break;case '*':checkFunction=function(e){return(e.getAttribute(attrName).indexOf(attrValue)>-1)};break;default:checkFunction=function(e){return e.getAttribute(attrName)}}
currentContext=new Array;var currentContextIndex=0;for(var k=0;k<found.length;k++){if(checkFunction(found[k])){currentContext[currentContextIndex++]=found[k]}}
continue}
tagName=token;var found=new Array;var foundCount=0;for(var h=0;h<currentContext.length;h++){var elements=currentContext[h].getElementsByTagName(tagName);for(var j=0;j<elements.length;j++){found[foundCount++]=elements[j]}}
currentContext=found}
return currentContext}
if(!Array.forEach){Array.forEach=function(array,block,context){for(var i=0;i<array.length;i++){block.call(context,array[i],i,array)}}}
Function.prototype.forEach=function(object,block,context){for(var key in object){if(typeof this.prototype[key]=="undefined"){block.call(context,object[key],key,object)}}};String.forEach=function(string,block,context){Array.forEach(string.split(""), function(chr,index){block.call(context,chr,index,string)})};var forEach=function(object,block,context){if(object){var resolve=Object;if(object instanceof Function){resolve=Function} else if(object.forEach instanceof Function){object.forEach(block,context);return} else if(typeof object=="string"){resolve=String} else if(typeof object.length=="number"){resolve=Array}
resolve.forEach(object,block,context)}};

/* - js/labels.js - */
// http://discovermagazine.com/portal_javascripts/js/labels.js?original=1
function labels_init(){if(document.getElementById&&document.styleSheets){try{var s=document.styleSheets[document.styleSheets.length-1];addStyleRule(s,"label.inside","position:absolute; visibility:hidden;");for(var i=0,label=null;(label=document.getElementsByTagName("label")[i]);i++){if(label.className.indexOf('inside')!=-1){label_init(label)}}
addEvent(document.forms[0],"submit",labels_uninit)}
catch(e){}}}
function labels_uninit(e){if(document.getElementById&&document.styleSheets){for(var i=0,label=null;(label=document.getElementsByTagName("label")[i]);i++){var el=document.getElementById(label.htmlFor);if(el&&el.value==el._labeltext) label_hide(el)}}}
function label_init(label){try{var el=document.getElementById(label.htmlFor);var elName=el.nodeName;var elType=el.getAttribute("type");if(elName=="TEXTAREA"||(elType=="text"||elType=="password")){el._labeltext=label.firstChild.nodeValue;el._type=el.getAttribute("type");addEvent(el,"focus",label_focused);addEvent(el,"blur",label_blurred);label_blurred({currentTarget:el})} else{label.style.position="static";label.style.visibility="visible"}}
catch(e){label.style.position="static";label.style.visibility="visible"}}
function label_focused(e){e=fix_e(e);var el=e.currentTarget;if(el.value==el._labeltext) el=label_hide(el)
el.select()}
function label_hide(el){if(el._type=="password") el=label_setInputType(el,"password");el.value="";return el}
function label_blurred(e){e=fix_e(e);var el=e.currentTarget;if(el.value=="") el=label_show(el)}
function label_show(el){if(el._type=="password") el=label_setInputType(el,"text");el.value=el._labeltext;return el}
function label_setInputType(el,type){if(navigator.appName=="Microsoft Internet Explorer"){var newEl=document.createElement("SPAN");newEl.innerHTML='<input type="'+type+'" />';newEl=newEl.firstChild;var s='';for(prop in el){try{if(prop!="type"&&prop!="height"&&prop!="width") newEl[prop]=el[prop]}
catch(e){}}
addEvent(newEl,"focus",label_focused);addEvent(newEl,"blur",label_blurred);el.parentNode.replaceChild(newEl,el);return newEl} else{el.setAttribute("type",type);return el}}
function addStyleRule(stylesheet,selector,rule){if(stylesheet.addRule) stylesheet.addRule(selector,rule);else{var index=stylesheet.cssRules.length;stylesheet.insertRule(selector+"{"+rule+"}",index)}}
function fix_e(e){if(!e&&window.event) e=window.event;if(!e.currentTarget&&e.srcElement) e.currentTarget=e.srcElement;if(!e.originalTarget&&e.srcElement) e.originalTarget=e.srcElement;return e}

/* - js/embeddedcontent.js - */
// http://discovermagazine.com/portal_javascripts/js/embeddedcontent.js?original=1
var embeddedContent={isMSIE:(document.all&&!window.opera)?true:false,reinsertContent: function(){var totalNodes=new Array(3);totalNodes['OBJECT']=document.getElementsByTagName('OBJECT').length;totalNodes['EMBED']=document.getElementsByTagName('EMBED').length;totalNodes['APPLET']=document.getElementsByTagName('APPLET').length;for(var tagName in totalNodes){var counter=totalNodes[tagName]-1;for(var node;node=document.getElementsByTagName(tagName)[counter];counter--){var el=node;while(el.className.indexOf('noIEFix')==-1&&el.tagName!="HTML"){el=el.parentNode}
if(node.getAttribute('id').indexOf('flashObj')==-1&&el.className.indexOf('noIEFix')==-1){sourceCode=embeddedContent.getSourceCode(node);if(sourceCode){node.outerHTML=sourceCode}}}}
embeddedContent.isMSIE=null},getSourceCode: function(node){var sourceCode=node.outerHTML;switch(node.nodeName){case 'EMBED':return sourceCode;break;case 'OBJECT':case 'APPLET':var openTag=sourceCode.substr(0,sourceCode.indexOf('>')+1).toLowerCase();var closeTag=sourceCode.substr(sourceCode.length-9).toLowerCase();if(closeTag!='</object>'&&closeTag!='</applet>'){return null}
if(embeddedContent.isMSIE){var innerCode=embeddedContent.getInnerCode(node);sourceCode=openTag+innerCode+closeTag}
return sourceCode;break}},getInnerCode: function(node){var innerCode='';var totalChilds=node.childNodes.length-1;for(var counter=totalChilds,child;child=node.childNodes[counter];counter--){innerCode+=child.outerHTML}
return innerCode}}
if(false&&document.attachEvent){if(window.opera){document.attachEvent("DOMContentLoaded",embeddedContent.reinsertContent)}
else{embeddedContent.reinsertContent()}}
