var fontSize = 100;
var maxFontSize = 150;
var minFontSize = 100;

function HideElement(elementId)
{
    document.getElementById(elementId).style.display = "none";
}

function ShowElement(elementId)
{
    document.getElementById(elementId).style.display = "block";
}

function ShowOrHideElement(elementId)
{
    var obj = document.getElementById(elementId);
    if (obj.style.display.toLowerCase() == "none")
    {
        obj.style.display = "block";
    }
    else
    {
        obj.style.display = "none";
    }
}

function ShowOrHideElementNoLower(elementId)
{
    var obj = document.getElementById(elementId);
    if (obj.style.display == "none")
    {
        obj.style.display = "block";
    }
    else
    {
        obj.style.display = "none";
    }
}

function ShowOrHideElementWithTitle(elementId,titleId,titleShow,titleHide)
{
	var obj = document.getElementById(elementId);
	var title = document.getElementById(titleId);

	if (obj.style.display.toLowerCase() == "none")
    {
        obj.style.display = "block";
		title.innerHTML = titleShow;
    }
    else
    {
        obj.style.display = "none";
		title.innerHTML = titleHide;
    }
}

function ShowOrHideTable(elementIdFirst, elementIdSecond)
{
    var obj = document.getElementById(elementIdFirst);
    var obj2 = document.getElementById(elementIdSecond);
    obj.style.display = "block";
    obj2.style.display = "none";

}

function ShowOrHideExtendedSearch(elementId)
{
	var obj = document.getElementById(elementId);
	if (obj.style.visibility.toLowerCase() == 'hidden')
	{
		obj.style.visibility = 'visible';
		obj.style.position = 'relative';
	}
	else
	{
		obj.style.visibility = 'hidden';
		obj.style.position = 'absolute';
	}
}

function ClearInputValue(elementId)
{
    var el = document.getElementById(elementId);

	if ((el.title == "") && (el.value != ""))
	{
		el.title = el.value;
		el.value = "";
	}
}

function setInputValue(elementId)
{
	var el = document.getElementById(elementId);
	
	if ((el.value == "") && (el.title != ""))
	{
		el.value = el.title;
		el.title = "";
	}
}

function changeSizeFont(el,method)
{
	var obj = document.getElementById(el);
	var setSize = 0;
	
	switch(method)
	{
		case "+":
			if (fontSize != maxFontSize)
			{
				setSize = 5;
			}
			fontSize += setSize;
			break;
		case "-":
			if (fontSize != minFontSize)
			{
				setSize = 5;
			}
			fontSize -= setSize;
			break;
		case "=":
			fontSize = fontSize;
			break;
		default:
			fontSize = fontSize;
	}
	
	obj.style.fontSize = fontSize + "%";
}

// function for switch tables with class active
// @params	first parameter is the visible element, next parameters define the hidden elements, the last parameter is number and set active class
function switchElementsWithClass()
{
	for (var i = 0; i < arguments.length; i++)
	{
		var last = false;
		var index;
		
		var oneButton = new Array("active","","");
		var twoButton = new Array("","active","");
		var threeButton = new Array("","","active");
		
		var buttonArray = new Array("oneButton","twoButton","threeButton");
		
		if (i == 0)
		{
			document.getElementById(arguments[i]).style.display = "block";
		}
		else if (i == arguments.length-1)
		{
			last = true;
			if (arguments[i] != NaN)
				index = arguments[i];
			else
				index = 1;
		}
		else
		{
			document.getElementById(arguments[i]).style.display = "none";
		}
		
		if (last)
		{
			switch(index)
			{
				case 1:
					for (var x = 0; x < buttonArray.length; x++)
					{
						document.getElementById(buttonArray[x]).className = oneButton[x];
					}
					break;
				case 2:
					for (var x = 0; x < buttonArray.length; x++)
					{
						document.getElementById(buttonArray[x]).className = twoButton[x];
					}
					break;
				case 3:
					for (var x = 0; x < buttonArray.length; x++)
					{
						document.getElementById(buttonArray[x]).className = threeButton[x];
					}
					break;
				default:
					for (var x = 0; x < buttonArray.length; x++)
					{
						document.getElementById(buttonArray[x]).className = oneButton[x];
					}
			}
		}
	}
}

