function count_price(price_number){
	var articleform = $('add2cart');

	var ele;
	var sum = 0;
	var i = 0;
	for (i=1; i<=price_number; i++){
		ele = 'price_'+i;
		curpriceOb = articleform[ele];
		curprice = parseInt(  $(curpriceOb).getValue() );
		sum += curprice;
	}
	return sum;
}

function article_changer(child_number, child_counter, value){
	var values = value.split("|");

	priceEle = "price_"+child_number;
	propEle = "prop_"+child_number;
	artEle = "art_code";
	
	var articleform = $('add2cart');
	
	var priceEleinput = articleform[priceEle];
	var propEleinput = articleform[propEle];
	var artEleinput = articleform[artEle];
	var defaultpriceinput = articleform['dafault_price'];
	var priceinput = articleform['price'];
	var properties_priceinput = articleform['properties_price'];
	var default_addon = articleform['default_addon'];
	
	$(priceEleinput).setValue(values[0]);
	$(propEleinput).setValue(values[1]);
	$(artEleinput).setValue(values[2]);

	newprice = parseInt( $(defaultpriceinput).getValue())  + parseInt( count_price(child_counter) );
	$(priceinput).setValue(newprice);

	$('price2').innerHTML = number_format( ( newprice * $('amount').value), "", "", " " ) + ' :-';
	
	// get tillbehor
	if (parseInt ($(default_addon).getValue()) > 0 ){
		totaldefault = parseInt( $(defaultpriceinput).getValue()) + parseInt ($(default_addon).getValue());
	} else {
		totaldefault = parseInt( $(defaultpriceinput).getValue());
	}
	tillbehorcost = newprice - totaldefault;
	$(properties_priceinput).setValue(tillbehorcost);
	
}

function amount_changer() {
	
	var price = document.forms['add2cart'].elements['price'].value;
	var amount = document.forms['add2cart'].elements['amount'].value;
	
	document.getElementById('price2').innerHTML = number_format(price*amount, "", "", " ") + ' :-';

}

function propList_creator(){
	var prop_count = document.forms['add2cart'].elements['properties_count'].value;
	var property;
	var properties = ''
	if (prop_count == ''){
		return '';
	}
	for (i = 1; i <= prop_count; i++){
		element = 'prop_'+i;
		if (i == 1){
			properties = '\''+element+'='+document.forms['add2cart'].elements[element].value+'\'';
		}else
			properties = properties+', '+element+'='+document.forms['add2cart'].elements[element].value;
	}
	return properties+', \'properties_count='+prop_count+'\'';
}

function propList_creatorFixed(){
	var prop_count = document.forms['add2cart'].elements['properties_count'].value;
	if (prop_count == ''){
		return '';
	}
	var value;
	var properties = '';
	for (i = 1; i <= prop_count; i++){
		element = 'prop_'+i;
		value = document.forms['add2cart'].elements[element].value;
		if (i == 1){
			properties = '\''+element+'='+value+'\'';
		}else
			properties = properties+', \''+element+'='+value+'\'';
	}
	return properties+', \'properties_count='+prop_count+'\'';
}

function replaceChars(str) {
	// m2 Gro Ã¥ Ã¤ Ã¶ Ã… Ã„ Ã– n', 'p
	/*str = str.replace(/Ã¥/g, "X");
	str = str.replace(/Ã¤/g, "X");
	str = str.replace(/Ã¶/g, "X");
	str = str.replace(/Ã…/g, "X");
	str = str.replace(/Ã„/g, "X");
	str = str.replace(/Ã–/g, "X");
	str = str.replace(/ö/g, "X");*/
	//str = str.match(/[a-zA-Z]/g);
	//str = str.join("");
	return str;
} 

function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://getsprink.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +     bugfix by: Howard Yeend
    // +    revised by: Luke Smith (http://lucassmith.name)
    // +     bugfix by: Diogo Resende
    // +     bugfix by: Rival
    // +     input by: Kheang Hok Chin (http://www.distantia.ca/)
    // +     improved by: davook
    // +     improved by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: number_format(1234.56);
    // *     returns 1: '1,235'
    // *     example 2: number_format(1234.56, 2, ',', ' ');
    // *     returns 2: '1 234,56'
    // *     example 3: number_format(1234.5678, 2, '.', '');
    // *     returns 3: '1234.57'
    // *     example 4: number_format(67, 2, ',', '.');
    // *     returns 4: '67,00'
    // *     example 5: number_format(1000);
    // *     returns 5: '1,000'
    // *     example 6: number_format(67.311, 2);
    // *     returns 6: '67.31'
    // *     example 7: number_format(1000.55, 1);
    // *     returns 7: '1,000.6'
    // *     example 8: number_format(67000, 5, ',', '.');
    // *     returns 8: '67.000,00000'
    // *     example 9: number_format(0.9, 0);
    // *     returns 9: '1'
    var n = number, prec = decimals;
    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };
 
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
 
    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
    if (s.indexOf(dec) === -1 && prec > 1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
}
