var HEIGHT = 91; // %
var TOP = 3; // %
var FAQ_LAYER_NAME = "faqlayer";
var isIE = navigator.appName.indexOf( "Internet Explorer" ) > 0 && !window.opera;


function showFAQ( strURI )
{
	var objFAQ = getFAQLayer( );
	
	if( !objFAQ )
		return true;
	else
	{
		var objFAQFrame = getFAQFrame( objFAQ );
		objFAQFrame.src = strURI;
		window.scrollTo( 0, 0 );
		if( isIE )
		{
			//alert( document.documentElement.scrollHeight + "  " + document.documentElement.scrollTop );
			var intPageHeight = parseInt( 100 * document.documentElement.clientHeight / document.documentElement.scrollHeight );
			objFAQ.style.height = HEIGHT * intPageHeight / 100 + "%";
			objFAQ.style.top = TOP * intPageHeight / 100 + "%";
		}
		objFAQ.style.display = "block";
		return false;
	}
}

function hideFAQ( )
{
	var objFAQ = getFAQLayer( );
	objFAQ.style.display = "none";
	return false;
}

function getFAQLayer( )
{
	try
	{
		var objFAQ = (document.all && !window.opera)
					? document.all[ FAQ_LAYER_NAME ] : document.getElementById( FAQ_LAYER_NAME );

		if( !objFAQ )
		{
			if( isIE )
			{
				document.body.insertAdjacentHTML( "BeforeEnd", '<div id="' + FAQ_LAYER_NAME + '" class="faqlayer"><iframe id="faqframe" frameborder="0"></iframe></div>' );
				return document.all[ FAQ_LAYER_NAME ];
			}
			else
			{
				var objDiv = document.createElement( "div" );
				var attrID = document.createAttribute( "id" );
				attrID.nodeValue = FAQ_LAYER_NAME;
				objDiv.setAttributeNode( attrID );
				var attrClass = document.createAttribute( "class" );
				attrClass.nodeValue = "faqlayer";
				objDiv.setAttributeNode( attrClass );
				objDiv.innerHTML = '<iframe id="faqframe" frameborder="no"></iframe>';
				document.body.appendChild( objDiv );
				return objDiv;
			}
		}
		else
		{
			return objFAQ;	
		}
	}
	catch( excCreateDiv )
	{
		alert( excCreateDiv.message );
		return null;
	}
}


function getFAQFrame( objFAQLayer )
{
	return getNode( "faqframe" );
}





/*************************** BUSINESS TAB NAVI **********************************/

