	var progressBar    = true;
	function getElements()
	{
		elements = '';
		tags = new Array('INPUT', 'SELECT')
		for(j=0; j<=tags.length; j++)
		{
			arrElements	= document.body.getElementsByTagName(tags[j]);
			for(i=0; i<=arrElements.length; i++)
			{
				if(arrElements[i] && arrElements[i].name)
				{
					switch(arrElements[i].type)
					{
						case 'radio':
						case 'checkbox':
							if(arrElements[i].checked==true && arrElements[i].disabled==false)
							{
								elements += '&'+arrElements[i].name+'='+encodeURIComponent(arrElements[i].value);
							}
							break;
						default:
						if(arrElements[i].value && arrElements[i].disabled==false)
						{
						 	elements += '&'+arrElements[i].name+'='+encodeURIComponent(arrElements[i].value);
						}
					}
				}
			}
		}
		return elements;
	}

	function ieXmlhttp()
	{
		var msxmls = new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');
		for(var i=0; i < msxmls.length; i++)
		{
			try 
			{
				return new ActiveXObject(msxmls[i]);
			}
			catch(e)
			{
			}
		}
		return false;
	}

	function call_url(dest, mode)
	{
		if(mode=='undefined')
		{
			mode=false;
		}
		xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : ieXmlhttp();
		if(!xmlhttp)
		{
			alert('Error XMLHttp');
			return;
		}
		if(mode==true)
		{
		 	window.xmlhttp.onreadystatechange = triggered;
		}
		window.xmlhttp.open("POST", dest, mode, null, null);
		window.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded;');
		window.xmlhttp.send(getElements());
		if(!mode)
		{
			triggered();
		}
	}

	function doBarprogress(url, interval)
	{
		if(progressBar == true)
		{
			call_url(url, true);
			window.setTimeout('doBarprogress(\''+url+'\','+interval+')', interval);
		}
	}

	function doLanguage(_lang)
	{
		obj=document.getElementById('main');
		obj.language.value = _lang;
		obj.submit();
	}

	function triggered()
	{
		if((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
		{
			arr_tmp=xmlhttp.responseText.split(':');
			switch(arr_tmp[0])
			{
				case 'barstop':
					progressBar = false;
					arr_tmp[0]  = 'bar';
				default:
					tmp_id	= arr_tmp[0]
					if(document.getElementById(tmp_id))
					{
						arr_tmp[0]='';
						document.getElementById(tmp_id).innerHTML = arr_tmp.join(':').substr(1);
					}
			}
		}
	}

	document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
	var classes = elem[i].className;
	if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
	};

	function attachHandlers(root, msg)
	{
		if(document.getElementsByClassName('textenabled 1'))
		{
			if(document.getElementsByClassName('textenabled 1')[0])
			{
				document.getElementsByClassName('textenabled 1')[0].focus();
			}
		}
		Set_Cookie( 'test', 'none', '', '/', '', '' );
		if (Get_Cookie( 'test' ))
		{
			Delete_Cookie('test', '/', '');
		}
		else
		{
			if(document.getElementById('nav'))
			{
				document.getElementById('nav').innerHTML = '';
			}
			if(document.getElementById('content'))
			{
				document.getElementById('content').innerHTML = msg;
			}
		}	
		if(document.getElementById('countries'))
		{
			document.getElementById('countries').onmouseout = triggerHideContent;
			if(document.getElementById('countries').captureEvents)
			{
				document.getElementById('countries').captureEvents(Event.MOUSEOUT);
			}
		}
		if(document.getElementById('bar'))
		{
			doBarprogress(root+'/barprogress.php', 10000);
		}
		if(document.getElementById('bar_seconds'))
		{
			doBarprogress(root+'/barseconds.php', 1000);
		}
		images = new Array('de.jpg', 'de1.jpg', 'de2.jpg', 'at.jpg', 'at1.jpg', 'at2.jpg', 'ch.jpg', 'ch1.jpg', 'ch2.jpg', 'nl.jpg', 'nl1.jpg', 'nl2.jpg', 'gb.jpg', 'gb1.jpg', 'gb2.jpg', 'fr.jpg', 'fr1.jpg', 'fr2.jpg', 'pl.jpg', 'pl1.jpg','pl2.jpg','es.jpg', 'es1.jpg','es2.jpg','be.jpg','be1.jpg','be2.jpg','it.jpg', 'it1.jpg','it2.jpg','no.jpg','no1.jpg','no2.jpg', 'se.jpg','se1.jpg','se2.jpg', 'cz.jpg','cz1.jpg','cz2.jpg','bar.gif', 'bar_0.gif','bar_1.gif', 'bar_2.gif', 'bar_3.gif', 'bar_4.gif', 'bar_5.gif', 'bar_6.gif', 'bar_7.gif', 'bar_8.gif', 'bar_9.gif', 'bar_10.gif');
		myimages= new Array();
		for (i=0; i<images.length; i++)
		{
			myimages[i] = new Image();
			myimages[i].src = root+'/'+images[i];
		}
	}
	
	var cX = 0; var cY = 0; var rX = 0; var rY = 0;
	function UpdateCursorPosition(e)
	{
		cX = e.pageX;
		cY = e.pageY;
	}
	function UpdateCursorPositionDocAll(e)
	{
		cX = event.clientX;
		cY = event.clientY;
	}
	if(document.all)
	{
		document.onmousemove = UpdateCursorPositionDocAll;
	}
	else
	{
		document.onmousemove = UpdateCursorPosition;
	}
	function AssignPosition(d)
	{
		if(self.pageYOffset)
		{
			rX = self.pageXOffset;
			rY = self.pageYOffset;
		}
		else if(document.documentElement && document.documentElement.scrollTop)
		{
			rX = document.documentElement.scrollLeft;
			rY = document.documentElement.scrollTop;
		}
		else if(document.body)
		{
			rX = document.body.scrollLeft;
			rY = document.body.scrollTop;
		}
		if(document.all)
		{
			cX += rX; 
			cY += rY;
		}
		d.style.left = (cX-150) + "px";
		d.style.top = (cY+10) + "px";
	}
	
function triggerHideContent(e)
{
	if (!e)
	{
		var e = window.event;
	}
	var tg = (window.event) ? e.srcElement : e.target;
	if(tg.nodeName != 'DIV')
	{
		return false;
	}
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
	while (reltg != tg && reltg.nodeName != 'BODY')
	{
		reltg= reltg.parentNode
	}
	if (reltg== tg)
	{
		return false;
	}
	HideContent(tg.id);
}
	

	function HideContent(d)
	{
		if(!document.getElementById(d))
		{
			return;
		}
		document.getElementById(d).style.display = "none";
	}

	function ShowContent(d)
	{
		if(d.length < 1)
		{
			return;
		}
		var dd = document.getElementById(d);
		AssignPosition(dd);
		dd.style.display = "block";
	}

	function ReverseContentDisplay(d)
	{
		if(d.length < 1)
		{
			return;
		}
		var dd = document.getElementById(d);
		AssignPosition(dd);
		if(dd.style.display == "none")
		{
			dd.style.display = "block";
		}
		else
		{
			dd.style.display = "none";
		}
	}
	
	function mrs_screen(a)
	{
		obj=document.getElementById('main');
		obj.mrs_screen.value = a;
		obj.submit();
	}
	
// this fixes an issue with the old method, ambiguous values
// with this test document.cookie.indexOf( name + "=" );
function Get_Cookie(check_name)
{
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if (!b_cookie_found)
	{
		return null;
	}
}
	
function Set_Cookie( name, value, expires, path, domain, secure )
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	if (expires)
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

function Delete_Cookie( name, path, domain )
{
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function sms_continue(a) {
	document.getElementById('sms_mrs_continue').value = a;
	document.getElementById('main').submit();
}

function chk_continue(a) {
	var chk = false;
	www = document.getElementById('main').elements;
	for(i=0;i<www.length;i++) {
		s=www[i].name;
		if ( s.search('ctransaction')!==-1) {
			if(www[i].checked) {
				chk = true;
				break;
			}
		}
	}
	if( chk ) {
		document.getElementById('sms_mrs_continue').value = 2;
		document.getElementById('main').submit();
	} else {
		document.getElementById('div_error').style.display = '';
		document.getElementById('div_error').innerHTML = a;
	}
}
