jQuery.fn.log = function (msg) {try{console.log("%s: %o", msg, this);} catch(e){}return this;}
log = function (msg, obj) {try{console.log("%s: %o", msg, obj);} catch(e){}}

cur_lang = "de";
prepath = "/";
last_buy_path = "";

$(document).ready(function() {

	if(error) {
		// ---- show error
		show_popup("popup_update");
		$("#popup_update .ttl").html(error.title);
		$("#popup_update .txt").html(error.message);

	}

	$('a.email').each(function(i) {
		var text = $(this).text();
		var address = text.replace(" at ", "@");
		$(this).attr('href', 'mailto:' + address);
		$(this).text(address);
	});

	$.ajaxSetup({jsonp: null, jsonpCallback: null});

	$(".dd-select, .dd-block .close").click(function(){$(".dd-block").toggle();});
	$(".link").live('click' , function(){if($(this).attr('url')) document.location = $(this).attr('url')});
	$('#slider').nivoSlider({
		effect:'random', //Specify sets like: 'fold,fade,sliceDown'
		slices:15,
		animSpeed:500,
		pauseTime:3000,
		startSlide: 0, //Set starting Slide (0 index)
		directionNav: false, //Next & Prev
		directionNavHide:false, //Only show on hover
		controlNav:true, //1,2,3...
		controlNavThumbs:false, //Use thumbnails for Control Nav
		controlNavThumbsFromRel:false, //Use image rel for thumbs
		controlNavThumbsSearch: '.jpg', //Replace this with...
		controlNavThumbsReplace: '_thumb.jpg', //...this in thumb Image src
		keyboardNav:true, //Use left & right arrows
		pauseOnHover:true, //Stop animation while hovering
		manualAdvance:false, //Force manual transitions
		captionOpacity: 0.0, //Universal caption opacity
		beforeChange: function(){},
		afterChange: function(){},
		slideshowEnd: function(){} //Triggers after all slides have been shown
	});

	$(".submitreif").click(function(event){
		event.preventDefault();
		var id=$(this).attr('id');
		$("."+id).submit();
	});

	$('.manufacturers .tabs li').click(function(){
		if(! $(this).hasClass('active')){
			$(this).parent().find("li.active").removeClass('active').css("z-index",1);
			$(this).addClass('active').css("z-index",2);
			$(".manufacturers > div:gt(0)").hide();
			$(".manufacturers > div:eq("+ ($('.manufacturers .tabs li').index($(this)) + 1) +")").show();
		}
	})

//	$("dd a").click(function(e){
//		e.preventDefault();
//		var dd
//		if($(this).attr("class")=='all'){
//			$(this).parent('dd').next('dd').removeClass('hidden');
//			$(this).parent('dd').addClass('hidden');
//		}
//		else{
//			$(this).parent('dd').prev('dd').removeClass('hidden');
//			$(this).parent('dd').addClass('hidden');
//		}
//	});



	$(".login_but").click(function(event){
		event.preventDefault();
		if($("#login_panel:visible").length) $("#login_panel").fadeOut()
		else $("#login_panel").fadeIn();
	})

	$("a.category").live("click", function(){
		$.post("catalog/?mode=json_set_rating", "id=" + $(this).attr("id").replace('cat-', ''));

	});

	$(".gotobasket").click(goto_basket);

	$('.grey_part').click(function(event){
		event.preventDefault();
		$('.grey_part').removeClass('on');
		$(this).addClass('on');
		$('.item ').show();
		var id=$(this).attr("id");
		$('.itemtop').empty();

		$('.'+id).clone().prependTo('.itemtop');
		$('.'+id).hide();
		$('.itemtop .'+id).show();
	});

	//intializing selectors

	/*$("#manuId").selectdecorator({
	DIVClass : "selectholder",
	onChange : get_models_list
	});

	$("#modId").selectdecorator({
	DIVClass : "selectholder",
	onChange : get_cartypes_list
	});

	$("#carId").selectdecorator({
	DIVClass : "selectholder"
	});*/

	//$('#manuId,#modId').sSelect();
	$('#manuId').sSelect({defaultText: "Hersteller wählen"});
	$('#modId').sSelect({defaultText: "Modell wählen"});
	$('#carId').sSelect({defaultText: "Typ wählen"});


	$('#manuId').change(function(){
		if ($('#manuId').val()=='')
		{
			$('#modIddiv').show();
			$('#modsel').hide();
			$('#carIddiv').show();
			$('#carsel').hide();
			$('#modId').val('');
			$('#carId').val('');
		}
		else
		{
			$('#modIddiv').hide();
			$('#modsel').show();
			$('#carId').val('');
			$('#carIddiv').show();
			$('#carsel').hide();
			get_models_list();
		}
	}
	);
	$('#modId').change(function(){

		//alert($('#modId').val());
		if ($('#modId').val()=='')
		{
			$('#carIddiv').show();
			$('#carsel').hide();
			$('#carId').val('');
		}
		else
		{
			$('#carIddiv').hide();
			$('#carsel').show();
			get_cartypes_list();

		}
	}
	);

	

	$(".show-car-selector").click(function(){$(".car-selector, #overlay").show()});

	$(".popup .close").live('click' , function(event){event.preventDefault();$(this).parents('.popup').hide();return false});
	$(".popup .submit").live('click' ,function(event){event.preventDefault();$(this).parents('.popup').find("form").submit();});


	$(".modeltype  tr.row").click(function(){
		vehicle_rating("vehicle="+$("a", this).attr("id").replace("car_",""));
		document.location =  $("a", this).attr("href")}
	);

	$(".models ul>li").click(function(){
		var active = $(this).hasClass("active");
		$(".models ul>li.active").removeClass("active");
		if(!active) $(this).addClass("active");
	});

	$(document).keypress(function(e){if(e.keyCode==27) {
		$(".models ul>li.active").removeClass("active");

		$(".popup, .car-selector, #overlay, .dd-block").hide();
		$(".shadow, .iframe, #shadow").remove();
		$(".jqiclose, .comment_close, .forgot_close, .cheaper_close, .props_close").click();
	}});

	$(".close").click(function(){$(".popup, .car-selector, #overlay").hide();$(".shadow, .iframe").remove();$(".jqiclose, .comment_close, .forgot_close, .cheaper_close").click();});


	$("input.pair").change(check_pair);
	$(".switch img").click(switchit);


	$(".basket_show").click(function(){show_basket_popup({});return false;});
	$(".basket_btn").click(basket_add);
	$(".del_btn").click(basket_del);
	$(".actualize").click(actualize)
	$(".icon-info").click(kba_show);
	$("#kba-info").mouseout(kba_hide).click(kba_hide);



	$(".dec, .inc").click(change_quantity);

	$("#articleNo").defaultvalue("Artikelsuche");
	$(".sel-search .inp_text").defaultvalue("Autoteil");


	$("#Login-top").defaultvalue("E-Mail");
	$("#Password-top_fake").defaultvalue("Kennwort").focus(function(){$("#Password-top_fake, #Password-top").toggle();$("#Password-top").focus();});
	$("#Password-top").blur(function(){if($("#Password-top").val()!="") return;$("#Password-top_fake, #Password-top").toggle();$("#Password-top_fake").val("Kennwort")});
	$("#btn-exit").click(do_logout);


	$("#kba1,#kba2").keypress(check_numbers);
	$("#kba1").keyup(check_kba1);
	$("#kba2").keyup(function(e){
		if((e.which==13)) check_kba2();

	});
	$("#kba-select .submit").click(check_kba2);

	$("#top-select .submit").click(selector_submit);


	$(".forgot").click(function(){show_forgot_popup();return false;});


	$("#btn-login-top").click(function(){$("#login_top").submit();});

	//------------search form

	$("#search_form").validate({
		errorPlacement: function(error, element) {},
		rules: {articleNo : {required: true}}
	});

	//-------- TOP  login form
	var options = {
		beforeSubmit:  function()	{


			if (!$("#login_top").valid()) return false;

			show_popup("popup_update");
			$("#popup_update .ttl").html("Anmeldung.");
			$("#popup_update .txt").html("Bitte warten...");

			return true;

		},
		success:  top_login_ok,
		error:      function(XMLHttpRequest, textStatus, errorThrown) {alert("Error processing the request")},
		url: prepath+'register/?mode=json_do_login',
		type:      "post",
		dataType:  "json"
	};


	$("#login_top").ajaxForm(options).validate({
		errorPlacement: function(error, element) {

		},

		rules: {
			Email : {required: true,	email: true},
			Password: {required: true}
		}
	});

	$(".sel_change.filter").change(function(){
//		alert($(this).attr('id'));
//		alert($(this).val());
	var dataPost='';
	if($(this).attr('id')=='Width')
		dataPost="name="+$(this).attr('id')+"&width="+$('#Width').val();
	if($(this).attr('id')=='Height')
		dataPost="name="+$(this).attr('id')+"&width="+$('#Width').val()+"&height="+$('#Height').val();
	if($(this).attr('id')=='Inch')
		dataPost="name="+$(this).attr('id')+"&width="+$('#Width').val()+"&height="+$('#Height').val()+"&inch="+$('#Inch').val();
	if($(this).attr('id')=='Load')
		dataPost="name="+$(this).attr('id')+"&width="+$('#Width').val()+"&height="+$('#Height').val()+"&inch="+$('#Inch').val()+"&load="+$('#Load').val();
	if($(this).attr('id')=='Ges')
		dataPost="name="+$(this).attr('id')+"&width="+$('#Width').val()+"&height="+$('#Height').val()+"&inch="+$('#Inch').val()+"&load="+$('#Load').val()+"&ges="+$('#Ges').val();
	if($(this).attr('id')=='Type')
		data="name="+$(this).attr('id')+"&width="+$('#Width').val()+"&height="+$('#Height').val()+"&inch="+$('#Inch').val()+"&load="+$('#Load').val()+"&ges="+$('#Ges').val()+"&type="+$('#Type').val();
	if($(this).attr('id')=='brandName')
		dataPost="name="+$(this).attr('id')+"&width="+$('#Width').val()+"&height="+$('#Height').val()+"&inch="+$('#Inch').val()+"&load="+$('#Load').val()+"&ges="+$('#Ges').val()+"&type="+$('#Type').val()+"&brand="+$('#brandName').val();
	$.ajax({
		type: "POST",
		url: '/data/?mode=get_params_tyres',
		dataType: 'json',
		//data: "name="+$(this).attr('id')+"&value="+$(this).val(),
		data: dataPost,
		timeout: 1000*180,
		success: reifen_params
	});
	});


	$('.agb_p').click(function() {
		
		window.open('/'+$(this).attr('id')+'/?m=p','PrintPage','left='+(screen.width - 600)/2	+',width=600,scrollbars=1,left=500');
		

		return false;

});

	$('.subcats_links.tuning ul li a').click(function(event){
		event.preventDefault();
		$('.subcats_links.tuning ul li').removeClass("active");
		$(this).parent().addClass('active');
		$('.category_tuning ul.column li').hide();
		$('.category_tuning').removeClass().addClass('category_tuning').addClass($(this).attr('id'));
		$('.'+$(this).attr('id')).show();
//		$('.subcats_content').children().hide();
//		$('.'+$(this).attr('id')).show();
	});
	$('.cat2').click(function(event){
		event.preventDefault();

		$(this).parents('ul').children('li').hide();
		$('.'+$(this).attr('id')).show();
	});

	$(".battery_cat").click(function(event){
		event.preventDefault();
		$('.subcats_links.battery li').removeClass("active");
		$(this).parent().addClass('active');
		var id=$(this).attr("id");
		$('.search_type.batt ul').addClass("hide_bat");
		$('.search_type.batt ul.'+id).removeClass("hide_bat");
		$('.search_type.batt .alle').addClass("hide_bat");
		$('.search_type.batt .alle.'+id).removeClass("hide_bat");
		$('.search_producers.batt ul').addClass("hide_bat");
		$('.search_producers.batt ul.'+id).removeClass("hide_bat");

	});
	$(".modelR").click(function(){

		var id=$(this).attr('id').split("_");
		var dataPost="modelId="+id[1]+"&groupId="+id[2];
		vehicle_rating(dataPost);

	});

});

