/**
 * Download
 * @uses Ajax
 * @version 1.0.0
 */
Loader.scripts(["ajax"], "download_init");

var download_delay_time = 10000;
var download_cancelled = false;
var download_seconds = 11;
var download_href = "";
var download_text = "";

function download_init()
{
	$("#favourite_link, #subscribe_link").bind("click", function()
	{
		if (!auth_request_auth())
			return false;

		var pid = $("input[name='pid']").val();
		var what = $(this).attr("rel");

		var result = Ajax.post("/subscriptions/toggle_ajax/", {
			'type': "add",
			'what': what,
			'pid': pid
		});

		var success = result.find("success");
		if (!success.length)
			return false;

		$(this).closest("div").hide();
		return false;
	});

	var is64os = navigator.userAgent.indexOf("WOW64") > -1 || window.navigator.platform == "Win64";

	var links = $("div.links a");
	var found = false;
	var temp_href = "";
	var temp_text = "";
	for (var i = 0; i < links.length; i++)
	{
		var link = $("div.links a")[i];
		if (link.innerText.indexOf("ticno.com") > -1)
			continue;

		var is64link = link.innerText.indexOf("64-", 0) > -1;
		if (is64os ^ !is64link)
		{
			found = true;
			download_start(link.href, link.innerText);
			break;
		}
		else
		{
			if (is64os && !is64link && temp_href == "")
			{
				temp_href = link.href;
				temp_text = link.innerText;
			}
		}
	}

	if (!found && temp_href != "" && temp_text != "")
		download_start(temp_href, temp_text);

	$("a.cancel").click(function() {
		download_cancelled = true;
		$('.download_counter')[0].innerHTML = 'Автоматическая загрузка программы «<a target="_blank" href="' + download_href + '">' + download_text + '</a>» была отменена.';
		$('a.cancel').eq(0).css("display", "none");
		return false;
	});
}

function download_start(href, text)
{
	download_href = href;
	download_text = text;
	download_tick();
}

function download_text_seconds(seconds)
{
	var text = 'Автоматическая загрузка программы «<a target="_blank" href="' + download_href + '">' + download_text + '</a>» ';
	switch(seconds)
	{
		case 4:
		case 3:
		case 2:
			return text + 'начнётся через <span class="seconds">' + seconds + '</span> секунды.';
		case 1:
			return text + 'начнётся через <span class="seconds">1</span> секунду.';
		case 0:
			return text + 'началась.';
		default:
			return text + 'начнётся через <span class="seconds">' + seconds + '</span> секунд.';
	}

	return "o_O";
}

function download_tick() {
	download_seconds -= 1;

	if (download_seconds <= 0) {
		if (!download_cancelled)
		{
			$('.download_counter')[0].innerHTML = download_text_seconds(0);
			window.location = download_href;
			//window.open(download_href, download_text);
		}
		return;
	}

	if (!download_cancelled)
	{
		$('.download_counter')[0].innerHTML = download_text_seconds(download_seconds);
		setTimeout("download_tick()", 1000);
	}
}

$(download_init);
