//*************************************** CLASSES ******************************************
function TPoint(ax,ay)
{
	this.x=ax;
	this.y=ay;
}
//*************************************** CLASSES ******************************************

//*************************************** STRING FUNCTIONS *********************************
function strComp(first,second)
{
	if (first==second)
		return 0;
	else if (first<second)
		return -1;
	else
		return 1;
}
//*************************************** STRING FUNCTIONS *********************************

function GetElementValue(elementId)
{
	var elm = document.getElementById(elementId);
	if (elm != null)
	{
		if (typeof(elm.value) != "undefined")
			return elm.value
		else if (typeof(elm.text) != "undefined")
			return elm.text
		else if (typeof(elm.innerText) != "undefined")
			return elm.innerText;
	}
	return '';		
}
function SetElementValue(elementId, value)
{
	var elm = document.getElementById(elementId);
	if (elm != null)
	{
		if (typeof(elm.value) != "undefined")
			elm.value = value
		else if (typeof(elm.text) != "undefined")
			elm.text = value;
		else if (typeof(elm.innerHTML) != "undefined")
			elm.innerHTML = value;	
	}
}
function OpenChildWindow(url)
{
	var width = window.screen.availWidth;
	var height = window.screen.availHeight;
	var top = 0;
	var left = 0;
	var w = 800;
	var h = 600;
	if(width > w) 
	    left = (width - w)/2;
	if(height > h)
		top = (height - h)/2;
        window.open(url, "_blank", "top=" + top + ",left=" + left + ",height=" + h + ",width=" + w + ",status=no,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes");
}

function ShowHide(obj)
{
if (obj!='[object]') return;
obj.className = (obj.className == 'Visible')?'Invisible':'Visible';
}

function EnterPress()
{	
	if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13)) 
	 	return true;
}

function ShowActiveCategory(classActive)
{
	var QS = document.location.search;
	var n1 = QS.indexOf('CatID=')+6;
	var n2 = (QS.indexOf('&', n1)>0)?QS.indexOf('&', n1):QS.length
	var CatID = QS.substring(n1, n2);

	var obj = document.getElementById('Cat'+CatID);
	if (obj!="[object]") return;
	obj.className=classActive;
	obj = document.getElementById('Cat'+CatID).parentNode;
	if (obj!='[object]') return;

	while(obj.id.indexOf('Grp')>-1)
	{
		ShowHide(obj)
		obj = obj.parentNode.parentNode;
}	}

function cutUrlParameter(sURL, sParameter)
{
	var nPosition = sURL.toLowerCase().indexOf("&"+sParameter.toLowerCase()+"=")
	if (nPosition<1) {nPosition = sURL.toLowerCase().indexOf("?"+sParameter.toLowerCase()+"=")}
	if (nPosition>0) 
		{
			if (sURL.indexOf("&", nPosition+1)>0)
				{return sURL.replace(sURL.substring(nPosition, sURL.indexOf("&",nPosition+1)), "")}
			else
				{return sURL.replace(sURL.substring(nPosition, sURL.length), "")}
		}
	return sURL
}

function cutUrlParams(sUrl, arrParams)
{
	for (var i = 0; i < arrParams.length; i++)
	{
		sUrl = cutUrlParameter(sUrl, arrParams[i]);
	}
	return sUrl;
}

function addUrlParam(sUrl, name, value)
{
	var s = sUrl.substr(sUrl.length - 1, 1);
	if (s != "?" && s != "&")
	{
		if (sUrl.indexOf("?") == -1)
		{
			sUrl = sUrl + "?";
		}
		else
		{
			sUrl = sUrl + "&";
		}
	}
	return sUrl + name + "=" + value;
}

function getUrlParameter(sURL, sParameter)
{
	var nPosition = sURL.indexOf("&"+sParameter+"=")
	if (nPosition<1) {nPosition = sURL.indexOf("?"+sParameter+"=")}
	if (nPosition>0) 
		{
			if (sURL.indexOf("&", nPosition+1)>0)
				{return sURL.substring(nPosition, sURL.indexOf("&",nPosition+1))}
			else
				{return sURL.substring(nPosition, sURL.length)}
		}
	return sURL
}

function getUrlParameterReal(sURL,sParameter)
{
	var nPosition=sURL.indexOf("&"+sParameter+"=")
	if (nPosition==-1)
		nPosition=sURL.indexOf("?"+sParameter+"=")
	if (nPosition==-1)
		return null;
	
	var nPosition2=sURL.indexOf("&",nPosition+1);
	return sURL.substring(nPosition+sParameter.length+2,nPosition2==-1 ? sURL.length : nPosition2);
}

