/**
* @namespace 2MC
*/

if (!window.TOOMANYCOLOURS) {
  var TOOMANYCOLOURS = { };
}

/**
* @namespace TOOMANYCOLOURS.Checkout
*/

TOOMANYCOLOURS.Checkout = (function () { 
  var _options;
  var _defaultOptions = { };

  var _init = function(options) {
    _options = $.extend(_defaultOptions, options || {});
    _addObserver();
    
    _addChooseOtherEmailLink($('#login_from_order'));
    _addQuickLogin();
  };
  
	var _addQuickLogin = function () {
		if ($('#login_from_order#').length) {
			$('.new-client').hide();
		}else{
			$('.new-client').show();
		};
		
		
	}

  var _addChooseOtherEmailLink = function (loginFromOrder) {
    if (loginFromOrder.length <= 0) {return};
    
    var $loginFromOrder = loginFromOrder;
    
    var $cancelLink =  $("<li class='back'> \
                         <span>oder</span> \
                         <a class='hide_login_from_form' title='Andere E-Mail Adresse verwenden.' href='javascript:;'>Andere E-Mail Adresse verwenden.</a> \
                      </li>");
    $('#login_from_order .buttons ol').append($cancelLink);
    
    $('#login_from_order .back a.hide_login_from_form').live('click', function (event) {
      $('#errorExplanation, #login_from_order').slideUp('fast', function() {
        $('#order_email').val('').focus();
      });
    })
  };
  
  
  var _updateOrderSummery = function (newShippingCost) { 
    
		if ( TOOMANYCOLOURS.ORDER_SUMMERY.articleCosts >= 12000 || TOOMANYCOLOURS.STATIC.shippingIsFree) {
      $('#shipping-cost').text(TOOMANYCOLOURS.FUNCTIONS.centNoToEuroStr(0));
      return;
    };
       
    var articleCosts = parseFloat(TOOMANYCOLOURS.ORDER_SUMMERY.articleCosts);
    var shippingCost = parseFloat(TOOMANYCOLOURS.ORDER_SUMMERY.shippingCost);
    var totalPrice = parseFloat(TOOMANYCOLOURS.ORDER_SUMMERY.totalPrice);
    
    var newShippingCost = parseFloat(newShippingCost);
    var newTotalPrice = articleCosts + newShippingCost;
    
    if(TOOMANYCOLOURS.ORDER_SUMMERY.rebateGiftCertificate){
      newTotalPrice = newTotalPrice - parseFloat(TOOMANYCOLOURS.ORDER_SUMMERY.rebateGiftCertificate);
    }
    
    $('#shipping-cost').text(TOOMANYCOLOURS.FUNCTIONS.centNoToEuroStr(newShippingCost));
    $('#total-price').text(TOOMANYCOLOURS.FUNCTIONS.centNoToEuroStr(newTotalPrice));
    $('#total-price-vat').text( TOOMANYCOLOURS.FUNCTIONS.centNoToEuroStr(Math.round(newTotalPrice*0.19)) );
  }
  
  var _addObserver = function() {
    
    // shipping vs billing address
    var $checkbox = $('#order_shipping_address_equals_billing_address');
    $checkbox.filter('input:checked').parents('form').addClass('hide-billing-address');
    $checkbox.click(function(event) {
        if ($(this).filter('input:checked').length) {
          $(this).parents('form').addClass('hide-billing-address');
        }else{
          $(this).parents('form').removeClass('hide-billing-address');
        };
      });
      
    // shipping cost changer
    var $shippingCountrySelect =  $('#order_shipping_country');
    $shippingCountrySelect.change(function(){
      _updateOrderSummery(TOOMANYCOLOURS.STATIC.shippingCostsForCountrys[this.value]);
    })    
  };
  
  /*
   * Constructor
   * @params options Object.
   */
  return {   
    init: function (options) { _init(options); }
  };
})();