var theonlytimer = -1;
var curentElem = null;

function menu_activate()
{
    Menu('ctl00_TopMenu');
}
function activateSecondNav(e)
{
	var SecondNavHolder = document.getElementById("SecondNavigation");
	var NavigationItems = SecondNavHolder.getElementsByTagName("li");
	for (i=0; i<NavigationItems.length; i++)
	{
		var Item = NavigationItems[i];
		Item.onclick = onclicker;
	}
}

function onclicker(e)
{
	var SecondNavHolder = document.getElementById("SecondNavigation");
	var NavigationItems = SecondNavHolder.getElementsByTagName("li");
	for (i=0; i<NavigationItems.length; i++)
	{
		NavigationItems[i].className = null;
	}
	this.className = 'Selected';
	var SecondNavContent = document.getElementById("BookmarksContent");
	var ContentItems = SecondNavContent.getElementsByTagName("div");
	for (i=0; i<ContentItems.length; i++)
	{
		var Item = ContentItems[i];
		if(Item.parentNode == SecondNavContent)
		{
			if(Item.id != this.id + '_content')
			{
				Item.Class = 'hidden';
				Item.className = 'hidden';
			}
			else
			{
				Item.Class = 'displayed';
				Item.className = 'displayed';
			}
		}
	}
}

function onloadOpenLevels() {
	if (window.location.hash.length > 1) {
		var hash = window.location.hash.substr(1,window.location.hash.length);
		var hashArray = hash.split(";");
		for(i=0;i<hashArray.length;i++) {
			if(document.getElementById(hashArray[i]) && document.getElementById(hashArray[i]).className == 'toopen')
				openLevel(hashArray[i]);
			hashPref = hashArray[i].substr(0,1);
			hashBody = hashArray[i].substr(1,hashArray[i].length);
			if( hashPref == "-" && document.getElementById(hashBody) && document.getElementById(hashBody).className == 'toclose')
				openLevel(hashArray[i].substr(1,hashArray[i].length));
		}
	}

}

function openLevel (contentId)
{
	var Level = document.getElementById(contentId);
	var Item = document.getElementById(contentId + '_content');

	var r1 = "#"+contentId+";";
	var r2 = ";"+contentId+";";
	var r3 = "-"+contentId+";";
	var newLoc = window.location.href;

	if (Item != null && Item.className == 'hidden')
	{
		Item.Class = 'displayed opened';
		Item.className = 'displayed opened';
		Level.Class = 'toclose';
		Level.className = 'toclose';

		if (newLoc.indexOf(r3) > -1) {
			newLoc = newLoc.substr(0,newLoc.indexOf(r3)) + newLoc.substr(newLoc.indexOf(r3)+r3.length,newLoc.length);

		}
		else if (newLoc.indexOf(r1) == -1 && newLoc.indexOf(r2) == -1) {
			var wlString = String(window.location);
			newLoc += (window.location.hash == '' && wlString.substr(wlString.length-1,wlString.length) != '#') ? "#" : "";
			newLoc += contentId + ";";
		}
	}
	else
	{
		Item.Class = 'hidden';
		Item.className = 'hidden';
		Level.Class = 'toopen';
		Level.className = 'toopen';

		if ( newLoc.indexOf('#') > -1 && ( newLoc.indexOf(r1) > -1 || newLoc.indexOf(r2) > -1 ) ) {
			newLoc = (newLoc.indexOf(r1) > -1) ? newLoc.substr(0,newLoc.indexOf(r1)) + "#" + newLoc.substr(newLoc.indexOf(r1)+r1.length,newLoc.length) : newLoc;
			newLoc = (newLoc.indexOf(r2) > -1) ? newLoc.substr(0,newLoc.indexOf(r2)) + ";" + newLoc.substr(newLoc.indexOf(r2)+r2.length,newLoc.length) : newLoc;
		}
		else if (newLoc.indexOf(r3) == -1) {
			newLoc += (newLoc.indexOf('#') > -1)? "" : "#";
			newLoc += r3;
		}
	}
	if (newLoc.substr(newLoc.length-1,1) == "#") newLoc += "n;";
	window.location.replace(newLoc);
}

function getArgs() {
	var args = new Object();
	var query = location.search.substring(1);
	var pairs = query.split("&");
	for(var i = 0; i < pairs.length; i++) {
		var pos = pairs[i].indexOf('=');
		if (pos == -1) continue;
		var argname = pairs[i].substring(0,pos);
		var value = pairs[i].substring(pos+1);
		value = decodeURIComponent(value);
		args[argname] = value;
	}
	return args;
}

