function fnOpenWindow(url,parameters)
{
	parameters=parameters.replace(/\s+/g,'');

	var aParameters=parameters.split(',');
	var data=new Array();
	for (var i=0;i<aParameters.length;i++) {
		var pr=aParameters[i];
		var key = pr.substr(0,pr.indexOf('='));
		var value=pr.substr(pr.indexOf('=')+1);
		data[key]=value;
	}

	if ( (data['hposition'])&&(data['width'])&&(data['hposition']!='system') )
	{
		var posX=null;
		if (data['hposition']=='left')
		{
			posX=0;
		}
		if ( (window.screen)&&(window.screen.availWidth) )
		{
			if (data['hposition']=='center')
				posX=(window.screen.availWidth-data['width'])/2;
			if (data['hposition']=='right')
				posX=window.screen.availWidth-data['width'];
		}

		if (posX!=null)
			parameters+=",left="+parseInt(posX);
	}

	if ( (data['vposition'])&&(data['height'])&&(data['vposition']!='system') )
	{
		var posY=null;
		if (data['vposition']=='top')
		{
			posY=0;
		}
		if ( (window.screen)&&(window.screen.availHeight) )
		{
			if (data['vposition']=='center')
				posY=(window.screen.availHeight-data['height'])/2;
			if (data['vposition']=='bottom')
				posY=window.screen.availHeight-data['height'];
		}

		if (posY!=null)
			parameters+=",top="+parseInt(posY);
	}


	var oWnd=window.open(url,'',parameters);
	oWnd.focus();
}

function getById(el) {
	return document.getElementById(el);
}

function getByTag(par,el) {
	return par.getElementsByTagName(el);
}

function addClass(obj,newClass) {
	if(!obj.className.match(new RegExp(newClass)))
		obj.className+=(obj.className.length>0? " ": "") + newClass;
}
	
function removeClass(obj,oldClass) {
	obj.className=obj.className.replace(new RegExp("( ?|^)"+oldClass+"\\b"), "");
}

function setLinks(linkTags){
	var linkCollection = [];
	for (var j = 0; j < linkTags.length; j++) {
		linkCollection[j] = document.getElementsByTagName(linkTags[j]);
		for (var i = 0; i < linkCollection[j].length; i++) {
			if(/bookmark|external|corporate|sponsor/.test(linkCollection[j][i].getAttribute('rel'))) {
				linkCollection[j][i].onclick = function(e) {
					if (!e) var e = window.event;
					if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey)
						return true;
					window.open(this.href);
					return false;
				}
			}
		}
	}
}

var addEvent = function() {
  if (window.addEventListener) {
    return function(el, type, fn) {
      el.addEventListener(type, fn, false);
    };
  } else if (window.attachEvent) {
    return function(el, type, fn) {
      var f = function() {
        fn.call(el, window.event);
      };
      el.attachEvent('on' + type, f);
    };
  }
}();

function initSearchForm() {
	var searchF = getById('search');
	if(!searchF) return;
	if( (spanI = getByTag(searchF,'span')[0]) && (wordsI = getById('words')) ){
		wordsI.value = spanI.childNodes[0].nodeValue;
		addEvent(wordsI, 'focus', function(e) {
			if(this.value==spanI.childNodes[0].nodeValue)
				this.value='';
				addClass(this,'straight');
		});
	}
}

function setFancyFields(){
	var labelColl = getByTag(getById('page'),'label');
	for(var i = 0; i < labelColl.length; i++) {
		if(/fancy/.test(labelColl[i].className)) {
			var spanI = getByTag(labelColl[i],'span')[0];
			var fieldI = getByTag(labelColl[i],'input')[0];
			if( spanI && fieldI ){
				if ( (!fieldI.value)||(fieldI.value==spanI.childNodes[0].nodeValue) ) {
					fieldI.value = fieldI.title = spanI.childNodes[0].nodeValue;
					addEvent(fieldI, 'focus', function(e) {
						if(this.value==getByTag(this.parentNode,'span')[0].childNodes[0].nodeValue)
							this.value='';
							addClass(this,'straight');
					});
				}
			}
		}
	}
}

function fixLowIe() {
	var techLiColl = getByTag(getById('technologies'),'li');
	for(var i = 0; i < techLiColl.length; i++) {
		// addEvent(getByTag(techLiColl[i],'span')[0], 'mouseover', function(e) {
		// 	addClass(this,'hover');
		// });
		getByTag(techLiColl[i],'span')[0].onmouseover = function () {
			addClass(this,'hover');
		}
		getByTag(techLiColl[i],'span')[0].onmouseout = function () {
			removeClass(this,'hover');
		}
	}
	
	var ullColl = document.getElementsByTagName('ul');
	for(var i = 0; ullColl[i]; i++) {
		if(/npslinks/.test(ullColl[i].className)) {
			var liColl = ullColl[i].getElementsByTagName('li');
			for(var j = 0; liColl[j]; j++) {
				var s = document.createElement('span');
				s.className = 'ieLiFix';
				s.innerHTML = '&nbsp;';
				liColl[j].appendChild(s);
			}
		}
	}
}