window.onload=tuning;
function tuning()
{
	if($('#container_inner .left_column .left_sidebar h3').text()=='Tuning' || $('#container_inner .left_column .left_sidebar h3').text()=='Auto Batterie')
	{
		$(".folder.active").prev('div').removeClass('expandable-hitarea').addClass('collapsable-hitarea');
		$(".folder.active").parents('li').removeClass('expandable').addClass('collapsable');
		$(".folder.active").next('ul').show();
	}
}
function vehicle_rating(dataPost)
{
	$.ajax({
			type: "POST",
			url: '/data/?mode=json_car_rating',
			dataType: 'json',
			//data: "name="+$(this).attr('id')+"&value="+$(this).val(),
			data: dataPost,
			timeout: 1000*180
		});
}
function reifen_params(data){
	$.each(data, function(index,value){

	//console.log(index+'--'+value.length);
	$("#"+index).empty().resetSS();

	if(index=='Ges' || index=='Load'){
		if(value[0]!=0 && value[0]!=''){
			$("#"+index).append('<option value="">Alle</option>');
			$("#"+index).append('<option value="'+value[0]+'">'+value[0]+'</option>');
		}
	}
	else if(index=='brandName'){
		if(value[0]!=0 && value[0]!=''){
			$("#"+index).append('<option value="">Alle Marken</option>');
			$("#"+index).append('<option value="'+value[0]+'">'+value[0]+'</option>');
		}
	}
	else if(index=='Type'){
		if(value[0]!=0 && value[0]!=''){
			$("#"+index).append('<option value="">Alle Reifenarten</option>');
			$("#"+index).append('<option value="'+value[0]+'">'+value[0]+'</option>');
		}
	}
	else
		if(value[0]!=0 && value[0]!='')
			$("#"+index).append('<option value="'+value[0]+'">'+value[0]+'</option>');

	if(value.length==0)
		$("#"+index).append('<option value=""></option>');
	
	
	for(i=1;i<value.length;i++){
		//console.log(index+'--'+value.length)
		if(value[i]!=0 && value[i]!='')
			$("#"+index).append('<option value="'+value[i]+'">'+value[i]+'</option>');
	}
	$('#'+index).resetSS();
	});
}