function openSubLevel (contentId)
{
	var Level = document.getElementById(contentId);
	var Item = document.getElementById(contentId + '_content');
	if (Item != null && Item.className == 'hidden')
	{
		Item.Class = 'displayed';
		Item.className = 'displayed';
	}
	else
	{
		Item.Class = 'hidden';
		Item.className = 'hidden';
	}
}

function openclose (contentId)
{
	var H2 = document.getElementById(contentId);
	var more = document.getElementById(contentId + '_more');
	var Div = document.getElementById(contentId + '_content');
	if (Div != null && Div.className == 'hidden')
	{
		Div.Class = 'displayed opened';
		Div.className = 'displayed opened';
		H2.Class = 'toclose';
		H2.className = 'toclose';
		if (more) more.Class = 'hidden';
		if (more) more.className = 'hidden';
	}
	else
	{
		Div.Class = 'hidden';
		Div.className = 'hidden';
		H2.Class = 'toopen';
		H2.className = 'toopen';
		if (more) more.Class = 'displayed';
		if (more) more.className = 'displayed';
	}
}


function openSectionContent (contentId)
{
	var SectionHeader = document.getElementById(contentId);
	var Section = document.getElementById(contentId + '_content');
	if (Section.className == 'hidden')
	{
		Section.Class = 'displayed opened';
		Section.className = 'displayed opened';
		SectionHeader.Class = 'toclose';
		SectionHeader.className = 'toclose';
	}
	else
	{
		Section.Class = 'hidden';
		Section.className = 'hidden';
		SectionHeader.Class = 'toopen';
		SectionHeader.className = 'toopen';
	}
}

function openManufDevices (contentId)
{
	var mDiv = document.getElementById("m_" + contentId);
	var mHeader = document.getElementById("m_" + contentId + "_name");
	var mList = document.getElementById("m_" + contentId + '_content');
	mDiv.className = (mList.style.display=='block') ? ( (Math.round(contentId/2) == contentId/2) ? 'mEven' : 'mOdd' ) : 'mDivOpened';
	mHeader.className = (mList.style.display=='block') ? 'mClosed' : 'mOpened';
	mList.style.display = (mList.style.display=='block') ? 'none' : 'block';
}

function overManufDevices (contentId)
{
	var mDiv = document.getElementById("m_" + contentId);
	mDiv.className = (mDiv.className == 'mDivOpened') ? 'mDivOpened' : 'mDivOver';
}
function outManufDevices (contentId)
{
	var mDiv = document.getElementById("m_" + contentId);
	mDiv.className = (mDiv.className == 'mDivOpened') ? 'mDivOpened' : (Math.round(contentId/2) == contentId/2) ? 'mEven' : 'mOdd';
}