function setNiceUrlParameter(url,parameterName,parameterValue)
{
	var pos=url.indexOf("/"+parameterName+"_");
	var cast1="";
	var cast2="";
	if (pos==-1)
	{
		pos=url.lastIndexOf("/");
		cast1=url.substring(0,pos+1);
		cast2=url.substring(pos,url.length);
		parameterValue=parameterName+"_"+parameterValue;
	}
	else
	{
		pos+=parameterName.length+2;
		var pos2=url.indexOf("/",pos)
		cast1=url.substring(0,pos);
		cast2=url.substring(pos2,url.length);
	}
	
	return cast1+parameterValue+cast2;
}

function getNiceUrlParameter(url,parameterName)
{
	var pos=url.indexOf("/"+parameterName+"_");
	if (pos==-1)
		return null;
	
	pos+=parameterName.length+2;
	var pos2=url.indexOf("/",pos);
	if (pos2==-1)
		return null;
		
	return url.substring(pos,pos2);
}

function SetInternal(eventName, eventArg)
{
	GetElement("EventState").value = eventName;
	GetElement("EventValue").value = eventArg;	
}

function _DoInternalPostBack(eventName, eventArg) 
{
	var apsform = document.forms[0];
	if (apsform)
	{
		SetInternal(eventName, eventArg);
		apsform.submit();
	}
}

var boxTO = new Array();
boxTO[1]=0;
boxTO[2]=0;
boxTO[3]=0;
boxTO[4]=0;
boxTO[5]=0;
boxTO[6]=0;

function ResizeBoxBig(imgID)
{
	var obj, top, left, width, height;
	if (typeof(document.getElementById("box"+imgID))=="object")
		obj = document.getElementById("box"+imgID)
	else
		return false;

	obj.style.zIndex = 3;
	top = Math.abs(obj.style.top.replace('px', ''));
	left = Math.abs(obj.style.left.replace('px', '')); 

	if (obj.height<131)
	{
		obj.style.top = top-3;
		obj.style.height = obj.height + 4;
		obj.style.left = left - 2;
		obj.style.width = obj.width + 4;
		boxTO[imgID] = window.setTimeout("ResizeBoxBig("+imgID+")", 30);
	}
}
function ResizeBoxSmall(imgID)
{
	var obj, top, left, width, height;
	if (typeof(document.getElementById("box"+imgID))=="object")
		obj = document.getElementById("box"+imgID)
	else
		return false;

	obj.style.zIndex = 2;
	top = Math.abs(obj.style.top.replace('px', ''));
	left = Math.abs(obj.style.left.replace('px', '')); 

	if (obj.height>65)
	{
		obj.style.top = top + 3;
		obj.style.height = obj.height - 4;
		obj.style.left = left + 2;
		obj.style.width = obj.width - 4;
		boxTO[imgID] = window.setTimeout("ResizeBoxSmall("+imgID+")", 30);
	}
	else
		obj.style.zIndex = 1;
}

function ChangeReference()
{
var Box = document.getElementById("ReferenceBox");
var Container = document.getElementById("ReferenceCont");
var HTML = Container.innerHTML;
Container.innerHTML = Box.innerHTML;

//ChangeOpacity(Box, 8, 0);
Box.innerHTML = HTML;
//ChangeOpacity(Box, 1, 1);

window.setTimeout("ChangeReference()", 3000);
}
function ChangeOpacity(obj, nOpacity, up)
{
if (nOpacity<=0 || nOpacity>=9) return;
obj.style.filter="progid:DXImageTransform.Microsoft.BasicImage(opacity=0."+ nOpacity +")";
if (up==0) nOpacity--; else nOpacity++;
window.setTimeout("ChangeOpacity(Box, "+nOpacity+", "+up+")", 50);
}

var ImageState = new Array();
ImageState[0]="UP";
ImageState[1]="UP";
ImageState[2]="UP";

var ImageOpacity = new Array();
ImageOpacity[0]=0;
ImageOpacity[1]=0;
ImageOpacity[2]=0;

var ImageTimeOut = new Array();
ImageTimeOut[0]=0;
ImageTimeOut[1]=0;
ImageTimeOut[2]=0;