function setCurrentState () {
	/* set correct tab*/
	var tabName = getURLParam("tab");
	/* fixed problems with browser back */
	tabName = tabName.replace(/#$|/g, "" );
	if (GetCookie("tab") == "towns" || GetCookie("tab") == 'tsc' || GetCookie("tab") == 'search') {
		DeleteCookie("tab");
		SetCookie("tab","");
	}
	if (tabName != "" &! getURLParam("tab").match(/#$/g)) {
		DeleteCookie("tab");
		DeleteCookie("section");
		DeleteCookie("level");
		DeleteCookie("item");
		DeleteCookie("letter");
		showLetter('A');
		showSection(tabName);
	} else {
		if (GetCookie("tab")) {
			showSection(GetCookie("tab"));
		} else {
			showSection('sector');
		}
		if (GetCookie("section") && GetCookie("tab")=='sector') {
			showSubSection(GetCookie("tab"),GetCookie("section"));
		}
		if (GetCookie("tab")=='service') {
			if (GetCookie("letter")) {
				showLetter(GetCookie("letter"));
			} else {
				showLetter('A');
			}
		} else {
			showLetter('A');
		}
	}
}

function setActive ( objItem ) {
	return false;
	if( Css.containsClass( objItem, "activeLink" ) ) {
		Css.removeClass( objItem, "activeLink" );
	} else {
		Css.addClass( objItem, "activeLink" );
	}
}

function changeItem( objItem )
{
	if (isRedirect == 1) {
		isRedirect = "";
		return false;
	}
	
	SetCookie("item",objItem);
	
	if( Css.containsClass( objItem, "active" ) ) {
		Css.removeClass( objItem, "active" );
	} else {
		Css.addClass( objItem, "active" );
	}
}


var TAB_SECTION = "sector";
var TAB_SERVICE = "service";
var TAB_COMPETENCE = "competence";
var TAB_LOC_SEARCH = "search";
var TAB_LOC_MAP = "map";
var TAB_LOC_TOWNS = "towns";
var TAB_LOC_COUNTRY = "country";
var TAB_LOC_COMPANY = "company";
var TAB_LOC_TSC = "tsc";

var strActiveSub = "";
var strActiveSubParent = "";

function showSection( strID )
{
	SetCookie("tab",strID);
	
	Css.removeClass( getNode( "tab_" + TAB_SECTION ), "active" );
	Css.removeClass( getNode( "tab_" + TAB_SERVICE ), "active" );
	Css.removeClass( getNode( "tab_" + TAB_COMPETENCE ), "active" );
	Css.removeClass( getNode( "tab_" + TAB_LOC_COMPANY ), "active" );
	Css.removeClass( getNode( "tab_" + TAB_LOC_MAP ), "active" );
	Css.removeClass( getNode( "tab_" + TAB_LOC_TOWNS ), "active" );
	Css.removeClass( getNode( "tab_" + TAB_LOC_COUNTRY ), "active" );
	Css.removeClass( getNode( "tab_" + TAB_LOC_SEARCH ), "active" );
	Css.removeClass( getNode( "tab_" + TAB_LOC_TSC ), "active" );
	
	if( strActiveSub )
	{
	   Css.removeClass( getNode( "busi_" + strActiveSubParent+ "_sub" + strActiveSub ), "active" );
	}
	
	Css.addClass( getNode( "tab_" + strID ), "active" );
	
	Css.removeClass( getNode( "busi_" + TAB_SECTION ), "active" );
	Css.removeClass( getNode( "busi_" + TAB_SERVICE ), "active" );
	Css.removeClass( getNode( "busi_" + TAB_COMPETENCE ), "active" );
	Css.removeClass( getNode( "busi_" + TAB_LOC_COMPANY ), "active" );
	Css.removeClass( getNode( "busi_" + TAB_LOC_MAP ), "active" );
	Css.removeClass( getNode( "busi_" + TAB_LOC_TOWNS ), "active" );
	Css.removeClass( getNode( "busi_" + TAB_LOC_COUNTRY ), "active" );
	Css.removeClass( getNode( "busi_" + TAB_LOC_SEARCH ), "active" );
	Css.removeClass( getNode( "busi_" + TAB_LOC_TSC ), "active" );
	
	Css.addClass( getNode( "busi_" + strID ), "active" );

	return false;
}

function showSubSection( strIDParent, strID )
{
	SetCookie("section",strID);
	
	Css.removeClass( getNode( "busi_" + strIDParent ), "active" );
	Css.addClass( getNode( "busi_" + strIDParent + "_sub" + strID ), "active" );
	
	strActiveSub = strID;
	strActiveSubParent = strIDParent;

	return false;
}

function showParent( )
{
	Css.removeClass( getNode( "busi_" + strActiveSubParent+ "_sub" + strActiveSub ), "active" );
	Css.addClass( getNode( "busi_" + strActiveSubParent ), "active" );

	return false;
}

var strActiveSubLevel = "";
var strActiveSublevelParent = "";
function showSubLevel( strIDParent, strID ,objItem)
{
	SetCookie("level",strID);
	
	Css.removeClass( getNode( "busi_" + strIDParent + "_sublevel" + strActiveSubLevel ), "active" );
	Css.addClass( getNode( "busi_" + strIDParent + "_sublevel" + strID ), "active" );
	
	strActiveSubLevel = strID;
	strActiveSublevelParent = strIDParent;
	
	/*setActive (objItem);*/
	
	return false;
}

var isRedirect = "";
function redirectPage (objItem) {
	isRedirect = 1;
}

function getNode( strID )
{
	if( isIE )
		return document.all[ strID ];
	else
		return document.getElementById( strID );
}

/**
 * Wrapper for classes to manipulate style object
 * @constructor
 */
function Css( )
{
}

Css._p_getClass = function( objNode )
	{
		if( !objNode )
			throw "Param not node";
		var strClass;
		if( document.all && !window.opera )
			return objNode.className || "";
		else
			return objNode.getAttribute( "class" ) || "";
	}
		
Css._p_setClass = function( objNode, strClassname )
	{
		if( !objNode )
			throw "Param not node";
		strClassname = strClassname.replace(/^\s+|\s+$/g, "" );
		if( document.all && !window.opera )
			objNode.className = strClassname;
		else
			objNode.setAttribute( "class", strClassname );
	}
		
Css.containsClass = function( objNode, strClassname )
	{
		try
		{
			return ( new RegExp( "\\b" + strClassname + "\\b") ).test( this._p_getClass( objNode ) );
		}
		catch( excNoNode )
		{
			throw( excNoNode );
		}
	}
	

//Dom.Css = Css;

Css.addClass = function( objNode, strClassname )
{
	try
	{
		if( !this.containsClass( objNode, strClassname ) )
		{
			this._p_setClass( objNode, this._p_getClass( objNode ) + " " + strClassname );
		}
	}
	catch( excNoNode ){ }
}


Css.removeClass = function( objNode, strClassname )
{
	try
	{
		this._p_setClass( objNode, this._p_getClass( objNode ).replace( new RegExp( "\\b" + strClassname + "\\b"), "" ) );
	}
	catch( excNoNode ){ }
}

var strActiveLetter = "A";
function showLetter (letter) {
	SetCookie("letter",letter);
	Css.removeClass( getNode( "selectedChar_" + strActiveLetter ), "activeChar" );
	Css.removeClass( getNode( "char_" + strActiveLetter ), "activeChar" );
	Css.removeClass( getNode( "klickChar_" + strActiveLetter ), "activeChar" );
	
	Css.addClass( getNode( "selectedChar_" + strActiveLetter ), "hiddenChar" );
	Css.addClass( getNode( "char_" + strActiveLetter ), "hiddenChar" );
	Css.removeClass( getNode( "klickChar_" + strActiveLetter ), "hiddenChar" );
	
	
	Css.removeClass( getNode( "selectedChar_" + letter ), "hiddenChar" );
	Css.removeClass( getNode( "char_" + letter ), "hiddenChar" );
	Css.removeClass( getNode( "klickChar_" + letter ), "hiddenChar" );
	
	Css.addClass( getNode( "selectedChar_" + letter ), "activeChar" );
	Css.addClass( getNode( "char_" + letter ), "activeChar" );
	Css.addClass( getNode( "klickChar_" + letter ), "activeChar" );
	
	strActiveLetter = letter;
	
}

Array.prototype.isIn = function ( what ) {
	if ( ! what ) return false;
	for ( var i = 0; i < this.length; i++ ) {
		if ( this[i] == what ) return true;
	}
	return false;
}


function ns_onclick (a, url, name, type, winopt){
var ns_l=getWebguiProperty("sitestatURL")+"/s?";
ns_l+=name;ns_l+='&ns_type='+type+'&ns_action=view';
ns_l+='&ns__t='+(new Date()).getTime();if(!url)url=a.href;
var ns_0=document.referrer;if(ns_0.lastIndexOf('/')==ns_0.length-1)
ns_0=ns_0.substring(ns_0.lastIndexOf('/'),0);
if (ns_0.length>0)ns_l+='&amp;ns_referrer='+escape(ns_0);
winopt=winopt||"";var target=(a&&a.target&&a.target!="")?(a.target.substring(0,1)=="_")?a.target.substring(1):a.target:"self";
var ns_i=new Image();if(target&&url){if(window[target]){window.ns_softclick_timer=function(target,url)
{return function(){ns_i.onload=ns_i.onerror=function(){return;};
window[((window[target])?target:"self")].location.href=url;}}(target,url);
window.setTimeout('ns_softclick_timer()',5000);ns_i.onload=ns_i.onerror=window.ns_softclick_timer;}else{
window.open(url,'_blank',winopt);}}ns_i.src=ns_l;return false;}
