var xHttp;
var xHttpMenu;
var xHttpContent;

function getkey(e)
{ 
  var code; 
  
  if (navigator.appName == "Opera" || 
	  (navigator.appName == "Netscape" &&
	   (navigator.appVersion.indexOf('Safari') < 0))) // ignorovat Operu a Mozzilu
    return false;
  if (!e)
    var e = window.event; // nastaveni pro IE
  if (e.keyCode)
    code = e.keyCode; // IE a Mozilla
  else
    if (e.which)
      code = e.which; // NN4
  return code; 
} 

var isMSIE=/*@cc_on!@*/false; // http://dean.edwards.name/weblog/2007/03/sniff/
var isIEmac=false; /*@cc_on @if(@_jscript&&!(@_win32||@_win16)&& 
(@_jscript_version<5.5)) isIEmac=true; @end @*/

function canLoadMainContentDynamicaly()
{
  if (window.sidebar) {
    // support for Mozilla Firefox Bookmark
    return true;
  }
  else if (window.external && isMSIE && !isIEmac) {
    // support for IE Favorite
    return true;
  }
  else if (window.opera && window.print) {
	// support for Opera Hotlist
    return true;
  }
  // no support for bookmarks
  return false;
}

function CreateBookmarkLink(obj, url, title)
{
  if (url == null) url = "http://www.kolik.cz";
  if (title == null) title = "Kolik.cz - Spočítejte si, kolik ušetříte!";

  if (window.sidebar) {
    // Mozilla Firefox Bookmark
    window.sidebar.addPanel(title, url, "");
  }
  else if (window.external && isMSIE && !isIEmac) {
    // IE Favorite
    window.external.AddFavorite(url, title);
  }
  else if (window.opera && window.print) {
    // Opera Hotlist
    obj.rel = 'sidebar';
    obj.target = '_search';
    obj.title = title;
    obj.href = url;
    return true;
  }
  else {
    var prohlizec = navigator.userAgent.toLowerCase(), klavesa = '';
    var isWebkit = (prohlizec.indexOf('webkit') >= 0);
	var isMac = (prohlizec.indexOf('mac') >= 0);
    if(prohlizec.indexOf('konqueror') >= 0) {
      klavesa = 'CTRL + B'; // Konqueror
    } else if (window.home || isWebkit || isIEmac || isMac) {
      // IE5/Mac, Netscape, Safari, Firefox
      klavesa = (isMac ? '⌘' : 'CTRL')+' + D';
    }
	alert("Záložku aktuální stránky vytvoříte klávesou " + (klavesa != '' ? klavesa : "CTRL + D, CTRL + T nebo CTRL + B") + ".");
	return false;
  }
}

function blockNonNumbers(obj, e, allowDecimal, allowNegative)
{
	var key;
	var isCtrl = false;
	var keychar;
	var reg;
		
	key = getkey(e);
	
	if (isNaN(key) || !key) return true;
	
	keychar = String.fromCharCode(key);
	
	// check for backspace or delete, or if Ctrl was pressed
	if (key < 32 || keychar == ' ' || isCtrl)
	{
		return true;
	}

	reg = /\d/;
	var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
	var isFirstD = allowDecimal ? (keychar == ',' || keychar == '.') && (obj.value.indexOf(',') == -1 && obj.value.indexOf('.') == -1) : false;
	
	var result = isFirstN || isFirstD || reg.test(keychar);
	return result;
}

function getXMLHttpRequest()
{
	var xmlHttp = null;
	if (window.XMLHttpRequest)
	{
		xmlHttp = new window.XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		try {
			xmlHttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");
		}
		catch(ex) {
			xmlHttp = null;
		}
	}
	return xmlHttp;
}

function showMenu()
{
  if (xHttpMenu.readyState == 4 && xHttpMenu.status == 200)
  {
    c = MM_findObj("menu");
    if (c) {
      c.innerHTML = xHttpMenu.responseText;
      c.className = "";
    }
  }
}