function Menu(id)
{
	var timer;

	function onovermenu(elem)
	{
		/*Hide all root LI elements to prevent the situation when two or more root LIsts stay opened. It can occur because of clearTimeout and wrong related target definition (depends on browser).*/
		var liElems = document.getElementById(id).getElementsByTagName('li');
			for (i=0; i<liElems.length; i++)
			{
				onoutmenu(liElems[i], "level_over");
			}
		/*end*/
		elem.className += " " + elem.className + "_over";


	}



	function onoutmenu(elem, classSubstr)
	{
		//theonlytimer = -1;
		if (!classSubstr)
		{
			var classSubstr = "_over";
		}
		if(elem.className.indexOf(classSubstr) != -1)
			elem.className = elem.className.substr(0, elem.className.indexOf(" "));
	}
	function mouseHandler(e)
	{
		if (!e) e = window.event;
		var relTarget = (e.toElement)? e.toElement : e.relatedTarget;
		var self = this;
		if (e.type == 'mouseover')
		{
			/*clearTimeout to prevent hiding if user goes back to menu during timeout*/
			clearTimeout(timer);
			timer = undefined;
			//alert(timer);
			onovermenu(self);
		}
		else if (e.type == 'mouseout')
		{
			/*timeout starts if related target isn't root menu or menu levels 500 */
			if (relTarget && relTarget.id && relTarget.id.indexOf('ctl00_TopMenu') == -1 || relTarget && !relTarget.id && relTarget.className.indexOf('level') == -1)
			{
				timer = window.setTimeout(function(){onoutmenu(self);}, 500);
				//alert(timer);
			}
			/*otherwise - standard handler*/
			else
			{
				onoutmenu(self);
			}
		}
	}

    function specHide(elem)
    {
        var hider = document.createElement("div");
        hider.style.height = 0;
        hider.style.overflow = "hidden";
        elem.parentNode.replaceChild(hider,elem);
        hider.appendChild(elem);
        elem.style.display = "block";
    }
    function deHide(elem)
    {
        elem.style.display = "";
        elem.parentNode.parentNode.replaceChild(elem,elem.parentNode);
    }
	function menuLinks(rootElem)
	{
		var menuLinks = rootElem.childNodes[i].getElementsByTagName('a');
		for (j=0; j< menuLinks.length; j++)
		{
			menuLinks[j].className = "menu-level-link";
		}
	}
    /*function activateTwoLevel2(elem)
    {
        elem.className = "two-level-second";
		elem.style.display = "block";
		var maxWidth = 0;
		for (var i = 0; i < elem.childNodes.length; i++)
	        if (elem.childNodes[i].nodeName.toLowerCase() == 'li')
            {
                var liElem = elem.childNodes[i];
                liElem.className = "two-level-second";
				maxWidth = maxWidth < liElem.getElementsByTagName("a")[0].offsetWidth ? liElem.getElementsByTagName("a")[0].offsetWidth : maxWidth;
		        liElem.onmouseover = mouseHandler;
		        liElem.onmouseout = mouseHandler;
		    }
		elem.style.display = "";
		maxWidth+=12;
		elem.style.width = maxWidth + "px";
		return maxWidth;
    }*/
	function activateTwoLevel2(elem)
    {
        elem.className = "two-level-second";
		elem.style.display = "block";
		for (var i = 0; i < elem.childNodes.length; i++)
			{
				if (elem.childNodes[i].nodeName.toLowerCase() == 'li')
				{
					var liElem = elem.childNodes[i];
					liElem.className = "two-level-second";
					liElem.onmouseover = mouseHandler;
					liElem.onmouseout = mouseHandler;
				}
			}
		elem.style.display = "";
    }



    function activateTwoLevel1(elem, rootElem)
    {

        elem.className = "two-level-first";
        for (var i = 0; i < elem.childNodes.length; i++)
	        if (elem.childNodes[i].nodeName.toLowerCase() == 'li')
	        {
		        var liElem = elem.childNodes[i];
		        var aElem = liElem.getElementsByTagName("a")[0];
                var transpBg = document.createElement("div");
                transpBg.className = "two-level-first-bg";
                liElem.insertBefore(transpBg,liElem.firstChild);
		        liElem.className = "two-level-first"
		        liElem.onmouseover = mouseHandlerTwoLevel;
		        liElem.onmouseout = mouseHandlerTwoLevel;
		        if (liElem.getElementsByTagName("ul").length > 0)
		        {
		            var childUl = liElem.getElementsByTagName("ul")[0];
		            /*var maxWidth = activateTwoLevel2(childUl);*/
					activateTwoLevel2(childUl);
		            var subMenuBg = document.createElement("div");
                    subMenuBg.className = "two-level-second-bg";
					/*subMenuBg.style.width = maxWidth + 5 + "px";*/
                    childUl.style.display = "block";
                    subMenuBg.style.height = liElem.getElementsByTagName("ul")[0].offsetHeight + "px";
                    childUl.style.display = "";
                    liElem.appendChild(subMenuBg);
		        }
				var aElemHeight = aElem.offsetHeight;
				aElem.style.display = "inline-block";
				aElem.style.paddingTop = (liElem.offsetHeight - aElemHeight) / 2 + "px";
		        aElem.style.paddingBottom = aElem.style.paddingTop;
				aElem.style.height = aElemHeight + "px";

		    }
		activateBg(elem, rootElem);
    }
			var timer2;
			var tim = 1;
			var timer3;
			var timerTL = new Array( );
            var openE = 0;
			var openelem = null;

	function mouseHandlerTwoLevel(e)
	{

		if (!e) e = window.event;
		var relTarget = (e.toElement)? e.toElement : e.relatedTarget;
		var fromTarget = (e.fromElement) ? e.fromElement : e.relatedTarget;
       // alert(fromTarget.parentNode.className);
		var self = this;

		if (e.type == 'mouseover')
		{




	//alert(theonlytimer);
	if(theonlytimer==-1)
				{
				onovermenu(self);
				}
				else
				{
					currentelem = this;
					}

		}
		else if (e.type == 'mouseout')
		{
			//alert(fromTarget.parentNode.className.indexOf('over'));

				if ((fromTarget && fromTarget.parentNode.className.indexOf('over') == -1) && (relTarget && relTarget.id  && relTarget.id.indexOf('ctl00_TopMenu') == -1) )
				{
			  //alert(theonlytimer);
					var f = function(){onoutmenu1(self)};
					theonlytimer = setTimeout(f,300);

//					onoutmenu(self);



		}


		if (relTarget && !relTarget.id && relTarget.parentNode.className.indexOf('second') == -1 || relTarget && relTarget.id  && relTarget.id.indexOf('ctl00_TopMenu') == -1)
				{

				if(theonlytimer==-1)
				{

					var f = function(){onoutmenu1(self)};
					theonlytimer = setTimeout(f,300);
//					alert(theonlytimer);
//					onoutmenu(self);
				}


		}


		}
	}




    function onoutmenu1(elem, classSubstr)
	{

		/*if (!classSubstr)
		{
			var classSubstr = "_over";
		}
		if(elem.className.indexOf(classSubstr) != -1)
			{elem.className = elem.className.substr(0, elem.className.indexOf(" "));}
		timerTL[tim-1] = undefined;
		timerTL[tim] = undefined;	*/
		theonlytimer = -1;
		if (!classSubstr)
		{
			var classSubstr = "_over";
		}
		if(elem.className.indexOf(classSubstr) != -1)
			{elem.className = elem.className.substr(0, elem.className.indexOf(" "));}


      if(currentelem != null)
		{
			//alert('t');
			onovermenu1(currentelem);
			currentelem = null;

		}

	}

   function onovermenu1(elem)
	{
		/*Hide all root LI elements to prevent the situation when two or more root LIsts stay opened. It can occur because of clearTimeout and wrong related target definition (depends on browser).*/




		/*end*/
		elem.className += " " + elem.className + "_over";



				/*var liElems = document.getElementById(id).getElementsByTagName('li');
			for (i=0; i<liElems.length; i++)
			{
				onoutmenu(liElems[i], "level_over");
			}*/
	}



    function activateSingleLevel1(elem, rootElem)
    {
        elem.className = "one-level-item";
        for (var i = 0; i < elem.childNodes.length; i++)
	        if (elem.childNodes[i].nodeName.toLowerCase() == 'li')
	        {
		        var liElem = elem.childNodes[i];
                liElem.className = "one-level-item";
		        liElem.onmouseover = mouseHandler;
		        liElem.onmouseout = mouseHandler;

		    }
		activateBg(elem, rootElem);
    }


    function activateTwoLevel(rootElem)
    {
        var childUl = rootElem.getElementsByTagName("ul")[0];
        specHide(childUl);
        rootElem.onmouseover = mouseHandler;
        rootElem.onmouseout = mouseHandler;

        activateTwoLevel1(childUl, rootElem);
        deHide(childUl);
    }



    function activateSingleLevel(rootElem)
    {
        var childUl = rootElem.getElementsByTagName("ul")[0];
        specHide(childUl);
        rootElem.onmouseover = mouseHandler;
        rootElem.onmouseout = mouseHandler;
        activateSingleLevel1(childUl, rootElem);
        deHide(childUl);
    }
	function activateNoLevel(rootElem)
    {
        var childUl = rootElem.getElementsByTagName("a")[0];
        rootElem.onmouseover = mouseHandler;
        rootElem.onmouseout = mouseHandler;
    }



	var rootElem;
	if (!document.getElementById(id))
	{
		return;
	}
	if (document.getElementById(id).nodeName.toLowerCase() != 'ul')
	{
	    if (document.getElementById(id).getElementsByTagName("ul")[0])
		{
		    rootElem = document.getElementById(id).getElementsByTagName("ul")[0];
		}
		else
		{
		    return;
		}
	}
	else
	    rootElem = document.getElementById(id);
	var i = 0;
	for (i = 0; i < rootElem.childNodes.length; i++)
	{
		if(rootElem.childNodes[i].className == 'two-level')
		{
			menuLinks(rootElem);
			activateTwoLevel(rootElem.childNodes[i]);
		}
		else if(rootElem.childNodes[i].className == 'one-level')
		{
			menuLinks(rootElem);
			activateSingleLevel(rootElem.childNodes[i]);
		}
		else if (rootElem.childNodes[i].className == 'no-level')
		{
			menuLinks(rootElem);
			activateNoLevel(rootElem.childNodes[i]);
		}
	}
	return;
}

