function roundNumber(rnum) { // Arguments: number to round, number of decimal places
  return Math.round(rnum*Math.pow(10,2))/Math.pow(10,2);
}

function number_format(number, decimals, dec_point, thousands_sep) {
    var n = !isFinite(+number) ? 0 : +number, 
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;        
		};
		
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);    
	}
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }    
	return s.join(dec);
}

function my_number_format(number){
	if(parseInt(number)==number)return number_format(number,0,',','.');
	else return number_format(number,2,',','.');
}

function triiim(str) {
    var patern = /\(\d+\.?\d*,?\d*€\)/;
    var patern2 = /[\.\(\)€]/g;
    var numero = str.match(patern);
    if(numero==null)
	    return parseInt('0');
    else
    	return parseInt(numero[0].replace(patern2,""));
}

function sumaprecios(){
	var precio=0;
	$("#ficha-productos-atributos select option:selected").each(function(){
		precio += triiim($(this).text());
	});
	precio=String(precio);
	
	//para los descuentos
	if($("tr div#specials-row").length>0){
		$("#specials-row td.precio span").text(my_number_format(precio-precio*dto) + '€');
		$("#specials-row td.ahorras span").text(my_number_format(precio*dto) + '€');
	}
	
	/*var patern3=/\d{4}$/;
	var pointer=patern3.exec(precio);
	if(pointer!=null){
		precio = precio.substr(0,parseInt(pointer['index'])+1) + '.' + precio.substr(parseInt(pointer['index'])+1);
	}*/
	$("span#texto-precio-valor").text(my_number_format(precio));
	
	
}

function in_array(numero,arr){
	if(!ruedas)return true;
	var retorno=false;
	var i=0;
	
	for(i=0; i<combinaciones[arr].length; i++){
	//$.each(combinaciones[arr],function(index,elm){
		if(parseInt(combinaciones[arr][i]) == parseInt(numero)){
			return true;
		}
	//});
	}
	return retorno;
}

$(document).ready(function(){
	/*$("form[name=cart_quantity]").bind("submit",function(e){
		e.preventDefault();
		
		if(!ruedas || in_array($("select[name=id[5]]").val(),$("select[name=id[6]]").val())){
			$("form[name=cart_quantity]").unbind("submit");
			$("form[name=cart_quantity]").submit();
		}
		else{
			alert('El número de patas elegido no es compatible con la medida seleccionada.');
		}
		
	});*/

	//$('#swf_banner_producto').flash({ src: '/swf/cabeceraProductos.swf', height:80, width:660 });
	$("#ficha-productos-atributos select").bind("change",function(){
		sumaprecios();
	});
	
	$("td img.submit-img").css("cursor","pointer").click(function(){
		//$("form[name=cart_quantity]").trigger("submit");
		
		if(!ruedas || in_array($("select[name=id[5]]").val(),$("select[name=id[6]]").val())){
			$("form[name=cart_quantity]").trigger("submit");
		}
		else{
			alert('El número de patas elegido no es compatible con la medida seleccionada.');
		}
	});

	sumaprecios();
	
	if($("div#codigo-postal").length>0){
		$("#codigo-postal input").blur(function(){
			var cp=$(this).val().substr(0,2);
			//alert(cp);
			if(typeof provincias[cp] == "undefined"){
				$("#codigo-postal div").html("Provincia no encontrada. Asegúrese de que es correcta y Española.");
			}else{
				$("#codigo-postal div").html(provincias[cp]);
			}
		});
		$("#codigo-postal form").submit(function(e){
			e.preventDefault();
			$("#codigo-postal input").trigger("blur");
		});
	}
});