var _highlight = 1;

function showLoadingMessage() {
	ddrivetip('<IMG class="flag" src="images/loading.gif" border="0">',450);
}

function showSavingMessage() {
	ddrivetip('<IMG class="flag" src="images/loading.gif" border="0">',450);
}

// helper for SMILEY insertion
function insertText(textArea, strInsert) {
	startTag = '';
	endTag = '';
	var element = document.getElementById(textArea);
	if (element.createTextRange) {
		var text;
		element.focus(element.caretPos);
		element.caretPos = document.selection.createRange().duplicate();
		if(element.caretPos.text.length > 0) {
			element.caretPos.text = startTag + element.caretPos.text + endTag;
		} else {
			element.caretPos.text = startTag + " " + strInsert + " " + endTag;
		}
	} else { 
		element.value += startTag + strInsert + endTag;
	}
}


function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}


function getScrollX() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfX = document.documentElement.scrollLeft;
	}
	return scrOfX;
}

function getScrollY() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
	}
	return scrOfY;
}

function getX(evt) {
	var img_x;
	if (document.all) {          // MSIE
		img_x = evt.offsetX;
	} else {                    // Netscape, etc.
		img_x = evt.clientX;
		for (var offMark = evt.target; offMark; offMark = offMark.offsetParent) {
			img_x -= offMark.offsetLeft;
		}
		img_x = img_x + getScrollX();
	}
	return Math.floor(img_x / _delta);
}

function getY(evt) {
	var img_y;
	if (document.all) {          // MSIE
		img_y = evt.offsetY;
	} else {                    // Netscape, etc.
		img_y = evt.clientY;
		for (var offMark = evt.target; offMark; offMark = offMark.offsetParent) {
			img_y -= offMark.offsetTop;
		}
		img_y = img_y + getScrollY();
	}
	return Math.floor(img_y / _delta);
}

function getXTemp(evt) {
	var tempOffsetX = 160;
	var img_x;
	if (document.all) {
		img_x = evt.x;
	} else { 
		img_x = evt.clientX;
	}
	img_x = img_x + getScrollX();
	img_x = img_x - tempOffsetX;
	return Math.floor(img_x / _delta);
}

function getYTemp(evt) {
	var tempOffsetY = 65;
	var img_y;
	if (document.all) {
		img_y = evt.y;
	} else { 
		img_y = evt.clientY;
	}
	img_y = img_y + getScrollY();
	img_y = img_y - tempOffsetY;
	return Math.floor(img_y / _delta);
}

function highlightFieldOnStartup(x,y) {
	// calculate the screen coordinates from the x/y field coordinates given
	var img_x = (x * _delta) + _imageBorder;
	var img_y = (y * _delta) + _imageBorder;
	
	// close the news
	xajax_getNews('close');
	
	// position the tooltip
	positiontipXY(img_x,img_y);
	
	// hide the floatie (menu etc.) if necessary
	hidefloatie();
	
	// show the loading message in the popup window
	showLoadingMessage();

	// adjust the overview rectangle
	var el = document.getElementById("ovMapRectangle");
	el.style.left = img_x+"px";
    el.style.top = img_y+"px";
	el.style.width = 14;
	el.style.height = 14;
	
	//openFixed = 1;
	//MouseXfixed = img_x;
	//MouseYfixed = img_y;
	
	// get the content of the field
	xajax_getField(x,y);
}

function dblClick(evt) {
	hideddrivetip();
	var mx = getXTemp(evt);
	var my = getYTemp(evt);
	if ((mx >= 2) && (mx < 55) && (my >= 2) && (my < 40)) {
		var id = mx+":"+my;
		xajax_getFan(id,'dblClick');
	}
}

function zoomToPointOnMap(evt) {
	//_highlight = 1;
	//highlightField(evt);
	//_highlight = 0;
	//var img_x = getXTemp(evt) + 1;
	//var img_y = getYTemp(evt) + 1;
	
	xajax_getNews('close');
	positiontip(evt);
	showLoadingMessage();
	
	var mx = getXTemp(evt);
	var my = getYTemp(evt);
	if ((mx >= 0) && (mx < 57) && (my >= 0) && (my < 42)) {
		if ((mx <= 1) || (mx >= 55) || (my <= 1) || (my >= 40)) {
			mx = (Math.floor(mx / _imageBorder)) + 1;
			my = (Math.floor(my / _imageBorder)) + 1;
			//alert(eval(mx+""+my));
			/*
			if (mx == 0) {
				mx = 1;
			}
			if (my == 0) {
				my = 1;
			}
			if (mx % 2 == 0) {
				mx = (mx + 1);
			}
			if (my % 2 == 0) {
				my = (my + 1);
			}
			*/
			if (mx == 29) {
				mx = 28;
			}
			xajax_getCommercial(mx,my);
		} else {
			xajax_getField(mx,my);
		}
	}
}	

function highlightField(evt) {
	var mx = (ns6)?event.pageX : event.clientX+ietruebody().scrollLeft;
	var my = (ns6)?event.pageY : event.clientY+ietruebody().scrollTop;
	var el = document.getElementById("ovMapRectangle");
	var ovmap = document.getElementById("overview_map");
	//ovmap.style.cursor = "crosshair";
	var mx = getX(evt);
	mx2 = mx * _delta;
	var my = getY(evt);
	my2 = my * _delta;
	if ((mx >= 0) && (mx < 56) && (my >= 0) && (my < 41)) {
		if ((mx > 1) && (mx < 55) && (my > 1) && (my < 40)) {
			el.style.width = 14;
			el.style.height = 14;
			el.style.left = mx2+"px";
			el.style.top = my2+"px";
			el.style.display = "block";
		} else {
			if (mx == 1) {
				mx2 = 0;
			}
			if (my == 1) {
				my2 = 0;
			}
			if (mx % 2 != 0) {
				mx2 = (mx - 1) * _delta;
			}
			if (my % 2 != 0) {
				my2 = (my - 1) * _delta;
			}
			if (mx == 55) {
				mx2 = 55 * _delta;
			}
			if (my == 39) {
				my2 = 40 * _delta;
			}
			el.style.width = 28;
			el.style.height = 28;
			el.style.left = mx2+"px";
			el.style.top = my2+"px";
			el.style.display = "block";
		}
	}
}

function resizeBrowser() {
	//if (window.resizeTo) self.resizeTo(1040,880);
}

function selectCountry($form,$code) {
	if ($form) {
		for ($i=0; $i<eval($form+'.length'); $i++) {
			if (eval($form+'.options[$i].text') == $code) {
				$element = eval($form+'.options[$i]');
				$element.selected = true;
				document.countryForm.country_long.value=document.countryForm.country.options[document.countryForm.country.selectedIndex].text;
				xajax_getCountryInfo(xajax.getFormValues('countryForm'));
			}
		}
	}
}