var algor = 0;
var mousex = 0;
var mousey = 0;
var offsetx = 20; // vzdálenost preview okna od kurzoru myši na ose X
var offsety = -50; // vzdálenost preview okna od kurzoru myši na ose Y
var ns6 = document.getElementById && !document.all; // pro kontrolu zda jse o FF,NS6 nebo o IE
var URI;
var URL;
var response;
var responsesText;
var updater;
var timer;
var prevContent;

URI = "/services/adinfotext.aspx?id="; //cesta k serveru
//URI = "/adinfotext.aspx?id="; //cesta k serveru

function init()
{
	document.body.onmousemove = update;

//	setMenu_hidden();
}
function getXY(e)
{ 
  if (!e) e = window.event;

  if (e)
  { 
    if (e.pageX || e.pageY)
    {
      mousex = e.pageX + offsetx;
      mousey = e.pageY + offsety;
      algor = '[e.pageX]';
      if (e.clientX || e.clientY) algor += ' [e.clientX] ';
    }
    else if (e.clientX || e.clientY)
    {
/*    mousex = e.clientX + document.body.scrollLeft + offsetx;
      mousey = e.clientY + document.body.scrollTop + offsety; */
      mousex = e.clientX + document.documentElement.scrollLeft + offsetx;
      mousey = e.clientY + document.documentElement.scrollTop + offsety;
      algor = '[e.clientX]';
      if (e.pageX || e.pageY) algor += ' [e.pageX] ';
    }  
  }
}

function update(e)
{
	if (updater == 1)
		{
			getXY(e);
		}
	if (ns6) {
		window.document.getElementById("preview").style.left = mousex.toString(10) + 'px';
		window.document.getElementById("preview").style.top = mousey.toString(10) + 'px';
	} else {
		window.document.getElementById("preview").style.posLeft = mousex;
		window.document.getElementById("preview").style.posTop = mousey;
	}
}

function answer(id1, id2, color)
{
	window.document.getElementById(id1).style.backgroundColor = color;
	window.document.getElementById(id2).style.backgroundColor = color;
}
function answer_hide(id1, id2)
{
	window.document.getElementById(id1).style.backgroundColor = "#CCCCCC";
	window.document.getElementById(id2).style.backgroundColor = "#CCCCCC";
}
function show(uid) 
{
	updater = 1;
	clearTimeout(timer);
	window.document.getElementById("preview").innerHTML = "Loading...";
	URL = "";
	URL = URI + uid; 
	make_request(URL);
	window.document.getElementById("preview").style.visibility = "visible";
	window.document.getElementById("preview").style.display = "block";
}

function hideMe()
{
	window.document.getElementById("preview").style.visibility = "hidden";
	window.document.getElementById("preview").style.display = "none";
	clearTimeout(timer);
}

function hide()
{
	updater = 0;
	timer = self.setTimeout('hideMe()', 0);
}
 

