
var intDuration=250;var intOpacityStart=0;var intOpacityEnd=80;var intBorder=19;var intFrame=intBorder*2;var strPathFlashBase='/cs/ENGInE/flash/';var strPathFlashZoom='/cs/ENGInE/flash/ENGInE_zoom.swf';var strPathFeatureDemoFrame='/cs/ENGInE/flash/ENGInE_feature_demo_frame.swf';var callBackOverlayHandler=null;var contentValue=null;var type=null;var title=null;var close=null;var closeCallback=null;window.onresize=overLayResize;function overLayResize()
{if(contentValue!=null){overlayStart(contentValue,type,title,close);}}
function ajaxSubmit(url,frmName){var query="";query=getForm(frmName);xmlhttpPost(url,query);}
function getForm(frmName){var query="";var frm;var elm;var eType;var eValue;var eName;if(document.forms[frmName]!=undefined){frm=document.forms[frmName];for(var i=0;i<frm.elements.length;i++){elm=frm.elements[i];eType=elm.type;eValue=elm.value;eName=elm.name;switch(eType){case"text":case"hidden":case"password":case"textarea":if(i>0)query+="&";query+=eName+"="+eValue;break;case"checkbox":case"radio":if(elm.checked){if(i>0)query+="&";query+=eName+"="+eValue;}
break;case"select-one":if(i>0)query+="&";query+=eName+"="+elm.options[elm.selectedIndex].value;break;}}}
return query;}
function evalScript(scripts)
{try
{if(scripts!='')
{var script="";scripts=scripts.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi,function(){if(scripts!==null)script+=arguments[1]+'\n';return'';});if(script)(window.execScript)?window.execScript(script):window.setTimeout(script,0);}
return false;}
catch(e)
{alert(e)}}
function xmlhttpPost(strURL){var xmlHttpReq=false;if(window.XMLHttpRequest){xmlHttpReq=new XMLHttpRequest();if(xmlHttpReq.overrideMimeType){xmlHttpReq.overrideMimeType('text/xml');}}else if(window.ActiveXObject){try{xmlHttpReq=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{xmlHttpReq=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}}
if(!xmlHttpReq){alert('ERROR AJAX:( Cannot create an XMLHTTP instance');return false;}
xmlHttpReq.open('POST',strURL,true);xmlHttpReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');xmlHttpReq.onreadystatechange=function(){callBackFunction(xmlHttpReq);};var params="";if(arguments[1]!=undefined){params=arguments[1];}
xmlHttpReq.send(params);}
function callBackFunction(http_request){var arrayPageSize=getPageSize();if(http_request.readyState==4){if(http_request.status==200){var responceString=http_request.responseText;document.id('innerOverlayContent').set('html',responceString);evalScript(http_request.responseText);var oWrapper=document.id('overlayContent');if(type=='os'){var getContentSize=document.id('innerOverlayContent').getSize();var thisEl=document.documentElement;oWrapper.setStyles({'height':getContentSize.y+'px','width':getContentSize.x+'px'});rePosOverlay();}else if(type=='overlay'){document.getElementById('overlayContent').style.top=document.documentElement.scrollTop+150+"px";}
else{oWrapper.setStyle('top',((document.window.scrollTop)-150)+"px");oWrapper.setStyle('position',"fixed");}
oWrapper.setStyle('left',(arrayPageSize[0]-oWrapper.clientWidth)/2+"px");document.id('overlay').setStyle('display','block');window.addEvent('domready',function(){fd.doDetection("over");});}else{return('ERROR: AJAX request status = '+http_request.status);}}}
function overlayStart(s_content,s_type,s_title,s_close,synchronous,s_closeCallback){closeCallback=s_closeCallback;var arrayPageSize=getPageSize();var content="";if(document.getElementById("sbxCatFS")){document.getElementById("sbxCatFS").style.display="none";}
contentValue=s_content;type=s_type;title=s_title;close=s_close;fadeBG(synchronous);if(document.getElementById('player')!=null){;document.getElementById('player').style.display='none';document.getElementById('player-none').style.display='block';}
if(s_type=='glossary'||s_type=='demo'){content=unescape(s_content);xmlhttpPost(content);}
if(s_type=='os'){content=unescape(s_content);xmlhttpPost(content);}else if(s_type=='image'){var thisObj=document.documentElement;s_title=unescape(s_title);content=escape(s_content);if(window.webkit420){document.id('overlayContent').style.top=document.body.scrollTop+intBorder+"px";}
var lc=Math.floor(Math.random()*100000);var FO3={movie:strPathFlashZoom,id:"flash_zoom_",wmode:"transparent",menu:"false",height:(arrayPageSize[2]-intFrame),width:(arrayPageSize[2]-intFrame),bgcolor:"#000000",majorversion:"8",build:"0",base:strPathFlashBase,flashvars:"img="+content+"&r="+((arrayPageSize[2]-intFrame)/(arrayPageSize[3]-intFrame))+"&title="+s_title+"&lc="+lc+"&close="+s_close};UFO.create(FO3,"innerOverlayContent");document.id('overlayContent').setStyles({'height':(arrayPageSize[2]-intFrame)+'px','width':(arrayPageSize[2]-intFrame)+'px','left':10,'top':getScrollTop()+intBorder+'px'});document.id('overlayButton').setStyle('top',0);rePosOverlay;window.addEvent('domready',function(){fd.doDetection("img");});}
callBackOverlayHandler=window.setInterval(function(){if(document.id("innerOverlayContent")!=null){var el=document.id("innerOverlayContent").getElementsByTagName("object");var el1=document.id("innerOverlayContent").getElementsByTagName("embed");var el1=document.id("innerOverlayContent").getElementsByTagName("div");if(el.length>0||el1.length>0){document.id("overlay").onclick=function(){overlayEnd();};window.clearInterval(callBackOverlayHandler);}}},100);}
function getScrollTop(){if(typeof pageYOffset!='undefined'){return pageYOffset;}
else{var dbody=document.body;var ddocEle=document.documentElement;ddocEle=(ddocEle.clientHeight)?ddocEle:dbody;return ddocEle.scrollTop;}}
function overlayEnd(){if(document.getElementById("sbxCatFS")){document.getElementById("sbxCatFS").style.display="inline";}
document.id("overlay").onclick=null;opacity('overlay',intOpacityEnd,intOpacityStart,intDuration);document.id('overlay').setStyle('display','none');document.id('overlayContent').empty().dispose();contentValue=null;type=null;title=null;close=null;if(document.id('player')!=null){;document.id('player-none').setStyle('display','none');document.id('player').setStyle('display','block');}
if(typeof closeCallback==="function"){closeCallback();closeCallback=null;}}
function fadeBG(synchronous){createOverlay();document.getElementById("overlay").style.display='block';if(synchronous){changeOpac(intOpacityEnd,'overlay');}else{opacity('overlay',intOpacityStart,intOpacityEnd,intDuration);}}
function createOverlay(){var arrayPageSize=getPageSize();var overlayElement=document.id('overlay');var overlayMainContent=document.id('overlayContent');var objOverlay=new Element('div',{id:'overlay',styles:{display:'block',height:arrayPageSize[1]+50,width:'100%'}});var objOverlayContent=new Element('div',{id:'overlayContent',html:'<div id="innerOverlayContent" style="visibility:visible;"></div>',styles:{top:'100px'}});var objOverlayButton=new Element('div',{id:'overlayButton','class':'overlayButton',html:'<img src="/cs/ENGInE/img/blank.gif" id="overlayButtonImg" width="100" height="30">',styles:{top:'16px'},events:{click:function(){overlayEnd();}}});if(overlayElement==null){$$('body').adopt(objOverlay);}
if(overlayMainContent==null){$$('body').adopt(objOverlayContent);document.id(objOverlayContent).grab(objOverlayButton,'top');}
if(type=="os"&&document.id("overlay")){document.id("overlay").setStyle('background','#222');}}
function getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}
var usrAgt=navigator.userAgent.toLowerCase();if(usrAgt.indexOf("firefox")!=-1){pageWidth-=17;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;}
function setHeight(element,h){document.getElementById(element).style.height=h+"px";}
function setWidth(element,h){document.getElementById(element).style.width=h+"px";}
function opacity(id,opacStart,opacEnd,millisec){var speed=Math.round(millisec/100);var timer=0;if(opacStart>opacEnd){for(i=opacStart;i>=opacEnd;i--){setTimeout("changeOpac("+i+",'"+id+"')",(timer*speed));timer++;}}else if(opacStart<opacEnd){for(i=opacStart;i<=opacEnd;i++)
{setTimeout("changeOpac("+i+",'"+id+"')",(timer*speed));timer++;}}
return true;}
function changeOpac(opacity,id){var object=document.getElementById(id).style;object.opacity=(opacity/100);object.MozOpacity=(opacity/100);object.KhtmlOpacity=(opacity/100);object.filter="alpha(opacity="+opacity+")";}
function shiftOpacity(id,millisec){if(document.getElementById(id).style.opacity==0){opacity(id,0,100,millisec);}else{opacity(id,100,0,millisec);}}
function blendimage(divid,imageid,imagefile,millisec){var speed=Math.round(millisec/100);var timer=0;document.getElementById(divid).style.backgroundImage="url("+document.getElementById(imageid).src+")";changeOpac(0,imageid);document.getElementById(imageid).src=imagefile;for(i=0;i<=100;i++){setTimeout("changeOpac("+i+",'"+imageid+"')",(timer*speed));timer++;}}
function currentOpac(id,opacEnd,millisec){var currentOpac=100;if(document.getElementById(id).style.opacity<100){currentOpac=document.getElementById(id).style.opacity*100;}
opacity(id,currentOpac,opacEnd,millisec)}
function triggerOverlay(s_content,s_type,s_title,s_close,height,width){var winW=document.documentElement.offsetWidth;var arrayPageSize=getPageSize();var content="";if(document.id("sbxCatFS")){document.id("sbxCatFS").setStyle('display','none');}
contentValue=s_content;type=s_type;title=s_title;close=s_close;if(document.id('innerOverlayContent')==null||document.id('innerOverlayContent').get('html')==''){fadeBG();if(document.id('player')!=null){document.id('player').setStyle('display','none');document.id('player-none').setStyle('display','block');}
if(s_type=='glossary'||s_type=='demo'){content=unescape(s_content);xmlhttpPost(content);}else if(s_type=='image'){s_title=unescape(s_title);content=escape(s_content);if(window.webkit420){document.id('overlayContent').setStyle('top',document.body.scrollTop+intBorder+"px");}
document.id('overlayContent').setStyles({'height':height+'px','width':width+'px'});var lc=Math.floor(Math.random()*100000);var FO3={movie:strPathFlashZoom,id:"flash_zoom_",wmode:"transparent",menu:"false",height:height,width:width,bgcolor:"#000000",majorversion:"8",build:"0",base:strPathFlashBase,flashvars:"img="+content+"&r="+((arrayPageSize[2]-intFrame)/(arrayPageSize[3]-intFrame))+"&title="+s_title+"&lc="+lc+"&close="+s_close};UFO.create(FO3,"innerOverlayContent");document.id('overlay').setStyle('display','block');document.id('overlayButtonImg').setStyle('height','30px');rePosOverlay();window.addEvent('domready',function(){fd.doDetection("img");});}else if(s_type=='overlay'){s_title=unescape(s_title);content=unescape(s_content);if(window.webkit420){document.id('overlayContent').setStyle('top',document.body.scrollTop+intBorder+"px");}
document.id('overlayContent').setStyles({'height':height+'px','width':width+'px'});rePosOverlay();xmlhttpPost(content);}
callBackOverlayHandler=window.setInterval(function(){if(document.id("innerOverlayContent")!=null){var el=document.id("innerOverlayContent").getElementsByTagName("object");var el1=document.id("innerOverlayContent").getElementsByTagName("embed");var el1=document.id("innerOverlayContent").getElementsByTagName("div");if(el.length>0||el1.length>0){document.id("overlay").onclick=function(){overlayEnd();};window.clearInterval(callBackOverlayHandler);}}},100);}
window.addEvent('resize',function(){rePosOverlay();});}
function rePosOverlay(){var thisEle=document.documentElement;if(document.id('overlayContent')!=null){var getW=document.id('innerOverlayContent').getStyle('width');document.id('overlayContent').position({offset:{'left':(thisEle.offsetWidth/2-getW/2)+thisEle.scrollLeft,'top':(thisEle.offsetHeight/2-thisEle.clientHeight/2)+thisEle.scrollTop},ignoreScroll:false}).setStyles({'display':'block','position':'absolute'});}}
function overlayTimer(c,triggers,overlayparams){var counter=c;for(var j=0;j<triggers.length;j++){if(triggers[j]!=null&&overlayparams[j][0]!=null){if(triggers[j]==c){triggerOverlay(overlayparams[j][0],overlayparams[j][1],overlayparams[j][2],'Close',overlayparams[j][3],overlayparams[j][4]);}}}
c++;setSessionCookie(c);t=setTimeout(function(){overlayTimer(c,triggers,overlayparams);},1000);}
function setSessionCookie(counter){var host=window.location.host;var idx1=host.lastIndexOf(".");if(idx1>-1){var idx2=host.substr(0,idx1).lastIndexOf(".");if(idx2>-1){if(host.substring(idx2).length<7){idx2=host.substr(0,idx2).lastIndexOf(".");if(idx2<0){idx2=0;}}
var domain=host.substring(idx2);Cookie.write("ford_engine_fullsite_cookietimer",c,{domain:domain},{duration:0});}}}
if(engine===undefined){engine={};}
if(engine.overlay===undefined){engine.overlay={};}
engine.overlay.hide=function(id){document.getElementById(id).style.display="none";};engine.overlay.show=function(parentId,id,element,blurBkgrd){var elem=document.getElementById(id);var parent=document.getElementById(parentId);var overlayDim=document.getElementById(id+'Dim');if(blurBkgrd===true){if(!overlayDim){overlayDim=new Element('div',{id:id+'Dim',styles:{background:'#222',position:'absolute',left:0,top:0,opacity:0.8,height:document.documentElement.offsetHeight,width:'100%',zIndex:100000}});}else{overlayDim.show();}
$$('body').adopt(overlayDim);}
if(elem===null){elem=document.createElement(id);parent.appendChild(elem);elem.style.position="absolute";elem.style.zIndex=999999;}
elem.style.display="inline-block";elem.id=id;if(elem.hasChildNodes()){while(elem.childNodes.length>0){elem.removeChild(elem.firstChild);}}
if(typeof element==="string"){element=new Element("div").load(element);}
elem.appendChild(element);elem.zIndex=999999;var w=window.innerWidth;var h=window.innerHeight;if(w===undefined){w=document.documentElement.offsetWidth;h=document.documentElement.offsetHeight;}
var elemW=elem.offsetWidth;var elemH=elem.offsetHeight;var parentW=parent.offsetWidth;var parentTop=parent.offsetTop;var parentLeft=parent.offsetLeft;var p=parent.offsetParent;while(p){parentTop+=p.offsetTop;parentLeft+=parent.offsetLeft;p=p.offsetParent;}
var scrollTop=document.body.scrollTop||document.documentElement.scrollTop;elem.style.left=((parentW-elemW)/2)+"px";elem.style.top=((h-elemH)/2)-parentTop+scrollTop+"px";};var Controller=function(prefix,ajaxPrefix){this.prefix=prefix;this.ajaxPrefix=ajaxPrefix;REDIRECT_HEADER="engine-redirect";RESULT_HEADER="engine-ajax-result";this.submit=function(forward,command,ignoreToken){if(forward!==undefined){document.getElementById(this.prefix+"Forward").value=forward;}
if(command!==undefined){document.getElementById(this.prefix+"Command").value=command;}
if(ignoreToken!==undefined){document.getElementById(this.prefix+"Token").value='null';}
document.getElementById(this.prefix+"Form").submit();};var checkHeadersForRedirect=function(request){var redirect=request.getHeader(REDIRECT_HEADER);if(redirect!==null&&redirect!==""){location.href=redirect;return true;}
return false;};this.ajaxLoadSync=function(params){var result=undefined;var request=new Request.HTML({async:false,url:params.url,method:"post",noCache:true,data:params.params});request.onSuccess=function(responseTree,responseElements,responseHTML){if(checkHeadersForRedirect(request)){return;}
if(params.id!==undefined){document.id(params.id).set('html',responseHTML);}
var resultHeader=request.getHeader(RESULT_HEADER);if(resultHeader!==null&&resultHeader==='failed'){result=false;}else{result=true;}};request.onCancel=function(){this.onFailure(null);};request.onFailure=function(){if(checkHeadersForRedirect(request)){return;}
var s=params.onError;if(typeof s==='function'){s=s.call(this);}
if(params.id!==undefined){document.id(params.id).set('html',s);}};try{request.send();}catch(whatever){this.onFailure();}
return result;};this.ajaxGetSync=function(params){var engResult=true;var request=new Request({async:false,url:params.url,method:"post",noCache:true,data:params.params});request.onSuccess=function(responseText){if(checkHeadersForRedirect(request)){return;}
var resultHeader=request.getHeader(RESULT_HEADER);if(resultHeader!==null&&resultHeader==='failed'){this.onFailure();}else{try{engResult=JSON.decode(responseText);}catch(whatever){engResult=false;}}};request.onCancel=function(){this.onFailure();};request.onFailure=function(){if(checkHeadersForRedirect(request)){engResult="timeout";return;}
engResult=request.getHeader(RESULT_HEADER);if(engResult===null||engResult===undefined){engResult=false;}};request.send();return engResult;};this.processAjaxErrors=function(fields,errors,errorClass){var focused=false;for(var i=0,n=fields.length;i<n;i++){var f=fields[i];var error,gotError;if(errors[f]!==undefined){error=errors[f];gotError=true;}else{error='';gotError=false;}
document.id(f+'Error').setText(error);if(document.id(f)){if(gotError){if(!focused){focused=true;document.id(f).focus();}
document.id(f).addClass(errorClass);}else{document.id(f).removeClass(errorClass);}}}};var myOnKeyDown=function(elem,event,targetEvent,target,ignoreEmpty){if(event.key===targetEvent){event.stopPropagation();event.stop();if(!ignoreEmpty||!!(document.id(elem).get('value'))){if(typeof target==='function'){target.call(this,event);}else{var elem=document.id(target);if(elem){setTimeout(function(){elem.focus();if(typeof elem.select==='function'){elem.select();}},0);}}}
return false;}};this.onEnterDo=function(elem,what,ignoreEmpty){document.id(elem).addEvent('keypress',function(event){myOnKeyDown(elem,event,'enter',what,ignoreEmpty);});};this.onEscapeDo=function(elem,what){document.id(elem).addEvent('keypress',function(event){myOnKeyDown(elem,event,'esc',what);});};this.clearWhiteSpace=function(fields){for(var i=0,n=fields.length;i<n;i++){var wsfield=document.id(fields[i]).get('value');wsfield=wsfield.replace(/\s{2,}/g,' ');wsfield=wsfield.replace(/^\s*/,'').replace(/\s*$/,'');document.id(fields[i]).set('text',wsfield);document.id(fields[i]).set('value',wsfield);}};var ajaxGetSync=this.ajaxGetSync;var url=this.ajaxPrefix+"Ajax_KeepAlive";this.keepAlive=function(){ajaxGetSync({url:url});};this.initTooltips=function(postfix,fields,onFocusOnlyFields){var onFocus=function(id){var tt;for(var i=0,n=fields.length;i<n;i++){if(fields[i]===id)continue;tt=document.id(fields[i]+postfix);if(tt)tt.hide();}
if(onFocusOnlyFields){for(var i=0,n=onFocusOnlyFields.length;i<n;i++){if(onFocusOnlyFields[i]===id)continue;tt=document.id(onFocusOnlyFields[i]+postfix);if(tt)tt.hide();}}
tt=document.id(id+postfix);if(tt)tt.show();};var onBlur=function(id){var elem=document.id(id+postfix);if(elem){elem.hide();}};var doHook=function(id,focusOnly){var elem=document.id(id);elem.addEvent('focus',function(){onFocus(id);});if(!focusOnly){elem.addEvent('blur',function(){onBlur(id);});}};for(var i=0,n=fields.length;i<n;i++){doHook(fields[i],false);}
if(onFocusOnlyFields){for(var i=0,n=onFocusOnlyFields.length;i<n;i++){doHook(onFocusOnlyFields[i],true);}}};};