function showMainContent()
{
  if (xHttp.readyState == 4 && xHttp.status == 200)
  {
    c = MM_findObj("mainContent");
    if (c) {
      c.innerHTML = xHttp.responseText;
      c.className = "";
	  // Google Analytics
	  if (pageTracker && xHttpContent) pageTracker._trackPageview(xHttpContent);
    }
  }
}

function showCalculation()
{
  //alert("xHttp.readyState = " + xHttp.readyState.toString() + "\nxHttp.status = " + xHttp.status.toString());
  if (xHttp.readyState == 4 && xHttp.status == 200)
  {
    c = MM_findObj("calculation");
    if (c) {
      c.innerHTML = xHttp.responseText;
      c.className = "";
    }
  }
}

function showRatelist()
{
  //alert("xHttp.readyState = " + xHttp.readyState.toString() + "\nxHttp.status = " + xHttp.status.toString());
  if (xHttp.readyState == 4 && xHttp.status == 200)
  {
    c = MM_findObj("ratelist");
    if (c) {
      c.innerHTML = xHttp.responseText;
	  c.className = '';
	  // Google Analytics
	  if (pageTracker && xHttpContent) pageTracker._trackPageview(xHttpContent);
    }
  }
}

function getMainContent(url)
{
  if (!canLoadMainContentDynamicaly()) return false;

  if (url.indexOf('frame_deviza') >= 0) content = 'deviza';
  else if (url.indexOf('frame_valuta') >= 0) content = 'valuta';
  else if (url.indexOf('frame_kurzy') >= 0) content = 'kurzy';
  else return false;
  menuUrl = 'psupp/menu.php?content=' + content;

  contentUrl = (content == "deviza" ? "/devizy.php" : (content == "valuta" ? "/valuty.php" : ("/" + content + ".php")));
  if ((i = url.indexOf('?')) >= 0) contentUrl += url.substr(i);
	
  var mainContent = MM_findObj("mainContent");
  var menu = MM_findObj("menu");
  if (!mainContent || !menu) return false;
  
  xHttp = getXMLHttpRequest();
  xHttpMenu = getXMLHttpRequest();
  xHttpContent = null;
  if (xHttp == null || xHttpMenu == null) return false;

  try {
    frm = MM_findObj("comparator");
    if (!frm || !frm.elements) frm = MM_findObj("ratesmenu");
  
    if (frm && frm.elements)
    {
      var operation = frm.elements["operation"];
      var amount = frm.elements["amount"];
      var currency = frm.elements["currency"];
    
      if (operation && amount && currency)
      {
        url += (url.indexOf('?') >= 0 ? '&' : '?') + 'operation=' + escape(operation.value) + '&amount=' + escape(amount.value) + '&currency=' + escape(currency.value);
      }
	}
  }
  catch (e) {
  }

  xHttpMenu.open("GET", menuUrl, true);
  xHttpMenu.onreadystatechange = showMenu;
  xHttpMenu.send(null);
	
  mainContent.className = "gray";
  xHttp.open("GET", url, true);
  xHttp.onreadystatechange = showMainContent;
  try {
    xHttpContent = contentUrl;
  } catch (e) {}
  xHttp.send(null);

  var title = "Kolik.cz - ";
  if (content == 'deviza') title += "Spočítejte si, kolik ušetříte při výměně deviz!";
  else if (content == 'valuta') title += "Spočítejte si, kolik ušetříte při výměně valut!";
  else if (content == 'kurzy') title += "Kurzovní lístky bank a směnáren";
  else title += "Spočítejte si, kolik ušetříte!";
  document.title = title;

  return true;
}