function opacity(id, opacStart, opacEnd, millisec) {
    var speed = Math.round(millisec / 100);
    var timer = 0;
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("setOpacity(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    }
	else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) {
            setTimeout("setOpacity(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
} 


function setOpacity(opacity,id) { 
    var object = getById(id).style; 
    object.opacity = (opacity / 100); 
    object.MozOpacity = (opacity / 100); 
    object.KhtmlOpacity = (opacity / 100); 
    object.filter = "alpha(opacity=" + opacity + ")"; 
}

function rotateHomeTxt(cId){
	clearTimeout(homeTo);
	if(cId>productTxts.length) cId=0;
	rotateTarget.className=productTxts[cId];
	homeTo = setTimeout("rotateHomeTxt("+(cId+1)+")",3000);
}

function setLooper() {
	productTxts = new Array;
	productTxts.push('');
	for(var i = 0; i < homeProductCalls.length; i++) {
		productTxts.push(homeProductCalls[i].id);
	}
	rotateTarget = getById('techH1');
	cId = 0;
	homeTo = setTimeout("rotateHomeTxt("+(cId+1)+")",3000);
}

function initHome() {
	if(!getById('homeProducts')) return;
	if(!getById('technologies')) return;
	if(!getById('techH1')) return;
	var divsColl = getById('homeProducts').getElementsByTagName('div');
	homeProductColl = new Array;
	var productsHeight = 200;
	for(var i = 0; i < divsColl.length; i++) {
		if(/block/.test(divsColl[i].className)) {
			homeProductColl[homeProductColl.length]=divsColl[i];
			var subDivs = divsColl[i].getElementsByTagName('div');
			for(var j = 0; j < subDivs.length; j++) {
				if(/inner-b/.test(subDivs[j].className)) {
					homeProductColl[homeProductColl.length-1].pusher = subDivs[j];
					var currentHeight = subDivs[j].offsetHeight;
					if (currentHeight > productsHeight) {
						productsHeight = currentHeight;
					}
				}
			}
		}
	}
	productsHeight = productsHeight - 32;
	for(var i = 0; i < homeProductColl.length; i++) {
		homeProductColl[i].pusher.style.minHeight = productsHeight + 'px';
		/*@cc_on @*/
		/*@if (@_win32)
		newerThanIe6 = eval('document.getElementsByTagName("body")[0].currentStyle.minWidth');
		if (!newerThanIe6) {
			homeProductColl[i].pusher.style.height = productsHeight + 'px';
		}
		/*@end @*/
	}
	var navItems = getById('technologies').getElementsByTagName('li');
	homeProductCalls = new Array;
	for(var i = 0; i < navItems.length; i++) {
		homeProductCalls.push(navItems[i]);
		homeProductCalls[i].target=homeProductColl[i+1];
		homeProductCalls[i].onmouseover = function () {
			for(var j = 0; j < homeProductColl.length; j++) {
				addClass(homeProductColl[j],'hidden');
			}
			if(this.target) {
				removeClass(this.target,'hidden');
			}
			else {
				removeClass(homeProductColl[0],'hidden');
			}
			clearTimeout(homeTo);
			getById('techH1').className=this.id;
		}
		homeProductCalls[i].onmouseout = function () {
			var z = parseInt(this.id.split('tech')[1])+1;
			homeTo = setTimeout("rotateHomeTxt("+z+")",2000);
		}
	}
	setLooper();
}

/* Init
-------------------- */
var init = function() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;
	if(!document.getElementsByTagName)
		return;
	addClass(getById('page'),'scripted');
	setLinks(['a','area']);
	setFancyFields();
	initHome();
	
/*	
	if (document.getElementById("siteSearch")) {
		document.getElementById("siteSearch").onsubmit=function(e) {
			var url=document.getElementById("siteSearch").action;
			window.location.href=url+document.getElementById("siteSearchKeys").value+".html";
			return false;
		}	
	}
*/
	/*@cc_on @*/
	/*@if (@_win32)
	newerThanIe6 = eval('document.getElementsByTagName("body")[0].currentStyle.minWidth');
	if (!newerThanIe6) {
		fixLowIe();
	}
	/*@end @*/
}

if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", init, null);
}
else if (/WebKit/i.test(navigator.userAgent)) {
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			clearInterval(_timer);
			init();
		}
	}, 10);
}
else {
	/*@cc_on @*/
	/*@if (@_win32)
	document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
	var script = document.getElementById("__ie_onload");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			init();
		}
	};
	/*@end @*/
}
window.onload = init;