function activateBg(elem, rootElem)
{
	var elemBg = document.createElement("div");
	var els = elem.getElementsByTagName('li');
	var elsCount = elem.getElementsByTagName('li').length;
	var liHeight;
	for (i=0; i<els.length; i++)
	{
		if (els[i].getElementsByTagName('ul').length >= 1)
		{
			elsCount -= els[i].getElementsByTagName('li').length;
		}
	}
	if (!window.getComputedStyle)
	{
		liHeight = parseInt(els[0].currentStyle.height);
	}
	else
	{
		liStyle = window.getComputedStyle(els[0], "");
		liHeight = parseInt(liStyle.getPropertyValue("height"));
	}
	elemBg.className = elem.className + "-transp-bg";
	elemBg.style.height = elsCount * liHeight + "px";
	rootElem.appendChild(elemBg);
}

function ChangeURLbySelect(selectID, param) {
    var URLstring = window.location.href;
    param = param + '=';
    if (URLstring) {
        if (URLstring.indexOf('?') != -1) {
            var firstpart = URLstring.substring(0, URLstring.indexOf('?'));
            var endpart = URLstring.substring(URLstring.indexOf('?'), URLstring.length);
            var re1 = new RegExp('\\?' + param, "ig");
            var re2 = new RegExp('&' + param, "ig");
            if (re1.test(endpart)) {
                if (endpart.indexOf('&') != -1) {
                    endpart = '?' + endpart.substring(endpart.indexOf('&') + 1, endpart.length);
                } else {
                    endpart = '?';
                }
            } else if (re2.test(endpart)) {
                var fp = endpart.substring(0, endpart.indexOf('&' + param));
                var ep = endpart.substring(endpart.indexOf('&' + param) + 1 + param.length);
                if (ep.indexOf('&') != -1)
                    ep = ep.substring(ep.indexOf('&'));
                else
                    ep = '';
                endpart = fp + ep;
            }
            URLstring = firstpart + endpart;
        } else {
            URLstring = URLstring + "?";
        }
        if (URLstring.substring(URLstring.length - 1) == "?")
            URLstring = URLstring + param + document.getElementById(selectID).options[document.getElementById(selectID).selectedIndex].value;
        else
            URLstring = URLstring + "&" + param + document.getElementById(selectID).options[document.getElementById(selectID).selectedIndex].value;
        return URLstring;
    }
}

