var mapArray = new Array(25);
var posArray = new Array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','y','z');
		
for (var j=0;j<=24;j++) {
	mapArray[j] = new Array(posArray[j]+'_01.gif',posArray[j]+'_02.gif',posArray[j]+'_03.gif',posArray[j]+'_04.gif',posArray[j]+'_05.gif',posArray[j]+'_06.gif',posArray[j]+'_07.gif',posArray[j]+'_08.gif',posArray[j]+'_09.gif',posArray[j]+'_10.gif',posArray[j]+'_11.gif',posArray[j]+'_12.gif',posArray[j]+'_13.gif',posArray[j]+'_14.gif',posArray[j]+'_15.gif',posArray[j]+'_16.gif',posArray[j]+'_17.gif',posArray[j]+'_18.gif',posArray[j]+'_19.gif',posArray[j]+'_20.gif',posArray[j]+'_21.gif');
}

function getImgFromCoord(a) {
	var letter = a.substring(0,1);
	var num = Number(a.substring(1,a.length)) -1;
	var pos = 0
	var img
	
	for (var i=0;i<=24;i++) {
		if (posArray[i]==letter) {
			pos = i;	
		}
	}
	
	if (num<=20 && num>1) {
		img = mapArray[pos][num];
	}
	else {
		img = mapArray[0][0];
	}
		
	return img;
}

function getCoord(a) {
	var img = getImgFromCoord(a);
	var	coord = img.substring(0,img.indexOf('.gif'));
	if (coord.indexOf('0')!=-1) {
		coord = coord.substring(0,coord.indexOf('0')) + coord.substring(coord.length-1,coord.length);
	}
	doHide('level1');
	doChangeImg('/images/maps/level3/' + img);
	setZoomout('level1');
	setNavigator(coord);
}

function makeLayer(a,b,c,d) {
	var img = new String();
	var alt = new String();
	var img2 = new String();
	var style = new String('"filter:alpha(opacity=75); -moz-opacity:0.75"');
	var layer = new String("'area1'");
	var layer2 = new String("'level1'");
	var hidden = new String("'hidden'");
	var visible = new String("'visible'");
	var coord = new String();
	var click = new String();
	var mouseover = new String();
	var mouseout = new String();
	var output = String('<table width=505 cellspacing=0 cellpadding=0 border=0><tr><td colspan=12 align=center><a onclick="document.getElementById(' + layer + ').style.visibility=' + hidden + ';document.getElementById(' + layer2 + ').style.visibility=' + visible + ';" href="#"><img src="/images/zoom_out.gif" border=0></a></td></tr><tr><td>&nbsp;</td></tr></table><table width=505 border=1 cellpadding=0 cellspacing=0><tr>');
	var x;
	
	for (var i=c;i<=d;i++) {
		for (var j=a;j<=b;j++) {
			img = '"/images/maps/level2/' + mapArray[j][i] + '"';
			img2 = "'/images/maps/level3/" + mapArray[j][i] + "'";
			x = i + 1;
			alt = '"' + posArray[j] + x + '"';
			coord = mapArray[j][i];
			coord = coord.substring(0,coord.indexOf('.gif'));
			if (coord.indexOf('0')!=-1) {
				coord = coord.substring(0,coord.indexOf('0')) + coord.substring(coord.length-1,coord.length);
			}
			coord = "'" + coord + "'";
			click = '"doHide(' + layer + ');doChangeImg(' + img2 + ');setZoomout(' + layer + ');setNavigator('+ coord + ');"'
			mouseover = '"lightup(this, 100);makeBorder(this,1,2,true);"';
			mouseout = '"lightup(this, 75);makeBorder(this,1,2,false);"';
			output += "<td width=39>";
			output += "<img src=" + img + " style=" + style + " alt=" + alt + " width=39 height=39 onclick=" + click + " onmouseover=" + mouseover + " onmouseout=" + mouseout + "></td>";
		}
		output += '</tr>';	
	}
	output += '</table>';
	document.getElementById('area1').innerHTML = output;
}

function doHide(x) {
	document.getElementById(x).style.visibility = 'hidden';
}

