function CollectPayments() {
	var payments = new Array();
	var li = $('.payment-option-list li input:checked');

	switch ($(li).attr('id')) {
		// ONE SINGLE PAYMENT ON CREDIT CARD:
 		case 'paytype_visa_one':
			var payment = new Zeus.Odin.DisillModules.Common.Payment();

			payment.CreditCardNumber = $('#cc_number').val();
			payment.CreditCardExpiresMonth = $('#cc_valid_month').val();
			payment.CreditCardExpiresYear = $('#cc_valid_year').val();
			payment.CreditCardCcvNumber = $('#cc_ccv_code').val();
			payment.CreditCardOwnerName = $('#cc_cardholder_name').val();
			payment.CreditCardOwnerIdNumber = $('#cc_cardholder_idnumber').val();
			payment.CreditCardNumberOfMonths = 0;
			payment.CreditCardType = '1';
			payment.Amount = $('#total_price').val();
	        payment.MethodID = $(li).attr('method_id');
	        payment.Type = $(li).attr('ptype');

			odin.book.addPayment(payment);

		    break;

		case 'paytype_visa_contract':
			var payment = new Zeus.Odin.DisillModules.Common.Payment();

			payment.CreditCardNumber = $('#cc_number').val();
			payment.CreditCardExpiresMonth = $('#cc_valid_month').val();
			payment.CreditCardExpiresYear = $('#cc_valid_year').val();
			payment.CreditCardCcvNumber = $('#cc_ccv_code').val();
			payment.CreditCardOwnerName = $('#cc_cardholder_name').val();
			payment.CreditCardOwnerIdNumber = $('#cc_cardholder_idnumber').val();
			payment.CreditCardNumberOfMonths = parseInt($('#visa_contracts_months').val());
			payment.CreditCardType = '1';
			payment.Amount = $('#total_price').val();
	        payment.MethodID = $(li).attr('method_id');
	        payment.Type = $(li).attr('ptype');
            payment.CreditCardPaymentDate = $(li).attr('firstdate');

			odin.book.addPayment(payment);
		
		    break;

		case 'paytype_visa_four_even':
			var payment = new Zeus.Odin.DisillModules.Common.Payment();

			payment.CreditCardNumber = $('#cc_number').val();
			payment.CreditCardExpiresMonth = $('#cc_valid_month').val();
			payment.CreditCardExpiresYear = $('#cc_valid_year').val();
			payment.CreditCardCcvNumber = $('#cc_ccv_code').val();
			payment.CreditCardOwnerName = $('#cc_cardholder_name').val();
			payment.CreditCardOwnerIdNumber = $('#cc_cardholder_idnumber').val();
			payment.CreditCardNumberOfMonths = parseInt($(li).attr('months'));
			payment.CreditCardType = '1';
			payment.Amount = $('#total_price').val();
	        payment.MethodID = $(li).attr('method_id');
	        payment.Type = $(li).attr('ptype');
            payment.CreditCardPaymentDate = $(li).attr('firstdate');

			odin.book.addPayment(payment);

		    break;

		case 'paytype_visa_split':
			var payment = new Zeus.Odin.DisillModules.Common.Payment();

			payment.CreditCardNumber = $('#cc_number').val();
			payment.CreditCardExpiresMonth = $('#cc_valid_month').val();
			payment.CreditCardExpiresYear = $('#cc_valid_year').val();
			payment.CreditCardCcvNumber = $('#cc_ccv_code').val();
			payment.CreditCardOwnerName = $('#cc_cardholder_name').val();
			payment.CreditCardOwnerIdNumber = $('#cc_cardholder_idnumber').val();
			payment.CreditCardNumberOfMonths = parseInt($(li).attr('months'));
			payment.CreditCardType = '1';
			payment.Amount = $('#total_price').val();
	        payment.MethodID = $(li).attr('method_id');
	        payment.Type = $(li).attr('ptype');
            payment.CreditCardPaymentDate = $(li).attr('firstdate');

			odin.book.addPayment(payment);

		    break;

		case 'paytype_extramoney':
		    var extraMoney = new Zeus.Odin.DisillModules.Common.Payment();
			extraMoney.CreditCardNumber = $('#cc_number').val();
			extraMoney.CreditCardExpiresMonth = $('#cc_valid_month').val();
			extraMoney.CreditCardExpiresYear = $('#cc_valid_year').val();
			extraMoney.CreditCardCcvNumber = $('#cc_ccv_code').val();
			extraMoney.CreditCardOwnerName = $('#cc_cardholder_name').val();
			extraMoney.CreditCardOwnerIdNumber = $('#cc_cardholder_idnumber').val();
			extraMoney.CreditCardNumberOfMonths = parseInt($(li).attr('months'));
			extraMoney.CreditCardType = '1';
			extraMoney.Amount = parseInt($('#amount').val());
	        extraMoney.MethodID = $(li).attr('ak_method_id');
	        extraMoney.Type = $(li).attr('ptype');

		    var rest = new Zeus.Odin.DisillModules.Common.Payment();
			rest.CreditCardNumber = $('#cc_number_2').val();
			rest.CreditCardExpiresMonth = $('#cc_valid_month_2').val();
			rest.CreditCardExpiresYear = $('#cc_valid_year_2').val();
			rest.CreditCardCcvNumber = $('#cc_ccv_code_2').val();
			rest.CreditCardOwnerName = $('#cc_cardholder_name_2').val();
			rest.CreditCardOwnerIdNumber = $('#cc_cardholder_idnumber_2').val();
			rest.CreditCardNumberOfMonths = 0;
			rest.CreditCardType = '1';
			rest.Amount = parseInt($('#amount_2').val());
	        rest.MethodID = $(li).attr('cc_method_id');
	        rest.Type = $(li).attr('ptype');

			odin.book.addPayment(extraMoney);
			odin.book.addPayment(rest);

			break;

		case 'paytype_visa_multiple':
		    var first = new Zeus.Odin.DisillModules.Common.Payment();
			first.CreditCardNumber = $('#cc_number').val();
			first.CreditCardExpiresMonth = $('#cc_valid_month').val();
			first.CreditCardExpiresYear = $('#cc_valid_year').val();
			first.CreditCardCcvNumber = $('#cc_ccv_code').val();
			first.CreditCardOwnerName = $('#cc_cardholder_name').val();
			first.CreditCardOwnerIdNumber = $('#cc_cardholder_idnumber').val();
			first.CreditCardNumberOfMonths = parseInt($(li).attr('months'));
			first.CreditCardType = '1';
			first.Amount = parseInt($('#amount').val());
	        first.MethodID = $(li).attr('method_id');
	        first.Type = $(li).attr('ptype');

	        odin.book.addPayment(first);

	        var cardCount = parseInt($('#nr_of_cards').val()) ;

	        for (var i = 2; i <= cardCount; i++) {
			    var other = new Zeus.Odin.DisillModules.Common.Payment();

				other.CreditCardNumber = $('#cc_number_' + i).val();
				other.CreditCardExpiresMonth = $('#cc_valid_month_' + i).val();
				other.CreditCardExpiresYear = $('#cc_valid_year_' + i).val();
				other.CreditCardCcvNumber = $('#cc_ccv_code_' + i).val();
				other.CreditCardOwnerName = $('#cc_cardholder_name_' + i).val();
				other.CreditCardOwnerIdNumber = $('#cc_cardholder_idnumber_' + i).val();
				other.CreditCardNumberOfMonths = 0;
				other.CreditCardType = '1';
				other.Amount = parseInt($('#amount_' + i).val());
		        other.MethodID = $(li).attr('method_id');
		        other.Type = $(li).attr('ptype');

		        odin.book.addPayment(other);
			}

			break;

	}

	return true;
}

