var selectedItem = null;
var start = 0;
var isSpecial = 0;

function mapClick(x,y){
	var brk = false;
	var field = document.getElementById('field'+x+'-'+y);
	
	if(field.name) var fruit = field.name;
	else if(navigator.appName == 'Netscape' && navigator.userAgent.indexOf("AppleWebKit") < 0) var fruit = field.attributes[3].value;
	else var fruit = field.attributes[2].value;

	if(fruit == 'wood'){ 
		if(!confirm('Unkraut fuer 150 Gold entfernen?')) brk = true;
		else selectedItem = 'get';
	}else if(fruit == 'stone'){ 
		if(!confirm('Stein fuer 250 Gold entfernen?')) brk = true;
		else selectedItem = 'get';
	}else if(selectedItem == 'get'){
		if(!fruit || fruit == 'null' || (field.firstChild && parseInt(field.firstChild.innerHTML) < 100)){
			brk = true;
			if(fruit && fruit != 'null') alert('Feld ist noch nicht fertig');
		}
	}else if(selectedItem == 'kanne'){
		if(!field.firstChild || !field.firstChild.innerHTML || field.firstChild.firstChild.style.backgroundImage) brk = true;
	}else if(!selectedItem){
		brk = true;
		alert('Kein Werkzeug ausgewaehlt!');
	}else if(field.firstChild || parseInt(document.getElementById(selectedItem+'count').innerHTML) <= 0){
		brk = true;
	}
		
	if(!brk){
		var xmlhttp = null; 
		if(window.XMLHttpRequest) xmlhttp = new XMLHttpRequest(); 
		else if (window.ActiveXObject) xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		xmlhttp.open("GET",'/ajax.php?item='+selectedItem+'&x='+x+'&y='+y+'&type='+fruit+'&rand='+Math.floor(Math.random()*1000)+'&isSpecial='+isSpecial,true); 
		xmlhttp.onreadystatechange = function(){ 
			if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
				if(xmlhttp.responseText.length < 11 || xmlhttp.responseText == '1 Goldnugget wurde gefunden!'){
					if(selectedItem == 'get'){
						if(xmlhttp.responseText.length > 11) alert(xmlhttp.responseText);
						if(!document.getElementById(fruit+'count')) location.reload();
						document.getElementById(fruit+'count').innerHTML = parseInt(document.getElementById(fruit+'count').innerHTML)+(xmlhttp.responseText.length > 0 && xmlhttp.responseText.length < 3 ? parseInt(xmlhttp.responseText) : 2);
						field.style.background = '';
						field.removeChild(field.firstChild);
					}else if(selectedItem == 'kanne'){
						field.firstChild.firstChild.style.backgroundImage = "url('http://crazyfarm.de/images/water.png')";
						field.firstChild.firstChild.innerHTML = (parseFloat(field.firstChild.firstChild.innerHTML)+(100-parseFloat(field.firstChild.firstChild.innerHTML))*0.1)+'%';
						field.firstChild.value = Math.floor(new Date().getTime()/1000);
					}else{
						if(xmlhttp.responseText == 0) location.reload();
						document.getElementById(selectedItem+'count').innerHTML = parseInt(document.getElementById(selectedItem+'count').innerHTML)-1;
						field.style.backgroundImage = "url('http://crazyfarm.de/images/"+(isSpecial ? 36 : 50)+"/"+selectedItem+".png')";
						field.name = selectedItem;
						
						if(!isSpecial){
							img = new Image();
							img.src = 'http://crazyfarm.de/images/50/'+selectedItem+'.png';
							if(img.width > 50 || img.height > 50) window.location.reload();
						}
						field.innerHTML = '<div class="'+xmlhttp.responseText+'"'+(!isSpecial && img.width > 50 ?  ' style="z-index:99;height:106px;width:106px;background-image:url(\'http://crazyfarm.de/images/50/'+selectedItem+'.png\')"' : '')+' onmouseover="Tip(\'Fertig in '+getTimeLeft(xmlhttp.responseText*100)+'\')"><div>0%</div></div>';
					}
				}else alert(xmlhttp.responseText);
			}
		} 
		xmlhttp.send(null);
	}
}

function updateMap(){
	++start;
		
	for(var y=0;y < 15;y++) for(var x=0;x < 19;x++){ 
		var e = document.getElementById('field'+x+'-'+y);
		if(e && e.firstChild && e.firstChild.firstChild && e.firstChild.firstChild.innerHTML){
			var time = parseFloat(document.getElementById('field'+x+'-'+y).firstChild.className);
			if(parseFloat(e.firstChild.firstChild.innerHTML) < 100){
				if(Math.floor(start%time) == 0){
					perc = parseInt(e.firstChild.firstChild.innerHTML)+Math.max(1,Math.floor(1/time));
					e.firstChild.firstChild.innerHTML = Math.floor(perc)+'%';
					if(Math.floor(new Date().getTime()/1000)-parseInt(e.firstChild.firstChild.value) > 600) e.firstChild.firstChild.style.backgroundImage = 'none';
				}else perc = parseFloat(e.firstChild.firstChild.innerHTML);
				e.firstChild.onmouseover = new Function('Tip(\'Fertig in '+getTimeLeft((100-perc)*time)+'\');');
			}else{
				e.firstChild.innerHTML = '';
			}
		}
	}
	
	// Brunnen
	var e = document.getElementById('brunnenBar');
	if(e && parseInt(e.style.height) < 100)
		e.style.height = parseInt(e.style.height)+1+'%';
	
	setTimeout('updateMap()',1000);
}

function selectItem(item,cursor){
	if(selectedItem) document.getElementById(selectedItem).className = '';
	if(item) document.getElementById(item).className = 'selected';
	if(cursor){
		if(document.getElementById('cursorImage')) document.getElementById('cursorImage').src = 'http://crazyfarm.de/images/'+(isSpecial ? 36 : 50)+'/'+item+'.png';
		show('cursorImage');
	}else hide('cursorImage');
	selectedItem = item;
}

function imageCursor(e){
	if(!document.getElementById('cursorImage')) return;
	if (document.all) {
    tempX = event.clientX + document.documentElement.scrollLeft;
    tempY = event.clientY + document.documentElement.scrollTop;
  } else {
    tempX = e.pageX;
    tempY = e.pageY;
  }  

	document.getElementById('cursorImage').style.left = (tempX+1)+'px';
	document.getElementById('cursorImage').style.top = (tempY+1)+'px';
}

document.onmousemove = imageCursor;
if(document.captureEvents) {document.captureEvents(Event.MOUSEMOVE);}