/**
 * 
 * Manager's Life JavaScript
 * (c) 2009 by www.managerslife.de
 * 
 * written by agrafix.net
 * needs mootools library
 */

/**
 * Update UserData in Top Bar
 */
function UpdateUserData() {	
	var ajax = new Ajax("ajax_api.php?type=ingame&screen=update_userdata", { 
		update: $('user_updater'),
		method: 'get',
		onComplete: function() {
			var UsUp = $('user_updater').innerHTML;
			var parts = UsUp.split("|");
			
			$('user_level').setHTML(parts[0]);
			$('user_cash').setHTML(parts[1]);
			$('user_reputation').setHTML(parts[2]);
		}
	});
	
	ajax.request();
}

/**
 * Update CompanyData in Top Bar
 */
function UpdateCompanyData() {
	var fx1 = new Fx.Styles($('company_cash'), {
		duration: 1500,
		wait: false,
		transition: Fx.Transitions.Quad.easeOut
	});
	
	var fx2 = new Fx.Styles($('company_stock'), {
		duration: 1500,
		wait: false,
		transition: Fx.Transitions.Quad.easeOut
	});
	
	var ajax = new Ajax("ajax_api.php?type=ingame&screen=update_company", { 
		update: $('company_updater'),
		method: 'get',
		onComplete: function() {
			var UsUp = $('company_updater').innerHTML;
			var parts = UsUp.split("|");
			
			$('company_cash').setHTML(parts[0]);
			$('company_stock').setHTML(parts[1]);
			
			fx1.start({
				'background-color': ['#fff36f', '#fff'],
				'color': ['#00f','#000']
			});
			
			fx2.start({
				'background-color': ['#fff36f', '#fff'],
				'color': ['#00f','#000']
			});
		}
	});
	
	ajax.request();
}

/**
 * Update StockData
 */
function UpdateStockData() {	
	var ajax = new Ajax("ajax_api.php?type=ingame&screen=update_stocks", { 
		update: $('stock_update'),
		method: 'get',
		onComplete: function() {
			var UsUp = $('stock_update').innerHTML;
			var parts = UsUp.split("|");
			
			for (var i = 1;i<=9;i++) {
				$('current_stock_' + i).setHTML(parts[i]);
				LightUp('current_stock_' + i);
			}
		}
	});
	
	ajax.request();
}

/**
 * Light up an element
 */
function LightUp(id) {
	var fx = new Fx.Styles($(id), {
		duration: 1500,
		wait: false,
		transition: Fx.Transitions.Quad.easeOut
	});
	fx.start({
		'background-color': ['#fff36f', '#fff'],
		'color': ['#00f','#000']
	});
}

/**
 * Make hidden element slide in
 */
function SlideIn(id) {
	var TheSlide = new Fx.Slide(id);
	TheSlide.hide();
	TheSlide.toggle();
}

/**
 * Buy an item
 */
function BuyItem(itemID, buyButtonId) {
	var ajax = new Ajax("ajax_api.php?type=ingame&screen=buy_item&id=" + itemID, {
		method: 'get',
		onComplete: function(response) {
			var output = $('ajax_responder');
			
			output.removeClass('ajax_loader');
			output.removeClass('red_box');
			output.removeClass('green_box');
			
			var handled = false;
			
			var parts = response.split("|");
			
			if (parts[0] == "ok") {
				output.empty().addClass('green_box').setHTML("<h2>Einkauf erfolgreich</h2><p>" + parts[1] + "</p>");
				UpdateUserData();
				handled = true;
			}
			if (parts[0] == "error") {
				output.empty().addClass('red_box').setHTML("<h2>Fehler beim Kauf</h2><p>" + parts[1] + "</p>");
				handled = true;
			}
			
			if (!handled) {
				output.empty().addClass('red_box').setHTML("<h2>Interner Fehler</h2><p>Probiere es später nochmal.</p>");
			}
			
			SlideIn('ajax_responder');
		}
	});
	
	ajax.request();
}

/**
 * Throw away Item
 */
function ThrowAwayItem(itemID) {
	var ajax = new Ajax("ajax_api.php?type=ingame&screen=delete_item&id=" + itemID, {
		method: 'get',
		onComplete: function(response) {
			var output = $('ajax_responder');
			
			output.removeClass('ajax_loader');
			output.removeClass('red_box');
			output.removeClass('green_box');
			var handled = false;
			
			var parts = response.split("|");
			
			if (parts[0] == "ok") {
				output.empty().addClass('green_box').setHTML("<h2>Item weggeworfen</h2><p>" + parts[1] + "</p>");
				UpdateUserData();
				$('item_' + itemID).remove();
				handled = true;
			}
			if (parts[0] == "error") {
				output.empty().addClass('red_box').setHTML("<h2>Fehler beim Wegwerfen</h2><p>" + parts[1] + "</p>");
				handled = true;
			}
			
			if (!handled) {
				output.empty().addClass('red_box').setHTML("<h2>Interner Fehler</h2><p>Probiere es später nochmal.</p>");
			}
			
			SlideIn('ajax_responder');
		}
	});
	
	if (confirm("Bist du dir sicher, dass du dieses Item Wegwerfen willst?")) {
		ajax.request();
	}
}