function check_pair() {
	var val = parseInt($(this).val());
	if(val/2!=Math.floor(val/2)) $(this).val(val+1);
}

function remind_ok(data) {
	show_popup("popup_forgot_mail");
	$("#popup_forgot").hide()
	setTimeout(function(){$("#popup_forgot_mail").hide()},10000);
}

function top_login_ok(data) {

	if(data["error"]) {

		$("#popup_update .ttl").html("Fehler!");
		$("#popup_update .txt").html(data["error"]);

		return;
	}

	data = data["profile"];

	$("#customer_name").html(data["rVorname"] + " " + data["rName"]);
	fill_info(data);
	$("#login-frm, #profile-info").toggle();
	document.location = secure_url + "profile/?sid=" + sid;

}



function do_logout() {
	$.ajax({
		type: "GET",
		url: prepath + 'register/?mode=json_do_logout',
		dataType: 'json',
		success: function(){
			document.location = simple_url;
		}

	});


}


function check_kba1(e) {



	if((e.which==13 || e.which>32) && $(this).val().length==4){$("#kba2").focus();}
}
function check_kba2() {

	if($("#kba1").val().length==4 && $("#kba2").val().length==3 && $(".popup:visible").length==0){


		showProccess();


		$.ajax({
			type: "POST",
			url: '/vehicle/?mode=json_check_kba',
			dataType: 'json',
			data: $("#kba-select :input"),
			timeout: 1000*180,
			error: function (){

				hideProccess();
				show_popup("popup_update");
				$("#popup_update .ttl").html("Fehler!");
				$("#popup_update .txt").html("Es wurde kein Fahrzeug mit eingegebener KBA-Nummer gefunden.<br>Bitte geben Sie gultige KBA-Nummer ein.");

				setTimeout (function(){hide_popup("popup_update", true);}, 2000);

			},
			success: function (data) {
				if(data.length==1) {
					var car = data[0];
					document.location = car["Alias"];
				}
				else
				$("#kba-select").attr("action", "/autoteile/").submit();


			}

		});

	}
}