function SwitchPaymentType(li) {
	$('.select-nr-of-cards, .multi-card, #visa_months, .payment-info h2').hide();

	if ($(li).attr('id') == 'paytype_visa_multiple' || $(li).attr('id') == 'paytype_extramoney') {
		$('.payment-info .amount').show();
	} else {
		$('.payment-info .amount').hide();
	}

	switch ($(li).attr('id')) {
		case 'paytype_visa_one':
		    break;

		case 'paytype_visa_multiple':
            $('#nr_of_cards')[0].selectedIndex = 0;
            $('.select-nr-of-cards, .card-2').show();
            LoadCardNumbers(parseInt($('#nr_of_cards').val()));
		    break;

		case 'paytype_visa_contract':
		    $('#visa_months').show();
		    break;

		case 'paytype_extramoney':
			$('#nr_of_cards').val('2');
			LoadCardNumbers(2);
			$('.payment-info h2').show();
		    break;
	}
}

function LoadCardNumbers(count) {
	$('.multi-card').hide();
	$('.multi-card .amount input').val('0').removeAttr('disabled');

	for (var i = 1; i <= count; i++) {
		$('.card-' + i).show();
	}

	$('.card-' + count + ' .amount input').attr('disabled', 'disabled').val($('#total_price').val());
}

