// Funkce, ktera zjistuji offset od zacatku prohlizece k obsahu stranky
var leftOffset, topOffset = -17; state = null; state2 = null; openingMonolog = true;
function getLeftOffset() {
	return document.getElementById('obsah').offsetParent.offsetLeft - 136;
}

// Funkce, ktera vraci, zda je bod uvnitr nebo vne usecky
function countPosition(Ax, Ay, Bx, By) {
	if ((Bx - Ax)*(posy - Ay) - (By - Ay)*(posx - Ax) < 0)
		return false;
	else 
		return true;
}

// Funkce, ktera zjistuje, zda dany bod lezi nelevo nebo napravo od zadane primky
function positionPointToRectangle(type) {
	var side = new Array();
	if (type == 'koberec') {
		// souradnice koberce
		var Ax = 848+leftOffset, Ay = 505+topOffset;
		var Bx = 1122+leftOffset, By = 505+topOffset;
		var Cx = 1122+leftOffset, Cy = 450+topOffset;
		var Dx = 1013+leftOffset, Dy = 266+topOffset;
		var Ex = 976+leftOffset, Ey = 266+topOffset;
		
		side[0] = countPosition(Ax, Ay, Ex, Ey);
		side[1] = countPosition(Bx, By, Ax, Ay);
		side[2] = countPosition(Cx, Cy, Bx, By);
		side[3] = countPosition(Dx, Dy, Cx, Cy);
		side[4] = countPosition(Ex, Ey, Dx, Dy);	
	}
	else if (type == 'dvere') {
		// souradnice dveri
		var Ax = 1050+leftOffset, Ay = 326+topOffset;
		var Bx = 1068+leftOffset, By = 351+topOffset;
		var Cx = 1068+leftOffset, Cy = 199+topOffset;
		var Dx = 1053+leftOffset, Dy = 203+topOffset;
			
		side[0] = countPosition(Ax, Ay, Dx, Dy);
		side[1] = countPosition(Bx, By, Ax, Ay);
		side[2] = countPosition(Cx, Cy, Bx, By);
		side[3] = countPosition(Dx, Dy, Cx, Cy);
		
		if (room_no_link == true)
			side[4] = false;
	}
	else if (type == 'pokoje') {
		// souradnice cedulky pokoje
		var Ax = 731+leftOffset, Ay = 341+topOffset;
		var Bx = 731+leftOffset, By = 359+topOffset;
		var Cx = 772+leftOffset, Cy = 364+topOffset;
		var Dx = 793+leftOffset, Dy = 350+topOffset;
		var Ex = 772+leftOffset, Ey = 336+topOffset;		
			
		side[0] = countPosition(Ax, Ay, Ex, Ey);
		side[1] = countPosition(Bx, By, Ax, Ay);
		side[2] = countPosition(Cx, Cy, Bx, By);
		side[3] = countPosition(Dx, Dy, Cx, Cy);
		side[4] = countPosition(Ex, Ey, Dx, Dy);
	}
	else if (type == 'smenarna') {
		// souradnice cedulky pokoje
		var Ax = 732+leftOffset, Ay = 370+topOffset;
		var Bx = 732+leftOffset, By = 388+topOffset;
		var Cx = 773+leftOffset, Cy = 393+topOffset;
		var Dx = 794+leftOffset, Dy = 379+topOffset;
		var Ex = 773+leftOffset, Ey = 365+topOffset;		
			
		side[0] = countPosition(Ax, Ay, Ex, Ey);
		side[1] = countPosition(Bx, By, Ax, Ay);
		side[2] = countPosition(Cx, Cy, Bx, By);
		side[3] = countPosition(Dx, Dy, Cx, Cy);
		side[4] = countPosition(Ex, Ey, Dx, Dy);
	}
	else if (type == 'bar') {
		// souradnice cedulky baru
		var Ax = 207+leftOffset, Ay = 352+topOffset;
		var Bx = 231+leftOffset, By = 366+topOffset;
		var Cx = 271+leftOffset, Cy = 359+topOffset;
		var Dx = 271+leftOffset, Dy = 343+topOffset;
		var Ex = 231+leftOffset, Ey = 338+topOffset;		
			
		side[0] = countPosition(Ax, Ay, Ex, Ey);
		side[1] = countPosition(Bx, By, Ax, Ay);
		side[2] = countPosition(Cx, Cy, Bx, By);
		side[3] = countPosition(Dx, Dy, Cx, Cy);
		side[4] = countPosition(Ex, Ey, Dx, Dy);
	}		
	else if (type == 'klub') {
		// souradnice cedulky kasina
		var Ax = 272+leftOffset, Ay = 373+topOffset;
		var Bx = 231+leftOffset, By = 367+topOffset;
		var Cx = 208+leftOffset, Cy = 380+topOffset;
		var Dx = 230+leftOffset, Dy = 393+topOffset;
		var Ex = 271+leftOffset, Ey = 387+topOffset;		
			
		side[0] = countPosition(Ax, Ay, Ex, Ey);
		side[1] = countPosition(Bx, By, Ax, Ay);
		side[2] = countPosition(Cx, Cy, Bx, By);
		side[3] = countPosition(Dx, Dy, Cx, Cy);
		side[4] = countPosition(Ex, Ey, Dx, Dy);
	}	
	else if (type == 'recepcni') {
		// souradnice cedulky kasina
		var Ax = 512+leftOffset, Ay = 192+topOffset;
		var Bx = 479+leftOffset, By = 247+topOffset;
		var Cx = 471+leftOffset, Cy = 306+topOffset;
		var Dx = 547+leftOffset, Dy = 306+topOffset;
		var Ex = 538+leftOffset, Ey = 243+topOffset;		
			
		side[0] = countPosition(Ax, Ay, Ex, Ey);
		side[1] = countPosition(Bx, By, Ax, Ay);
		side[2] = countPosition(Cx, Cy, Bx, By);
		side[3] = countPosition(Dx, Dy, Cx, Cy);
		side[4] = countPosition(Ex, Ey, Dx, Dy);
	}		
	else if (type == 'lampicka1') {
		// souradnice cedulky kasina
		var Ax = 344+leftOffset, Ay = 191+topOffset;
		var Bx = 302+leftOffset, By = 191+topOffset;
		var Cx = 291+leftOffset, Cy = 234+topOffset;
		var Dx = 311+leftOffset, Dy = 302+topOffset;
		var Ex = 334+leftOffset, Ey = 302+topOffset;		
		var Fx = 357+leftOffset, Fy = 236+topOffset;		
			
		side[0] = countPosition(Ax, Ay, Fx, Fy);
		side[1] = countPosition(Bx, By, Ax, Ay);
		side[2] = countPosition(Cx, Cy, Bx, By);
		side[3] = countPosition(Dx, Dy, Cx, Cy);
		side[4] = countPosition(Ex, Ey, Dx, Dy);
		side[5] = countPosition(Fx, Fy, Ex, Ey);
	}
	else if (type == 'lampicka2') {
		// souradnice cedulky kasina
		var Ax = 702+leftOffset, Ay = 191+topOffset;
		var Bx = 660+leftOffset, By = 191+topOffset;
		var Cx = 649+leftOffset, Cy = 234+topOffset;
		var Dx = 669+leftOffset, Dy = 302+topOffset;
		var Ex = 692+leftOffset, Ey = 302+topOffset;		
		var Fx = 715+leftOffset, Fy = 236+topOffset;		
			
		side[0] = countPosition(Ax, Ay, Fx, Fy);
		side[1] = countPosition(Bx, By, Ax, Ay);
		side[2] = countPosition(Cx, Cy, Bx, By);
		side[3] = countPosition(Dx, Dy, Cx, Cy);
		side[4] = countPosition(Ex, Ey, Dx, Dy);
		side[5] = countPosition(Fx, Fy, Ex, Ey);
	}
	
	for (var i = 0; i < side.length; i++) {
		if (side[i] == false) {
			return false;
		}
	}
		
	return true;	
}