/**
 * Buy Item from market
 */
function MarketBuy(itemID) {
	var ajax = new Ajax("ajax_api.php?type=ingame&screen=market_buy&id=" + itemID, {
		method: 'get',
		onComplete: function(response) {
			var output = $('ajax_responder');
			
			output.removeClass('ajax_loader');
			output.removeClass('red_box');
			output.removeClass('green_box');
			var handled = false;
			
			var parts = response.split("|");
			
			if (parts[0] == "ok") {
				output.empty().addClass('green_box').setHTML("<h2>Item gekauft</h2><p>" + parts[1] + "</p>");
				UpdateUserData();
				$('mymarket_' + itemID).remove();
				handled = true;
			}
			if (parts[0] == "error") {
				output.empty().addClass('red_box').setHTML("<h2>Fehler beim Kauf</h2><p>" + parts[1] + "</p>");
				handled = true;
			}
			
			if (!handled) {
				output.empty().addClass('red_box').setHTML("<h2>Interner Fehler</h2><p>Probiere es später nochmal.</p>");
			}
			
			SlideIn('ajax_responder');
		}
	});
	
	ajax.request();
}

/**
 * Logoff User
 */
function UserLogoff() {
	var ajax = new Ajax("ajax_api.php?type=logoff", {
		method: 'get',
		onComplete: function(response) {
			window.location.replace('index.php');
		}
	});
	
	ajax.request();
}

/**
 * WorkHandler
 */
function WorkDo() {
	$('workForm').addEvent('submit', function(e) {
		new Event(e).stop();
	 
		var output = $('ajax_responder').empty().removeClass('green_box').removeClass('red_box').addClass('ajax_loader');
	 
		this.send({
			onComplete: function(response) {
				output.removeClass('ajax_loader');
				var handled = false;
				
				var parts = response.split("|");
				
				if (parts[0] == "ok") {
					output.empty().addClass('green_box').setHTML("<h2>Du bist auf dem Weg zur Arbeit...</h2><p>" + parts[1] + "</p>");
					UpdateUserData();
					$('goWorkButton').disabled = true;
					handled = true;
				}
				if (parts[0] == "error") {
					output.empty().addClass('red_box').setHTML("<h2>Dein Auto ist nicht angesprungen</h2><p>" + parts[1] + "</p>");
					handled = true;
				}
				
				if (!handled) {
					output.empty().addClass('red_box').setHTML("<h2>Interner Fehler</h2><p>Probiere es später nochmal.</p>");
				}
				
				SlideIn('ajax_responder');
			}
		});
	});
}

/**
 * BankHandler
 */
function BankDo() {
	$('interestForm').addEvent('submit', function(e) {
		new Event(e).stop();
	 
		var output = $('ajax_responder').empty().removeClass('green_box').removeClass('red_box').addClass('ajax_loader');
	 
		this.send({
			onComplete: function(response) {
				output.removeClass('ajax_loader');
				var handled = false;
				
				var parts = response.split("|");
				
				if (parts[0] == "ok") {
					output.empty().addClass('green_box').setHTML("<h2>Deine Anlage wurde getätigt</h2><p>" + parts[1] + "</p>");
					UpdateUserData();
					
					var newTR = new Element('tr');
					var newTD = new Element('td');
					newTD.setText(parts[2]);
					newTR.adopt(newTD);
					
					var newTD2 = new Element('td');
					newTD2.setText(parts[3]);
					newTR.adopt(newTD2);
					
					$('interestTable').adopt(newTR);
					handled = true;
				}
				if (parts[0] == "error") {
					output.empty().addClass('red_box').setHTML("<h2>Fehler beim tätigen deiner Anlage</h2><p>" + parts[1] + "</p>");
					handled = true;
				}
				
				if (!handled) {
					output.empty().addClass('red_box').setHTML("<h2>Interner Fehler</h2><p>Probiere es später nochmal.</p>");
				}
				
				SlideIn('ajax_responder');
			}
		});
	});
}

/**
 * MessageHandler
 */