// function for switch tables without class active
// @params	first parameter is the visible element, other parameters define the hidden elements
function switchElements()
{
	for (var i = 0; i < arguments.length; i++)
	{
		if (i == 0)
		{
			document.getElementById(arguments[i]).style.display = (document.getElementById(arguments[i]).style.display == "block" ? "none" : "block");
		}
		else
		{
			document.getElementById(arguments[i]).style.display = "none";
		}
	}
}

// create cookies witch translate data
function quickTranslate(from,to,url)
{
	quickTranslateDelete();
	
	var text = document.getElementById("searchInput3").value;
	
	MyCookie.Write("fromLanguage",from,1);
	MyCookie.Write("toLanguage",to,1);
	MyCookie.Write("translate",text,1);

	window.location = "http://" + GetUrlBase() + url;
}

// if exists cookies with translate data
function quickTranslateRead()
{
	var from = MyCookie.Read("fromLanguage");
	var to = MyCookie.Read("toLanguage");
	var text = MyCookie.Read("translate");
	
	// if text for translation is not in the cookies, we try to load it from the session global variables
	if ((text == null) || (text == ""))
	{
	    if (translateSession_from != null) from = translateSession_from;
	    if (translateSession_to != null) to = translateSession_to;
	    if (translateSession_text != null) text = translateSession_text;
	}
	
	if ((from != null) && (to != null) && (text != null))
		return true;
	else
		return false;
}

// load cookies and translate
function quickTranslateLoad()
{
	var fromLanguage = MyCookie.Read("fromLanguage");
	var toLanguage = MyCookie.Read("toLanguage");
	var text = MyCookie.Read("translate");
	
	// if text for translation is not in the cookies, we try to load it from the session global variables
	if ((text == null) || (text == ""))
	{
	    if (translateSession_from != null) fromLanguage = translateSession_from;
	    if (translateSession_to != null) toLanguage = translateSession_to;
	    if (translateSession_text != null) text = translateSession_text;
	}
	
	var text2translate = document.getElementById("text2translate");
	text2translate.innerHTML = text;
	
	if ((fromLanguage == "en") || (fromLanguage != "cs"))
	{
		window.setTimeout("translator.switchLanguages()",100);
	}
		
	window.setTimeout("translator.translate(translator)",1000);
	
	window.setTimeout("quickTranslateDelete()",1100);
}

// delete all cookies for translate
function quickTranslateDelete()
{
	document.cookie = escape("fromLanguage") + "=" + MyCookie.Read(escape("fromLanguage")) + ";path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;";
	document.cookie = escape("toLanguage") + "=" + MyCookie.Read(escape("toLanguage")) + ";path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;";
	document.cookie = escape("translate") + "=" + MyCookie.Read(escape("translate")) + ";path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;";
}

// delete cookie
function deleteCookie(name)
{
	var cookieName = escape(name);
	document.cookie = cookieName + "=" + MyCookie.Read(cookieName) + ";path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;";
}

// function for add page to favorites
function AddToFavorites(obj, title, url)
{	
	var kitName = "applewebkit/";
	var tempStr = navigator.userAgent.toLowerCase();
	var pos = tempStr.indexOf(kitName);
	var isAppleWebkit = (pos != -1);
	
	if (window.sidebar)// Mozilla Firefox
	{
		window.sidebar.addPanel(title, url,"");
		return false;
	}
	else if (window.external)// IE
	{
		window.external.AddFavorite( url, title);
		return false;
	}
	else if (window.opera && window.print)//Opera
	{
		obj.setAttribute('href',url);
		obj.setAttribute('title',title);
		obj.setAttribute('rel','sidebar');
		obj.click();
		return false;
	}
	else if (isAppleWebkit)
	{
		var information = window.open("","_blank","width=500,height=250,scrollbars=1");
		information.document.write("<html><head><title>Přidání naseadresa.cz do oblíbených položek</title></head><body>");
		information.document.write("<h1>Přidání naseadresa.cz do oblíbených položek</h1>");
		information.document.write("<p>Pro přidání portálu naseadresa.cz, zavřete toto okno a stiskněte klávesovou zkratku CTRL+D " +
								   "poté klikněte na tlačítko \"Create Bookmark\".<br />Váš tým naseadresa.cz</p>");
		information.document.write("<div align=\"center\"><form><input type=\"button\" value=\"Zavřít okno\" onClick=\"window.close()\"></form></div>");
		information.document.write("</body></html>");
	}
}