function check_numbers(e) {
	return true;

	if(e.which<20 || (e.which>=48 && e.which<=57)){}
	else
	return false;

}



function fill_info(data) {

	for(d in data)
	{
		$("."+d+"_info").html(data[d]);
		$(".popup *[name='"+d+"']").val(data[d]);

		//log(d, data[d]);

		if((d=="PaymentCost" || d=="pfand")) {if(parseFloat(data[d])==0) $("."+d+"_info").parent().parent().hide();  else $("."+d+"_info").parent().parent().show();}
		if(d=="pfand") {if(parseFloat(data[d])==0) $("#pfand_comment").hide();  else $("#pfand_comment").show();}
		if(d=="delivery") {
			deliveryCost = parseFloat(data[d]);
			var deliverer = $("input[name='Delivery']:checked").attr("id");
			if(deliveryCost!=0) {
				$("."+d+"_info").html(""+ data[d] + " &euro;");
				if(deliverer=='GLS' && deliveryCost > 5.95) $("#GLS_EXPRESS").parent().hide();
				else $("#GLS_EXPRESS").parent().show();
			}
			else {

				if(deliverer=='PICKUP') {
					$("."+d+"_info").html('0.00');
				} else {
					$("."+d+"_info").html(Lang.get("Free shipment"));
				}
			}
		}


		$(".selectholder select[name='" + d + "']").parent().find("li[val='"+data[d]+"']").click()

		if(d=="rLand")
		{
			if(data[d]!="Deutschland")
			{

			}
			else
			{
				$(".pay :hidden").show();
			}
		}

		if(d=="sum" )
		{
			if(parseFloat(data[d])>=250) {

				$(".delivery .line").hide();
				$(".delivery .for-free, .for-free-cell").show();
				$(".DeliveryCost_info").parent().parent().hide();
			}
			else
			{
				$(".delivery .line").show();
				$(".delivery .for-free, .for-free-cell").hide();
				$(".DeliveryCost_info").parent().parent().show();

			}
		}


	}

}