function MessageDo() {
	$('messageForm').addEvent('submit', function(e) {
		new Event(e).stop();
	 
		var output = $('ajax_responder').empty().removeClass('green_box').removeClass('red_box').addClass('ajax_loader');
	 
		this.send({
			onComplete: function(response) {
				output.removeClass('ajax_loader');
				var handled = false;
				
				var parts = response.split("|");
				
				if (parts[0] == "ok") {
					output.empty().addClass('green_box').setHTML("<h2>Nachricht verschickt</h2><p>" + parts[1] + "</p>");
					$('reciever').empty();
					$('subject').empty();
					$('message').empty();
					handled = true;
				}
				if (parts[0] == "error") {
					output.empty().addClass('red_box').setHTML("<h2>Fehler beim Verschicken</h2><p>" + parts[1] + "</p>");
					handled = true;
				}
				
				if (!handled) {
					output.empty().addClass('red_box').setHTML("<h2>Interner Fehler</h2><p>Probiere es später nochmal.</p>");
				}
				
				SlideIn('ajax_responder');
			}
		});
	});
}

/**
 * SettingsHandler
 */
function SettingsDo(formID) {
	$(formID).addEvent('submit', function(e) {
		new Event(e).stop();
	 
		var output = $('ajax_responder').empty().removeClass('green_box').removeClass('red_box').addClass('ajax_loader');
	 
		this.send({
			onComplete: function(response) {
				output.removeClass('ajax_loader');
				var handled = false;
				
				var parts = response.split("|");
				
				if (parts[0] == "ok") {
					output.empty().addClass('green_box').setHTML("<h2>Änderungen erfolgreich</h2><p>" + parts[1] + "</p>");
					handled = true;
				}
				if (parts[0] == "error") {
					output.empty().addClass('red_box').setHTML("<h2>Fehler beim Ändern</h2><p>" + parts[1] + "</p>");
					handled = true;
				}
				
				if (!handled) {
					output.empty().addClass('red_box').setHTML("<h2>Interner Fehler</h2><p>Probiere es später nochmal.</p>");
				}
				
				SlideIn('ajax_responder');
			}
		});
	});
}

/**
 * Delete Messages
 */
function DeleteMessages() {
	$('messageTable').addEvent('submit', function(e) {
		new Event(e).stop();
	 
		var output = $('ajax_responder').empty().removeClass('green_box').removeClass('red_box').addClass('ajax_loader');
	 
		this.send({
			onComplete: function(response) {
				output.removeClass('ajax_loader');
				var handled = false;
				
				var parts = response.split("|");
				
				if (parts[0] == "ok") {
					output.empty().addClass('green_box').setHTML("<h2>Nachrichten gelöscht</h2><p>" + parts[1] + "</p>");
					
					var ckbox = document.getElementsByName('deleteMessage[]');
					for (i=0;i<ckbox.length;i++) {
						if (ckbox[i].checked) {
							$('msg'+ckbox[i].value).remove();
						}
					}
					
					handled = true;
				}
				if (parts[0] == "error") {
					output.empty().addClass('red_box').setHTML("<h2>Fehler beim Nachrichten löschen</h2><p>" + parts[1] + "</p>");
					handled = true;
				}
				
				if (!handled) {
					output.empty().addClass('red_box').setHTML("<h2>Interner Fehler</h2><p>Probiere es später nochmal.</p>");
				}
				
				SlideIn('ajax_responder');
			}
		});
	});
}

/**
 * Load Mesage
 */
 
function LoadMessage(id, box) {
	var ajax = new Ajax("ajax_api.php?type=ingame&screen=load_message&id="+id+"&box="+box, { 
		update: $('msgct'),
		method: 'get',
		onComplete: function() {
			$('msgpop').setAttribute("style", "display:block;");
			$('msgicon_' + id).src = "images/icons/email_open.png";
			//LightUp('msgpop');
		}
	});
	
	ajax.request();
}

function HideMsgPop() {
	$('msgpop').setAttribute("style", "display:none;");
}

/**
 * Load Map
 */
function LoadMap(x, y) {
	var ajax = new Ajax("ajax_api.php?type=ingame&screen=map&x="+x+"&y="+y, { 
		update: $('map_table'),
		method: 'get',
		onComplete: function() {
			$('map_ajax').setAttribute("style", "display:none;");
		}
	});
	
	$('map_ajax').setAttribute("style", "display:block;");
	ajax.request();
}

function LoadMapInfo(x, y) {
	$('msgpop').setAttribute("style", "display:block;");
	var ajax = new Ajax("ajax_api.php?type=ingame&screen=map_info&x="+x+"&y="+y, { 
		update: $('msgct'),
		method: 'get',
		onComplete: function() {
			$('msgpop').setAttribute("style", "display:block;");
			$('msgicon_' + id).src = "images/icons/email_open.png";
			//LightUp('msgpop');
		}
	});
	
	ajax.request();
}