function makeBorder(a,b,c,d) {
	if (d==true) {
		a.width=a.width-c;
		a.height=a.height-c;
		a.border=b;
	}
	else {
		a.border=0;
		a.width=a.width+c;
		a.height=a.height+c;
	}
}
				
function lightup(imageobject, opacity){
	if (navigator.appName.indexOf("Netscape")!=-1&&parseInt(navigator.appVersion)>=5) {
		imageobject.style.MozOpacity=opacity/100;
	}
	else if (navigator.appName.indexOf("Microsoft")!=-1&&parseInt(navigator.appVersion)>=4) {
		imageobject.filters.alpha.opacity=opacity;
	}
}
		
function doZoomout(x) {
	document.getElementById('navigate').style.visibility='hidden';
	doChangeImg('/images/empty.gif');
	document.getElementById('zoom').style.visibility='hidden';
	document.getElementById(x).style.visibility='visible';
}
		
function setZoomout(x) {
	document.getElementById('navigate').style.visibility='visible';
	document.getElementById('zoom').style.visibility='visible';
	document.getElementById('zoom').href="javascript:doZoomout('" + x + "');";
}

function doChangeImg(x) {
	var img = x.substring(x.indexOf('/level3/')+8,x.length);
	var letter = img.substring(0,1);
	var posx = 0;
	var posy = 0;
	var a1,b1,c1,a2,b2,c2,a3,b3,c3;
	
	for (var i=0;i<=24;i++) {
		if (posArray[i]==letter) {
			posx = i;
		}
	}
	
	for (var j=0;j<=20;j++) {
		if (mapArray[posx][j]==img) {
			posy = j;
		}
	}
	
	if (posx>0 && posy>0) {
		a1 = '/images/maps/level3/' + mapArray[posx-1][posy-1];
	}
	else {
		a1 = '/images/empty.gif';
	}
	if (posy>0) {
		b1 = '/images/maps/level3/' + mapArray[posx][posy-1];
	}
	else {
		b1 = '/images/empty.gif';
	}
	if (posx<24 && posy>0) {
		c1 = '/images/maps/level3/' + mapArray[posx+1][posy-1];
	}
	else {
		c1 = '/images/empty.gif';
	}
	if (posx>0) {
		a2 = '/images/maps/level3/' + mapArray[posx-1][posy];
	}
	else {
		a2 = '/images/empty.gif';
	}
	if (mapArray[posx][posy]!=null) {
		b2 = '/images/maps/level3/' + mapArray[posx][posy];
	}
	else {
		b2 = '/images/empty.gif';
	}
	if (posx<24) {
		c2 = '/images/maps/level3/' + mapArray[posx+1][posy];
	}
	else {
		c2 = '/images/empty.gif';
	}
	if (posx>0 && posy<20) {
		a3 = '/images/maps/level3/' + mapArray[posx-1][posy+1];
	}
	else {
		a3 = '/images/empty.gif';
	}
	if (posy<20) {
		b3 = '/images/maps/level3/' + mapArray[posx][posy+1];
	}
	else {
		b3 = '/images/empty.gif';
	}
	if (posx<24 && posy<20) {
		c3 = '/images/maps/level3/' + mapArray[posx+1][posy+1];
	}
	else {
		c3 = '/images/empty.gif';
	}
		
	if (x=='/images/empty.gif') {
		document.getElementById('a1').src=x;
		document.getElementById('b1').src=x;
		document.getElementById('c1').src=x;
		document.getElementById('a2').src=x;
		document.getElementById('b2').src=x;
		document.getElementById('b2').border=0;
		document.getElementById('c2').src=x;
		document.getElementById('a3').src=x;
		document.getElementById('b3').src=x;
		document.getElementById('c3').src=x;
	}
	else {
		document.getElementById('a1').src=a1;
		document.getElementById('b1').src=b1;
		document.getElementById('c1').src=c1;
		document.getElementById('a2').src=a2;
		document.getElementById('b2').src=b2;
		document.getElementById('b2').width=178;
		document.getElementById('b2').height=178;
		document.getElementById('b2').border=1;
		document.getElementById('c2').src=c2;
		document.getElementById('a3').src=a3;
		document.getElementById('b3').src=b3;
		document.getElementById('c3').src=c3;
	}
}
		
