
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,''); }
String.prototype.tweak = function() { return this.replace(/'/g,"").replace(/\\/g,""); }
String.prototype.br = function() { return this.replace(/\n/g,"<br>"); }

// This is done after page load.
$(document).ready(function() {

	//$("input.maksutapa_radio").click(function() {
	$(".maksutapa > input").live("click", function() {
		MaksutapaValittu(this.value);
		LaskeToimituskulut();
	});

	$("input.toimitustapa_radio").click(function() {
		ToimitustapaValittu(this.value);
		LaskeToimituskulut();
	});

	if ($("input.maksutapa_radio:checked").length == 1) MaksutapaValittu($("input.maksutapa_radio:checked").val());
	if ($("input.toimitustapa_radio:checked").length == 1) ToimitustapaValittu($("input.toimitustapa_radio:checked").val());
	LaskeToimituskulut();

	$("input[name$='postal_code']").live("focusout",function() {

		// Jos vastaanottajan tiedot on näkyvissä, tilaajan postinumeron muuttaminen ei vaikuta toimipisteisiin.
		if ($("input[name='delivery_to_different_address']").attr("checked") && $(this).attr("name") == "billto_postal_code") return;

		// Haetaan edellinen arvo postinumerolle.
		var prev = $("#matkahuolto").data("p");

		// Verrataan nykyiseen arvoon.
		var curr = $(this).val();
		if (prev != curr) HaeToimipisteet();
		$("#matkahuolto").data("p",curr);
	});
	
	// ***

	// Vastaanottajan tiedot näytetään, jos checkbox on rastitettu.
	$("input[name='delivery_to_different_address']").live("click", function() {
		var callback = function() { $("#tilauslomake").expose().fit(); };
		if (this.checked)
		{
			$("#delivery_form").slideDown(callback);
			$("input[name='shipto_postal_code']").focusout();
		}
		else
		{
			$("#delivery_form").slideUp(callback);
			$("input[name='billto_postal_code']").focusout();
		}
	});

	// Ostoskorin muokkaustoiminnot.
	$("#shopping_cart input[type='submit']").live("click", function() {

		var action = $(this).attr("name");

		if (action == "update" || action == "remove")
		{
			var product_tr = $(this).parents("tr");
			var attr_name = product_tr.find("input.field").attr("name");
			var attr_value = product_tr.find("input.field").attr("value");
			
			var params = {};
			eval("params." + action + " = 'true';");
			eval("params._" + attr_name + " = '" + attr_value + "';");
			
			PaivitaOstoskori(params);
		}
		else if (action == "empty")
		{
			var params = { "empty": "true" };
			PaivitaOstoskori(params);
		}
		return false;
	});


	// KAMPANJAKOODIN AKTIVOINTI, alkaa.
	// Tooltip.
	$("#activate_cc").tooltip({
		tip: "#activate_cc_tooltip",
		effect: "slide",
		offset: [25, 0],
		events: { def: 'null, null' }, // Estetään oletus-eventit.
		onShow: function() {
			$("#activate_cc_tooltip").find("#formcode").focus();
		}
	})
	// Tooltip näytetään "aktivoi kampanjakoodi" -linkistä.
	.click(function() {
		$("#activate_cc").tooltip().show();
		return false;
	});
	// Tooltip suljetaan "sulje"-linkistä.
	$("#activate_cc_tooltip a").click(function() {
		$("#activate_cc").tooltip().hide();
		return false;
	});

	// Kampanjakoodin aktivointi Aktivoi-nappulasta tai Enteristä.
	$("#activate_cc_button").click(function() {

		var security_hash = $("#activate_cc_tooltip #cc_security_hash").val();
		var formcode = $.trim($("#activate_cc_tooltip #formcode").val());
		if (formcode == "") return false;

		// Aktivoidaan kampanjakoodi, jonka jälkeen päivitetään ostoskori.
		var params = {
			"security_hash": security_hash,
			"formcode":formcode
		};
		$.post("activate_cc.php", params, function(campaign_data) {
			//SuljeTooltip("#activate_cc");
			$("#activate_cc").tooltip().hide();

			// Slaidataan kampanjan tiedot esille, kun ostoskori on päivitetty.
			PaivitaOstoskori({}, function() {
				$("#info_wrapper_cc").hide().html(campaign_data).slideDown();
			});

		});

	});
	$("#activate_cc_tooltip #formcode").keypress(function(e) {
		if (e.keyCode == 13)
		{
			$("#activate_cc_button").click();
			return false;
		}
	})
	// KAMPANJAKOODIN AKTIVOINTI, päättyy.

	// LAHJAKORTIN AKTIVOINTI, alkaa.
	// Tooltip.
	$("#activate_lk").tooltip({
		tip: "#activate_lk_tooltip",
		effect: "slide",
		offset: [25, 0],
		events: { def: 'null, null' }, // Estetään oletus-eventit.
		onShow: function() {
			$("#activate_lk_tooltip").find(".formcode").focus();
		}
	})
	// Tooltip näytetään "aktivoi lahjakortti" -linkistä.
	.click(function() {
		$("#activate_lk").tooltip().show();
		return false;
	});
	// Tooltip suljetaan "sulje"-linkistä.
	$("#activate_lk_tooltip a").click(function() {
		$("#activate_lk").tooltip().hide();
		return false;
	});

	// Lahjakortin aktivointi Aktivoi-nappulasta tai Enteristä.
	$("#activate_lk_button").click(function() {

		var formcode = $.trim($("#activate_lk_tooltip .formcode").val());
		if (formcode == "") return false;

		// Aktivoidaan lahjakortti, jonka jälkeen päivitetään ostoskori.
		var params = {
			"aktivoi": "jep",
			"lahjakoodi": formcode
		};
		$.post("activate_lk.php", params, function(data) {
			$("#activate_lk").tooltip().hide();

			// Slaidataan lahjakortin viesti esille, kun ostoskori on päivitetty.
			PaivitaOstoskori({}, function() {
				$("#info_wrapper_lk").hide().html(data).slideDown();
			});

		});

	});
	$("#activate_lk_tooltip .formcode").keypress(function(e) {
		if (e.keyCode == 13)
		{
			$("#activate_lk_button").click();
			return false;
		}
	});
	// LAHJAKORTIN AKTIVOINTI, päättyy.


	// MAKSUTAPOJEN INFOTEKSTIT, alkaa.
	// Tooltip.
	$("div#maksutavat").tooltip({
		tip: "#info_tooltip",
		effect: "slide",
		offset: [0, 0],
		events: { def: 'null, null' } // Estetään oletus-eventit.
	});
	// Tooltip näytetään "info" -linkin klikkauksesta.
	$("div.maksutapa a").live("click",function() {
		var info = HaeInfoteksti($(this).parent().find("input").val());

		$("#info_tooltip").hide();
		$("#info_tooltip p").html(info);
		$("div#maksutavat").tooltip().show();
		return false;
	});
	// Tooltip suljetaan "sulje"-linkistä.
	$("#info_tooltip a").click(function() {
		$("div#maksutavat").tooltip().hide();
		return false;
	});
	// MAKSUTAPOJEN INFOTEKSTIT, päättyy.


	// Jatka tilausta -> Avataan tilauslomake.
	$("#open_co_page").click(function() {
		var valinnat_ok = TarkistaValinnat();
		if (!valinnat_ok) return false;

		LataaTilauslomake(AlustaLoginTooltip);
		return false;
	});

	// Takaisin -> Lukitaan tilauslomake ja avataan muut valinnat.
	$("#close_co_page").live("click",function() {
		$("#login_link").tooltip().hide();
		
		$("#tilauslomake").expose().close();
		
		SumennaTilauslomake();
	});

	$("#goto_submit_order").live("click",function() {
		// 2010-05-04 - IE-bugin fixaus.
		//if ($("select[name='mhtoimipiste']").length && ($("select[name='mhtoimipiste']").val().trim() == "" || $("select[name='mhtoimipiste']").val() == "Haetaan toimipisteitä..."))
		if ($("select[name='mhtoimipiste']").length && ($("select[name='mhtoimipiste']").find("option:selected").length == 0 || $("select[name='mhtoimipiste']").val() == "---" || $("select[name='mhtoimipiste']").val().trim() == "" || $("select[name='mhtoimipiste']").val() == "Haetaan toimipisteitä..."))
		{
			$("#goto_submit_order").next().html("Valitse matkahuollon toimipiste.")
			.animate({ paddingLeft: "14px" }, 150)
			.animate({ paddingLeft: "0px" }, 150);
			return false;
		}
		
		// Haetaan submit_order.php:lle lähtevän formin data params-olioon.
		var params = {};
		// 2010-05-04 - IE-bugin fixaus: .not("select[name='mhtoimipiste']")
		$("form#submit_order").find(":input").not("#goto_submit_order").not("select[name='mhtoimipiste']").each(function() {
			this.value = this.value.tweak();
			if (this.type != "checkbox" || this.checked) eval("params." + this.name + " = '" + this.value.br() + "';");
		});
		// Suoritetaan tarkistukset.
		$.post("so.php",params,function(error) {
			$("#goto_submit_order").next().html(error)
			.animate({ paddingLeft: "14px" }, 150)
			.animate({ paddingLeft: "0px" }, 150);
			
			if (error == "") $("form#submit_order").submit();
		});
		return false;
	});

	// Alustetaan tilauslomakkeen korostus.
	$("#tilauslomake").expose({
		opacity: 0.5,
		closeOnClick: false,
		closeOnEsc: false,
		color: 'lightblue',
		api: true,
		loadSpeed: 300
	});

	SumennaTilauslomake();

	//AlustaLoginTooltip();

	// ***

});

function SumennaTilauslomake()
{
	var t = $("#tilauslomake");
	var css = {
		display: 'block',
		position: 'absolute',
		// tilauslomake.position on relative
		// top: t.offset().top, left: t.offset().left,
		top: 0,
		left: 0,
		width: t.outerWidth() - 4,
		height: t.outerHeight() - 4,
		opacity: 0.4,
		backgroundColor: 'lightblue'
	};
	$("#tilauslomake_mask").css(css).click(function() {
		var ok = TarkistaValinnat();
		if (!ok) $.scrollTo("#form_for_co",400);
		//var info = $("#open_co_page").next();
		//if ($.trim(info.text()) == "")
		else
		{
			$("#open_co_page").click();
		}
	});
}

function PaivitaOstoskori(params, callback)
{
	params.ajax_call = "true";
	//params.delivery_location = $("select[name='delivery_location']").val();
	$.post("sc.php",params,function(data) {
		$("#shopping_cart").html(data);
		LaskeToimituskulut();

		//var osamaksu = $("#osamaksu");
		//var display = (osamaksu.length) ? osamaksu.find("#osamaksu_maksuajat").css("display") : "none";

		var d = 0;
		//if ($("#osamaksu #osamaksu_maksuajat").length) d = 2;
		if ($("#osamaksu #osamaksu_maksuajat").css("display") == "block") d = 2;
		else if ($("#osamaksu").length) d = 1;
		
		$.post("osamaksu.php",{ajax_call:true, display:d},function(data) {

			if (data)
			{
				// Päivitetään / näytetään osamaksu-vaihtoehto.
				if (d > 0) $("#osamaksu").replaceWith(data);
				else
				{
					$("#maksutavat").append(data);
					$("#osamaksu").slideDown(200);
				}
			}
			else
			{
				// Piilotetaan osamaksu-vaihtoehto.
				if (d > 0) $("#osamaksu").slideUp(200, function() { $(this).remove(); });
			}
		});

		if (callback) callback();
	});
}

function LaskeToimituskulut()
{
	if ($("input.maksutapa_radio:checked").length == 1 && $("input.toimitustapa_radio:checked").length == 1)
	{
		var parameters = {
			payment_method : $("input.maksutapa_radio:checked").val(),
			delivery_location : $("input.toimitustapa_radio:checked").val()
		}

		$.post("calc_delivery_cost.php", parameters, function(data) {
			$("#toimituskulut").html(data)
				.animate({ paddingLeft: "14px" }, 150)
				.animate({ paddingLeft: "0px" }, 150);
		});
	}
}


function LataaTilauslomake(callback, p)
{
	// Muodostetaan parametrit.
	var payment_method = $("input.maksutapa_radio:checked").val();
	var delivery_location = $("input.toimitustapa_radio:checked").val();
	var accept_terms_and_conditions = $("input[name='accept_terms_and_conditions']").val();
	var tax1 = $("input[name='tax1']").val();
	var tax2 = $("input[name='tax2']").val();
	var maksuaika = $("input[name='maksuaika']:checked").val();
	var security_hash = $("input[name='security_hash']").val();
	var params = {
		'delivery_location': delivery_location,
		'payment_method': payment_method,
		'accept_terms_and_conditions': accept_terms_and_conditions,
		'security_hash': security_hash,
		'tax1': tax1,
		'tax2': tax2,
		'maksuaika': maksuaika
	};
	if ($.isPlainObject(p)) $.extend(params,p);

	// Viedään myös tilauslomakkeen kentät.
	// 2010-05-04 - IE-bugin fixaus: .not("select[name='mhtoimipiste']")
	$("form#submit_order").find(":input").not("#goto_submit_order").not("select[name='mhtoimipiste']").each(function() {
		this.value = this.value.tweak();
		if (this.type != "checkbox" || this.checked) eval("params.form_" + this.name + " = '" + this.value.br() + "';");
	});
	//console.log(params);

	// Viedään myös tieto siitä, onko "Toimitus eri osoitteeseen" rastitettu.
	if ($("input[name='delivery_to_different_address']:checked").length) params.delivery_to_different_address = "yes";

	$.post("co.php", params, function(data) {
		// Tilauslomakkeen korostaminen ja muun sisällön inaktivointi.
		$("#tilauslomake_mask").fadeOut(200,function() {
			$("#tilauslomake").html(data);

			HaeToimipisteet();

			if (callback) callback();

			$("#tilauslomake").expose().fit();
			$("#tilauslomake").expose().load();
		});
	});
}

function HaeToimipisteet() {

	//console.log("HaeToimipisteet");
	
	var type = ($("input[name='delivery_to_different_address']").attr("checked")) ? "shipto" : "billto";
	var postal_code = $("input[name='" + type + "_postal_code']").val().trim();
	var street_address = $("input[name='" + type + "street_line_1']").val();
	var city = $("input[name='" + type + "_city']").val();

	// Apumuuttuja, jossa pidetään edellisen postinumeron arvo.
	if (!$("#matkahuolto").data("p")) $("#matkahuolto").data("p",postal_code);

	if (/^[0-9]{5}$/.test(postal_code))
	{
		var params = {
			postal_code: postal_code,
			street_address: street_address,
			city: city
		};
		//$("#matkahuolto select").html("<option>&nbsp;</option>");
		$("#matkahuolto select").html("<option>Haetaan toimipisteitä...</option>");
		$.post("matkahuolto.php",params,function(data) {
			//var result = $("result", data);
			//if (result.length) $("#matkahuolto").html(result.html());
			if (data)
			{
				$("#matkahuolto select").html(data);
				$("#matkahuolto .ajax_message").html("&nbsp;");
			}
			else
			{
				$("#matkahuolto select").html("<option>---</option>");
				$("#matkahuolto .ajax_message").html("Matkahuollon toimipisteitä ei löytynyt.");
			}
		});
	}
	else
	{
		//var t = (type == "billto") ? "tilaajan" : "vastaanottajan";
		//$("#matkahuolto .ajax_message").html("Syötä " + t + " postinumero muodossa 12345.");
		$("#matkahuolto .ajax_message").html("Syötä postinumero muodossa 12345.");
		$("#matkahuolto select").html("<option>---</option>");
	}
	
}

function TarkistaValinnat()
{
	var error = null;
	if ($("input.maksutapa_radio:checked").length != 1)
	{
		error = "Valitse maksutapa.";
	}
	else if ($("input.toimitustapa_radio:checked").length != 1)
	{
		error = "Valitse toimitustapa.";
	}
	else if ($("#toimituskulut").text() == "Valitse jokin toinen maksutapa tai toimituskohde." || $("#toimituskulut").text() == "Ostoskori on tyhjä.")
	{
		error = $("#toimituskulut").text();
	}
	else if ($("input[name='accept_terms_and_conditions']:checked").length != 1)
	{
		error = "Hyväksy toimitusehdot.";
	}
	else if ($("#osamaksu .maksutapa_radio:checked").length && $("#osamaksu_maksuajat input:checked").length == 0)
	{
		error = "Valitse osamaksutilauksen maksuaika.";
	}

	if (error)
	{
		$("#open_co_page").next().text(error)
			.animate({ paddingLeft: "14px" }, 150)
			.animate({ paddingLeft: "0px" }, 150);
		
		return false;
	}

	$("#open_co_page").next().text("");
	return true;
}


function MaksutapaValittu(valinta)
{
	if (valinta == 'Osamaksu')
	{
		$("#osamaksu_maksuajat").slideDown(200).find("input").attr("disabled",false);
		//radiobuttons = document.getElementsByName("maksuaika");
		//for (var i = 0; i < radiobuttons.length; i++) radiobuttons[i].disabled = false;
	}
	else
	{
		$("#osamaksu_maksuajat").slideUp(200).find("input").attr({ "disabled":true, "checked":false });
		//radiobuttons = document.getElementsByName("maksuaika");
		//for (var i = 0; i < radiobuttons.length; i++) radiobuttons[i].disabled = true;
	}

	var ehdot_div = document.getElementById("ehdot");
	if (valinta == 'Lasku')
	{
		ehdot_div.innerHTML = ' Hyväksyn <a href="toimitusehdot.php">toimitusehdot</a> ja <a href="#" onclick="window.open(\'https://www.kreditor.se/villkor_fi.yaws?eid=2687&charge=3,50\',\'villkor\',\'width=300,height=370,scrollbars=no\');">Laskulla-palvelun ostoehdot</a>';
	}
	else if (valinta == 'Osamaksu')
	{
		ehdot_div.innerHTML = ' Hyväksyn <a href="toimitusehdot.php">toimitusehdot</a> ja Osamaksulla-palvelun <A href="http://www.klarna.com/osamaksulla_tiliehdot.pdf" target="_blank">osto- ja tiliehdot</A>';
	}
	else
	{
		ehdot_div.innerHTML = ' Hyväksyn <a href="toimitusehdot.php">toimitusehdot</a>';
	}

	if (valinta == "Käteinen")
	{
		document.getElementById('toimitusnouto').checked=true;
		ToimitustapaValittu('Nouto');
	}
	
}

function ToimitustapaValittu(valinta)
{
	var toimitustavat = [
		'Keltainen kuljetus 21',
		'Keltainen kuljetus 14',
		'Posti',
		'Nouto',
		'Matkahuollon Lähellä-paketti'
	];
	var infotekstit = [
		'Keltainen kuljetus 21 paketti toimitetaan sovittuna aikana (ilta-aikaan) asiakkaan kotiovelle. <b>Muista ilmoittaa tilauslomakkeella puhelinnumerosi, jotta postin henkilökunta voi ottaa yhteyttä ja sopia teille sopivan toimitusajankohdan.</b>',
		'Keltainen kuljetus 14 paketti toimitetaan perille asti ennen klo 14, eli se soveltuu yleensä parhaiten päiväkotien ja yritysten toimitustavaksi.',
		'Toimitamme tilauksesi edullisimmalla mahdollisella tavalla kirjeenä tai postipakettina.',
		'Nouto tapahtuu Lelutalon Äänekosken noutopisteestä osoitteesta Torikatu 3 b',
		'Toimitus valitsemaasi Siwaan, Valintataloon tai Euromarketiin.'
	];
	var infoteksti_div = document.getElementById("toimitustapa_info");
	//var index = maksutavat.indexOf(valinta); // ei toimi IE:ssä.
	var index = -1;
	for (var i = 0 ; i < toimitustavat.length ; i++)
	{
		if (toimitustavat[i] == valinta)
		{
			index = i;
			break;
		}
	}
	if (index != -1) infoteksti_div.innerHTML = infotekstit[index];

}

function HaeInfoteksti(maksutapa)
{
	var maksutavat = [
		'Nordean e-maksu',
		'Osuuspankin verkkomaksupainike',
		'Sampo Pankin Verkkomaksu',
		'Tapiolan verkkomaksu',
		'Luottokortti, SSL',
		'Ennakkomaksu, tilisiirto',
		'Lasku',
		'Osamaksu',
		'Käteinen'
	];
	var infotekstit = [
		'Voit maksaa suoraan pankkitililtäsi pankkitunnuksillasi.',
		'Voit maksaa suoraan pankkitililtäsi pankkitunnuksillasi.',
		'Voit maksaa suoraan pankkitililtäsi pankkitunnuksillasi.',
		'Voit maksaa suoraan pankkitililtäsi pankkitunnuksillasi.',
		'Luottokortin tiedot lähetetään SSL-suojatussa yhteydessä Luottokunnan Digitaalinen maksupääte -palveluun. Luottokunnan palvelu varmentaa maksun, eikä luottokorttinne tiedot tule meidän järjestelmäämme missään vaiheessa. Emme siis myöskään tallenna luottokorttinne numeroa palvelimellemme.',
		'Huomioittehan, että toimitamme tilauksen kun suoritus näkyy tilillämme. Maksusuorituksen siirtymiseen menee normaalisti 1-3 pankkipäivää.',
		//'<strong>Heinäkuun aikana ennakkomaksutilauksissa saattaa olla huomattavia viiveitä kesälomista johtuen. Jos haluat saada tilauksesi kesän aikanakin nopeasti, valitse jokin toinen maksutapa!</strong>',
		'Yksityishenkilöille ja yrityksille. Laskutuslisä on 3,50&nbsp;&euro;. Laskulla maksat helposti ja turvallisesti sitten kun tilauksesi on kotonasi. Maksuaika on 14 päivää. Maksumuistutuksesta veloitetaan voimassa olevan lainsäädännön mukainen muistutusmaksu, alkaen 5&nbsp;&euro; sekä kulloinkin voimassa olevan korkolain mukainen viivästyskorko (viitekorko lisättynä 7% lisäkorolla). <b>Luottotiedot tarkistetaan ennen luoton myöntämistä ja toimitus suoritetaan ainoastaan luotonottajan väestö- tai kaupparekisterissä ilmoitettuun postiosoitteeseen.</b> Luottopäätös tehdään heti tilauksen yhteydessä. Luotonantaja on Klarna Finans AB, <a href="http://www.klarna.com/fi" target="_blank">lisätietoja</a>.',
		'Yksityishenkilöille. Voit maksaa ostoksesi myös osissa. Kuukausimaksu sisältää kaikki osamaksuun liittyvät kulut; luoton perustamismaksu, mahdollinen korko, laskutuslisä (3,95&nbsp;&euro;/kk). Kuukausimaksut on laskettu toimitustavan "Posti" mukaan (6,90&nbsp;&euro;). Muut toimitustavat kasvattavat kuukausimaksuja hieman. Osamaksulla-tilausten toimituskuluihin lisätään 4,95 &euro;.<table border="0" cellpadding="2" cellspacing="2"><tr><td valign="top"><p class="smallbasic"><b>Osamaksu</b><br />3 kk<br />6 kk<br />12 kk<br />24 kk<br />36 kk</p></td><td valign="top"><p class="smallbasic"><b>Korko</b><br />0 %<br />0 %<br />0 %<br />9,95 %<br />9,95 % </p></td><td valign="top"><p class="smallbasic"><b>Perustamismaksu</b><br />9,90<br />19,00<br />29,00<br />29,00<br />29,00</p></td></tr></table>Ostokuukausi on maksuvapaa. Velka mukaan lukien perustamismaksu jaetaan tämän jälkeen samansuuruisiksi kuukausieriksi. Luottopäätös tehdään heti tilauksen yhteydessä. Henkilötunnusta ei tallenneta verkkokaupan tietokantaan.<br><br><a href="http://www.klarna.com/osamaksulla_tiliehdot.pdf" target="_blank">Yleiset osamaksuehdot</a><br>Luotonantaja on Klarna Finans AB.',
		'Käteisellä voi maksaa ainoastaan noutotilauksen. Nouto tapahtuu Lelutalon Äänekosken noutopisteestä osoitteesta Torikatu 3 b.'
	];
	var index = -1;
	for (var i = 0 ; i < maksutavat.length ; i++)
	{
		if (maksutavat[i] == maksutapa)
		{
			index = i;
			break;
		}
	}

	return (index == -1) ? "null" : infotekstit[index];
}

function AlustaLoginTooltip()
{
	// KIRJAUTUMISEN TOOLTIP, alkaa.
	// Tooltip.
	$("#login_link").tooltip({
		tip: "#login_tooltip",
		effect: "slide",
		offset: [36, 94],
		events: { def: 'null, null' }, // Estetään oletus-eventit.
		onShow: function() {
			$("#login_tooltip input").eq(1).focus();
		},
		onHide: function() {
			$("#login_tooltip input[name='formpassword']").val("");
			$("#login_tooltip #feedback").html("&nbsp;");
		}
	})
	// Tooltip näytetään "Kirjaudu sisään" -linkistä.
	.click(function() {
		$("#login_link").tooltip().show();
		return false;
	});

	// Bindataan eventit, jos ei vielä tehty.
	if (!$("#login_tooltip").data("bind"))
	{
		// Tooltip suljetaan "sulje"-linkistä.
		$("#login_tooltip a").click(function() {
			$("#login_link").tooltip().hide();
			return false;
		});
	
		// Kirjautuminen Kirjaudu sisään -nappulasta tai Enteristä.
		$("#login_button").click(function() {
	
			var inputs = $("#login_tooltip input");
	
			var security_hash = inputs.eq(0).val();
			var formusername = $.trim(inputs.eq(1).val());
			var formpassword = $.trim(inputs.eq(2).val());
			if (formusername == "" || formpassword == "") return false;
	
			// 
			var params = {
				"security_hash": security_hash,
				"formusername": formusername,
				"formpassword": formpassword
			};
			$.post("ajax_login.php", params, function(data) {
				var result = $("result",data);
				var result_type = result.attr("type");
				if (result_type == "error")
				{
					$("#login_tooltip #feedback").text(result.text());
				}
				else if (result_type == "success")
				{
					params = {ajax_login:"yes"};
					$("#login_link").tooltip().hide();
					LataaTilauslomake(function() {
						var success = "<span>" + result.text() + "</span>";
						$("#login_link").after(success).remove();
					},params);
				}
				
				
			}, "xml");
	
		});
		$("#login_tooltip input.field").keypress(function(e) {
			if (e.keyCode == 13)
			{
				$("#login_button").click();
				return false;
			}
		});

		$("#login_tooltip").data("bind",true);
	}
}