function CalculateRemainingAmount(input) {
	var totalPrice = parseInt($('#total_price').val());
	var numberOfCards = parseInt($('#nr_of_cards').val());
	var thisAmount = $(input).val();
	var rest = totalPrice;

	if (totalPrice < thisAmount) {
		alert('Þú mátt ekki setja hærri upphæð en heildarupphæð!');
		return;
	}

	if (numberOfCards == 2) {
		rest = totalPrice - thisAmount;
	} else if (numberOfCards == 3) {
		rest = totalPrice - parseInt($('.card-1 .amount input').val()) - parseInt($('.card-2 .amount input').val());
	} else if (numberOfCards == 4) {
		rest = totalPrice - parseInt($('.card-1 .amount input').val()) - parseInt($('.card-2 .amount input').val()) - parseInt($('.card-3 .amount input').val());
	}

	$('.card-' + numberOfCards + ' .amount input').val(rest);
}

function ShowCalculations(type, baseURL, interest) {
	var url = '';
	var totalAmount = parseInt($('#total_price').val()) - parseInt($('#gift_voucher_amount').val());
	var monthCount = null;

	if (type == 'mc') {
		monthCount = $('#mc_contracts_months').val();

		if (monthCount == 0) {
			alert(ol_Payment_Calculations_SelectNrOfMonths);
			return;
		}

		url = baseURL + '/utreikningar/mastercard/' + monthCount + '/' + totalAmount + '/0/';
	} else if (type == 'visa') {
		monthCount = $('#visa_contracts_months').val();

		if (monthCount == 0) {
			alert(ol_Payment_Calculations_SelectNrOfMonths);
			return;
		}

		url = baseURL + '/utreikningar/visa/' + monthCount + '/' + totalAmount + '/0/false/' + interest.toString();
	} else if (type == 'borgun-visa') {
		monthCount = $('#visa_contracts_months').val();

		if (monthCount == 0) {
			alert(ol_Payment_Calculations_SelectNrOfMonths);
			return;
		}

		url = baseURL + '/utreikningar/borgun/' + monthCount + '/' + totalAmount + '/';;
    } else if (type == 'borgun-mc') {
		monthCount = $('#mc_contracts_months').val();

		if (monthCount == 0) {
			alert(ol_Payment_Calculations_SelectNrOfMonths);
			return;
		}

		url = baseURL + '/utreikningar/borgun/' + monthCount + '/' + totalAmount + '/';
    }



	if (url.length > 0 && monthCount > 0 && totalAmount > 0) {
		window.open(url);
	}
}