/*
function ChangeURLbySelect(selectID,param)
{
var URLstring = window.location.href;
param = param + '=';
if (URLstring)
{
var re = new RegExp(param,"ig");
if (re.test(URLstring.substring(URLstring.indexOf("?")+1, URLstring.length)))
{
firstpart = URLstring.substring(0, (URLstring.indexOf(param)));
//firstpart = URLstring.substring(0, (URLstring.indexOf(param))-1);
lastpart = URLstring.substring(URLstring.indexOf(param)+1+param.length);
if ((lastpart.indexOf("&")+1)==0)
URLstring = firstpart;
else
URLstring = firstpart + lastpart.substring(lastpart.indexOf("&"));
}
else
{
if ((URLstring.indexOf("?")+1)==0)
URLstring = URLstring+"?";
}
if (URLstring.substr(URLstring.length-2,1)=="?")
URLstring=URLstring+param+document.getElementById(selectID).options[document.getElementById(selectID).selectedIndex].value;
else
URLstring=URLstring+"&"+param+document.getElementById(selectID).options[document.getElementById(selectID).selectedIndex].value;
return URLstring;
}
}
*/

function ShowVersions(SelectID)
{
var DivsContainer = document.getElementById("divs");
var Versions = DivsContainer.getElementsByTagName("div");
	document.getElementById(document.getElementById(SelectID).options[document.getElementById(SelectID).selectedIndex].value).style.display='';
	for (var i = 0; i<Versions.length; i++ )
	{
		if (document.getElementById(SelectID).options[document.getElementById(SelectID).selectedIndex].value != Versions[i].id)
		document.getElementById(Versions[i].id).style.display='none';
	}
}

