// JavaScript Document
// By Andrew


document.write('\n<script type="text/javascript" src="/bto/js/global.js"></script>');
document.write('\n<script type="text/javascript" src="/bto/js/SpryAccordion.js"></script>');
document.write('\n<script type="text/javascript" src="/bto/js/blendtrans.js"></script>');
document.write('\n<script type="text/javascript" src="/bto/js/AC_RunActiveContent.js"></script>');

function configurator(){
	
	  var _isIE = (navigator.appVersion.toLowerCase().indexOf('msie') > -1);
	  var _isIE6 = (navigator.appVersion.toLowerCase().indexOf('msie 6.0') > -1);
	  var _lang = (typeof($lang) != 'undefined') ? $lang : 'en';
	  var _espanol = (_lang.toLowerCase() == 'es');
	
	  this.init = init;
	  function init(){
		  preloadImages();
		  selectFeaturesFromCookie();
		  if(_isIE6){
		      try{
		      	document.execCommand("BackgroundImageCache", false, true); // IE6 fix for hourglass flicker 
			  }
			  catch(err){}
		  }
	  }

	  
	  this.preloadImages = preloadImages();
	  function preloadImages(){
	      var img1 = new Image();
		  img1.src = '/bto/images/bubble-bottom.gif';
		  var img2 = new Image();
		  img2.src = '/bto/images/bubble-tip.gif';
		  var img3 = new Image();
		  img3.src = '/bto/images/bubble-top.gif';
		  var img4 = new Image();
		  img4.src = '/bto/images/apply_button_hover.gif';
		  var img5 = new Image();
		  img5.src = '/bto/images/features_active.jpg';
	  }
	
	  this.onFeaturePress = onFeaturePress;
	  function onFeaturePress(obj){
          /*if(! _isIE6){
		  	  pressFeatureButtonIn(obj); // depress the button on mousedown
		  	  obj.onmouseup = function(){ configurator.pressFeatureButtonOut(obj); } // cause the button to bounce-back on release
		  }*/
		  if(obj.className == 'active'){
			  obj.className = 'inactive';
			  /*if(! _espanol){
				  changeOpac(30,obj.id);
				  opacity(obj.id,30,100,400);
			  }*/
		  }
		  else{
			  obj.className = 'active';
			  if(! _espanol){
				  changeOpac(40,obj.id);
				  opacity(obj.id,40,100,400);
			  }
		  }
		  calculatePrice();
	  }
	  
	  this.pressFeatureButtonIn = pressFeatureButtonIn;
	  function pressFeatureButtonIn(obj){
		  var li = obj;
		  var div = obj.getElementsByTagName('div')[0];
		  div.style.paddingTop = '4px';
		  div.style.paddingLeft = '1px';
		  obj.style.backgroundPosition = '1px 1px';
	  }
	  
	  this.pressFeatureButtonOut = pressFeatureButtonOut;
	  function pressFeatureButtonOut(obj){
		  var li = obj;
		  var div = obj.getElementsByTagName('div')[0];
		  div.style.paddingTop = '3px';
		  div.style.paddingLeft = '0px';
		  obj.style.backgroundPosition = '0px 0px';
	  }
	  
	  this.onFeatureMouseover = onFeatureMouseover;
	  function onFeatureMouseover(obj){
		  showDescriptionBubble(obj);
	  }
	  

	  var bubbleConfig  =  new Object();
	  
	  bubbleConfig.NoFee = new Array(); 
	  bubbleConfig.NoFee['top'] = 90;
	  bubbleConfig.NoFee['pointer_top'] = '100';
	  
	  bubbleConfig.Rebate = new Array(); 
	  bubbleConfig.Rebate['top'] = 125;
	  bubbleConfig.Rebate['pointer_top'] = '130';
	  
	  bubbleConfig.DoubleVisa = new Array(); 
	  bubbleConfig.DoubleVisa['top'] = 160;
	  bubbleConfig.DoubleVisa['pointer_top'] = '170';
	  
	  bubbleConfig.Interest = new Array(); 
	  bubbleConfig.Interest['top'] = 105;
	  bubbleConfig.Interest['pointer_top'] = '110';
	  
	  bubbleConfig.CashBack = new Array(); 
	  bubbleConfig.CashBack['top'] = 135; 
	  bubbleConfig.CashBack['pointer_top'] = '142';
	  
	  bubbleConfig.$25Anniv = new Array();
	  bubbleConfig.$25Anniv['top'] = 110;
	  bubbleConfig.$25Anniv['pointer_top'] = '117';
	  
	  bubbleConfig.Overdraft = new Array();
	  bubbleConfig.Overdraft['top'] = 80;
	  bubbleConfig.Overdraft['pointer_top'] = '90';
	  
	  var _bubbleObj;
	  var _bubbleTimeout;
	  this.showDescriptionBubble = showDescriptionBubble;
	  function showDescriptionBubble(obj){
		  _bubbleObj = $(obj);
		  _bubbleTimeout = setTimeout(_showDescriptionBubble,100);
	  }
	  
	  this._showDescriptionBubble = _showDescriptionBubble;
	  function _showDescriptionBubble(){
		  var pos = global.findPos(_bubbleObj.id);
		  var bubble = $('feature_bubble');
		  bubble.style.left = pos[0] + 340 + 'px';
		  bubble.style.top = pos[1] - bubbleConfig[_bubbleObj.id]['top'] + 'px';
		  $('bubble_pointer').style.top = bubbleConfig[_bubbleObj.id]['pointer_top'] + 'px';
		  $('feature_bubble').style.display = 'block';
		  $('feature_desc').innerHTML = $(_bubbleObj.id+'_desc').innerHTML;
		  opacity('feature_bubble',0,100,200);
	  }
	  
	  this.hideDescriptionBubble = hideDescriptionBubble;
	  function hideDescriptionBubble(){
		  clearTimeout(_bubbleTimeout);
		  opacity('feature_bubble',100,0,0);
		  $('feature_bubble').style.display = 'none';
	  }
	  
	  this.calculatePrice = calculatePrice;
	  function calculatePrice(){
		  var price = 0;
		  var features =  'NoFee,Rebate,DoubleVisa,Interest,CashBack,$25Anniv,Overdraft';
		  var qStringKey = {'NoFee':'B','Rebate':'C','DoubleVisa':'G','Interest':'D','CashBack':'H','$25Anniv':'F','Overdraft':'J'};
		  var btoQstring = 'BTO-';
		  var featuresSelected = 0;
		  features = features.split(',');
		  for(var i=0; i<features.length; i++){
			  var obj = $(features[i]);
			  if(obj.className == 'active'){
				  featuresSelected++;
				  if(featuresSelected > 2){ price += 2; } // the first 2 features are free
				  btoQstring += qStringKey[features[i]];
				  global.addItemToCookie(features[i]);
			  }
			  else{
				  global.removeItemFromCookie(features[i]);
			  }
		  }
		  btoQstring += '-';
	      setApplyNowURL(btoQstring);
		  $('price').innerHTML = '$'+price+'';
	  }
	  
	  this.selectTab = selectTab;
	  function selectTab(obj){
		 var tabs = 'ATM_tab,Rewards_tab,Fees_tab,Popular_tab,All_tab,Money_tab';
		 tabs = tabs.split(',');
		 for(var i=0; i<tabs.length; i++){
			 $(tabs[i]).className = 'Tab';
		 }
		 obj.className = 'TabSelected';
		 var packages = new Array();
		 packages['ATM_tab'] = ['NoFee','Rebate'];
		 packages['Rewards_tab'] = ['DoubleVisa','CashBack'];
		 packages['Fees_tab'] = ['NoFee','Rebate','Overdraft'];
		 packages['Money_tab'] = ['DoubleVisa','Interest','CashBack','$25Anniv'];
		 packages['Popular_tab'] = ['NoFee','Interest','CashBack','$25Anniv'];
		 packages['All_tab'] = ['NoFee','Rebate','DoubleVisa','Interest','CashBack','$25Anniv','Overdraft'];
		 var $all = 'NoFee,Rebate,DoubleVisa,Interest,CashBack,$25Anniv,Overdraft';
		 $all = $all.split(',');
		 for(var i=0; i<$all.length; i++){
			 $($all[i]).className = 'inactive';
		 }
		 var thePackage = packages[obj.id];
		 for(var i=0; i<thePackage.length; i++){
			 if(_isIE){
				 changeOpac(70,thePackage[i]);
				 opacity(thePackage[i],70,100,350);
			 }
			 else{
				 changeOpac(50,thePackage[i]);
				 opacity(thePackage[i],50,100,350);
			 }
			 $(thePackage[i]).className = 'active';
		 }
		 calculatePrice();
	  }
	  
	  this.selectFeaturesFromCookie = selectFeaturesFromCookie;
	  function selectFeaturesFromCookie(){
		  var features = global.getFeaturesFromCookie();
		  if(features.length > 0){
			  $('chooseHeadline').innerHTML = (! _espanol) ? 'Your selected features are below.' : 'Los beneficios seleccionados est&aacute;n a continuaci&oacute;n.';
		      features = features.split(',');
			  for(var i=0; i<features.length; i++){
				  $(features[i]).className = 'active';
			  }
			  calculatePrice();
		  }
	  }
	  
	  this.setApplyNowURL = setApplyNowURL;
	  function setApplyNowURL(qstring){
		  var url = 'https://apply.compassbank.com/jsp/oao/relc/cashedge/oao_index.jsp?homeid=99992072&promoprod=014&cepromo='
	      if(! qstring || qstring.length == 0){
		      url += 'BTO--';
		  }
		  else{
			  url += qstring;
		  }
		  $('applyNowLink').href = url;
		  $('applyNowLink2').href = url;
	  }
	  
	  function $(id){
		  if(typeof(id) == 'string'){
			  return document.getElementById(id);
		  }
		  else{
			  return id;
		  }
	  }
	  
}

var configurator = new configurator();