function initPMLink(){var ck_subpid=getCookie('FFN_PM_subpid');if(ck_subpid!==null){for(var i=0;i<document.links.length;i++){if(document.links[i].href.indexOf('action=banner_index_header')!==-1){document.links[i].href=replaceKeyValue(document.links[i].href,'key',ck_subpid);}}}}
function initSubpid(key){var frmObj=document.promo_subpid;var url=document.location.href;var update_pattern=/&update=1/;if(url.match(update_pattern)){document.getElementById("confirm_updated").style.display="block";}
setTimeout('$("confirm_updated").fade()',5000);var re=/(\?|\&)key\=([^\.\&]+)(\.sub([^\&]+))?/;var pid=re.exec(url);if(!pid&&(typeof key!=='undefined')){frmObj.pid.value=key;}else{if(pid){if(typeof frmObj.pid.selectedIndex==='undefined'){frmObj.pid.value=pid[2];}else{for(var i=0;i<frmObj.pid.length;i++){if(frmObj.pid[i].value===pid[2]){frmObj.pid.selectedIndex=i;break;}}}
if(pid[4]!==undefined){frmObj.subpid.value=pid[4];}}}}
function update_pid(frmObj){var newURL;var guest=(typeof frmObj.pid.selectedIndex==='undefined');var frm_sub=frmObj.subpid.value;var pid=guest?frmObj.pid.value:frmObj.pid[frmObj.pid.selectedIndex].value;var ckName='FFN_PM_subpid';var url=document.location.href;var del=url.indexOf('?')===-1?'?':'&';var update='';var tp='';if(guest){var rePid1=/^((a|b|f|g|p)\d+c?(\-(all|brk|cpct|cpm|lp|npct|pct|pmb|pmem|pmo|po|ppc))?)$/;var pidAry1=rePid1.exec(pid);if(!pidAry1){alert('Please enter a valid pid.');return;}}
if(url.indexOf('key=')===-1){if(url.indexOf('this_page=banners_index')===-1){tp='&this_page=banners_index';}
url+=del+'key='+pid+tp;}
if(frm_sub.length===0){newURL=url.replace(/\&update\=1/g,'');if(newURL.indexOf(pid)===-1){update='&update=1';}
newURL=replaceKeyValue(newURL,'key',pid);setCookie(ckName,'',-3600000);document.location.href=newURL+update;return;}
frm_sub=frm_sub.replace(/\s+/g,'_');var rePid=/^([^\s\~\`\!\@\#\$\%\^\&\*\(\)\+\=\{\}\[\]\|\\\:\;\"\'\<\>\,\?\/]+)$/;var pidAry=rePid.exec(frm_sub);if(pidAry){pid=pid+'.sub'+pidAry[1];newURL=replaceKeyValue(url,'key',pid);var update_pattern=/&update=1/;if(!newURL.match(update_pattern)){newURL=newURL+"&update=1";}
setCookie(ckName,pid);document.location.href=newURL;}else{alert('Please use valid characters for your subpid:\nalpha-numeric and/or underscore characters.');}}
function replaceKeyValue(src,key,val){var re=new RegExp('('+key+'=)[^&]*');return src.replace(re,'$1'+val);}
function setCookie(name,value,expires,path,domain,secure){expires=expires||0;path=path||'/';var expStr='';if(expires){var expDte=new Date();var expMS=expDte.valueOf()+expires;expDte.setTime(expMS);expStr='; expires='+expDte.toGMTString();}
var pathStr='; path='+path;var domainStr=((domain===undefined)?'':('; domain='+domain));var secureStr=((secure===undefined)?'':('; secure'));document.cookie=name+'='+escape(value)+expStr+pathStr+domainStr+secureStr;}
function getCookie(name){var output=null;var cks=' '+document.cookie+';';var matchCk=' '+name+'=';var startPos=cks.indexOf(matchCk);var endPos;if(startPos!=-1){startPos+=matchCk.length;endPos=cks.indexOf(';',startPos);output=unescape(cks.substring(startPos,endPos));}
return output;}
function Dropdowns(obj){if(typeof obj.menus==='undefined'){throw new Error('function dropdowns','menus are not defined');}
this.currMenu=null;this.elements=[];this.menuId=obj.containerId||'navbar';this.callerClassOn=obj.callerClassOn||'';this.callerClassOff=obj.callerClassOff||'';this.offsetTop=obj.offsetTop||5;this.offsetLeft=obj.offsetLeft||0;var bdy=document.getElementsByTagName('body')[0];var p,i,m,mi,itemsLen,dd;for(p in obj.menus){if(obj.menus.hasOwnProperty(p)){m=document.createElement('div');m.id=p+'_items';m.className=obj.menuClass;m.style.display='none';m.style.zIndex='9999';itemsLen=obj.menus[p].length;for(i=0;i<itemsLen;i++){mi=document.createElement('a');mi.href=obj.menus[p][i].href;mi.innerHTML=obj.menus[p][i].text;m.appendChild(mi);}
bdy.appendChild(m);try{dd=new Dropdown({controller:this,navelement:document.getElementById(p),element:document.getElementById(p+'_items')});this.elements[p]=dd;this.elements[p+'_items']=dd;}catch(e){}}}}
function Dropdown(args){this.theDoc=document;this.menumouse=false;this.is_ie=this.theDoc.all?1:0;this.setDelay=0;this.element=args.element;this.navelement=args.navelement;this.controller=args.controller;var thisObject=this;this.hidemenu=function(){try{clearTimeout(thisObject.hideTimeout);}
catch(e){}
if(thisObject.menumouse===true){thisObject.menumouse=false;thisObject.hideTimeout=setTimeout(thisObject.hidemenu,500);return false;}else{if(thisObject.setDelay===1){thisObject.element.style.display='none';setNavElmClass(thisObject.navelement.id,'off',thisObject.controller.callerClassOn,thisObject.controller.callerClassOff);}
thisObject.menumouse=false;}};this.mouseoutHandler=function(){thisObject.setDelay=1;thisObject.moTimeout=setTimeout(thisObject.hidemenu,500);};this.mouseoverHandler=function(){thisObject.element.style.display='block';setNavElmClass(thisObject.navelement.id,'on',thisObject.controller.callerClassOn,thisObject.controller.callerClassOff);thisObject.menumouse=true;thisObject.setDelay=0;};this.navmouseout=function(){thisObject.setDelay=0;if(thisObject.menumouse===true){thisObject.menumouse=false;this.navmoTimeout=setTimeout(thisObject.navmouseout,1000);return false;}
thisObject.menumouse=false;thisObject.element.style.display='none';setNavElmClass(thisObject.navelement.id,'off',thisObject.controller.callerClassOn,thisObject.controller.callerClassOff);};this.show=function(){try{clearTimeout(this.navmoTimeout);}catch(e){}
try{clearTimeout(this.moTimeout);}catch(e){}
try{clearTimeout(this.hideTimeout);}catch(e){}
this.setDelay=0;if(this.controller.currMenu){this.controller.currMenu.onmouseout=null;this.controller.currMenu.style.display='none';try{clearTimeout(this.controller.elements[this.controller.currMenu.id].navmoTimeout);}catch(e){}
try{clearTimeout(this.controller.elements[this.controller.currMenu.id].moTimeout);}catch(e){}
try{clearTimeout(this.controller.elements[this.controller.currMenu.id].hideTimeout);}catch(e){}
this.controller.elements[this.controller.currMenu.id].menumouse=false;this.controller.elements[this.controller.currMenu.id].navelement.onmouseout();}
this.controller.currMenu=this.element;this.element.style.display='block';setNavElmClass(thisObject.navelement.id,'on',this.controller.callerClassOn,this.controller.callerClassOff);var elmPos=getElmTopLeft(this.navelement);var offsetHeight=document.getElementById(this.controller.menuId).offsetHeight;this.element.style.top=(elmPos.top+offsetHeight-this.controller.offsetTop)+'px';this.element.style.left=(elmPos.left+this.controller.offsetLeft)+'px';this.navelement.onmouseout=this.navmouseout;this.element.onmouseout=this.mouseoutHandler;this.element.onmouseover=this.mouseoverHandler;};if(this.navelement.addEventListener){this.navelement.addEventListener('mouseover',function(){thisObject.show()},false);}else{this.navelement.onmouseover=function(){thisObject.show();};}}
function setNavElmClass(elmId,toggle,on,off){toggle=toggle.toLowerCase();if(toggle==='on'&&on!==''){document.getElementById(elmId).className=on;}
if(toggle==='off'&&off!==''){document.getElementById(elmId).className=off;}}
function getElmTopLeft(obj){var curleft=0;var curtop=0;if(obj.offsetParent){curleft=obj.offsetLeft;curtop=obj.offsetTop;while(obj=obj.offsetParent){curleft+=obj.offsetLeft;curtop+=obj.offsetTop;}}
return{left:curleft,top:curtop};}
function addEvent(elm,type,fn){if(elm.addEventListener){elm.addEventListener(type,fn,false);}else if(elm.attachEvent){elm.attachEvent('on'+type,fn);}else{elm['on'+type]=fn;}}