function make_request(url) {
	var xmlhttp = false;
	if(window.XMLHttpRequest) {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch(e) {
			xmlhttp = false;
			window.document.getElementById("preview").innerHTML =
				"<div align='center'><strong>Error</strong><br /><br>cannot create or handle request</div>";
		}
	} else {
		if(window.ActiveXObject) {
			try {
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				try {
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {
					xmlhttp = false;
					window.document.getElementById("preview").innerHTML =
						"<div align='center'><strong>Error</strong><br /><br>cannot create or handle request</div>";
				}
			}
		}
	}

	try {
		xmlhttp.open("GET", url, true);
	} catch(e) {
		window.document.getElementById("preview").innerHTML =
			"<div align='center'><strong>Security block</strong><br /><br>data cannot be loaded from other domain</div>";
		return false;
	}
	xmlhttp.onreadystatechange=function() {
		stav(xmlhttp);
	}
	xmlhttp.send(null);
	return false;
}


function stav(xmlhttp) {
	try {
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				parseText(xmlhttp.responseText);
				return true;
			} else {
				hideMe()
				return false; //no error message				
				/*
				if (xmlhttp.status == 404) {
					alert ("Sorry, no response");xmlhttp.abort();
				} else {
					return false;
				}
				*/
			}
		}
	} catch(e) {
		alert ("No images found or other error: " + e);
	}
}
function isOneValueKey(key_to_check)
{
	var one_value_keys = [
		"SUBMITTER", "WANTED", "COUNTRY", "REGION", "AGE", "HEIGHT", "WEIGHT", "RANK", "RANK_REGISTERED",
		"VOTES", "VOTES_REGISTERED", "SIGN", "MARITALSTATUS"
	];
	for(var counter = 0; counter < one_value_keys.length; counter++) {
		if (key_to_check == one_value_keys[counter]) {
			return true;
		}
	}
	return false;
}
function parseText(feedBack)
{
	prevContent = "";
	var returned = feedBack.substring(0,feedBack.length);
	var records = returned.split(";\n");
	var lastRec = records.length - 1;
	var maxImages = 1;
	var imageCounter = 0;

	for (var i=0; i < lastRec; i++)
	{
		var record = records[i].split(':');
		var key = record[0];
		var keyLocalized;
		var value;

		if (key == "CAPTION") {
			if (record[1] != null && record[1] != "") {
				keyLocalized = record[1];
			} else {
				keyLocalized = key;
			}
			prevContent = "<table border='0' width='100%' cellspacing='0' cellpadding='2'><tr><td colspan='2' height='20px' align='left' class='cap'> " + keyLocalized + "</td></tr><tr><td colspan='2'>&nbsp;</td></tr>";
		} else {
			if (isOneValueKey(key)) {
				if (record[1] != null && record[1] != "") {
					keyLocalized = record[1];
				} else {
					keyLocalized = key;
				}
				if (record[2] != null && record[2] != "") {
					value = record[2];
				}
				prevContent += "<tr><td align='left' class='leftP'> " + keyLocalized +	"</td><td align='left' class='rightP'> " + value + "</td></tr>";
			} else {
				if (key == "IMGPATH") {
					if (imageCounter < maxImages) {
						var imagePath = record[1];
						if (imagePath != null && imagePath != "") {
							prevContent +=	"<tr><td colspan='2'><img src=\"/" + imagePath + "\" /></td></tr>";
							imageCounter++;
						}
					}
				}
			}
		}
	}
									prevContent +=	"</table>";
									window.document.getElementById("preview").innerHTML = prevContent;
}

function switchmenu(elementId) 
{
	var elementIds = [
		"basic_menu",
		"menu_author_text",
		"menu_profile_notes",
		"menu_media",
		"menu_locations",
		"INTEREST_CATEGORY__LOOKING_FOR",
		"INTEREST_CATEGORY__HOBBIES",
		"INTEREST_CATEGORY__SPORTS",
		"INTEREST_CATEGORY__MUSIC",
		"INTEREST_CATEGORY__KITCHEN",
		"INTEREST_CATEGORY__SEXUAL_PRACTISES",
		"INTEREST_CATEGORY__FETISHES"
	];

	for (var iterator = 0; iterator < elementIds.length; iterator++) {
		var currElementID = elementIds[iterator];
		var visibility;
		var display;
		if (currElementID == elementId) {
			window.document.getElementById(currElementID).style.visibility = "visible";
			window.document.getElementById(currElementID).style.display = "block";
			document.getElementById("ctl00_ContentPlaceHolder1_hiddenField_ShowMenu").value = currElementID;
		} else {
			window.document.getElementById(currElementID).style.visibility = "hidden";
			window.document.getElementById(currElementID).style.display = "none";
		}
	}
}
function hide_or_unhide_elemement(elementId) {
	var element = window.document.getElementById(elementId);
	if (element != null) {
		if (element.style.display == "none") {
			element.style.display = "block";
		} else {
			element.style.display = "none";
		}
	}
}

/*
function setMenu_hidden() { 
	var showMenu = document.getElementById("");
	if (showMenu != null) {
		switchmenu(showMenu.value);
	}
}
*/
	