function SetAsHomepage(source)
{
	if (document.all)
	{
	    // for Internet Explorer
	    var el = document.getElementById(source);
		el.style.behavior = 'url(#default#homepage)';
		el.setHomePage('http://' + GetUrlBase());
	}
	else
	{
		var info = window.open("","_blank","width=660,height=470,scrollbars=1");
		info.document.write("<html><head><title>Nastavení naseadresa.cz jako domovskou adresu</title></head><body style=\"font-family:Arial;font-size:80%;\">\n"+
		"<h1 style=\"color:#f05046;font-size:18px;font-family:arial,verdana,tahoma;\">Nastavení "+GetUrlBase()+" jako domovskou adresu</h1>\n"+
		
		"<h2 style=\"color:#002E67;font-size:15px;font-family:arial,verdana,tahoma;\">Firefox</h2>"+
		"<p>Pro přidání portálu naseadresa.cz jako domovskou adresu stiskněte tlačítko <strong>Nástroje</strong> v panelu nástrojů a poté volbu <strong>Možnosti</strong>.\n"+
		"<p>Otevře se Vám nabídka, kde v poli <strong>Domovská stránka</strong> napište adresu <strong>"+GetUrlBase()+"</strong>.</p><br />\n"+
		
		"<h2 style=\"color:#002E67;font-size:15px;font-family:arial,verdana,tahoma;\">Opera</h2>"+
		"<p>Pro přidání portálu naseadresa.cz jako domovskou adresu stiskněte tlačítko <strong>Nástroje</strong> v panelu nástrojů a poté volbu <strong>Nastavení</strong>.\n"+
		"<p>Otevře se Vám nabídka, kde v poli <strong>Domovská stránka</strong> napište adresu <strong>"+GetUrlBase()+"</strong>.</p><br />\n"+
		
		"<h2 style=\"color:#002E67;font-size:15px;font-family:arial,verdana,tahoma;\">Google Chrome</h2>"+
		"<p>Pro přidání portálu naseadresa.cz jako domovskou adresu stiskněte tlačítko <strong>Přizpůsobení a ovládání Google Chrome</strong>, napravo v panelu nástrojů a poté volbu <strong>Možnosti</strong>.\n"+
		"<p>Otevře se Vám nabídka, kde v poli <strong>Domovská stránka</strong> napište adresu <strong>"+GetUrlBase()+"</strong>.</p><br />\n"+
		
		"<div align=\"center\"><form><input type=\"button\" value=\"Zavřít okno\" onClick=\"window.close()\"></form></div>\n"+
		"</body></html>");
	}
}

// =======================================================================================
// PRODUCT DETAIL - MOVING IMAGES IN LIST
// =======================================================================================

var canMoveTop = false;
var canMoveBottom = false;
var movingPart = 5;
var movingSpeed = 100;

function StartMoveTop(elementId, parentHeight) {
    canMoveTop = true;
    MoveTop(elementId, parentHeight);
}

function MoveTop(elementId, parentHeightString) {
    if (canMoveTop)
    {
        var obj = document.getElementById(elementId);
        var topPos = 0;
        var height = obj.offsetHeight;
        var parentHeight = parseInt(parentHeightString);
        if ((obj.style.top != null) && (obj.style.top != ""))
        {
            topPos = parseInt(obj.style.top.replace("px","").replace(" ",""));
        }
        if (-topPos < (height - parentHeight))
        {
            topPos -= movingPart;
            obj.style.top = topPos +"px";
            window.setTimeout("MoveTop('"+elementId+"', '"+parentHeightString+"');", movingSpeed);
        }
        else
        {
            canMoveTop = false;
        }
    }
}

function StopMoveTop(elementId) {
    canMoveTop = false;
}

function StartMoveBottom(elementId, parentHeight) {
    canMoveBottom = true;
    MoveBottom(elementId, parentHeight);
}

function MoveBottom(elementId, parentHeightString) {
    if (canMoveBottom)
    {
        var obj = document.getElementById(elementId);
        var topPos = 0;
        var height = obj.offsetHeight;
        var parentHeight = parseInt(parentHeightString);
        if ((obj.style.top != null) && (obj.style.top != ""))
        {
            topPos = parseInt(obj.style.top.replace("px","").replace(" ",""));
        }
        if (topPos < 0)
        {
            topPos += movingPart;
            obj.style.top = topPos +"px";
            window.setTimeout("MoveBottom('"+elementId+"', '"+parentHeightString+"');", movingSpeed);
        }
        else
        {
            canMoveBottom = false;
        }
    }
}