var popupsSrc = {};
//---- popup_update
popupsSrc["popup_update"] = '<div class="popup" id="popup_update"><div class="popup_inner"><div class="popup_top"><a href="#" class="close"></a>';
popupsSrc["popup_update"] += '<h3 class="ttl">Daten werden gesendet.</h3></div>';
popupsSrc["popup_update"] += '<div class="popup_content"><div class="txt"><br /><br />Bitte warten...<br /></div>';
popupsSrc["popup_update"] += '<div class="buttons"><a href="#" class="close">Schließen</a></div></div>';
popupsSrc["popup_update"] += '<div class="cn lt"></div><div class="cn rt"></div></div><div class="cn lb"></div><div class="cn rb"></div></div>';
//---- popup_update
popupsSrc["popup_forgot_mail"] = '<div class="popup" id="popup_forgot_mail"><div class="popup_inner"><div class="popup_top"><a href="#" class="close"></a>';
popupsSrc["popup_forgot_mail"] += '<h3 class="ttl">Vielen Dank! </h3></div>';
popupsSrc["popup_forgot_mail"] += '<div class="popup_content"><div class="txt"><br /><br />Ihr neues Passwort wurde an die angegebene E-Mail Adresse geschickt.<br /></div>';
popupsSrc["popup_forgot_mail"] += '<div class="buttons"><a href="#" class="close">Schließen</a></div></div>';
popupsSrc["popup_forgot_mail"] += '<div class="cn lt"></div><div class="cn rt"></div></div><div class="cn lb"></div><div class="cn rb"></div></div>';
//---- popup_forgot
popupsSrc["popup_forgot"] =  '<div class="popup" id="popup_forgot"><form action="" method="post" name="forgot_form" id="forgot_form">';
popupsSrc["popup_forgot"] += '<div class="popup_inner"><div class="popup_top"><a href="#" class="close"></a>';
popupsSrc["popup_forgot"] += '<h3 class="ttl">Sie haben Ihr Kennwort vergessen?</h3></div>';
popupsSrc["popup_forgot"] += '<div class="popup_content"><div class="txt">';
popupsSrc["popup_forgot"] += 'Geben Sie Ihre E-Mail-Adresse ein. In wenigen <br>Sekunden erhalten Sie eine E-Mail mit einem neuen Kennwort.<br><br><br>E-Mail:&nbsp;&nbsp;<input type="text" name="Email">';
popupsSrc["popup_forgot"] += '</div><div class="buttons"><a href="#" class="submit">Senden</a><a href="#" class="close">Schließen</a></div></div>';
popupsSrc["popup_forgot"] += '<div class="cn lt"></div><div class="cn rt"></div></div><div class="cn lb"></div><div class="cn rb"></div></form></div>';
//---- popup_no_delivery
popupsSrc["popup_no_delivery"] = '<div class="popup" id="popup_no_delivery"><div class="popup_inner"><div class="popup_top">';
popupsSrc["popup_no_delivery"] += '<h3 class="ttl">Hinweis</h3></div>';
popupsSrc["popup_no_delivery"] += '<div class="popup_content"><div class="txt"><br /> %products%, nicht in das von Ihnen gewählte Land versendet werden. Bitte setzen Sie sich mit uns in Verbindung.</div>';
popupsSrc["popup_no_delivery"] += '<div class="buttons no_delivery"><a href="#" class="submit">Aus Warenkorb entfernen</a><a href="#" class="close">Einkauf fortsetzen</a></div></div>';
popupsSrc["popup_no_delivery"] += '<div class="cn lt"></div><div class="cn rt"></div></div><div class="cn lb"></div><div class="cn rb"></div></div>';

function show_popup(name) {

	if($("#"+name).length == 0) {
		if(popupsSrc[name]) $("body").append(popupsSrc[name]);
	}

	$("#"+name).css("top", -3000);
	$("#"+name+" .popup_inner, #"+name).show();

	w = $("#"+name).width();
	h = $("#"+name).height();

	x = Math.floor($(window).width()/2);
	y = Math.floor($(window).height()/2 - h/2);
	y += $(window).scrollTop();

	$("#"+name).css("top", y);


}

function show_forgot_popup() {
	//------------forgot form
	show_popup("popup_forgot");

	var options = {
		beforeSubmit:  function()	{return $("#forgot_form").valid();},
		success:  remind_ok,
		error:      function(XMLHttpRequest, textStatus, errorThrown) {alert("Error processing the request")},
		url: prepath+'register/?mode=json_do_remind',
		type:      "post",
		dataType:  "json"
	};


	$("#forgot_form").ajaxForm(options).validate({
		errorPlacement: function(error, element) {

		},

		rules: {
			Email : {required: true,	email: true}
		}
	});
}


function hide_popup(name, fade) {

	if(fade) {
		$("#"+name).fadeOut("fast");
	}
	else {

		$("#"+name).hide();
	}

}


function change_quantity() {

	var op = ($(this).attr("className")=="inc") ? 1 : -1;

	var inp = $(this).parent().parent().find("input");

	val = 	parseInt($(inp).val());
	if(isNaN(val)||val<1) val = 1;
	val += op;
	if(val<1) val = 1;

	$(inp).val(val).attr("op", $(this).attr("className"));
	actualize();
}




function kba_show() {
	$("#kba-info").toggle();
	return false;
}

function kba_hide() {
	$("#kba-info").fadeOut("fast");
}