function SelectGoToUrl(SelectID)
{
	self.location = document.getElementById(SelectID).options[document.getElementById(SelectID).selectedIndex].value;
}

function ReturnRandomNum(n)
{
	var today = new Date();
	var num= Math.floor(today.getMilliseconds()/1000 * n)+1;
	return num;
}

function ShowCaseStudies()
{
	var SelectIndustry = document.getElementById("SelectIndustry");
	var SelectProduct = document.getElementById("SelectProduct");
	var SelectCountry = document.getElementById("SelectCountry");
	var SelectFrom = document.getElementById("SelectFrom");
	var SelectTo = document.getElementById("SelectTo");
//	var KeyWords = document.forms['CaseStudiesForm'].KeyWords;
//	var URLstring = window.location.href;
	URLstring = "http://www.abbyy.com/CaseStudies/?";
	if (SelectIndustry.options[SelectIndustry.selectedIndex].value != ""){
		URLstring += "industry="+SelectIndustry.options[SelectIndustry.selectedIndex].value;}
	if (SelectProduct.options[SelectProduct.selectedIndex].value != ""){
		URLstring += "&product="+SelectProduct.options[SelectProduct.selectedIndex].value;}
	if (SelectCountry.options[SelectCountry.selectedIndex].value != ""){
		URLstring += "&country="+SelectCountry.options[SelectCountry.selectedIndex].value;}
	if (SelectFrom.options[SelectFrom.selectedIndex].value != ""){
		URLstring += "&from="+SelectFrom.options[SelectFrom.selectedIndex].value;}
	if (SelectTo.options[SelectTo.selectedIndex].value != ""){
		URLstring += "&to="+SelectTo.options[SelectTo.selectedIndex].value;}
//	if (KeyWords.value != ""){
//		URLstring += "&words="+KeyWords.value;}
	return URLstring;
}

function doSection (secNum)
{
	if (document.getElementById(secNum).style.display=="none"){document.getElementById(secNum).style.display=""}
	else{document.getElementById(secNum).style.display="none"}
}

function ChooseRegion()
{
	var SelectedRegion = document.getElementById('ChooseCountry').options[document.getElementById('ChooseCountry').selectedIndex].value;
	var AllRegionsDiv = document.getElementById("AllRegions");
	var RegionDivs = AllRegionsDiv.getElementsByTagName("div");
	for (i=0; i<RegionDivs.length; i++)
	{
		if (RegionDivs[i].id == SelectedRegion + "_contacts")
		document.getElementById(RegionDivs[i].id).style.display = '';
		else
		document.getElementById(RegionDivs[i].id).style.display = 'none';
	}
}


function parseURL(name)
/*works for array of params*/
{
	function getParam()
	{
		var url = new String(window.location);
		place = url.indexOf('?');
		if (place != -1)
		{
			url = url.substr(place+1);
			/*array of substrings, where each substring is one parameter*/
			params = url.split('&');
			x = 0;
			/*quantity of parameters*/
			quantity = params.length;
			/*create new array with keys*/
			var keys = new Array(quantity);
			/*create new array with values*/
			var values = new Array(quantity);
			for (param in params)
			{
					/*get Pair key and value for every param*/
					getPair = params[param].split('=');
					keys[x] = getPair[0];
					values[x] = getPair[1];
					x++;
			}
			var goal = [];
			for (i=0; i<keys.length; i++)
			{
				if (keys[i] == name[i])
				{
					goal[i] = values[i];
				}
			}
			getAction(goal);
		}
		else return;
	}
	getParam(name);
}


function changeResellerLocation(id)
{
	var elem = document.getElementById(id);
	var currentValue = elem.options[elem.selectedIndex].value;
	if (currentValue.indexOf('http://') != -1)
	{
		document.location = currentValue + '?' + id + '=' + elem.options[elem.selectedIndex].text;
	}
	else return true;
}

function counterSelect(sel){
		var sel = document.getElementById(sel);
		var selIx = sel.selectedIndex;
		var selValue = sel.options[selIx].value;
		if (selIx == 0)
		{
			alert(sel.options[0].text);
		}
		else if (selValue.indexOf('https://store.') != -1)
		{
			_gaq.push(['_link', selValue, true]);
			return false;
		}
}