function calcDeviza()
{
  c = MM_findObj("calculation");
  if (!c) return true;

  xHttp = getXMLHttpRequest();
  xHttpContent = null;
  if (xHttp == null) return true;

  try {
    if (calcDeviza.arguments.length > 0) frm = calcDeviza.arguments[0];
    else frm = MM_findObj("comparator");
	
	if (!frm || !frm.elements) return true;

    operation = frm.elements["operation"];
    amount = frm.elements["amount"];
    currency = frm.elements["currency"];
	
	if (!operation || !amount || !currency) return true;

    frm.elements["displayedValue"].value = amount.value;

    url = 'psupp/vypocet_deviza.php?operation=' + escape(operation.value) + '&amount=' + escape(amount.value) + '&currency=' + escape(currency.value);
  }
  catch (e) {
    return true;
  }

  c.className = "gray";
  xHttp.open("GET", url, true);
  xHttp.onreadystatechange = showCalculation;
  xHttp.send(null);
  
  try {
    if (calcDeviza.arguments && calcDeviza.arguments.length > 1 && calcDeviza.arguments[1] && window != null)
      window.scrollTo(0, 164);
  }
  catch (e) {
  }
  
  return false;
}

function calcValuta()
{
  c = MM_findObj("calculation");
  if (!c) return true;
  
  xHttp = getXMLHttpRequest();
  xHttpContent = null;
  if (xHttp == null) return true;

  try {
	if (calcValuta.arguments.length > 0) frm = calcValuta.arguments[0];
    else frm = MM_findObj("comparator");
	
	if (!frm || !frm.elements) return true;

    operation = frm.elements["operation"];
    amount = frm.elements["amount"];
    currency = frm.elements["currency"];
	
	if (!operation || !amount || !currency) return true;

    frm.elements["displayedValue"].value = amount.value;

    url = 'psupp/vypocet_valuta.php?operation=' + escape(operation.value) + '&amount=' + escape(amount.value) + '&currency=' + escape(currency.value);
  }
  catch (e) {
    return true;
  }

  c.className = "gray";
  xHttp.open("GET", url, true);
  xHttp.onreadystatechange = showCalculation;
  xHttp.send(null);

  try {
    if (calcValuta.arguments && calcValuta.arguments.length > 1 && calcValuta.arguments[1] && window != null)
      window.scrollTo(0, 164);
  }
  catch (e) {
  }
  
  return false;
}

function calcKurzy()
{
  var c = MM_findObj("ratelist");
  if (!c) return true;

  var bankList = MM_findObj("bankList");
  if (!bankList) return true;
  
  var oldBank = null, newBank = null;

  try {
	if (calcKurzy.arguments.length > 0 && calcKurzy.arguments[0] != null) frm = calcKurzy.arguments[0];
    else frm = MM_findObj("ratesmenu");
	
	if (!frm || !frm.elements) return true;
	
    operation = frm.elements["operation"];
    amount = frm.elements["amount"];
    currency = frm.elements["currency"];
	bank = frm.elements["bank"];
	oldBank = MM_findObj("bank" + bank.value.toString());

	if (calcKurzy.arguments.length > 1) bank.value = calcKurzy.arguments[1];
	newBank = MM_findObj("bank" + bank.value.toString());

	if (!operation || !amount || !currency || !bank) return true;
	
    url = 'psupp/kurzovni_listek.php?operation=' + escape(operation.value) + '&amount=' + escape(amount.value) + '&currency=' + escape(currency.value) + '&bank=' + escape(bank.value);

  }
  catch (e) {
    return true;
  }

  xHttp = getXMLHttpRequest();
  xHttpContent = null;
  if (xHttp == null) return true;

  c.className = "gray";
  if (oldBank && newBank)
  {
    oldBank.className = "";
	newBank.className = "selected";
  }
	  
  xHttp.open("GET", url, true);
  xHttp.onreadystatechange = showRatelist;
  try {
    xHttpContent = "/kurzy.php" + (bank.value >= 0 ? "?bank=" + bank.value.toString() : "");
  }
  catch (e) {}
  xHttp.send(null);

  return false;
}
