function updateStocks() {
	$.newStocks = {};
	$.ajax({
		type: "GET",
		url: "/stocks.php",
		dataType: "json",
		success: function(data){
			$("[id*=changeI]").each(function(){
				$.changeID = this.id.replace(/changeI/, "");
				if(parseFloat(data[$.changeID].change) > 0) {
					$(this).attr("src", "/img/up.png");
				} else {
					$(this).attr("src", "/img/down.png");
				}
				$(this).attr("title", data[$.changeID].change);
			});
		
			$("[id*=bid]").each(function(i) {
				$.stock = this.id.replace(/bid/, "");
				$.prevStock = fromDKK($(this).html());
				$.newStock = data[$.stock].bid;
				$.changeStock = parseFloat($.prevStock) - parseFloat($.newStock);
				
				$(this).html(toDKK(parseFloat($.newStock)));
				
				if($.changeStock < 0) {
						$(this).effect("highlight", {color:"#00FF00"}, 50000);
					} else if($.changeStock > 0) {
						$(this).effect("highlight", {color:"#FF0000"}, 50000);
					}
			});
			$("[id*=ask]").each(function(i) {
				$.stock = this.id.replace(/ask/, "");
				$.prevStock = fromDKK($(this).html());
				$.newStock = data[$.stock].ask;
				$.changeStock = parseFloat($.prevStock) - parseFloat($.newStock);
				
				$(this).html(toDKK($.newStock));
				
				if($.changeStock < 0) {
						$(this).effect("highlight", {color:"#00FF00"}, 50000);
					} else if($.changeStock > 0) {
						$(this).effect("highlight", {color:"#FF0000"}, 50000);
					}
			});
		}
	});
	updateFortune();
	window.setTimeout("updateStocks();", 60000);
}

function tradeScripts() {
	$(".inactiveIcon").css({opacity: 0.4});
	
	$.buyStock = [];
	$("[id*=buyStock]").each(function(i){
		$.buyStock[i] = this.id.replace(/buyStock/, '');
		$(this).click(function(){
			$.facebox({ajax:'/ajax.php?action=buy&symbol=' + $.buyStock[i]});
		});
	});
	
	$.sellStock = [];
	$(".clickIcon[id*=sell]").each(function(i){
		$.sellStock[i] = this.id.replace(/sell/, '');
		$(this).click(function(){
			$.facebox({ajax:'/ajax.php?action=sell&symbol=' + $.sellStock[i]});
		});
	});
	
	$('.faceboxpop').each(function(){
		$(this).click(function(){
			$.facebox({ajax: '/ajax.php?action=chart&symbol=' + this.id.replace(/chart/, '')});
		});
	});
}

function formReady() {
	$('#amount').focus();
}

function formBuy() {
	faceboxloadingscreen("display");

	$.post('/ajax.php', {action: 'buy', symbol: $('#tradesymbol').val(), pieces: $('#pieces').val() }, function(data){
		if(data == "ok") {
			var theSymbol = $('#tradesymbol').val();
			var theID = "[id=sell" + theSymbol + "]";
			$(theID).removeClass("inactiveIcon");
			$(theID).addClass("clickIcon")
			$(theID).animate({opacity:1}, 2000);
			$(theID).unbind("click");
			$(theID).click(function(){
				$.facebox({ajax:'/ajax.php?action=sell&symbol=' + theSymbol});
			});

			jQuery(document).trigger('close.facebox');
			updateBalance();
		} else {
			alert(data);
	      	faceboxloadingscreen("hide");
		}
	});
}

function formSell() {
	if(parseInt($("#pieces").val()) > parseInt($("#trademax").val())) {
		alert("Du har har ikke " + $('#pieces').val() + " aktier");
	} else {
		faceboxloadingscreen("display");
		$.post('/ajax.php', {action: 'sell', symbol: $('#tradesymbol').val(), pieces: $('#pieces').val()}, function(data){
			if(data == "ok" || data == "nomore") {
				if(data == "nomore") {
					var theID = "[id=sell" + $('#tradesymbol').val() + "]";
					$(theID).removeClass("clickIcon");
					$(theID).addClass("inactiveIcon");
					$(theID).animate({opacity:0.4}, 2000);
				}
				
				jQuery(document).trigger('close.facebox');
				updateBalance();
			} else {
				alert(data);
				faceboxloadingscreen("hide");
			}
		});
	}
}

function formCalc(active, form) {
	price = $('#tradeprice').val();
	
	if(active == "amount") {
		amount = $('#amount').val();
		amount -= amount * 0.0015;
		pieces = Math.floor(amount / price);
		$('#pieces').val(pieces);
	}
	
	if(active == "pieces") {
		$('#amount').val('');
		pieces = Math.floor($('#pieces').val());
	}

	$('#pieces').val(pieces);
	tradetotal = pieces * price;
	
	/*
	if(price < 100) {
		kurtage = 100 * 0.0015 * pieces;
	} else {
		kurtage = tradetotal * 0.0015;
	}
	*/
	
	kurtage = tradetotal * 0.0015;

	if(kurtage > 50) {
		if(form == "buy") {tradetotal += kurtage;} else { tradetotal -= kurtage; }
		$('#kurtage').val(toDKK(kurtage));
	} else {
		if(form == "buy") {tradetotal += 50;} else { tradetotal -= kurtage; }
		$('#kurtage').val(toDKK(50));
	}
	
	$('#tradetotal').val(toDKK(tradetotal));
}

function faceboxloadingscreen(todo) {
	if(todo == "display") {
		$('#facebox .content').hide();
	    $('#facebox .body').children().hide().end()
		.append('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>');
	} else if(todo == "hide"){
		$('#facebox .loading').remove()
		$('#facebox .content').show();
	}
}

function updateBalance() {
	$('#balance').load('/ajax.php?action=balance');
	$('#balance').effect('highlight', 10000);
}

function updateFortune() {
	$('#fortune').html("<img src='/inc/facebox/loading.gif' />");
	$('#fortune').load('/ajax.php?action=fortune');
}

function chartview(view, symbol, time) {
	$('#chartview a.active').attr('class', '');
	$(view).attr('class', 'active');
	$('#chartimage').attr('src', 'http://chart.finance.yahoo.com/z?s=' + symbol + '&t=' + time + '&z=l');
}

function toDKK(value) {
	var num = new NumberFormat();
	num.setInputDecimal('.');
	num.setNumber(value);
	num.setPlaces('2', false);
	num.setCurrencyValue(' kr.');
	num.setCurrency(false);
	num.setCurrencyPosition(num.RIGHT_OUTSIDE);
	num.setNegativeFormat(num.LEFT_DASH);
	num.setNegativeRed(false);
	num.setSeparators(true, '.', ',');
	return num.toFormatted();	
}

function fromDKK(value) {
	var num = new NumberFormat();
	num.setInputDecimal(',');
	num.setNumber(value);
	num.setPlaces('2', false);
	num.setCurrencyValue(' kr.');
	num.setCurrency(false);
	num.setCurrencyPosition(num.RIGHT_OUTSIDE);
	num.setNegativeFormat(num.LEFT_DASH);
	num.setNegativeRed(false);
	num.setSeparators(false, ',', ',');
	return num.toFormatted();
}

