$(function(){
	$("a[site_id]").each(function(){
		var id = $(this).attr("site_id");
		$(this).jHelperTip0({
			trigger:		"hover",
			source:			"ajax",
			type:			"GET",
			url:			'/public/ads/sell_geography_ajax/'+id,
			loadingHtml:	small_loader,
			autoClose:		false,
			opacity:		1
		});
	});

	$(":radio[name=adv_type], :radio[name=buy_type]").click(change_type);
	change_type();
});

function change_type()
{
	// adv type
	var adv_type = $(":radio[name=adv_type]:checked").val();
	var n = ['time', 'impression', 'click'];

	for (i in n)
		$(":radio[name=buy_type][value="+n[i]+"]").attr('disabled', $("tbody[adv_type="+adv_type+"][buy_type*="+n[i]+"]").length == 0);

	if($(":radio[name=buy_type]:enabled:checked").length == 0) {
		$(":radio[name=buy_type]:enabled:first").attr('checked', true);
	}

	// buy type
	var buy_type = $(":radio[name=buy_type]:checked").val();
	$("div.buy_type_time, div.buy_type_click").hide().find(":input").attr("disabled", true);
	if (buy_type == 'time') {
		$("div.buy_type_time").show().find(":input").attr("disabled", false);
	}
	else {
		$("div.buy_type_click").show().find(":input").attr("disabled", false);
	}

	// select spots
	adv_type = $(":radio[name=adv_type]:checked").val();
	buy_type = $(":radio[name=buy_type]:checked").val();

	$("tbody :checkbox").attr("checked", false);
	$("tbody[adv_type="+adv_type+"][buy_type*="+buy_type+"] :checkbox").attr("checked", true);

	return true;
}

function add_amount(num)
{
	var val = parseFloat($(":input[name=total_amount]:enabled").val());
	$(":input[name=total_amount]:enabled").val(isNaN(val) ? num : val + num);
	return change_amount();
}


function change_amount()
{
	// setup info
	var amount			= parseFloat($(":input[name=total_amount]:enabled").val());
	var adv_type		= $(":radio[name=adv_type]:checked").val();
	var buy_type		= $(":radio[name=buy_type]:checked").val();
	var clicks			= 0;
	var impressions		= 0;
	var cost_per_day 	= 0;
	var max_bid_price	= 0;

	var i = $("tbody[adv_type="+adv_type+"][buy_type*="+buy_type+"] :checkbox:checked").each(function(){
		var id = $(this).val();

		if (buy_type == 'time') {
			cost_per_day	+= spot_stat[id].day_price;
			impressions		+= spot_stat[id].impression;
			clicks			+= spot_stat[id].impression * spot_stat[id].ctr/100;
		}
		else if (buy_type == 'click') {
			max_bid_price	= max_bid_price > spot_stat[id].click_bid ? max_bid_price : spot_stat[id].click_bid;
			clicks			+= spot_stat[id].click_bid;
			impressions		+= spot_stat[id].ctr/100;
		}
		else if (buy_type == 'impression') {
			max_bid_price	= max_bid_price > spot_stat[id].impression_bid ? max_bid_price : spot_stat[id].impression_bid;
			clicks			+= spot_stat[id].ctr/100;
			impressions		+= spot_stat[id].impression_bid;
		}
		return true;
	}).length;

	$("#b_max_bid_price, #b_cost_per_day").html("-");
	$("#total_purchase").hide();
	if (i == 0) {
		$("#b_clicks, #b_impressions").html("-");
		return true;
	}

	if(buy_type == 'time') {
		cost_per_day = cost_per_day/i;
	}
	else if (buy_type == 'click') {
		clicks /= i;
		impressions /= i;
		if (clicks) {
			clicks = amount/clicks;
			impressions = clicks/impressions;
		}
	}
	else if (buy_type == 'impression') {
		impressions /= i;
		clicks /= i;
		if (impressions) {
			impressions = amount / impressions * 1000;
			clicks = clicks*impressions;
		}
	}

	$("#b_clicks").html(!isNaN(clicks) ? clicks.toFixed(0) : '0');
	$("#b_impressions").html(!isNaN(impressions) ? impressions.toFixed(0) : '0');
	$("#b_max_bid_price").html(!isNaN(max_bid_price) ? '$'+max_bid_price.toFixed(2) : '-');
	$("#b_cost_per_day").html(!isNaN(cost_per_day) ? '$'+cost_per_day.toFixed(2) : '-');


	// ajax
	get_price();

	return false;
}

function get_price()
{
	var buy_type = $(":radio[name=buy_type]:checked").val();
	var adv_type = $(":radio[name=adv_type]:checked").val();
	var amount = $(":input[name=total_amount]:enabled").val();
	var spots = [];

	var i = $("tbody[adv_type="+adv_type+"][buy_type*="+buy_type+"] :checkbox:checked").each(function(){
		spots.push($(this).val());
	});

	var param = {
			buy_type: buy_type,
			adv_type: adv_type,
			amount: Math.floor(amount),
			spots: spots.join(",")
		};

	if (param.amount > 0 && param.spots) {
		$("#total_purchase").html(small_loader.clone().css('text-align', 'left')).load('/public/ads/buy_price_ajax', param);
	}
	else
		$("#total_purchase").html("-");

	return true;
}