function changeOpacity(pObjornIMG, psState)
{
var pnIMG;

if (isNaN(pObjornIMG))
	pnIMG = KatImg(pObjornIMG);
else
	pnIMG = pObjornIMG;

	var topBar = document.getElementsByName("topBarImg")[pnIMG]; //document.all.topBar[pnIMG]; //document.getElementById("topBar")[pnIMG]; //
	var nOpacity = ImageOpacity[pnIMG];
	
	if (ImageTimeOut[pnIMG]!=0 && psState!=ImageState[pnIMG]) 
		{
		window.clearTimeout(ImageTimeOut[pnIMG]);
		ImageState[pnIMG]=psState;
		}

	if (nOpacity>=9 && psState=='UP')
		{return; ImageTimeOut[pnIMG]=0;}
	else if (nOpacity<=0 && psState=='DOWN')
		{return; ImageTimeOut[pnIMG]=0;}
	else if (ImageState[pnIMG]=='UP')
		nOpacity=nOpacity+1;
	else if (ImageState[pnIMG]=='DOWN')
		nOpacity=nOpacity-1;
	else
		return;

	topBar.style.filter="progid:DXImageTransform.Microsoft.BasicImage(opacity=0."+ nOpacity +")";
	ImageOpacity[pnIMG] = nOpacity;

	ImageTimeOut[pnIMG] = window.setTimeout("changeOpacity("+pnIMG+", '"+psState+"')", 50);
}
function KatImg(pObj)
{
var sURL="";
if(pObj.getElementsByTagName('A').length>0)
	sURL = pObj.getElementsByTagName('A')[0].href.toLowerCase();

if (sURL.indexOf('country')>-1) 
	return 0;
else if (sURL.indexOf('industry')>-1) 
	return 1;
else if (sURL.indexOf('product')>-1) 
	return 2;
else
	return 0;
}
function setStartOpacity()
{
	document.all.topBar[0].style.filter='progid:DXImageTransform.Microsoft.BasicImage(opacity=0.0)';
	document.all.topBar[1].style.filter='progid:DXImageTransform.Microsoft.BasicImage(opacity=0.0)';
	document.all.topBar[2].style.filter='progid:DXImageTransform.Microsoft.BasicImage(opacity=0.0)';
}



//*************************************** MENU ******************************************
var IdTime;
var MenuState=0;

function findMenuItemsSub(element,menuItems)
{
	var childs=element.childNodes;
	for (var a=0;a<childs.length;a++)
		if (childs[a].attributes!=null)
		{
			var childClass=childs[a].attributes.getNamedItem("class");
			if (childClass!=null)
			{
				var childClassValue=childClass.value;
				if (childClassValue.indexOf("menuitem ")==0)
				{
					childs[a].menuLevel=childClassValue.substring(15);
					menuItems[menuItems.length]=childs[a];
				}
			}
			findMenuItemsSub(childs[a],menuItems);
		}
}

function findMenuItems()
{
	var root=document.getElementById("TopMenuTables");
	var menuItems=new Array();
	
	if (root!=null)
		findMenuItemsSub(root,menuItems);
	
	return menuItems;
}

function allHiddenMenu(){
	window.clearTimeout(IdTime);
	MenuState--;
	IdTime=null;
	
	var arrObjLevels = findMenuItems();
	for (var I=0; I<arrObjLevels.length; I++)
		arrObjLevels[I].parentNode.style.visibility = "hidden"; 
}

function chHiddenMenu(chID,pLevel){
	window.clearTimeout(IdTime);
	MenuState--;
	IdTime=null;
	
	var arrObjLevels = findMenuItems();
	for (var I=0; I<arrObjLevels.length; I++)
		if (arrObjLevels[I].menuLevel>pLevel && arrObjLevels[I].parentNode.id!=chID)
			arrObjLevels[I].parentNode.style.visibility = "hidden";
}

function outObj(){
     IdTime = window.setTimeout("allHiddenMenu()",300);
}

function GetMenuElementTagName(root)
{
	var tag_name="TD";

	try
	{
		tag_name=GetCustomMenuElementTagName(root);
	}
	catch (e)
	{}

	return tag_name;
}

function onRoot(hID,ID){
      var objElem = document.getElementById(ID);
     
      var x = 0;
      while ((objElem!=null) && typeof objElem == 'object' && objElem.tagName != GetMenuElementTagName(true)){ 
          x += objElem.offsetLeft;
          objElem = objElem.offsetParent;
      }
      allHiddenMenu();
      if(document.getElementById('ch'+hID)!= null )
      {
		var pos=new TPoint(-1,25);
		try
		{
			GetCustomMenuPositionRoot(pos);
		}
		catch (e)
		{}

           document.getElementById('ch'+hID).style.left = (x+pos.x)+"px";
           document.getElementById('ch'+hID).style.top = (pos.y)+"px";
           MenuState++;
           document.getElementById('ch'+hID).style.visibility = "visible";
           if(document.getElementById('T'+hID)!= null ) document.getElementById('T'+hID).style.visibility = "visible";
      }
}
function isInvertSides(pObj)
{
      var objLayer = pObj
      var objArrows = objLayer.getElementsByTagName("IMG");

	if (typeof(objArrows[0])=='object')
		if (objArrows[0].align == "left")
			return true
		else
			return false
}

