var valuesSeparator = ",";
var packetshopDelivery;

function trackLayer(link, layer) {
	var labels = {
		e_x: "layer_" + layer
	};
	cleanLabels(labels);
	ns_onclick(link,'',onclickCountername+'&'+ jQuery.param(labels),'hidden');
	return false;
}

function trackPasswordForgotten(link) {
	var labels = {
			e_x: "layer_password_forgotten",
			e_ua: "change",
			e_ui: "forgotten_password"
		};
	ns_onclick(link,'',onclickCountername+'&'+ jQuery.param(labels),'hidden');
	return false;
}

function trackAdsTab(link, tab) {
	var labels = {
			e_view: "ads",
			e_tab: tab
		};
	cleanLabels(labels);
	ns_onclick(link,'',onclickCountername+'&'+ jQuery.param(labels),'hidden');
	return false;
}

function trackCatalogueOrdering(link, catalogue) {
	var labels = {
			e_ua: "add",
			e_ui: catalogue + "_ordering"
		};
	cleanLabels(labels);
	ns_onclick(link,'',onclickCountername+'&'+ jQuery.param(labels),'hidden');
	return false;
}

function trackAdsCampaign(link, country, ns_linkname) {
	// Werte in product_head.jspf
	trackInternalCampaign(link, country, page, ns_campaign, ns_mchannel, ns_linkname, ns_fee);
}

function trackInternalCampaign(link, country, page, ns_campaign, ns_mchannel, ns_linkname, ns_fee) {
	var labels = {
		ns_campaign: ns_campaign,
		ns_source: "shop_" + country + page + ".page",
		ns_mchannel: ns_mchannel,
		ns_linkname: ns_linkname,
		ns_fee: ns_fee
	};
	cleanLabels(labels);
	ns_onclick(link,'','onclick.internal'+page+'&'+ jQuery.param(labels),'hidden');
	return false;
}

function trackBasketPositionChange(link, positionIndex) {
	var itemId = $("input[name='newItemId']").val();
	var item = viewerModel.getItemById(itemId);
	var size = $("select[name='Var_Size'] option:selected").text();
	var quantity = $('#quantity option:selected').val();
	if(quantity == undefined) {
		quantity = $('#quantity_m').val()/100;
	}
	trackBasketPositionModification(link, 'mod', item.artNo, quantity, item.priceRaw, positionIndex, item.color, size);
}

function trackBasketDoPositionChange(link, artNr, price, positionIndex) {
	var color = $("select[name='colors'] option:selected").text();
	var size = $("input[name='directOrderSize']").val();
	var quantity = $("input[name='quantity']").val();
	trackBasketPositionModification(link, 'mod', artNr, quantity, price, positionIndex, color, size);
}

function trackBasketPositionDel(link, artNr, color, size, price, quantity, positionIndex) {
	trackBasketPositionModification(link, 'del', artNr, quantity, price, positionIndex, color, size);
}

function trackBasketPositionModification(link, modType, artNr, quantity, price, positionIndex, color, size) {
	var orderLine = positionIndex;
	var view = "change_article";
	if (color != undefined && color != '') {
		counter += '&e_bc=' + color;
	}
	if (size != undefined && size != '') {
		counter += '&e_bs=' + size;
	}
	if (modType == 'del') {
		view = "delete_article";
	}
	var labels = {
			e_view: view,
			e_be: modType,
			e_ba: artNr,
			e_bq: quantity,
			e_bp: price,
			e_bl: orderLine
	};
	if (color != undefined && color != '') {
		labels.e_bc = color;
	}
	if (size != undefined && size != '') {
		labels.e_bs = size;
	}
	cleanLabels(labels);
	var counter = onclickCountername + "&" + jQuery.param(labels);
	ns_onclick(link,'',counter,'hidden');
	return false;
}

function trackShipmentValues(link, country) {
	var cp = null;
	var cs = null;
	if($('#payment_method_cash_on_delivery').attr('checked')) {
		cp = "Cash on Delivery";
	}
	if($('#payment_method_credit_card').attr('checked')) {
		cp = "Credit Card";
	}
	if($('#payment_method_complete').attr('checked')) {
		if(country == 'nl') cp = "Acceptgiro";
		if(country == 'at') cp = "Bank Transfer";
	}
	if($('#payment_method_ideal').attr('checked')) {
		cp = "iDeal";
	}
	if($('#payment_method_installments').attr('checked')) {
		if(country == 'nl') cp = "In termijnen";
		if(country == 'at') cp = "Payment by installments";
	}
	if($('#delivery_method_24h').attr('checked')) {
		cs = "24-Stunden-Service";
	}
	if (packetshopDelivery && country == 'nl') {
		cs = "Ophalen bij een PostNL servicepunt";
	}
	if($('#delivery_method_normal').attr('checked') || cs == null) {
		cs = "Normalversand";
	}
	var labels = {
			e_cp: cp,
			e_cs: cs
	};
	if (typeof bonusType != 'undefined') {
		labels.e_cd = bonusType;
		labels.e_cid = bonus;
	}
	cleanLabels(labels);
	var counter = onclickCountername + '&' + jQuery.param(labels);
	ns_onclick(link,'',counter,'hidden');
	return false;
}

function cleanLabels(labels) {
	$.each(labels, function(key, value) {
		cleanValue = cleanLabelValue(value);
		labels[key] = cleanValue;
		});
}

function cleanLabelValue(value) {
	var cleanValue = value+"";
	cleanValue = cleanValue.replace(/ /g,"-");
	cleanValue = cleanValue.replace(/[ä]/g,"ae");
	cleanValue = cleanValue.replace(/[ö]/g,"oe");
	cleanValue = cleanValue.replace(/[ü]/g,"ue");
	cleanValue = cleanValue.replace(/[Ä]/g,"Ae");
	cleanValue = cleanValue.replace(/[Ö]/g,"Oe");
	cleanValue = cleanValue.replace(/[Ü]/g,"Ue");
	cleanValue = cleanValue.replace(/[ß]/g,"ss");
	cleanValue = cleanValue.replace(/[^a-zA-Z0-9-_.]+/g,"_");
	return cleanValue;
}
