function js_message_close() {
	$( ".js_message" ).empty();
	clearTimeout(timer_id);
}
function js_message( message, header ) {
	var _pattern = $(".jquery_pattern_new").html();
	_pattern = _pattern.replace( /%HEADER%/g, header);
	_pattern = _pattern.replace( /%MESSAGE%/g, message);
	js_message_close();
	$( ".js_message" ).append(_pattern);
	timer_id = setTimeout( "js_message_close()", 10000 );
}
function do_ajax( url, on_success, on_error ) {
	$.ajax({
		url: url,
		dataType: "json",
		success: function(data) {
			//alert(data);
			if( data.result=="ok" ) {
				if( on_success ) {
					on_success( data );
				}
			} else {
				if( data.result=="error" ) {
					js_message( data.message, "Error" );
				} else {
					js_message( "Unknown server answer", "Error" );
				}
				if( on_error ) {
					on_error();
				}
			}
		},
		error: function(data) {
			js_message( "Connection error", "Error" );
			if( on_error ) {
				on_error();
			}
		}
	});
}

function update_cart( data ) {
	$( "#cart_count" ).text( data.cartcount );
	$( "#cart_sum" ).text( data.cartsumm );
}
function update_cartpage() {
	$( "#total_order_sum" ).text( Math.round( (cart_sum + delivery_price)*100)/100 );
}

function update_cartpage_begin() {
	delivery_price=15;
	$( "#tot_1" ).removeClass( "totalprice" );
	$( "#tot_1" ).addClass( "class_invisible" );
	$( "#tot_2" ).removeClass( "class_invisible" );
	$( "#tot_2" ).addClass( "totalprice" );
	update_cartpage()
}/*
function update_checkout() {
	if(dprice!=undefined) {
		$( "#tot_1" ).removeClass( "totalprice" );
		$( "#tot_1" ).addClass( "class_invisible" );
		$( "#tot_2" ).removeClass( "class_invisible" );
		$( "#tot_2" ).addClass( "totalprice" );
		$( "#total_order_sum" ).text( Math.round( (cart_sum + dprice)*100)/100 );
	}
}
*/
function add( sender, url ) {
	$( sender ).addClass( "hidden" );
	do_ajax(
		url,
		function( data ) {
			$( sender ).removeClass( "hidden" );
			update_cart( data );
			js_message( data.message, "" );
		},
		function( data ) {
			$( sender ).removeClass( "hidden" );
		}
	);
	return false;
}

function kill_buttom() {
	$("#checkout").addClass( "hidden" );
}

function remove( sender, url, item ) {
	$( sender ).addClass( "hidden" );
	do_ajax(
		url,
		function( data ) {
			$( sender ).removeClass( "hidden" );
			$( "#item"+item ).remove();
			update_cart( data );
			
			cart_sum = data.cartsumm;
			if (cart_sum==0) {
				kill_buttom();
			}
			update_cartpage();
		},
		function( data ) {
			$( sender ).removeClass( "hidden" );
		}
	);
	return false;
}

function set_delivery( id, price ) {
	delivery_id = id
	delivery_price = price;
	update_cartpage();
}
$( function() {
	$(".is1").bind( "focus", function() {
		if (this.value == 'search...') { this.value='' } ;
	}).bind( "blur", function() {
		if (this.value == '') { this.value='search...' } ;
	})
	update_cartpage_begin();
	//update_checkout();
	if( !$(".full_ord_descr").hasClass( "invisible" ) )
		$(".full_ord_descr").addClass( "invisible" );
});