// Funkce, ktera provadi akce pro aktivni obrazek
function setActive(element, action, url) {
	if (element != "smenarna" || (element == "smenarna" && user > 0)) {
	document.getElementById(Element).style.cursor = "pointer";
	document.getElementById(Element).src = 'images/recepce/' + element + '_over.gif';
	if (action == 'click')
			window.location.href = url;
	}
}

// Funkce, ktera provadi akce pro neaktivni obrazek
function setNonActive(element) {
	document.getElementById(Element).style.cursor = "default";
	document.getElementById(Element).src = 'images/recepce/' + element + '_out.gif';
}

// Funkce, ktera zjistuje, zda ma uzivatel zapnutou recepcni a pripadne posle do Flashe prislusnou promennou
function callRecepcniMessage(element) {
	if (document.recepcni) {
		document.recepcni.callSomeMessage(element);
	}
}

// Funkce, ktera elementu obrazku priradi obrazek, stara se o typ kurzoru a o odkazovani na stranky
function changeImageForReception(action, event) {
	var position = mouseCoord(event);
	var posx = position[0]; posy = position[1];
	leftOffset = getLeftOffset();
	nonActive = 0;
	
	Element = 'koberec';
	if (positionPointToRectangle(Element) == true && action != 'out'){
		setActive(Element, action, 'chodba.php');
		if (state != Element && document.getElementById('recepcni')) { callRecepcniMessage(Element); state = Element; }
	}
	else {
		if (positionPointToRectangle('dvere') == true) {
			document.getElementById(Element).style.cursor = "pointer";
			if (state != "dvere") { if (document.getElementById('recepcni')) { callRecepcniMessage("dvere"); } state = "dvere"; }
			if (action == 'click')
				window.location.href="pokoj.php";
		}
		else
			document.getElementById(Element).style.cursor = "default";
		document.getElementById(Element).src = 'images/recepce/koberec_out.gif';
		nonActive++;
	}
	
	Element = 'dvere';
	if (positionPointToRectangle(Element) == true && action != 'out') {
		setActive(Element, action, 'pokoj.php');
		if (state != Element && document.getElementById('recepcni')) { callRecepcniMessage(Element); state = Element; }
	}	
	else {
		setNonActive(Element);
		nonActive++;
	}
	
	Element = 'pokoje';
	if (positionPointToRectangle(Element) == true && action != 'out') {
		setActive(Element, action, 'chodba.php');
		if (state != Element && document.getElementById('recepcni')) { callRecepcniMessage(Element); state = Element; }
	}
	else {
		setNonActive(Element);
		nonActive++;
	}

	Element = 'smenarna';
	if (positionPointToRectangle(Element) == true && action != 'out') {
		setActive(Element, action, 'smenarna.php');
		if (state != Element && document.getElementById('recepcni')) { callRecepcniMessage(Element); state = Element; }
	}
	else {
		setNonActive(Element);
		nonActive++;
	}
	
	Element = 'bar';
	if (positionPointToRectangle(Element) == true && action != 'out') {
		setActive(Element, action, 'bar.php');
		if (state != Element && document.getElementById('recepcni')) { callRecepcniMessage(Element); state = Element; }
	}
	else {
		setNonActive(Element);
		nonActive++;
	}
	
	Element = 'klub';
	if (positionPointToRectangle(Element) == true && action != 'out') {
		setActive(Element, action, 'wheels.php');
		if (state != Element && document.getElementById('recepcni')) { callRecepcniMessage(Element); state = Element; }
	}
	else {
		setNonActive(Element);
		nonActive++;
	}
	
	if (positionPointToRectangle('recepcni') == true && action != 'out') {
		if (action == 'click') {
			callRecepcniMessage('recepcniClick'); state = 'recepcniClick'; 
		}
		else if (action == 'move') {
			if (state != 'recepcniMove' && state != 'recepcniClick') { state = 'recepcniMove'; callRecepcniMessage('recepcniMove'); }
		}
	}
	else {
		nonActive++;
	}
	
	Element = 'lampicka';
	if ((positionPointToRectangle('lampicka1') || positionPointToRectangle('lampicka2')) && action == 'click') {
		if (state != Element && document.getElementById('recepcni')) { callRecepcniMessage(Element); state = Element; }
	}
	else {
		nonActive++;
	}	
	
	if (nonActive > 7) { state = null; openingMonolog = false;} 
	else { withoutReaction = new Date();  state2 = null; openingMonolog = false; }
;
}