function setNavigator(a) {
	var alfa = a.substring(0,1);
	var num = a.substring(a.indexOf('_') + 1, a.length) - 1;
	var minalfa, maxalfa, minnum, maxnum;
	var myArray = new Array();
	var prevArray = new Array();
	var nextArray = new Array();
	
	minalfa = 'a';
	maxalfa = 'y';
	minnum = 1;
	maxnum = 19;
			
	switch(alfa) {
		case 'a' :
			myArray = mapArray[0];
			nextArray = mapArray[1];
			break;
		case 'b' :
			myArray = mapArray[1];
			prevArray = mapArray[0];
			nextArray = mapArray[2];
			break;
		case 'c' :
			myArray = mapArray[2];
			prevArray = mapArray[1];
			nextArray = mapArray[3];
			break;
		case 'd' :
			myArray = mapArray[3];
			prevArray = mapArray[2];
			nextArray = mapArray[4];
			break;
		case 'e' :
			myArray = mapArray[4];
			prevArray = mapArray[3];
			nextArray = mapArray[5];
			break;
		case 'f' :
			myArray = mapArray[5];
			prevArray = mapArray[4];
			nextArray = mapArray[6];
			break;
		case 'g' :
			myArray = mapArray[6];
			prevArray = mapArray[5];
			nextArray = mapArray[7];
			break;
		case 'h' :
			myArray = mapArray[7];
			prevArray = mapArray[6];
			nextArray = mapArray[8];
			break;
		case 'i' :
			myArray = mapArray[8];
			prevArray = mapArray[7];
			nextArray = mapArray[9];
			break;
		case 'j' :
			myArray = mapArray[9];
			prevArray = mapArray[8];
			nextArray = mapArray[10];
			break;
		case 'k' :
			myArray = mapArray[10];
			prevArray = mapArray[9];
			nextArray = mapArray[11];
			break;
		case 'l' :
			myArray = mapArray[11];
			prevArray = mapArray[10];
			nextArray = mapArray[12];
			break;
		case 'm' :
			myArray = mapArray[12];
			prevArray = mapArray[11];
			nextArray = mapArray[13];
			break;
		case 'n' :
			myArray = mapArray[13];
			prevArray = mapArray[12];
			nextArray = mapArray[14];
			break;
		case 'o' :
			myArray = mapArray[14];
			prevArray = mapArray[13];
			nextArray = mapArray[15];
			break;
		case 'p' :
			myArray = mapArray[15];
			prevArray = mapArray[14];
			nextArray = mapArray[16];
			break;
		case 'q' :
			myArray = mapArray[16];
			prevArray = mapArray[15];
			nextArray = mapArray[17];
			break;
		case 'r' :
			myArray = mapArray[17];
			prevArray = mapArray[16];
			nextArray = mapArray[18];
			break;
		case 's' :
			myArray = mapArray[18];
			prevArray = mapArray[17];
			nextArray = mapArray[19];
			break;
		case 't' :
			myArray = mapArray[19];
			prevArray = mapArray[18];
			nextArray = mapArray[20];
			break;
		case 'u' :
			myArray = mapArray[20];
			prevArray = mapArray[19];
			nextArray = mapArray[21];
			break;
		case 'v' :
			myArray = mapArray[21];
			prevArray = mapArray[20];
			nextArray = mapArray[22];
			break;
		case 'x' :
			myArray = mapArray[22];
			prevArray = mapArray[21];
			nextArray = mapArray[23];
			break;
		case 'y' :
			myArray = mapArray[23];
			prevArray = mapArray[22];
			nextArray = mapArray[24];
			break;
		case 'z' :
			myArray = mapArray[24];
			prevArray = mapArray[23];
			break;
	}	
	
	// Set west		
	if (alfa!=minalfa && prevArray[num]!=null) {
		var w = prevArray[num];
		w = w.substring(0,w.indexOf('.gif'));
		if (w.indexOf('0')!=-1) {
			w = w.substring(0,w.indexOf('0')) + w.substring(w.length-1,w.length);
		}
		document.getElementById("w").href="javascript:doChangeImg('/images/maps/level3/" + prevArray[num] + "');setNavigator('"+w+"');";	
	}
	else {
		document.getElementById("w").href="javascript:;";	
	}
			
	// Set east
	if (alfa!=maxalfa && nextArray[num]!=null) {
		var w = nextArray[num];
		w = w.substring(0,w.indexOf('.gif'));
		if (w.indexOf('0')!=-1) {
			w = w.substring(0,w.indexOf('0')) + w.substring(w.length-1,w.length);
		}
		document.getElementById("e").href="javascript:doChangeImg('/images/maps/level3/" + nextArray[num] + "');setNavigator('"+w+"');";
	}
	else {
		document.getElementById("e").href="javascript:;";	
	}
			
	// Set north
	if (num>=minnum && myArray[num-1]!=null) {
		var w = myArray[num - 1];
		w = w.substring(0,w.indexOf('.gif'));
		if (w.indexOf('0')!=-1) {
			w = w.substring(0,w.indexOf('0')) + w.substring(w.length-1,w.length);
		}
		document.getElementById("n").href="javascript:doChangeImg('/images/maps/level3/" + myArray[num - 1] + "');setNavigator('"+w+"');";
	}
	else {
		document.getElementById("n").href="javascript:;";	
	}
			
	// Set south
	if (num<=maxnum && myArray[num+1]!=null) {
		var w = myArray[num + 1];
		w = w.substring(0,w.indexOf('.gif'));
		if (w.indexOf('0')!=-1) {
			w = w.substring(0,w.indexOf('0')) + w.substring(w.length-1,w.length);
		}
		document.getElementById("s").href="javascript:doChangeImg('/images/maps/level3/" + myArray[num + 1] + "');setNavigator('"+w+"');";
	}
	else {
		document.getElementById("s").href="javascript:;";	
	}
			
	// Set northwest
	if (alfa!=minalfa && num>=minnum && prevArray[num-1]!=null) {
		var w = prevArray[num - 1];
		w = w.substring(0,w.indexOf('.gif'));
		if (w.indexOf('0')!=-1) {
			w = w.substring(0,w.indexOf('0')) + w.substring(w.length-1,w.length);
		}
		document.getElementById("nw").href="javascript:doChangeImg('/images/maps/level3/" + prevArray[num - 1] + "');setNavigator('"+w+"');";
	}
	else {
		document.getElementById("nw").href="javascript:;";	
	}
		
	// Set northeast
	if (alfa!=maxalfa && num>=minnum && nextArray[num-1]!=null) {
		var w = nextArray[num - 1];
		w = w.substring(0,w.indexOf('.gif'));
		if (w.indexOf('0')!=-1) {
			w = w.substring(0,w.indexOf('0')) + w.substring(w.length-1,w.length);
		}
		document.getElementById("ne").href="javascript:doChangeImg('/images/maps/level3/" + nextArray[num - 1] + "');setNavigator('"+w+"');";
	}
	else {
		document.getElementById("ne").href="javascript:;";	
	}

	// Set southwest		
	if (alfa!=minalfa && num<=maxnum && prevArray[num+1]!=null) {
		var w = prevArray[num + 1];
		w = w.substring(0,w.indexOf('.gif'));
		if (w.indexOf('0')!=-1) {
			w = w.substring(0,w.indexOf('0')) + w.substring(w.length-1,w.length);
		}
		document.getElementById("sw").href="javascript:doChangeImg('/images/maps/level3/" + prevArray[num+1] + "');setNavigator('"+w+"');";
	}
	else {
		document.getElementById("sw").href="javascript:;";	
	}
			
	// Set southeast
	if (alfa!=maxalfa && num<=maxnum && nextArray[num+1]!=null) {
		var w = nextArray[num + 1];
		w = w.substring(0,w.indexOf('.gif'));
		if (w.indexOf('0')!=-1) {
			w = w.substring(0,w.indexOf('0')) + w.substring(w.length-1,w.length);
		}
		document.getElementById("se").href="javascript:doChangeImg('/images/maps/level3/" + nextArray[num+1] + "');setNavigator('"+w+"');";
	}
	else {
		document.getElementById("se").href="javascript:;";	
	}
}