var timerReg;
function showHideRegionList(e,elem)
{
	var list = elem;
	var relTarget = (e.toElement)? e.toElement : e.relatedTarget;

	if (e.type == 'mouseover')
	{
		if (timerReg)
		{
			clearTimeout(timerReg);
		}
		if (list.className.indexOf('_over') == -1)
		{
			list.className += ' ' + list.className + '_over';
		}
	}
	else if (e.type == 'mouseout')
	{
		if (list.className.indexOf('_over') != -1)
		{
			timerReg = window.setTimeout(function(){list.className = list.className.substr(0, list.className.indexOf(' '));}, 500);
		}
	}
}

function showFROffers (OfferID) {
	var allDivs=document.getElementsByTagName('div');
	for (i=0; i<allDivs.length; i++) {
		if (allDivs[i].className=='frOffersHidden') {
			allDivs[i].style.display='none';
		}
	}
	if (OfferID != '') document.getElementById(OfferID).style.display='block';
}

function regionSelector_activate()
{
	RegionSelector('RegionList');
}

function RegionSelector(id)
{
	var timer;
	var selector;

	if (!document.getElementById(id))
	{
		return;
	}
	else
	{
		selector = document.getElementById(id);
		selector.onmouseover = showRegionList;
		selector.onmouseout = hideRegionList;
	}

	function showRegionList()
	{
		if (timer)
		{
			clearTimeout(timer);
		}
		if (this.className.indexOf('_over') == -1)
		{
			this.className += ' ' + this.className + '_over';
		}
	}

	function hideRegionList()
	{
		if (this.className.indexOf('_over') != -1)
		{
			var list = this;

			timer = window.setTimeout(function(){list.className = list.className.substr(0, list.className.indexOf(' '));}, 500);
		}
	}
}

function headerSearch_activate()
{
	if (!document.getElementById('SearchText'))
	{
		return;
	}
	else
	{
		var elem = document.getElementById('SearchText');
		elem.className = 'inactive';
		elem.onfocus = onFocusHandler;
		elem.onblur = onBlurHandler;
	}

	function onFocusHandler()
	{
		if (this.value == this.defaultValue)
		{
			this.value='';
			this.className='active';
		}
	}

	function onBlurHandler()
	{
		if (this.value == '')
		{
			this.value = this.defaultValue;
			this.className='inactive';
		}
	}
}

function printPage(id)
{
	if(id)
	{
			try
			{
				document.getElementById(id).style.display = "none";
				window.print();
			}
			catch (err)
			{
				return false;
			}
	}

}

function markFact(elem)
{
	var targetName = elem.hash.substring(1);
	var target = document.getElementsByName(targetName)[0];
	var anchs = document.getElementById('key-facts-tags').getElementsByTagName('a');
	for (i=0; i<anchs.length; i++)
	{
		if (anchs[i].hash.indexOf('#') == 0)
		{
			var anchName = anchs[i].hash.substring(1);
			var anchTarget = document.getElementsByName(anchName)[0];
			if (anchTarget.className == "red")
			{
				anchTarget.className = "";
			}
		}
	}
	target.className = "red";
}


function _getOffset(elem) {
	if (elem.getBoundingClientRect) {

		return _getOffsetRect(elem);
	} else {

		return _getOffsetSum(elem);
	}
}
function _getOffsetSum(elem) {
	var top = 0, left = 0;
	while (elem) {
		top = top + parseInt(elem.offsetTop);
		left = left + parseInt(elem.offsetLeft);
		elem = elem.offsetParent;
	}

	return {
		top : top,
		left : left
	};
}
function _getOffsetRect(elem) {
	var box = elem.getBoundingClientRect();

	var body = document.body;
	var docElem = document.documentElement;

	var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
	var scrollLeft = window.pageXOffset || docElem.scrollLeft
			|| body.scrollLeft;

	var clientTop = docElem.clientTop || body.clientTop || 0;
	var clientLeft = docElem.clientLeft || body.clientLeft || 0;

	var top = box.top + scrollTop - clientTop;
	var left = box.left + scrollLeft - clientLeft;

	return {
		top : Math.round(top),
		left : Math.round(left)
	};
}

/*popup*/

