%PDF- %PDF-
| Direktori : /home/lightco1/luminero.com.au/plugins/vmpayment/klarna/klarna/assets/js/ |
| Current File : /home/lightco1/luminero.com.au/plugins/vmpayment/klarna/klarna/assets/js/klarna_general.js |
var klarna_js_loaded = true;
if (typeof klarna == "undefined") {
var $$ = $;
var $ = jQuery;
var klarna = {
invoice_fee: 0,
sum: 0,
gender: '',
klarnaGeneralLoaded: true,
different_language: false,
currentMinHeight_part: 0,
currentMinHeight_spec: 0,
currentMinHeight_invoice: 0,
red_baloon_busy: false,
blue_baloon_busy: false,
address_busy: false,
baloons_moved: false,
changeLanguage_busy: false,
showing_companyNotAlowed_box: false,
gChoice: '',
stype: '',
errorHandler: {
show: function (parentBox, message, code, type) {
var errorHTML = '<div class="klarna_errMsg"><span>' + message + '</span></div>';
errorHTML += '<div class="klarna_errDetails">';
if (type != '') {
errorHTML += '<span class="klarna_errType">' + type + '</span>';
}
if (code != '') {
errorHTML += '<span class="klarna_errCode">#' + code + '</span></div>';
}
if (jQuery('#klarna_red_baloon').length == 0) {
klarna.errorHandler.create(parentBox);
}
jQuery('#klarna_red_baloon_content').html(errorHTML);
if (typeof showRedBaloon != 'undefined')
showRedBaloon(parentBox);
},
/**
* Creates the red baloon used to show error messages
*/
create: function (parentBox) {
jQuery(
'<div class="klarna_red_baloon" id="klarna_red_baloon">' +
'<div class="klarna_red_baloon_top"></div>' +
'<div class="klarna_red_baloon_middle" id="klarna_red_baloon_content"></div>' +
'<div class="klarna_red_baloon_bottom"></div>' +
'</div>').appendTo(parentBox);
},
prepareRedBaloon: function () {
if ((typeof klarna.global.red_baloon_content != 'undefined') &&
(klarna.global.red_baloon_content != '')
) {
var box;
if (klarna.global.red_baloon_box != '') {
box = jQuery('#' + klarna.global.red_baloon_box)
}
this.show(box, klarna.global.red_baloon_content);
}
},
showRedBaloon: function (box) {
if (this.busy)
return;
this.busy = true;
var field;
if (typeof box == 'undefined') {
if (gChoice == klarna.global.invoice_name) {
box = jQuery(document).find('#klarna_box_invoice');
} else if (gChoice == klarna.global.part_name) {
box = jQuery(document).find('#klarna_box_part');
} else if (gChoice == klarna.global_spec_name) {
box = jQuery(document).find('#klarna_box_spec');
}
}
if (typeof box != 'undefined') {
field = box.find('.klarna_logo');
}
if (typeof field == 'undefined' || field.length == 0) {
field = jQuery('.klarna_logo:visible');
}
if (field.length > 0) {
var callback = this.fadeRedBaloon;
var position = field.offset();
var top = (position.top - jQuery('#klarna_red_baloon').height()) + (jQuery('#klarna_red_baloon').height() / 6);
if (top < 0) top = 10;
position.top = top;
var left = (position.left + field.width()) - (jQuery('#klarna_red_baloon').width() / 2);
position.left = left;
jQuery('#klarna_red_baloon').css(position);
jQuery('#klarna_red_baloon').fadeIn('slow', function () {
setTimeout(callback, 3000);
});
} else {
this.busy = false;
}
},
fadeRedBaloon: function () {
this.busy = false;
jQuery('#klarna_red_baloon').addClass('klarna_fading_baloon');
},
hideRedBaloon: function () {
this.busy = false;
this.showing_address_error = false;
jQuery('#klarna_red_baloon').remove();
}
},
hidePaymentOption: function (box, animate) {
if (typeof animate == 'undefined') {
animate = false;
}
if (animate) {
jQuery(box).find('.klarna_box_top_right, .klarna_box_bottom').
hide();
} else {
jQuery(box).find('.klarna_box_top_right, .klarna_box_bottom').
fadeOut('fast');
}
jQuery(box).animate({'min-height': '55px'}, 200);
klarna.showHideIlt(jQuery(box).find('.klarna_box_ilt'), false, animate);
},
showPaymentOption: function (box, animate, currentMinHeight, different_language) {
if (typeof animate == 'undefined') {
animate = false;
}
if (animate) {
jQuery(box).animate({"min-height": currentMinHeight}, 200, function () {
klarna.showHideIlt(jQuery(this).find('.klarna_box_ilt'), true);
jQuery(this).find('.klarna_box_bottom').fadeIn('fast', function () {
jQuery('.klarna_box_bottom_content_loader').fadeOut();
if (klarna.showing_companyNotAlowed_box) {
klarna.hideRedBaloon();
}
});
jQuery(this).find('.klarna_box_top_right').fadeIn('fast');
if (different_language) {
jQuery(this).find('.klarna_box_bottom_languageInfo').fadeIn('fast');
jQuery('.klarna_box_bottom_languageInfo').fadeIn('fast');
}
});
} else {
jQuery(box).find('.klarna_box_top_right, .klarna_box_bottom').show('fast');
klarna.showHideIlt(jQuery(box).find('.klarna_box_ilt'), true, animate);
}
},
initPaymentSelection: function (choice) {
var isklarna = choice.hasClass('klarnaPayment');
klarna.gChoice = '';
klarna.stype = choice.data("stype");
if (isklarna) klarna.gChoice = choice.attr('id');
//jQuery('input[value="'+choice+'"]').attr("id");
var klarnaBox = jQuery('#paymentForm .klarnaPayment');
klarnaBox.each(function () {
var thisStype = jQuery(this).data("stype");
if (klarna.stype != thisStype)
klarna.hidePaymentOption('#klarna_box_' + thisStype);
else klarna.choosePaymentOption(klarna.stype);
});
},
choosePaymentOption: function (choice) {
klarna.hideRedBaloon();
klarna.hideBlueBaloon();
klarna.showPaymentOption(jQuery('#klarna_box_' + choice), true,
klarna['currentMinHeight_' + klarna.stype], klarna.different_language);
},
setGender: function (context, gender) {
// This should be refactored to not be able to set other non-gender radio buttons
var value;
if (gender == 'f' || gender == '0') {
jQuery('.Klarna_radio[value=0]', context).attr('checked', 'checked');
}
else //if (gender == 'm' || gender == '1')
{
jQuery('.Klarna_radio[value=1]', context).attr('checked', 'checked');
}
},
/**
* Hook up jQuery callbacks for the given klarna_box_container(s) or
* all klarna options in the document
*/
initPaymentOptions: function (opts) {
if (typeof opts == 'undefined') {
opts = jQuery(document);
}
// specialCampaign only
if (typeof InitKlarnaSpecialPaymentElements != 'undefined')
InitKlarnaSpecialPaymentElements('specialCampaignPopupLink', klarna.eid, klarna.countryCode);
// P-Classes box actions
jQuery('.klarna_box', opts).find('ol').find('li').mouseover(function () {
jQuery(this).not('.klarna_box_click').addClass('klarna_box_over');
}).mouseout(function () {
jQuery(this).not('.klarna_box_click').removeClass('klarna_box_over')
}).click(function () {
// Reset list and move chosen icon to newly selected pclass
chosen = jQuery(this).parent("ol").find('img')
klarna.resetListBox(jQuery(this).parent("ol"));
chosen.appendTo(jQuery(this).find('div'));
jQuery(this).attr("class", "klarna_box_click");
// Update input field with pclass id
var value = jQuery(this).find('span').html();
var name = jQuery(this).parent("ol").attr("id");
jQuery(this).closest('.klarna_box').find("input.paymentPlan").attr("value", value);
});
if (klarna.countryCode == "de" || klarna.countryCode == "nl") {
klarna.setGender(opts, klarna.gender);
}
// Input field on focus
jQuery('.klarna_box', opts).find('input').focusin(function () {
klarna.setBaloonInPosition(jQuery(this), false);
}).focusout(function () {
klarna.hideBaloon();
});
jQuery('.klarna_box_top_flag_list img', opts).click(function () {
if (klarna.changeLanguage_busy == false) {
klarna.changeLanguage_busy = true;
var newIso = jQuery(this).attr("alt");
jQuery('.box_active_language', opts).attr("src", jQuery(this).attr("src"));
var box = jQuery(this).parents('.klarna_box_container');
var params;
var values;
var boxType = box.find('.klarna_box').attr("id");
var Type = boxType.substring(11);//'klarna_box_'
if (!Type) {
console.log(boxType);
return;
}
klarna.changeLanguage(box, klarna.params, newIso, klarna.countryCode, Type);
}
});
setTimeout('klarna.prepareRedBaloon()', 1000);
jQuery('.klarna_box_bottom_languageInfo', opts).mousemove(function (e) {
klarna.showBlueBaloon(e.pageX, e.pageY, jQuery(this).find('img').attr("alt"));
});
jQuery('.klarna_box_bottom_languageInfo', opts).mouseout(function () {
klarna.hideBlueBaloon();
});
jQuery('input.gender.Klarna_radio', opts).bind('change', function () {
klarna.gender = jQuery(this).val();
});
jQuery('.Klarna_pnoInputField', opts).each(function () {
var pnoField = jQuery(this);
jQuery(this).bind("keyup change blur focus", function () {
klarna.pnoUpdated(jQuery(this),
(jQuery(this).parents('.klarna_box').attr("id") == "klarna_box_invoice"));
});
});
},
doDocumentIsReady: function (klarnaBox) {
klarnaBox.each(function () {
var type = jQuery(this).parents('table').find('.klarnaPayment').data("stype");
klarna['currentMinHeight_' + type] = jQuery(this).children('.klarna_box_top').height();
});
klarna.initPaymentOptions();
},
pnoUpdated: function (box, companyAllowed) {
var pno_value = jQuery.trim(jQuery(box).val());
// Set the PNO to the other fields
jQuery('.Klarna_pnoInputField').val(pno_value);
// Do check
if (pno_value != "") {
jQuery('.klarna_box_bottom_content_loader').is(":hidden").fadeIn('fast');
if (!validateSocialSecurity(pno_value)) {
jQuery('.klarna_box_bottom_content_loader').fadeOut('fast');
jQuery('.klarna_box_bottom_address').is(":visible").slideUp('fast');
} else {
klarna.getAddress(jQuery(box).closest('.klarna_box'), pno_value, companyAllowed);
}
} else {
jQuery('.referenceDiv').is(":visible").slideUp('fast');
// jQuery('.referenceDiv').is(":hidden").css({"display":"none"}); //Ilogic !
jQuery('.klarna_box_bottom_content_loader').fadeOut('fast');
jQuery('.klarna_box_bottom_address').is(":visible").slideUp('fast');
//jQuery('.klarna_box_bottom_address').is(":hidden").css({"display":"none"}); // Ilogic !
}
},
/**
* Showing and hiding the ILT questions
*
* @param field
* @param show
* @param animate
*/
showHideIlt: function (field, show, animate) {
if (show == false) {
if (animate == true)
field.slideUp('fast');
else
field.hide();
}
else {
var length = field.find('.klarna_box_iltContents').find('.klarna_box_ilt_question').length;
if (length > 0) {
if (animate == true)
field.slideDown('fast');
else
field.show();
}
}
},
prepareRedBaloon: function () {
if (klarna.red_baloon_content != '') {
if (typeof code == 'undefined') {
code = '';
}
klarna.errorHandler.show(jQuery('#' + klarna.red_baloon_box), klarna.red_baloon_content, code, '');
}
},
showRedBaloon: function (box) {
if (klarna.red_baloon_busy)
return;
klarna.red_baloon_busy = true;
var field;
if (typeof box == 'undefined') {
if (klarna.gChoice == "klarna_invoice") {
box = jQuery('#klarna_box_invoice');
} else if (klarna.gChoice == "klarna_partPayment") {
box = jQuery('#klarna_box_part');
} else if (klarna.gChoice == "klarna_SpecCamp") {
box = jQuery('#klarna_box_spec');
}
}
if (typeof box != 'undefined') {
field = box.find('.klarna_logo');
}
if (typeof field == 'undefined' || field.length == 0) {
field = jQuery('.klarna_logo:visible');
}
var position = field.offset();
var top = (position.top - jQuery('#klarna_red_baloon').height()) + (jQuery('#klarna_red_baloon').height() / 6);
if (top < 0) top = 10;
position.top = top;
var left = (position.left + field.width()) - (jQuery('#klarna_red_baloon').width() / 2);
position.left = left;
jQuery('#klarna_red_baloon').css(position);
jQuery('#klarna_red_baloon').fadeIn('slow', function () {
klarna.red_baloon_busy = false;
setTimeout('klarna.fadeRedBaloon()', 3000);
});
},
getAddress: function (parentBox, pno_value, companyAllowed) {
if (!klarna.address_busy) {
klarna.address_busy = true;
data = {
action: 'getAddress',
country: klarna.countryCode,
pno: pno_value
}
// Get the new klarna_box
jQuery.ajax({
type: "GET",
url: ajax_path,
data: data,
success: function (xml) {
jQuery(xml).find('error').each(function () {
var msg = jQuery(this).find('message').text();
var code = jQuery(this).find('code').text();
var type = jQuery(this).find('type').text();
jQuery('.klarna_box_bottom_content_loader').fadeOut('fast', function () {
klarna.address_busy = false;
});
klarna.errorHandler.show(parentBox, msg, code, type);
});
jQuery(xml).find('getAddress').each(function () {
addresses = AddressCollection.fromXML(this);
if (typeof klarna.params_invoice != "undefined")
addresses.render('#klarna_box_invoice', klarna.params_invoice['shipmentAddressInput']);
if (typeof klarna.params_part != "undefined")
addresses.render('#klarna_box_part', klarna.params_part['shipmentAddressInput']);
if (typeof klarna.params_spec != "undefined")
addresses.render('#klarna_box_spec', klarna.params_spec['shipmentAddressInput']);
jQuery.each(addresses.addresses, function (i, addr) {
if (addr.isCompany) {
jQuery('#invoiceType').val("company");
jQuery('.referenceDiv').slideDown('fast');
if (addresses.mode == Address.Single) {
jQuery('.klarna_box_bottom').animate({"min-height": "300px"}, 'fast');
}
if (companyAllowed == false && typeof klarna.lang_companyNotAllowed != "") {
showRedBaloon(jQuery(box));
jQuery('#klarna_red_baloon_content div').html(klarna.lang_companyNotAllowed);
klarna.showing_companyNotAlowed_box = true;
}
else {
klarna.hideRedBaloon();
}
} else {
jQuery('#invoiceType').val("private");
jQuery('.referenceDiv').slideUp('fast');
jQuery('.klarna_box_bottom').animate({"min-height": "250px"}, 'fast');
if (klarna.showing_companyNotAlowed_box)
klarna.hideRedBaloon();
}
});
jQuery('.klarna_box_bottom_address').slideDown('fast');
jQuery('.klarna_box_bottom_content_loader').fadeOut('fast', function () {
klarna.address_busy = false;
klarna.hideRedBaloon();
});
});
klarna.address_busy = false;
}
});
}
},
showBlueBaloon: function (x, y, text) {
jQuery('#klarna_blue_baloon_content div').html(text);
var top = (y - jQuery('#klarna_blue_baloon').height()) - 5;
var left = (x - (jQuery('#klarna_blue_baloon').width() / 2) + 5);
jQuery('#klarna_blue_baloon').css({"left": left, "top": top});
jQuery('#klarna_blue_baloon').show();
},
hideBlueBaloon: function () {
jQuery('#klarna_blue_baloon').hide();
},
showRedBaloonX: function (box) {
if (klarna.red_baloon_busy)
return;
klarna.red_baloon_busy = true;
var field;
if (typeof box == 'undefined') {
if (klarna.gChoice == "klarna_invoice") {
box = jQuery('#klarna_box_invoice');
} else if (klarna.gChoice == "klarna_partPayment") {
box = jQuery('#klarna_box_part');
} else if (klarna.gChoice == "klarna_SpecCamp") {
box = jQuery('#klarna_box_spec');
}
}
if (typeof box != 'undefined') {
field = box.find('.klarna_logo');
}
if (typeof field == 'undefined' || field.length == 0) {
field = jQuery('.klarna_logo:visible');
}
var position = field.offset();
var top = (position.top - jQuery('#klarna_red_baloon').height()) + (jQuery('#klarna_red_baloon').height() / 6);
if (top < 0) top = 10;
position.top = top;
var left = (position.left + field.width()) - (jQuery('#klarna_red_baloon').width() / 2);
position.left = left;
jQuery('#klarna_red_baloon').css(position);
jQuery('#klarna_red_baloon').fadeIn('slow', function () {
klarna.red_baloon_busy = false;
setTimeout('klarna.fadeRedBaloon()', 3000);
});
},
fadeRedBaloon: function () {
if (klarna.red_baloon_busy)
return;
jQuery('#klarna_red_baloon').addClass('klarna_fading_baloon');
},
hideRedBaloon: function () {
if (klarna.red_baloon_busy)
return;
if (jQuery('#klarna_red_baloon').is(':visible') && !klarna.red_baloon_busy) {
jQuery('#klarna_red_baloon').fadeOut('fast', function () {
klarna.red_baloon_busy = false;
klarna.showing_companyNotAlowed_box = false;
});
}
},
/**
* This function is only available for swedish social security numbers
*/
validateSocialSecurity: function (vPNO) {
if (typeof vPNO == 'undefined')
return false;
return vPNO.match(/^([1-9]{2})?[0-9]{6}[-\+]?[0-9]{4}$/)
},
resetListBox: function (listBox) {
listBox.find('li').each(function () {
if (jQuery(this).attr("id") == "click") {
jQuery(this).attr("id", "");
}
jQuery(this).find('div img').remove();
});
},
hideBaloon: function (callback) {
if (jQuery('#klarna_baloon').is(":visible")) {
jQuery('#klarna_baloon').fadeOut('fast', function () {
if (callback) callback();
return true;
});
}
else {
if (callback) callback();
return true;
}
},
setBaloonInPosition: function (field, red_baloon) {
klarna.hideBaloon(function () {
var position = field.offset();
var name = field.attr('name');
var value = field.attr('alt');
if (!value && !red_baloon) {
return false;
}
if (!red_baloon) {
jQuery('#klarna_baloon_content div').html(value);
var top = position.top - jQuery('#klarna_baloon').height();
if (top < 0) top = 10;
position.top = top;
var left = (position.left + field.width()) - (jQuery('#klarna_baloon').width() - 50);
position.left = left;
jQuery('#klarna_baloon').css(position);
jQuery('#klarna_baloon').fadeIn('fast');
}
else {
var top = position.top - jQuery('#klarna_red_baloon').height();
if (top < 0) top = 10;
position.top = top;
var left = (position.left + field.width()) - (jQuery('#klarna_red_baloon').width() - 50);
position.left = left;
jQuery('#klarna_red_baloon').css(position);
jQuery('#klarna_red_baloon').fadeIn('fast');
}
});
},
saveDates: function (replaceBox) {
klarna['select_bday'] = jQuery(replaceBox).find('.selectBox_bday').val();
klarna['select_bmonth'] = jQuery(replaceBox).find('.selectBox_bmonth').val();
klarna['select_year'] = jQuery(replaceBox).find('.selectBox_year').val();
},
changeLanguage: function (replaceBox, params, newIso, country, Type) {
var paramString = "";
var valueString = "";
data = {
action: 'languagepack',
subAction: 'klarna_box',
type: Type,
newIso: newIso,
country: country,
sum: klarna.sum,
fee: klarna.invoice_fee,
flag: klarna.flag
}
// include current field values in request so that the values can be used
// in the translation
for (var attr in params) {
data['params[' + attr + ']'] = params[attr];
var inputValue = jQuery(replaceBox).find('input[name=' + params[attr] + ']').val();
if (typeof inputValue != "undefined") {
data['values[' + attr + ']'] = inputValue;
}
}
virtuemart_paymentmethod_id = jQuery(replaceBox).parents('table').find('.klarnaPayment').val();
data['cid'] = virtuemart_paymentmethod_id;
klarna.saveDates(replaceBox);
jQuery.ajax({
type: "GET",
url: klarna.ajaxPath,
data: data,
success: function (response) {
//console.log(response);
if (jQuery(response).find('.klarna_box')) {
replaceBox.find('.klarna_box').remove();
replaceBox.append(jQuery(response).find('.klarna_box'));
if (newIso != klarna.language)
replaceBox.find('.klarna_box_bottom_languageInfo').fadeIn('slow', function () {
klarna.changeLanguage_busy = false;
klarna.language = newIso;
});
else
replaceBox.find('.klarna_box_bottom_languageInfo').fadeOut('slow', function () {
klarna.changeLanguage_busy = false;
});
klarna.methodReady(Type);
klarna.initPaymentOptions(replaceBox);
} else {
alert("Error, block not found. Response:\n\n" + response);
}
}
});
},
methodReady: function (Type) {
var foundBox = false;
box = jQuery('#klarna_box_' + Type);
var currentMinHeight = box.height();
// Select birthdate and fill years box
// console.log(Type, klarna.countryCode);
if (klarna.countryCode == "de" || klarna.countryCode == "nl") {
// Years box
var date = new Date();
for (i = date.getFullYear(); i >= 1900; i--) {
jQuery('<option/>').val(i).text(i).appendTo(box.find('.selectBox_year'))
}
box.find('.selectBox_bday').val(klarna.select_bday);
box.find('.selectBox_bmonth').val(klarna.select_bmonth);
box.find('.selectBox_year').val(klarna.select_byear);
}
// Chosing the active language
box.find('.box_active_language').click(function () {
jQuery(this).next('.klarna_box_top_flag_list').slideToggle('fast', function () {
if (jQuery(this).is(':visible')) {
jQuery(this).parent('.klarna_box_top_flag').animate({opacity: 1.0}, 'fast');
}
else {
jQuery(this).parent('.klarna_box_top_flag').animate({opacity: 0.4}, 'fast');
}
});
});
if (Type == 'invoice') {
jQuery('input[name='+Type+"_"+klarna.invoice_ITId+']').change(function () {
var val = jQuery(this).val();
if (val == "private") {
jQuery('#invoice_perOrg_title').text(klarna.lang_personNum);
jQuery('#invoice_box_private').slideDown('fast');
jQuery('#invoice_box_company').slideUp('fast');
}
else if (val == "company") {
jQuery('#invoice_perOrg_title').text(klarna.lang_orgNum);
jQuery('#invoice_box_company').slideDown('fast');
jQuery('#invoice_box_private').slideUp('fast');
}
});
}
}
}
var $ = $$;
}
;
Address = function (companyName, firstName, lastName, street, zip, city, countryCode) {
this.companyName = companyName;
this.firstName = firstName;
this.lastName = lastName;
this.street = street;
this.zip = zip;
this.city = city;
this.countryCode = countryCode;
this.isCompany = (this.companyName.length > 0);
};
Address.fromXML = function (elem) {
return new Address(
jQuery(elem).find('companyName').text(),
jQuery(elem).find('first_name').text(),
jQuery(elem).find('last_name').text(),
jQuery(elem).find('street').text(),
jQuery(elem).find('zip').text(),
jQuery(elem).find('city').text(),
jQuery(elem).find('countryCode').text()
);
};
Address.Mode = function Mode() {
}
Address.Single = new Address.Mode();
Address.Multi = new Address.Mode();
Address.prototype.inputValue = function () {
return [(this.isCompany
? this.companyName
: (this.firstName + '|' + this.lastName)),
this.street,
this.zip,
this.city,
this.countryCode].join('|');
}
Address.prototype.render = function (mode) {
if (mode == Address.Single) {
return '<p>' +
(this.isCompany
? this.companyName
: (this.firstName + ' ' + this.lastName)) + '</p>' +
'<p>' + this.street + '</p>' +
'<p>' + this.zip + ' ' + this.city + '</p>' +
'<p>' + this.countryCode + '</p>';
} else if (mode == Address.Multi) {
return '<option value="' + this.inputValue() + '">' +
(this.isCompany
? this.companyName
: (this.firstName + ' ' + this.lastName)) +
', ' + this.street +
', ' + this.zip + ' ' + this.city +
', ' + this.countryCode;
}
}
AddressCollection = function (addresses) {
this.addresses = addresses;
this.mode = addresses.length > 1 ? Address.Multi : Address.Single;
}
AddressCollection.fromXML = function (elem) {
var multi = (jQuery('address', elem).length > 1);
return new AddressCollection(jQuery('address', elem).map(function () {
var addr = Address.fromXML(this);
return addr;
}));
}
AddressCollection.prototype.render = function (to, inputName) {
var box = jQuery(to).find('.klarna_box_bottom_address_content');
box.empty();
if (this.mode == Address.Single) {
var inputValue = this.addresses[0].inputValue();
var input = jQuery('<input type="hidden" name="' + inputName + '" value="' + inputValue + '" />')
box.append(input);
box.append(this.addresses[0].render(Address.Single));
} else if (this.mode == Address.Multi) {
var select = jQuery('<select name="' + inputName + '">')
box.append(select);
jQuery.each(this.addresses, function (i, addr) {
select.append(addr.render(Address.Multi));
});
}
}
//Load when document finished loading
jQuery(document).ready(function ($) {
var baloon = $('.klarna_baloon').clone();
$('.klarna_baloon').remove();
var baloon3 = $('.klarna_blue_baloon').clone();
$('.klarna_blue_baloon').remove();
$('body').append(baloon);
$('body').append(baloon3);
klarna.doDocumentIsReady(jQuery('.klarna_box'));
$('.klarna_box_bottom_languageInfo').remove();
if (!klarna.unary_checkout) {
var pList = jQuery('#paymentForm input[type=radio][name=virtuemart_paymentmethod_id]');
klarna.initPaymentSelection(pList.filter(":checked"));
pList.click(function () {
if (klarna.stype != jQuery(this).data("stype"))
klarna.initPaymentSelection(jQuery(this));
});
}
$('.klarnaPayment').parents('form').submit(function () {
var vmmethod = $(this).find('input:radio[name=virtuemart_paymentmethod_id]:checked');
if (!vmmethod.hasClass('klarnaPayment')) return;
var action = vmmethod.parents('form').attr('action');
//$.post(action,fields);
var selectedTable = vmmethod.parents('table');
var fields = selectedTable.find('*').serializeArray();
fields.push({"name": "task", "value": "setpayment"});
fields.push({"name": "view", "value": "cart"});
fields.push({"name": "klarna_paymentmethod", "value": vmmethod.next('input').val()});
var form = $('<form></form>');
form.attr("method", "post");
form.attr("action", action);
//fields
$.each(fields, function (key, value) {
var field = $('<input></input>');
field.attr("type", "hidden");
field.attr("name", value["name"]);
field.attr("value", value["value"]);
form.append(field);
});
// The form needs to be apart of the document in
// order for us to be able to submit it.
$(document.body).append(form);
form.submit();
return false;
});
klarna.baloons_moved = true;
});