function CheckQuickSearch() {
    if(odin.qs.settings.searchType == 'Departures') {
       	// CHECK ON IF BOTH FLIGHTS ARE SELECTED IN FLIGHT AND HOTEL SEARCH:
  		if ($('#qs_departure_destination_id').val().length === 0) {
  			alert('Þú verður að velja áfangastað!');
  			return;
  		}
  		// CHECK ON IF BOTH FLIGHTS ARE SELECTED IN FLIGHT AND HOTEL SEARCH:
  		if ($('#qs_arriving_destination_id').val().length === 0) {
  			alert('Þú verður að velja áfangastað!');
  			return;
  		}
  		
  		if ($('#qs_departure_destination_id').val() == $('#qs_arriving_destination_id').val() ) {
            alert('Brottfararstaður og áfangastaður geta ekki verið þeir sömu');
            return;          
        }
        
  		// CHECK ON IF BOTH FLIGHTS ARE SELECTED IN FLIGHT AND HOTEL SEARCH:
  		if( $('#qs_search_type_flight_hotel:checked').length > 0 && (  $('#qs_date_from').val() == 0 || $('#qs_date_to').val() == 0 )) {
  			alert('Þú verður að velja bæði brottfarar og komudagsetningar!');
  			return;
  		}
  		
        // CHECK IF THERE IS ENOUGH SEATS ON FLIGHT:
  		if ( $('#qs_date_from').val() != '0') {
  			if ($("#qs_date_from option:selected").attr('seats') < 1) {
  				alert('Þetta flug er uppselt');
  				return;
  			} else if ((parseInt($("#qs_date_from option:selected").attr('seats')) - (parseInt($('#qs_adult_count').val()) + parseInt($('#qs_child_count').val()))) < 0 ) {
  				alert('Þetta flug er uppselt');
  				return;
  			}
  		}
  		// CHECK IF THERE IS ENOUGH SEATS ON FLIGHT:
  		if ( $('#qs_date_to').val() != '0') {
  			if ($("#qs_date_to option:selected").attr('seats') < 1) {
  				alert('Þetta flug er uppselt');
  				return;
  			} else if ((parseInt($("#qs_date_to option:selected").attr('seats')) - (parseInt($('#qs_adult_count').val()) + parseInt($('#qs_child_count').val()))) < 0 ) {
  				alert('Þetta flug er uppselt');
  				return;
  			}
  		}
  		
  		// CHECK ONE WAY:
  		if( $('#qs_search_type_flight_only:checked').length > 0 && $('#qs_date_to').val() == 0) {
  			if (!confirm('Ertu viss um að vilja bara flug aðra leiðina?')) {
  				return;
  			} else {
                odin.qs.isOneWay = true;
            }
  		}
  		
	} else if (odin.qs.settings.searchType == 'Packages') {
  		// CHECK PACKAGE CATEGORY SELECTION:
  		if( $('#qs_packagecategory_id').get(0).selectedIndex == 0 ) {
  			alert('Þú verður að velja tegund ferðar!');
  			return;
  		}
  		// CHECK PACKAGE SELECTION:
  		if ( $('#qs_package_id').get(0).selectedIndex == 0 ) {
  			alert('Þú verður að velja ferð!');
  			return;
  		}
  	}
        
    return true; 
}

function SelectFlightsAndMove(ownerInfo) {
	var departureFlightID = 0;
	var arrivalFlightID = 0;

	$('input.rad_dep').each(function(i, item) {
		if ($(item).attr("checked")) {
			departureFlightID = $(item).val();
		}
	});

	$('input.rad_arr').each(function(i,item) {
		if ($(item).attr("checked")) {
			arrivalFlightID = $(item).val();
		}
	});

	Zeus.Odin.DisillModules.API.OdinAPI.SelectFlights(ownerInfo, departureFlightID, arrivalFlightID, 'is-IS', function(r) {
		if (r.Success) {
			top.window.location.href = r.NextUrl;
		} else {
			alert('Error:\n' + r.ErrorMessage);
		}
	}, Error);
}