function actualize() {
	var data = "";

	$("table.basket tr[id]").each(function(){
		id = this.id.substr(2);
		data+="&id["+id+"]="+$("#b_"+id).val();
		$("#b_"+id).parent().append('<img src="images/spinner.gif" class="updating">');
	})

	//log(data);

	$.ajax({
		type: "POST",
		url: prepath+'basket/?mode=json_update_items',
		dataType: 'json',
		data: data,
		timeout: 1000*180,
		success: display_basket_update

	});

}

function display_basket_update(data) {
	if(data["out_of_stock"]>0)
	{

		show_popup("popup_update");
		$("#popup_update .ttl").html(Lang.get("Error"));
		$("#popup_update .txt").html(Lang.get("Some items can not be updated because specified ammount is to high"));
		setTimeout (function(){hide_popup("popup_update", true);}, 2000);


	}



	$.each(data["items"], function(){

		$("#r_"+this["FullProductID"]+" .price").html("<b>"+this["Sum"] +" &euro;</b><br><small>("+this["Price"] + " &euro; " +Lang.get("each")+")</small>");
		$("#b_"+this["FullProductID"]).val(this["Quantity"]);


	})

	$("table.basket .updating").remove();

	$("#basket_count").html(data["basket"]["count"]);
	$("#basket_sum").html(data["basket"]["sum"]);
	$("#basket_total").html(data["basket"]["sum"]+ "&nbsp;&euro;");

	$(".sum_info").html(data["basket"]["sum"]);
	$(".mtotal .sum_info").html(data["basket"]["sum"]+" &euro;");

	update_basket(data);

}

function basket_del() {

	var id = $(this).attr("src", "images/spinner.gif").attr("id").substr(2);

	$(id).attr("class", "deleting");


	$.ajax({
		type: "POST",
		url: prepath+'basket/?mode=json_del_item',
		dataType: 'json',
		data: "id="+id,
		timeout: 1000*180,
		success: display_basket_after_del

	});

}

function display_basket_after_del(data) {

	id = data["id"];
	$("#r_"+id+", table.basket tr.delim:last").remove();
	$("#basket_count").html(data["basket"]["count"]);
	$("#basket_sum").html(data["basket"]["sum"]);
	$("#basket_total").html(data["basket"]["sum"]+ "&nbsp;&euro;");


	$(".sum_info").html(data["basket"]["sum"]);
	$(".total .sum_info").html(data["basket"]["sum"]+" &euro;");


	if(data["basket"]["count"]=="0") {$("table.basket").append("<tr><td colspan='3'><br>"+Lang.get("Basket is empty")+"</td></tr>");}
	set_basket_size();
	update_basket(data);
}


function basket_add() {


	if($(this).attr("loading")=="yes") return;
	$(".load", this).show();
	$(this).attr("loading", "yes");
	var id = $(this).attr("id");
	var count = $("#a_"+id).val();

	$.ajax({
		type: "POST",
		url: '/basket/?mode=json_add_item',
		dataType: 'json',
		data: "id="+id+"&count="+count+"&cat="+cur_cat,
		timeout: 1000*180,
		success: function (data){
			$(".bask-added").remove();
			$(".pt_" + id).append('<div class="bask-added">Dieser Artikel wurde dem Warenkorb hinzugefügt</div>');

			setTimeout(function(){$(".bask-added").fadeOut();}, 1000);

			display_basket(data);
		}
	});
	return false;

}


function display_basket(data) {

	id = data["id"];
	$("#"+id).removeAttr("loading").find(".load").hide();

	if(data["error"]) {

		show_popup("popup_update");
		$("#popup_update .ttl").html(Lang.get("Attention"));
		$("#popup_update .txt").html(data["error"]);
		setTimeout (function(){hide_popup("popup_update", true);}, 2000);
		return;

	}
	update_basket(data);

	//show_basket_popup(data);

}

function update_basket(data) {
	html = '';
	if(!data["items"] || data["items"].length==0) {
		html = '<li>Ihr Warenkorb ist leer.</li>';
		$(".basket_show").hide();
		$(".cart").addClass("empty");

	} else {
		$(".basket_show").show();
		$.each(data["items"], function(){

			html+= '<li><div class="title">' + this["Name"] + '</div>';
			html+= '<div class="stat">';
			html+= '<div class="fl">' + this["Quantity"] + ' St.</div>'
			html+= '<div class="fr">Art. Nr.: ' + this["Article"] + '</div></div>'
			html+= '<div class="price">';
			html+= '<span class="fl">';
			if(this["isNotAvailable"]=="yes") html+= '<span class="na">nicht verfügbar, bitte anfragen</span>';
			html+= '</span>';
			html+= '<span class="fr">' + this["Price"] + ' &euro;</span>'
			html+= '</div></li>';
		});
		$(".cart").removeClass("empty");
	}

	fill_info(data["basket"]);
	$(".cart .cart_inner ul").html(html);

}

function file_click() {

	url = $(this).parent().attr("url");
	document.location = url;
}


