// JavaScript Document

document.write('\n<script type="text/javascript" src="/bto/js/global.js"></script>');
document.write('\n<script type="text/javascript" src="/bto/js/blendtrans.js"></script>');
document.write('\n<script type="text/javascript" src="/js/prototype.js"></script>');
document.write('\n<script type="text/javascript" src="/js/scriptaculous/effects.js"></script>');

function cart(){
	
	  var _isIE = (navigator.appVersion.toLowerCase().indexOf('msie') > -1);
	  var _isIE6 = (navigator.appVersion.toLowerCase().indexOf('msie 6.0') > -1);
	  var _isOpen = false;
	  var _lang = (typeof($lang) != 'undefined') ? $lang : 'en';
	  var _espanol = (_lang.toLowerCase() == 'es');
	  var _cartIsHidden = true;
	  var _cartShownOnce = false;
	  var _firstSeconds = true;
	  setTimeout(function(){_firstSeconds = false;},2300);
	
	  this.init = init;
	  function init(){
		  preloadImages(); 
		  initCart();
		  if(_isIE6){
			  try{
		      	document.execCommand("BackgroundImageCache", false, true); // IE6 fix for hourglass flicker 
			  }
			  catch(err){}
		  }
	  }
	  
	  this.initCart = initCart;
	  function initCart(){
		  hideAllFeatures();
		  var features = global.getFeaturesFromCookie();
		  if(features.length == 0){
		      $('cartPrice').style.display = 'none';
			  $('cartApply').style.display = 'none';
			  $('cartNoFeatures').style.display = 'block';
			  showCart(false);
		  }
		  else{
			  showCart(true);
			  $('cartPrice').style.display = 'block';
			  $('cartApply').style.display = 'block';
			  $('cartNoFeatures').style.display = 'none';
			  features = features.split(',');
			  for(var i=0; i<features.length; i++){
				  $(features[i]+'_cart').style.display = 'block';
				  var premiumPageAddBtn = $(features[i] + '_addFeature');
				  if(premiumPageAddBtn){ premiumPageAddBtn.style.visibility = 'hidden'; }
			  }
		  }
		  calculatePrice();
	  }
	  
	  function showCart(show){
		  if(show && _cartIsHidden){ 
		      $('feature_cart').style.display = 'block';
		      _cartIsHidden = false;
			  _cartShownOnce = true;
			  if(_firstSeconds){
				  opacity('feature_cart',0,100,0);
			  }
			  else{
				  opacity('feature_cart',0,100,150); 
			  } 
		  }
		  else if ((! show) && (! _cartIsHidden)){ 
		      _cartIsHidden = true; 
			  opacity('feature_cart',100,0,100);
			  setTimeout(function(){$('feature_cart').style.display = 'none';},120);
		  }
	  }
	  
	  this.preloadImages = preloadImages();
	  function preloadImages(){
	      var img1 = new Image();
		  img1.src = '/bto/images/cart_spinner.gif';
		  var img2 = new Image();
		  img2.src = '/bto/images/close_btn.gif';
		  var img3 = new Image();
		  img3.src = '/bto/images/btn_bg_active.jpg';
	  }
	  
	  this.hideAllFeatures = hideAllFeatures;
	  function hideAllFeatures(){
		  var features =  'NoFee,Rebate,DoubleVisa,Interest,CashBack,$25Anniv,Overdraft';
		  features = features.split(',');
		  for(var i=0; i<features.length; i++){
			  $(features[i]+'_cart').style.display = 'none';
		  }
	  }
	  
	  this.removeItem = removeItem;
	  function removeItem(obj){
	      var theDiv = obj.parentNode.parentNode;
		  _showAddFeatureBtnID = theDiv.id.replace('_cart','');
		  if(global.removeItemFromCookie(theDiv.id.replace('_cart',''))){
			  Effect.DropUp(theDiv,{duration: .3});
			  var premiumPageAddBtn = $((_showAddFeatureBtnID) + '_addFeature');
			  if(premiumPageAddBtn){ setTimeout(showAddFeatureBtn_premium,390); }
			  setTimeout(calculatePrice,400);
		  }
		  return false;
	  }
	   
	  var _showAddFeatureBtnID = '';
	  this.showAddFeatureBtn_premium = showAddFeatureBtn_premium;
	  function showAddFeatureBtn_premium(){
		  $(_showAddFeatureBtnID + '_addFeature').style.visibility = 'visible';
	  }
		
	  this.addItem = addItem;
	  var _addItemId;
	  var _addItemTimeout;
	  function addItem(id){
		  _addItemId = id+'_cart';
		  if($(id+'_cart').style.display == 'block'){hiliteItem(_addItemId); return;}
	      showSpinner(true);
		  hiliteItem(_addItemId);
		  _addItemTimeout = setTimeout(_addItem,400);
	  }
	  
	  this._addItem = _addItem;
	  function _addItem(id){
		  clearTimeout(_addItemTimeout);
		  var premiumPageAddBtn = $((_addItemId.replace('_cart','')) + '_addFeature');
		  showSpinner(false);
		  if(premiumPageAddBtn){ premiumPageAddBtn.style.visibility = 'hidden'; }
		  $(_addItemId).style.display = 'block';
		  $('cartNoFeatures').style.display = 'none';
		  calculatePrice();
	  } 
	  
	  this.showSpinner = showSpinner;
	  function showSpinner(show){
		  var premiumPageSpinner = $((_addItemId.replace('_cart','')) + '_spinner');
	      if(show){
			  if(premiumPageSpinner){ premiumPageSpinner.style.visibility = 'visible'; }
			  else { $('cartSpinner').style.visibility = 'visible'; }
		  }
		  else{
			  if(premiumPageSpinner){ premiumPageSpinner.style.visibility = 'hidden'; }
			  $('cartSpinner').style.visibility = 'hidden';
		  }
	  }
	  
	  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 cookieString = '';
		  var featuresSelected = 0;
		  var anyFeatureSelected = false;
		  var anyFeaturesFromCookie = ((global.getFeaturesFromCookie()).length > 0);
		  var btoQstring = 'BTO-';
		  features = features.split(',');
		  for(var i=0; i<features.length; i++){
			  var obj = $(features[i]+'_cart');
			  if(obj.style.display == 'block'){
				  anyFeatureSelected = true;
				  btoQstring += qStringKey[features[i]];
				  global.addItemToCookie(features[i]); 
				  featuresSelected++;
				  if(featuresSelected > 2){ price += 2; } // the first 2 features are free
			  }
		  }
		  btoQstring += '-';
		  if(anyFeatureSelected){
			  showCart(true);
			  setApplyNowURL(btoQstring);
			  $('cartNoFeatures').style.display = 'none';
			  $('cartPrice').innerHTML = (! _espanol) ? 'Your current price is $'+price : 'Tu cargo mensual ser&iacute;a de $'+price;
			  $('cartPrice').style.display = 'block';
			  $('cartApply').style.display = 'block';
		  }
		  else{
			  if(_cartShownOnce){showCart(false);}
			  setApplyNowURL('');
			  $('cartPrice').style.display = 'none';
			  $('cartApply').style.display = 'none';
			  $('cartNoFeatures').style.display = 'block';  
		  }
	  }
	  
	  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;
		  }
		  $('applyNowLinkCart').href = url;
		  if($('applyNowLink_actionBox')){
			  $('applyNowLink_actionBox').href = url;
		  }
	  }
	  
	  this.hiliteItem = hiliteItem;
	  var _itemToHilite = null;
	  var _itemHiliteTimeout = null;
	  var _itemLabelDivs = new Array();
	  function hiliteItem($item){
		  _itemToHilite = ($($item)).getElementsByTagName('div')[0];
		  _hiliteItem();
		  clearTimeout(_itemHiliteTimeout);
		  _itemHiliteTimeout = setTimeout(unHiliteItem,1500);
	  }
	  
	  this._hiliteItem = _hiliteItem;
	  function _hiliteItem(){
		  var prefix = (_isIE) ? '' : '#';
		  var labelDivs = getCartItemLabelDivs();
		  for(var i=0; i<labelDivs.length; i++){
			  labelDivs[i].style.color = prefix+'3366cc';  
		  }
		  _itemToHilite.style.color= prefix+'CC0000';
	  }
	  
	  this.unHiliteItem = unHiliteItem;
	  function unHiliteItem(){
		  var prefix = (_isIE) ? '' : '#';
		  _itemToHilite.style.color= prefix+'3366cc';
	  }
	  
	  function getCartItemLabelDivs(){
	      if(_itemLabelDivs.length > 0){
			  return _itemLabelDivs;  
		  }
		  var cart = $('feature_cart');  
		  var divs = cart.getElementsByTagName('div');
		  for(var i=0; i<divs.length; i++){
		      if(divs[i].className == 'cartItemLabel'){
			  	_itemLabelDivs.push(divs[i]);	 
			  }
		  }
		  return _itemLabelDivs;
	  }
	  
	  function _log(msg){
		  if(typeof(console) != 'undefined'){
		      console.log(msg);  
		  }
	  }
	  
}

var cart = new cart();