function StopMoveBottom(elementId) {
    canMoveBottom = false;
}

// Univerzal method for add event
function addEvent(obj, event, funct) {
  if (obj.attachEvent) { //IE
    obj['e' + event + funct] = funct;
    obj['x' + event + funct] = function() {
          obj['e' + event + funct](window.event);
        }
    obj.attachEvent('on' + event, obj['x' + event + funct]);
  } else // other browser
    obj.addEventListener(event, funct, false);
}

// Method for work with cookies adn central news message
function HideAndSaveToCookie(elementType, articleId)
{
	MyCookie.Write("centralNews" + articleId.toString(), "saved", 1);
	if (elementType == 1)
	{
	    document.getElementById("centralNewsPanel").style.display = "none";
	}
	else
	{
	    document.getElementById("centralNewsPanelPrompt").style.display = "none";
	}
}

function ShowOrHideCentralMessages()
{
    var cookieValue = "";
    if (centralNewsItemId > -1)
    {
        var cookieValue = MyCookie.Read("centralNews" + centralNewsItemId.toString());
        if ((cookieValue == null) || (cookieValue == ""))
        {
            document.getElementById("centralNewsPanel").style.display = "block";
        }
        else if (centralNewsPromptItemId > -1)
        {
            cookieValue = MyCookie.Read("centralNews" + centralNewsPromptItemId.toString());
            if ((cookieValue == null) || (cookieValue == ""))
            {
                document.getElementById("centralNewsPanelPrompt").style.display = "block";
            }
        }
    }
    else if (centralNewsPromptItemId > -1)
    {
        var cookieValue = MyCookie.Read("centralNews" + centralNewsPromptItemId.toString());
        if ((cookieValue == null) || (cookieValue == ""))
        {
            document.getElementById("centralNewsPanelPrompt").style.display = "block";
        }
    }
}

function addEvent(obj, event, funct) {  
  if (obj.attachEvent) { //IE  
    obj['e' + event + funct] = funct;  
    obj['x' + event + funct] = function() {  
          obj['e' + event + funct](window.event);  
        }  
    obj.attachEvent('on' + event, obj['x' + event + funct]);  
  } else // other browser  
    obj.addEventListener(event, funct, false);  
}

/* function for add file inputs ==========================================*/

function showNext(el)
{
	var prefix;
	var name;
	var size = 0;
	var inputCount = 0;
	var inputValue = "";
	
	var source = document.getElementById(el);
	// array of file inputs
	var inputActual = source.getElementsByTagName("input");

	if (inputActual != null)
	{
		prefix = inputActual[inputActual.length-1].id.split("_")[0];
		name = inputActual[inputActual.length-1].id.split("_")[1];
		inputCount = inputActual[inputActual.length-1].id.split("_")[2];
		size = inputActual[inputActual.length-1].size;
		inputValue = inputActual[inputActual.length-1].value;
	}
	
	if (inputValue != "")
	{
		// name for file inputs
		var inputName = prefix + "_" + name;

		if ((inputCount == NaN) || (inputCount == null) || (inputCount == "") || (inputCount == "undefined"))
		{
			inputCount = 1;
		}
		else
		{
			++inputCount;
		}

		var input = document.createElement("input");
		var br = document.createElement("br");
		input.setAttribute("name", inputName + "_" + inputCount);
		input.setAttribute("id", inputName + "_" + inputCount);
		input.setAttribute("type", "file");
		if (size.toString() != "0")
		{
			input.setAttribute("size", size);
		}
		//input.setAttribute("onchange","javascript:showNext('" + el + "','" + prefix + "','" + name + "')");
		
		addEvent(input,"change",function()
		{
			showNext(el);
		});

		source.appendChild(input);
		source.appendChild(br);
	}
}

/* function for add file inputs with events==========================================*/