function tree_node_action() {

	if($(this).attr("loaded")) return;

		//alert($("#container_inner .left_column .left_sidebar h3").text());
	var dat = this.id.split("_");



	$.ajax({
		type: "POST",
		url: '/catalog/?mode=json_get_nodes',
		dataType: 'json',
		success: populate_nodes,
		node_id : this.id,
		data: "man="+dat[0]+"&req="+dat[1]+"&cat="+cur_cat,
		timeout: 1000*180
	});


}

function populate_nodes(data) {

	var id = data["id"];

	var nodes = data["subs"];
	var html ="";
	$.each(nodes, function(){
		var t = (this["cnt"]=="0") ? "file": "folder";
		var c = "";
		if(this["class"]) c = this["class"];
		html+="<li id='"+this["man"]+'_'+this["cat"]+"' class='"+c+"' url='"+this["url"]+"'><span class='"+ t +"'>"+this["Title"]+'</span>';
		if(t=="folder") 	html+='<ul id="sub_'+this["man"]+'_'+this["cat"]+'"><li><span class="load">Bitte warten...</span></ul>';
		html+='</li>';

	})


	$("#"+id).attr("loaded", "yes");

	var newSublist = $("#sub_"+id).empty().append(html);
	$("#"+id).parents(".cat_tree").treeview({add: newSublist});
	$("#"+this["man"]+'_'+this["cat"]);
	$(".cat_tree .file").click(file_click);

	$(".click span").addClass("active");
	$(".click").removeClass("click").find("span.folder").click();

}



function get_cartypes_list() {
	var val = $("#modId").val();
	//	if(val=="") {
	//		$(".carId").html('<div class="text">Type w&auml;hlen');
	//		return;
	//	}
	//
	//	$(".carId").html('<div class="text">Bitte warten...</div>');

	$.ajax({
		type: "POST",
		url: '/data/?mode=json_get_types',
		dataType: 'json',
		data: "manuId="+$("#manuId").val()+"&modId="+val,
		timeout: 1000*180,
		success: populate_cartypes
	});


}

function populate_cartypes(data) {


	$("#carId").empty().resetSS();//.next('.newListSelected').remove();
	//$(".carId").append('<select id="carId" name="carId"></select>');
	$("#carId").append('<option value="">Typ w&auml;hlen</option>');
	$.each(data, function(){
		$("#carId").append('<option value="'+this["carId"]+'">'+this["carName"] + ' (' + this["powerKwFrom"] + 'KW / ' + this["powerHpFrom"] + 'PS)</option>');
	});
	$('#carId').resetSS({defaultText: "Typ wählen"});
	//$(".carId div.text").remove();
	//$("#carId").selectdecorator({
	//DIVClass : "selectholder"

	//l});

}



function get_models_list() {
	var val = $("#manuId").val();
	/*if(val=="") {
	$(".modId").html('<div class="text">Modell w&auml;hlen');
	$(".carId").html('<div class="text">Type w&auml;hlen');
	return;
	}*/

	//$(".modId").html('<div class="text">Bitte warten...</div>');
	//$(".carId").html('<div class="text">Type w&auml;hlen');

	$.ajax({
		type: "POST",
		url: '/data/?mode=json_get_models',
		dataType: 'json',
		data: "manuId="+val,
		timeout: 1000*180,
		success: populate_models
	});


}

function populate_models(data) {
	$("#modId").empty().resetSS();//.next('.newListSelected').remove();


	//$("#modsell").append('<select id="modId" name="modId"></select>');
	$("#modId").append('<option value="">Modell w&auml;hlen</option>');

	//var html = "";
	$.each(data,  function(idx){
		//html += '<optgroup label=" ' + idx+ ' ">';
		$("#modId").append('<optgroup label=" ' + idx+ ' "></optgroup>');
		$.each(this, function(){

			//html += '<option value="'+this["modelId"]+'">'+this["modelname"] + ' (' + this["yearOfConstrFrom"] + ' - ' + this["yearOfConstrTo"] + ')</option>'
			$("#modId optgroup:last").append('<option value="'+this["modelId"]+'">'+this["modelname"] + ' (' + this["yearOfConstrFrom"] + ' - ' + this["yearOfConstrTo"] + ')</option>');
		});
		//		$('#modId option:eq(1)').attr('selected', 'selected');

		//html += '</optgroup>';

	});
	//$("#modId").append(html).resetSS();
	$('#modId').resetSS({defaultText: "Modell wählen"});

	/*
	$("#modId").selectdecorator({
	DIVClass : "selectholder",
	onChange : get_cartypes_list
	}
	);

	$(".modId div.text").remove();
	*/
}

function open_categories() {
	if($("#carId").val()!="") {
		showProccess();
		$("#top-select").attr("action", "/catalog/parts/").submit();
	}
}

