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) {
	// Werte in product_head.jspf
	trackInternalCampaign(link, page, ns_campaign, ns_mchannel, ns_linkname, ns_fee);
}

function trackInternalCampaign(link, page, ns_campaign, ns_mchannel, ns_linkname, ns_fee) {
	var labels = {
		ns_campaign: ns_campaign,
		ns_source: "shop_ru.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, artNr, color, size, price, quantity, positionIndex) {
	trackBasketPositionModification(link, 'mod', artNr, quantity, price, positionIndex, 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) {
	var cp = "Cash on Delivery";
	var cs = null;

	var cs_val = $('input:[name="deliveryService"]:checked').val();
	if(cs_val == 2) cs = "Courrier Service";
	else if (cs_val > 2 ) cs = "Pick-Up Station";
	else cs = "Russian Post";

	var labels = {
			e_cp: cp,
			e_cs: cs
	};

	var mnogoru = $('input[name="bonusCardNumber"]').val();
	if (mnogoru != '') {
		labels.e_cd = 'mnogo'; // was ist, wenn beide befüllt sind???
		labels.e_cid = mnogoru;
	}

	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;
}
