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 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(/password/.test(fieldI.type)) {
					var fieldN = document.createElement('input');
					fieldN.type= "text";
					fieldN.value = fieldI.title = spanI.childNodes[0].nodeValue;
					fieldN.id = fieldI.id;
					fieldN.name = fieldI.name;
					fieldI.parentNode.replaceChild(fieldN,fieldI);
					addClass(fieldN,"password");
					addEvent(fieldN, 'focus', function(e) {
						if(this.value==getByTag(this.parentNode,'span')[0].childNodes[0].nodeValue)
							this.value='';
							addClass(this,'straight');
							if(/password/.test(this.className)) {
								var fieldP = document.createElement('input');
								fieldP.type= "password";
								fieldP.setAttribute("value","");
								fieldP.id = this.id;
								fieldP.name = this.name;
								fieldP.className='straight';
								this.parentNode.replaceChild(fieldP,this);
								setTimeout("document.getElementById('"+fieldP.id+"').focus()",1);
							}
					});
				}
				else {
					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 ie_primeListItems() {
	var ulColl = document.getElementsByTagName('ul');
	for (var i = 0; i < ulColl.length; i++ ) {
		if(ulColl[i].getElementsByTagName('li')[0])
			addClass(ulColl[i].getElementsByTagName('li')[0],'first-child');
	}
}

function ie_footerFix() {
	var foot = getById('footer');
	if(!foot) return;
	var footUl = foot.getElementsByTagName('ul')[0];
	if(footUl)
		addClass(footUl,'first-child');
}

function ie_nav() {
	var nav = getById('navigation');
	if(!nav) return;
	var liColl = nav.getElementsByTagName('li');
	for(var i=0; i < liColl.length; i++) {
		liColl[i].onmouseover = function () {
			addClass(this,'hover');
		}
		liColl[i].onmouseout = function () {
			removeClass(this,'hover');
		}
	}
}

function fixLowIe() {
	ie_primeListItems();
	ie_footerFix();
}

function fixIe() {
	ie_nav();
}

/* Init
-------------------- */
var init = function() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;
	if(!document.getElementsByTagName)
		return;
	addClass(getById('page'),'scripted');
	setFancyFields();
	setLinks(['a','area']);
	/*@cc_on @*/
	/*@if (@_win32)
	fixIe();
	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;