function InvertSides(pObj)
{
      var objLayer = pObj
      var objArrows = objLayer.getElementsByTagName("IMG");
      var objAnchors = objLayer.getElementsByTagName("A");

		for(var i=0; typeof(objArrows[i]) == 'object'; i++)
		{
			objArrows[i].align="left";
			if (objArrows[i].src.indexOf('R.gif')>0)
			{
				objArrows[i].src = objArrows[i].src.substring(0, objArrows[i].src.indexOf('R.gif')) + 'L.gif'
				objArrows[i].style.marginRight="-15px";
			}
		}
		for(var i=0; typeof(objAnchors[i]) == 'object'; i++)
		{
			objAnchors[i].style.paddingLeft="15px";
			objAnchors[i].style.paddingRight="0px";
		}
}

function onChildren(chID,Obj,pLevel){
      var objElem = Obj.parentNode;
      var objLayerTbl = Obj.parentNode.parentNode.parentNode;

      var x = 0;
      var y = 0;
      var nObjWidth;

      x += parseFloat(objElem.offsetWidth);
      while (typeof objElem == 'object' && objElem.tagName != GetMenuElementTagName(false)){ 
          if (objElem.offsetLeft>0)
			x += objElem.offsetLeft;
          y += objElem.offsetTop;
          nObjWidth = objElem.clientWidth;
          objElem = objElem.offsetParent;
      };

      chHiddenMenu(chID,pLevel);
      if(document.getElementById('ch'+chID)!= null ){
			if (typeof(objLayerTbl) == 'object')
				if (nObjWidth+x>document.body.offsetWidth-30 || isInvertSides(objLayerTbl))
				{
					InvertSides(objLayerTbl);
					x = (x-nObjWidth)-document.getElementById('ch'+chID).clientWidth+8;
				}
			
			var pos=new TPoint(-6,2);
			try
			{
				GetCustomMenuPositionChildren(pos);
			}
			catch (e)
			{}
           document.getElementById('ch'+chID).style.left = (x+pos.x)+"px";
           document.getElementById('ch'+chID).style.top = (y+pos.y)+"px";
           MenuState++;
           document.getElementById('ch'+chID).style.visibility = "visible";
           if (isInvertSides(objLayerTbl))
				InvertSides(document.getElementById('ch'+chID));
           if(document.getElementById('T'+chID)!= null ) document.getElementById('T'+chID).style.visibility = "visible";
      }
}
function ClearTime(){
     window.clearTimeout(IdTime);
}

function AddEventHandler(object,event,handler)
{
	if ((object==null)||(event==null)||(handler==null))
		return;
		
	if (object.attachEvent)
		object.attachEvent("on"+event,handler);
	else
		object.addEventListener(event,handler,false);
}

function RemoveEventHandler(object,event,handler)
{
	if ((object==null)||(event==null)||(handler==null))
		return;
		
	if (object.detachEvent)
		object.detachEvent("on"+event,handler);
	else
		object.removeEventListener(event,handler,false);
}
//************************************* CHECK BROWSERS **************************************

var Br=new BrCheck()
function BrCheck()
{
	this.VER	= navigator.appVersion;
	this.AGENT	= navigator.userAgent;
	this.DOM	= document.getElementById ?true:false;
	    
	this.OP5	= this.AGENT.indexOf("Opera 5")>-1							?true:false;
	this.OP6	= this.AGENT.indexOf("Opera 6")>-1							?true:false;
	this.OP7	= this.AGENT.indexOf("Opera 7")>-1							?true:false;
	this.OP		= (this.OP5 || this.OP6 || this.OP7)
 
	this.IE4	= (document.all && !this.DOM && !this.OP)					?true:false;
	this.IE5	= (this.VER.indexOf("MSIE 5")>-1 && this.DOM && !this.OP)	?true:false; 
	this.IE6	= (this.VER.indexOf("MSIE 6")>-1 && this.DOM && !this.OP)	?true:false;
	this.IE7	= (this.VER.indexOf("MSIE 7")>-1 && this.DOM && !this.OP)	?true:false;
	this.IE8	= (this.VER.indexOf("MSIE 8")>-1 && this.DOM && !this.OP)	?true:false;
	this.IE		= (this.IE4 || this.IE5 || this.IE6 || this.IE7 || this.IE8)

	this.NS4	= (document.layers && !this.DOM)							?true:false;
	this.NS7	= (this.DOM && parseInt(this.VER) >= 5 && this.AGENT.lastIndexOf('Netscape')<this.AGENT.lastIndexOf('7'))?true:false;
	this.NS6	= (this.DOM && parseInt(this.VER) >= 5 && !this.NS7)		?true:false;
	this.NS		= (this.NS4 || this.NS6 || this.NS7)
		
	this.OK_BuyIframe = (this.IE6 || this.OP7 || this.NS7)		//kompatibilita iframe nakupovani
	this.OK_CATMenu =	(this.IE || this.OP7 || this.NS7)		//kompatibilita menu

	return this
}

