
/* - front-page.js - */
// http://american.com/portal_javascripts/front-page.js?original=1
function preventDefault(e){if(!e)
e=window.event;if(e.preventDefault)
e.preventDefault();else
e.returnValue=false}
function addEvent(obj,evType,fn,useCapture){if(obj.attachEvent){var r=obj.attachEvent("on"+evType,fn);return r}
else if(obj.addEventListener){obj.addEventListener(evType,fn,useCapture);return true}
else{alert("Unable to attach handler");return false}}
function getSrcElement(e){if(!e)
e=window.event;var el=e.srcElement||e.target;if(el.nodeType==3)
el=el.parentNode;return el}
function setOpacity(el,opac){el.style.opacity=(opac/100);if(opac==100)
el.style.filter="none;";else
el.style.filter='alpha(opacity='+opac+')'}
var Player={controlsId:'topStories',playBtnId:'playLink',storiesWrapperId:'mainStoryWrap',currentStory:0,playTimeout:5000,classes:{off:'off',on:'on'}};
function swapStory(storyId,callBack){if(swapStory.swapping)
return callBack&&callBack(swapStory.swapping);var el=document.getElementById(Player.storiesWrapperId);swapStory.swapping=true;var tId;var op=100;
function fadeOut(){if((op-=10))
setOpacity(el,op);else{clearInterval(tId);flip()}}
function flip(){var kids=el.childNodes;var As=document.getElementById(Player.controlsId).getElementsByTagName('A');As[Player.currentStory].className=Player.classes.off;kids[Player.currentStory].style.display='none';kids[storyId].style.display='block';As[storyId].className=Player.classes.on;Player.currentStory=storyId;tId=setInterval(fadeIn,50)}
function fadeIn(){if((op+=10)<=100)
setOpacity(el,op);else{clearInterval(tId);swapStory.swapping=false;el=null;if(callBack)
callBack()}}
tId=setInterval(fadeOut,50)}
function PlayStories(){
function stop(){PlayStories.isPlaying=false;document.getElementById(Player.playBtnId).className=Player.classes.on}
function next(isSwapping){if(!PlayStories.isPlaying)
return;var nextStory=Player.currentStory;if(!isSwapping){++nextStory;if(nextStory>=Player.storyCount){nextStory=0;stop()}}
swapStory(nextStory, function(arg){setTimeout(function(){next(arg)},Player.playTimeout)})}
if(!PlayStories.isPlaying){PlayStories.isPlaying=true;next(swapStory.swapping);document.getElementById(Player.playBtnId).className=Player.classes.off}
else
stop()}
function PlayerClickEvent(e){var el=getSrcElement(e);if(el.id==Player.playBtnId)
PlayStories();else if(el.tagName=='A'){preventDefault(e);swapStory((+(el.innerText||el.textContent))-1)}}
function initPlayer(){var controls=document.getElementById(Player.controlsId);addEvent(controls,'click',PlayerClickEvent,false);document.getElementById(Player.playBtnId).parentNode.style.visibility='';var els=document.getElementById(Player.storiesWrapperId).childNodes;for(var l=els.length;l--;)
if(els[l].nodeType==3)
els[l].parentNode.removeChild(els[l]);Player.currentStory=0;Player.storyCount=els.length}
function logit(msg){if(document.all) return;console.log(msg)}
var am_greyBox={gbform:null,greybox:null};
function fader(el,direction,callback,callback2){var tId,op;
function fadein(){if(callback){callback();callback=null}
if((op+=20)<=100){setOpacity(el,op)} else{clearInterval(tId);callback2()
el=null}}
function fadeout(){if((op-=20)>=0)
setOpacity(el,op);else{clearInterval(tId);callback();el=null}}
if(direction=='in'){op=0;tId=setInterval(fadein,5)}
else{op=100;tId=setInterval(fadeout,5)}}
function show_greyBox(e){var el=getSrcElement(e);var form=am_greyBox.gbform.getElementsByTagName('FORM')[0];if(el.tagName=='A')
preventDefault(e);if(form)
form.className+=' hidden';setOpacity(am_greyBox.gbform,0);document.getElementById('square-ad-box').style.visibility='hidden';document.getElementById('topbanner').style.visibility='hidden';
function setStyles(){document.getElementsByTagName('HTML')[0].className+=' grayedout';if(document.all){/*@cc_on
 @if(@_jscript_version<5.7)
am_greyBox.gbform.style.top=100+document.documentElement.scrollTop+document.body.scrollTop+'px';@end
@*/}}
function setStyles2(){if(form){form.className=form.className.replace(/\s?\bhidden\b/,'');form=null}}
fader(am_greyBox.gbform,'in',setStyles,setStyles2);el=null}
function hide_greyBox(e){var el=getSrcElement(e);var form=am_greyBox.gbform.getElementsByTagName('FORM')[0];form.className+=' hidden';
function setStyles(){var html=document.getElementsByTagName('HTML')[0];html.className=html.className.replace(/\s?\bgrayedout\b/,'');html=null;if(subscribe_form.p_errors&&subscribe_form.p_errors.parentNode)
subscribe_form.p_errors.parentNode.removeChild(subscribe_form.p_errors);subscribe_form.p_errors=null;if(form){form.className=form.className.replace(/\s?\bhidden\b/,'');form=null}
document.getElementById('square-ad-box').style.visibility='visible';document.getElementById('topbanner').style.visibility='visible';if(subscribe_form.div_errors){var p,dt,div=subscribe_form.div_errors;while(div.firstChild){p=div.removeChild(div.firstChild);p=null}
if(div.parentNode){dt=div.parentNode.removeChild(div);dt=null}
subscribe_form.div_errors=null}}
fader(am_greyBox.gbform,'out',setStyles);el=null}
function initgreyBox(){var signuplink=document.getElementById('newsletter-signup-link');var cancelbutton=document.getElementById('newsletter-signupcancel-btn');am_greyBox.gbform=document.getElementById('newsletter-form-wrapper');am_greyBox.greybox=document.getElementById('greybox');if(!signuplink|!cancelbutton|!am_greyBox.gbform|!am_greyBox.greybox){return logit('initGB failed')}
addEvent(signuplink,'click',show_greyBox,false);addEvent(cancelbutton,'click',hide_greyBox,false)}
var subscribe_form={form:null,div_errors:null};
function validateForm(e){preventDefault(e);var i,el,inputs,form,btn=getSrcElement(e);var errors='';form=btn.form;if(!form||form.tagName!='FORM')
form=document.getElementById('newsletter-subscribe-form');subscribe_form.form=form;inputs=form.getElementsByTagName('INPUT');for(i=0;i<inputs.length;i++){var el=inputs[i];if(el.type=='hidden'||el.type=='radio'||el.type=='button'||el.type=='submit')
continue;if(el.id=='email-address'){if(el.value.match(/^\s*$/)){errors+='<br/>- Email: is a required field.';el.focus()
continue}
if(!el.value.match(/^\s*[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_]+(\.[a-zA-Z0-9-_]+)*(\.[a-zA-Z]{1,5})\s*$/)){errors+='<br/>- Email: is not a valid email address.';el.focus()}}}
el=null;if(errors){errors='Please the correct the following errors:'+errors;var div;if(!subscribe_form.div_errors){div=document.createElement('div');div.id='client-signup-errors'} else{div=subscribe_form.div_errors}
var p=document.createElement('p');p.innerHTML=errors;p.style.color='red';p.style.fontWeight='bold';div.appendChild(p);if(!subscribe_form.div_errors){form.getElementsByTagName('fieldset')[0].appendChild(div);subscribe_form.div_errors=div}
return false}
form.submit()}
function init_formHandler(){var form=document.getElementById('newsletter-subscribe-form');var submitbtn=document.getElementById('newsletter-submit-btn')
if(!form|!submitbtn) return logit('sorry form handler not installed');if(document.all)
form.className+=" ie";addEvent(submitbtn,'click',validateForm,false)}
addEvent(window,'load',initgreyBox,false);addEvent(window,'load',init_formHandler,false);