function showNextWithEvent(el)
{
	var prefix;
	var name;
	var size = 0;
	var inputCount = 0;
	var inputValue = "";
	
	var source = document.getElementById(el);
	// array of file inputs
	var inputActual = source.getElementsByTagName("input");

	if (inputActual != null)
	{
		prefix = inputActual[inputActual.length-1].id.split("_")[0];
		name = inputActual[inputActual.length-1].id.split("_")[1];
		inputCount = inputActual[inputActual.length-1].id.split("_")[2];
		size = inputActual[inputActual.length-1].size;
		inputValue = inputActual[inputActual.length-1].value;
	}
	
	if (inputValue != "")
	{
		// name for file inputs
		var inputName = prefix + "_" + name;

		if ((inputCount == NaN) || (inputCount == null) || (inputCount == "") || (inputCount == "undefined"))
		{
			inputCount = 1;
		}
		else
		{
			++inputCount;
		}

		var input = document.createElement("input");
		var br = document.createElement("br");
		input.setAttribute("name", inputName + "_" + inputCount);
		input.setAttribute("id", inputName + "_" + inputCount);
		input.setAttribute("type", "file");
		if (size.toString() != "0")
		{
			input.setAttribute("size", size);
		}
		//input.setAttribute("onchange","javascript:showNext('" + el + "','" + prefix + "','" + name + "')");
		
		addEvent(input,"mousedown",function()
		{
			showNext(el);
		});
		addEvent(input,"change",function()
		{
			CheckExtension(this);
		});

		source.appendChild(input);
		source.appendChild(br);
	}
}

function showLoginIframeAndSetCookie(iframeUrl,redirectUrl,showElement,formId)
{
	if ((redirectUrl != null) && (redirectUrl.length > 1))
	{
		MyCookie.Write("RedirectUrlAfterLogin",redirectUrl,1);
	}
	
	if ((showElement != null) && (showElement.length > 1))
	{
		MyCookie.Write("ShowElementAfterLogin",showElement,1);
	}
	
	if (formId != null)
	{
		MyCookie.Write("formSubmitAfterLogin",formId,1);
	}
	
	if (iframeUrl.toLowerCase().indexOf("http://") == -1)
	{
		tb_show("Přihlašte se prosím","http://" + GetUrlBase() + iframeUrl + "?TB_iframe=true&height=300&width=565");
	}
	else
	{
		tb_show("Přihlašte se prosím",iframeUrl + "?TB_iframe=true&height=300&width=565");
	}
}

function showIframeAndSetCookie(iframeUrl,redirectUrl,showElement,formId,headText)
{
	if ((redirectUrl != null) && (redirectUrl.length > 1))
	{
		MyCookie.Write("RedirectUrlAfterLogin",redirectUrl,1);
	}
	
	if ((showElement != null) && (showElement.length > 1))
	{
		MyCookie.Write("ShowElementAfterLogin",showElement,1);
	}
	
	if (formId != null)
	{
		MyCookie.Write("formSubmitAfterLogin",formId,1);
	}
	
	if (iframeUrl.toLowerCase().indexOf("http://") == -1)
	{
		tb_show(headText,"http://" + GetUrlBase() + iframeUrl + "?TB_iframe=true&height=300&width=565");
	}
	else
	{
		tb_show(headText,iframeUrl + "?TB_iframe=true&height=300&width=565");
	}
}

function showModalIframe(iframeUrl,header,width,height)
{
	height = (height != undefined ? height : 300);
	width = (width != undefined ? width : 565);
	
	if (iframeUrl.toLowerCase().indexOf("http://") == -1)
	{
		tb_show(header,"http://" + GetUrlBase() + iframeUrl + "?TB_iframe=true&height=" + height + "&width= " + width);
	}
	else
	{
		tb_show(header,iframeUrl + "?TB_iframe=true&height=300&width=565");
	}
}

function searchUserPage(iframeUrl,redirectUrl)
{
	if ((redirectUrl != null) && (redirectUrl.length > 1))
	{
		MyCookie.Write("RedirectUrlAfterLogin",redirectUrl,1);
	}
	
	if (iframeUrl.toLowerCase().indexOf("http://") == -1)
	{
		tb_show("Vyhledaní uživatelé","http://" + GetUrlBase() + iframeUrl + "?TB_iframe=true&height=590&width=552");
	}
	else
	{
		tb_show("Vyhledaní uživatelé",iframeUrl + "?TB_iframe=true&height=540&width=552");
	}
}

function isCookieExist(name)
{	
	var cookie = MyCookie.Read(name);
	
	if (cookie != null)
		return true;
	else
		return false;
}

function loadPageView(obj,url)
{
	var el = document.getElementById(obj);
	el.src = url;
}

/* functions for operate with cookies ********************************************/

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