function showProccess() {
	$(".cover").show();
}
function hideProccess() {
	$(".cover").hide();
}

function switchit() {
	if($(this).attr("state")=="open")
	$(this).attr("state", "close").attr("src", "images/plus.gif");
	else
	$(this).attr("state", "open").attr("src", "images/minus.gif");

	$("#"+this.id+"_small").toggle();
	$("#"+this.id+"_full").toggle();
}

function show_basket_popup(data) {

	if(!data["items"])
	{

		var txt = '<div class="title"></div>';
		txt += '<div class="content"><div class="loading"></div></div>';

	}
	else
	{

		var txt = get_basket_html(data);
	}

	$.prompt(txt,
	{
		submit: function(v,m){
			if(v.value == "Zur kasse") {
				goto_basket();return false;
			}
			else
			{
				if(last_buy_path!="") {
					document.location = simple_url + last_buy_path;return false;
				}
			}

			return true;
		},
		loaded: function(){if(!data["items"]) {

			$.ajax({
				type: "POST",
				url: prepath+'basket/?mode=json_get_basket',
				dataType: 'json',
				timeout: 1000*180,
				success: update_basket_popup
			});

		} else set_basket_size();},
		closebutton: "images/icons/close.png",
		overlayspeed: 1,
		promptspeed: 1,
		buttons:{"stay" : {caption: "Einkauf fortsetzen", value: "Einkauf fortsetzen"}, "go" : {caption: "Zur kasse", value: "Zur kasse"}}

	});
	$(".del").click(basket_del);
	$(".actualize").click(actualize);
}

function update_basket_popup(data)
{

	last_buy_path = data["back"];
	var txt = get_basket_html(data);
	$(".jqicontainer .jqimessage").html(txt);
	$(".del").click(basket_del);
	$(".actualize").click(actualize);
	set_basket_size();
}


function set_basket_size(){
	h = $("div.jqi div.content").height();
	if(h>200) $("div.jqi div.content").height(200);
	else
	{
		if(h< 50) $("div.jqi div.content").height(50);
		else
		$("div.jqi div.content").height("");
	}

}

function get_basket_html(data){
	var txt = '<div class="title">Warenkorb</div>';
	if(data["items"].length>0) txt += '<div class="head"><div class="item">'+Lang.get("Item")+'</div><div class="quantity">'+Lang.get("Quantity")+'</div><div class="price">'+Lang.get("Price")+'</div></div>';
	txt += '<div class="content">';


	if(data["items"].length==0)
	{
		txt+="<br><br><br><center>"+Lang.get("Your basket is empty")+"</center><br><br><br>";
	}
	else
	{

		txt += '<table cellpadding="0" cellspacing="4" border="0" class="basket">';

		for(i=0; i<data["items"].length; i++)
		{
			var item = data["items"][i];
			txt += '<tr id="r_'+item["FullProductID"] +'"><td class="item"><b>'+item["Name"] +'</b><br>'+Lang.get("Item #")+": "+item["Article"] +"<br>";
			if(item["isNotAvailable"]=='yes') txt += '<span class="na">nicht verfügbar, bitte anfragen</span>';
			txt += "</td>";
			txt += '<td valign="top" class="quantity"><div><input type="text" id="b_'+item["FullProductID"] +'" value="'+item["Quantity"] +'">&nbsp;&nbsp;';
			txt += '<img src="images/icon-del.png" align="top" class="button del" id="d_'+item["FullProductID"] +'"></div></td>';
			txt += '<td valign="top" class="price"><b>'+item["Sum"] +' &euro;</b><br><small>('+ item["Price"] + " &euro; " + Lang.get("each")+')</small></td></tr>';
			if(i<data["items"].length-1)txt +='<tr class="delim"><td colspan="3"></td></tr>';
		}

		txt += '</table>';

	}
	txt += '</div><div class="mtotal"><div class="inner"><img src="images/buttons/recalc.png" alt="'+Lang.get("Recalculate")+'" class="actualize" /><div class="sum_info">'+data["basket"]["sum"]+' &euro;</div><div class="subtotal"><b>'+Lang.get("Subtotal")+':</b> </div></div></div>';
	return txt;
}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + '.' + cents);
}

function goto_basket(){
	document.location = secure_url + "basket/?sid=" + sid;
}

function selector_submit() {

	showProccess();

	$.ajax({
		type: "POST",
		url: '/data/?mode=json_get_url',
		dataType: 'json',
		data: $("#manuId, #modId, #carId, #top-select input[name='keyword']"),
		timeout: 1000*180,
		error: function (){
			hideProccess();
			show_popup("popup_update");
			$("#popup_update .ttl").html("Fehler!");
			$("#popup_update .txt").html("Invalid response");

			setTimeout (function(){hide_popup("popup_update", true);}, 2000);

		},
		success: function(link) {
			document.location = link;
		}
	});

	return false;

}