function Popup(popupID){

	this.id = popupID;
	this.popupDiv;
	this.closeButton;
	this.domain = 'abbyy.com'
	this.screenHeight;
	this.transport;
	this.script;
	this.shaddow;
	if(!this.cookieCheck())
		this.getContent();
}
// (1) check cookie
Popup.prototype.cookieCheck = function(){
	var cookieCheck = document.cookie.indexOf(this.id + '=');
	if (cookieCheck != -1) return true;
	else return false;
}
// (2) get content
Popup.prototype.getContent = function(){
	this.transport = document.createElement("script");
	this.transport.type = 'text/javascript';
	this.transport.src = '/popup/' + this.id;
	this.transport.id = 'popupscript';
	document.getElementsByTagName("head")[0].appendChild(this.transport);
}
// (3) create popup div
Popup.prototype.show = function (){
	if(this.regionCheck()){
		this.shaddow = document.createElement('div');
		this.shaddow.setAttribute('id', 'shaddow');
		this.shaddow.style.opacity = 0.3;
		this.shaddow.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + 30 + ')';
		document.body.appendChild(this.shaddow);
		this.popupDiv = document.createElement('div');
		this.popupDiv.id = 'popupDiv_' + this.id;
		this.popupDiv.className = 'popupDiv';
		this.popupDiv.innerHTML = popupJsonObject.content;
		this.popupDiv.style.width = popupJsonObject.width + 'px';
		this.popupDiv.style.height = popupJsonObject.height + 'px';
		this.popupDiv.style.marginTop = popupJsonObject.height / -2 + 'px';
		this.popupDiv.style.marginLeft = popupJsonObject.width / -2 + 'px';

			this.closeButton = document.createElement('a');
			this.closeButton.id = 'popupCloseButton';
			this.popupDiv.appendChild(this.closeButton);
		document.body.appendChild(this.popupDiv)

		if(popupJsonObject.script){
			// for all except IE
			/*this.script = document.createElement('script');
			this.script.type = 'text/javascript';
			this.script.innerHTML = popupJsonObject.script;
			document.body.appendChild(this.script);*/
			// for IE but not other
			/*var iescript = document.createElement('div');
			iescript.innerHTML = "<br><script defer>" + popupJsonObject.script + "<\/script>"
			document.body.appendChild(iescript);*/
			//for all
			eval(popupJsonObject.script);
		}

		this.screenHeight = window.innerHeight || (document.documentElement.clientHeight || document.body.clientHeight);
		this.popupDiv.style.top = this.screenHeight + popupJsonObject.height / 2 + 'px';

		this.animMoveFrom();
		this.closeButton.onclick = this.close;
	}
	this.setCookie();
	document.getElementsByTagName("head")[0].removeChild(this.transport);
}
// (4) set cookie
Popup.prototype.setCookie = function(){
	var cookie = this.id + '=true';
	//var maxAge = ';max-age=' + (60*60*24*365);
	var maxAge = ';expires=' + new Date( new Date().getTime()+ 1000*60*60*24*365).toGMTString();
	var path = ';path=/';
	var domain = ';domain=' + this.domain;
	document.cookie = cookie + maxAge + path + domain;
}
// check region
Popup.prototype.regionCheck = function(){
	if(popupJsonObject.excludeRegions && (popupJsonObject.excludeRegions.indexOf('|' + popupJsonObject.region + '|') != -1))
		return false;
	else
		return true;
}

Popup.prototype.close = function(){
	document.body.removeChild(this.parentNode);
	document.body.removeChild(document.getElementById('shaddow'));
}
Popup.prototype.animMoveFrom = function (){
	var startValue = this.screenHeight + popupJsonObject.height / 2;
	var finalValue = this.screenHeight / 2;
	var start = new Date().getTime();
	var popupDiv = this.popupDiv; // for FF
		setTimeout(function() {
			var now = (new Date().getTime()) - start;
			var progress = now / 1000;
			if (progress < 1) {
				popupDiv.style.top = Math.round((finalValue - startValue) * delta(progress) + startValue) + 'px';
				setTimeout(arguments.callee, 10);
			}else{
				popupDiv.style.top = finalValue + 'px';
			}
		}, 10);

	var delta = function(progress) {
		function d(progress) {
			for (var a = 0, b = 1, result; 1; a += b, b /= 2) {
				if (progress >= (7 - 4 * a) / 11)
					return -Math.pow((11 - 6 * a - 11 * progress) / 4, 2)
							+ Math.pow(b, 2);
			}
		}
		return 1 - d(1 - progress);
	}
}

