
/* GLOBAL VARIABLES
----------------------------------------------------*/
var slideTimer=new Array();
var arrObjHolder=new Array();

/* EVENTHANDLER FOR DOMONLOAD
----------------------------------------------------*/
$(document).ready(function() {
	//##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##
	//## ADD FUNCTIONS THAT SHOULD RUN ON DOM LOAD
	//##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##

	initWorldMap();

	setupMailToOnClick();

	FormStyler.Init();
	initIntroBox();
	initLinkboxes();

//	initRelatedBoxes();
	initHoverEffectOnComboBox();
	
	$('#communicate').initCommunicateArea();
	
	initForIE6();
	initSitemap();
	if (typeof setuptable == 'function') setuptable();

	//HJ 080526 - Added ajax onEndRequest event, used to add click event to related search after update.
	//var prm = Sys.WebForms.PageRequestManager.getInstance();
	//prm.add_endRequest(OnEndRequest);

	//##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##
});


var initWorldMap = function() {
	$('#region-map').hide();
	$('#choose-site').find('a').click(function() {
		$('#region-map').show();
		return false;
	});
	$('#region-map').find('a.close').click(function() {
		$('#region-map').hide();
		return false;
	});
	$('#region-map').find('li').bind('mouseenter',function() {
		$('#region-map').find('ul').attr('class',$(this).attr('class'));
		return false;
	}).bind('mouseleave', function() {
		$('#region-map').find('ul').attr('class', '');
		return false;
	});
};


/* GET ELEMENTS BY CLASS NAME
----------------------------------------------------*/
var getElementsByClassName=function(oElm,strTagName,strClassName){
	var arrElements=(strTagName == '*' && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements=new Array();
	strClassName=strClassName.replace(/\-/g,'\\-');
	var oRegExp=new RegExp('(^|\\s)'+strClassName+'(\\s|$)');
	var oElement=null;;
	for(var i=0; i<arrElements.length; i++){
		oElement=arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
};

/* EVENTHANDLER FOR ADDING EVENTS TO OBJECTS
----------------------------------------------------*/
function addEvent(obj,type,fn){
	if (obj.addEventListener){
		obj.addEventListener(type,fn,false);
		EventCache.add(obj,type,fn);
	}else if(obj.attachEvent){
		obj['e'+type+fn]=fn;
		obj[type+fn]=function(){obj['e'+type+fn](window.event);}
		obj.attachEvent('on'+type,obj[type+fn]);
		EventCache.add(obj,type,fn);
	}else{
		obj['on'+type]=obj['e'+type+fn];
	}
}
var EventCache=function(){
	var listEvents=[];
	return {
		listEvents: listEvents,
		add: function(node,sEventName,fHandler){
			listEvents.push(arguments);
		},
		flush: function(){
			var i,item;
			for(i=listEvents.length-1; i >= 0; i=i-1){
				item=listEvents[i];
				if(item[0].removeEventListener){item[0].removeEventListener(item[1],item[2],item[3]);};
				if(item[1].substring(0,2) != 'on'){item[1]='on'+item[1];};
				if(item[0].detachEvent){item[0].detachEvent(item[1],item[2]);};
				item[0][item[1]]=null;
			};
		}
	};
}();


/* INIT INTRO BOX
----------------------------------------------------*/
var initIntroBox = function() {
	var fSpeed = 100;
	$('#intro-box').find('h2 img').fadeTo(fSpeed, 0.7);
	$('#intro-box').find('h2').bind('mouseenter', function() {

		var currBox = $(this).parent().find('.box');
		var cLength = currBox.find('ul.col').children().length;
		var colWidth = (650 - (cLength * 18)) / cLength;
		currBox.find('ul.col').children().css("width", colWidth + "px");
		currBox.css("margin-left", "-" + ((currBox.parent().prevAll().length * 130) + 10) + "px");

		$('#intro-box').find('h2 img').fadeTo(fSpeed, 0.7);
		$('#intro-box').find('.box:visible').fadeOut(0);
		$(this).parent().find('.box').fadeIn(fSpeed);
		$(this).find('img').fadeTo(fSpeed, 1);
	});

	$('#intro-box').find('.box').bind('mouseleave', function() {
		$(this).fadeIn(fSpeed);
		$('#intro-box').find('h2 img').fadeTo(fSpeed, 0.7);
		$('#intro-box').find('.box:visible').fadeOut(0);
	});

	$('#intro-box').find('.box').hide();
};

var $$ = function(doid) {
	return document.getElementById(doid);
};


/* INIT RELATED BOXES
----------------------------------------------------*/
var initRelatedBoxes = function() {

	var relatedBox = $$('related');
	if (!relatedBox) return;
	if (!$$('subMenu')) relatedBox.style.marginTop = '15px';
	var boxes = DOM.ChildNodes(relatedBox);
	var lastBox = null;
	for (var i = 0, n = boxes.length, box = null; i < n; i++) {
		box = boxes[i];
		if (box.nodeName == 'DIV') {

			lastBox = null;
			var boxId = box.id;
			var boxHeadline = box.getElementsByTagName('H2')[0];
			var boxContent = box.getElementsByTagName('DIV')[0];
			addEvent(boxHeadline, 'click', toggleRelatedBox)
			//addEvent(boxHeadline,'mouseover',toggleHilightRelatedBox)
			//addEvent(boxHeadline,'mouseout',toggleHilightRelatedBox)
			boxHeadline.style.cursor = 'pointer';
			if (!$$('subMenu')) {
				arrObjHolder['boxOrgHeight' + boxId] = '203';
			} else {
				arrObjHolder['boxOrgHeight' + boxId] = box.offsetHeight;
			}
			if (box.className == 'selected') {
				if (!$$('subMenu')) box.style.height = '203px'
			} else if (box.className == '') {
				box.className = 'inactive'; box.style.height = '46px'
			}
			lastBox = box;
		}
	}

	arrObjHolder['lastBox'] = lastBox;

	var activeBoxes = getElementsByClassName(relatedBox, 'DIV', 'selected').length;
	if (activeBoxes == 0) {
		var firstBox = getFirstChild(relatedBox);
		if (!firstBox) return;
		firstBox.className = 'selected';
		if (!$$('subMenu')) { firstBox.style.height = '203px' }
		else { firstBox.style.height = 'auto' }
	}
	if (lastBox.className == 'selected') {
		lastBox.style.marginBottom = '3px';
	}

};

/* TOGGLE RELATEDBOX
----------------------------------------------------*/
var toggleRelatedBox = function() {
	var box = this.parentNode;
	if (box.className == 'selected') return;
	var boxId = box.id;
	closeOpenRelatedBoxes(boxId);
	//var lastBox=arrObjHolder['lastBox'];
};

/* TOGGLE MOUSEOVER
----------------------------------------------------*/
var toggleHilightRelatedBox=function(){
	var box=this;
	switch(box.className){
		case '': box.className='active'; break;
		case 'inactive': box.className='active'; break;
		case 'active': box.className=''; break;
	}
};

/* CLOSE RELATEDBOX
----------------------------------------------------*/
var closeOpenRelatedBoxes=function(parentBoxId){
	var relatedBox=$$('related'); if(!relatedBox) return;
	var boxes = DOM.ChildNodes(relatedBox);
	$$('related').style.paddingBottom='';
	for(var i=0,n=boxes.length,box=null; i<n; i++){
		box=boxes[i]; if(!box) return;
		var boxId=box.id;
		if(box.nodeName=='DIV'){
			if(box.className=='selected'){
				//box.className='inactive';
				slideTimer[boxId]=window.setTimeout('SlideRelatedBox.Up("'+boxId+'",'+arrObjHolder['boxOrgHeight'+boxId]+')',50);
			}
		}
	}
	slideTimer[parentBoxId]=window.setTimeout('SlideRelatedBox.Down("'+parentBoxId+'",46)',50);
}

/* SLIDE LINK BOX
----------------------------------------------------*/
var SlideRelatedBox={
	Up: function(boxId,height){
		var box=$$(boxId);
		box.className='inactive';
		height-=20;
		if(height <= 46){
			slideTimer[boxId]=null;
			window.clearTimeout(slideTimer);
			box.style.height='46px';
			return;
		}
		box.style.height=height+'px';
		slideTimer[boxId]=window.setTimeout('SlideRelatedBox.Up("'+boxId+'",'+height+')',20);
	},
	Down: function(boxId,height){
		var box=$$(boxId);
		var boxOrgHeight=arrObjHolder['boxOrgHeight'+boxId];
		box.className='selected';
		height+=20;
		if(height >= boxOrgHeight){
			slideTimer[boxId]=null;
			window.clearTimeout(slideTimer);
			if(box==arrObjHolder['lastBox']){
				if(!$$('subMenu')){
					box.style.height='200px';
				}else{
					box.style.height='auto';
				}
				$$("related").style.paddingBottom='3px';
			}else{
				if(!$$('subMenu')){
					box.style.height=boxOrgHeight+'px';
				}else{
					box.style.height='auto';
				}
				$$("related").style.paddingBottom='0';
			}
			return;
		}
		box.style.height=height+'px';
		slideTimer[boxId]=window.setTimeout('SlideRelatedBox.Down("'+boxId+'",'+height+')',20);
	}
}

/* ESCAPE STRINGS
----------------------------------------------------*/
function escapeHTML(str){
	var div=document.createElement('div');
	var text=document.createTextNode(str);
	div.appendChild(text);
	return div.innerHTML;
};

/* INIT COMMUNICATE AREA */
(function($){
	$.fn.initCommunicateArea = function(){
		var runtimer = null;
		var defaults = {
			'fadespeed': '200'
		};
		var options = $.extend(defaults, options);
		return this.each(function(){
			var obj = $(this),
				items = obj.find('ul:eq(0)').addClass('content').end().find('ul:eq(0) > li'),
				navUL = $('<ul id="communicateNav"></ul>');

			var count = obj.find('li').length;
			items
				.hide()
				.eq(0).addClass('current').fadeIn(options.fadespeed)
			.end()
				.each(function(i,item){
					item = $(item);
					item.addClass('item'+i)
					$('<li><span>'+ item.find('h2').html() +'</span><img src="/images/CommunicateLinkDelimiter.png" alt="" class="first"/></li>')
						.click(function(e){
							if(item.hasClass('current') === false){
								clearTimeout(runtimer);
								var currentLI = $(this);
								items.filter('.current').fadeOut(options.fadespeed,function(){
									obj.find('li.current').removeClass('current');
									item
										.addClass('current')
										.find('div.content').removeClass('expanded')
									.end()
										.fadeIn(options.fadespeed);
									currentLI.addClass('current');
										
								});
							}
						})
						.appendTo(navUL);

					$('<div class="itemwrap"></div>')
						.css({'background-image':'url("'+ item.find('img:eq(0)').attr('src') +'")'})
						.append($('<div class="imgfade"></div>')
							.click(function(e){
								$(this).find('.expanded').removeClass('expanded');
							})
							.append(item.find('p:gt(0)').wrapAll('<div class="content"/>')
								.parent()
								.prepend($('<h2>'+ item.find('h2').html()  +'</h2>')
									.click(function(e){
										e.stopImmediatePropagation();
										$(this).parent().toggleClass('expanded');
									})
								)
							)
						)
						.appendTo(item)
				});
			
			navUL.find('li:eq(0)').addClass('first current').end().find('li:last').addClass('last');
			obj.addClass('activated').append(navUL);
			if(count < 2) { 
				$('#communicateNav').remove();
			}

			var Autorun = function(){
				var next = $('#communicateNav li.current').next();
				if(next.length){
					$(next).click();
				}else{
					$('#communicateNav li:first').click();
				}
				runtimer = setTimeout(function(){
					Autorun();
				},5000);
			}
			runtimer = setTimeout(function(){
				Autorun();
			},5000);

		});
	};
})(jQuery);


/* INIT LINKBOXES
----------------------------------------------------*/
var initLinkboxes = function() {

	var linkBox=$$('linkbox'); if(!linkBox) return;

	if(!$$('subMenu')){linkBox.style.width='675px'}
	else{linkBox.style.width='450px'}
	var linkBoxes=getElementsByClassName(linkBox,'DIV','linkbox-content');
	//while(box=linkBoxes[i++]){
	for(var i=0, n=linkBoxes.length, box=null; i<n;i++){
		var box=linkBoxes[i];
		var linkBox_LINK=null,linkBox_IMG=box.getElementsByTagName('IMG')[0],linkBox_DIV=box.getElementsByTagName('DIV')[0],linkBox_H2=linkBox_DIV.getElementsByTagName('H2')[0],linkBox_P=linkBox_DIV.getElementsByTagName('P')[0];
		if(linkBox_P.getElementsByTagName('A')[0]) linkBox_LINK=linkBox_P.getElementsByTagName('A')[0].href;

		var boxId=escapeHTML('linkbox'+i+linkBox_H2.innerHTML.EscapeString());
		
		slideTimer[boxId]=null;
		box.style.position='relative';
		box.style.height='142px';
		box.style.overflow='hidden';
		box.id=boxId;
		linkBox_IMG.style.position='absolute';
		linkBox_DIV.style.position='absolute';
		linkBox_DIV.zindex='100';
		linkBox_DIV.style.bottom='15px';
		linkBox_DIV.style.left='15px';
		linkBox_DIV.style.margin='0 15px 0 0';
		linkBox_DIV.style.background='url(/images/bg-linkbox-grayplate.png) no-repeat right bottom';
		linkBox_DIV.style.width='150px';
		linkBox_DIV.style.height='27px';
		linkBox_P.style.position='absolute';
		linkBox_P.style.top='48px';
		linkBox_P.style.height='55px';
		linkBox_P.style.left='10px';
		linkBox_P.style.overflow='hidden';
		linkBox_H2.style.position='absolute';
		linkBox_H2.style.width='170px';
		linkBox_H2.style.bottom='-4px';
		linkBox_H2.style.left='10px';
		linkBox_H2.style.padding='0';
		linkBox_H2.style.color='#3b3b3b';

		var boxBottom=document.createElement('SPAN');
		boxBottom.style.display='block';
		boxBottom.style.position='absolute';
		boxBottom.style.bottom='0';
		boxBottom.style.background='url(/images/bg-linkbox-plate.png) no-repeat right bottom';
		boxBottom.style.height='15px';
		boxBottom.style.width='210px';
		box.appendChild(boxBottom);

		var boxPlate=document.createElement('SPAN');
		boxPlate.style.display='block';
		boxPlate.style.position='absolute';
		boxPlate.style.top='0';
		boxPlate.style.backgroundColor='#ffffff';
		boxPlate.style.height='142px';
		boxPlate.style.width='210px';
		boxPlate.style.cursor='pointer';
		boxPlate.zIndex='10000';
		boxPlate.id='plate'+boxId;
		box.appendChild(boxPlate);

		if($$('plate'+boxId)) Fade.setOpacity($$('plate'+boxId),0);
		addEvent(boxPlate,'click',openLinkBoxLink)
		addEvent(boxPlate,'mouseover',initSlideLinkBoxUp)
		addEvent(boxPlate,'mouseout',initSlideLinkBoxDown)
	}
};

/* OPEN LINKBOX LINK
----------------------------------------------------*/
var openLinkBoxLink=function(){
	var box=this;
	var boxId=box.id.substring(5);
	box=$$(boxId); if(!box) return;
	var boxLink=box.getElementsByTagName('A')[0];
	location.href=boxLink;
};

/* INIT SLIDE - LINKBOX UP
----------------------------------------------------*/
var initSlideLinkBoxUp=function(){
	var box=this;
	var boxId=box.id.substring(5);
	slideTimer[boxId]=window.setTimeout('SlideLinkBox.Up("'+boxId+'",'+85+','+100+')',100);
};

/* INIT SLIDE - LINKBOX DOWN
----------------------------------------------------*/
var initSlideLinkBoxDown=function(){
	var box=this;
	var boxId=box.id.substring(5);
	var linkBox_DIV=$$(boxId).getElementsByTagName('DIV')[0];
	var linkBox_IMG=$$(boxId).getElementsByTagName('IMG')[0];
	var CurrTop=parseInt(linkBox_DIV.style.top)
	var CurrOpacity=parseInt(linkBox_IMG.style.opacity*100)
	window.clearTimeout(slideTimer[boxId]);
	slideTimer[boxId]=window.setTimeout('SlideLinkBox.Down("'+boxId+'",'+CurrTop+','+CurrOpacity+')',0);
};

/* SLIDE LINK BOX
----------------------------------------------------*/
var SlideLinkBox={
	Up: function(boxId,topPos,opacity){
		var box=$$(boxId);
		var linkBox_DIV=box.getElementsByTagName('DIV')[0]; if(!linkBox_DIV) return;
		var linkBox_IMG=box.getElementsByTagName('IMG')[0]; if(!linkBox_IMG) return;
		var linkBox_H2=linkBox_DIV.getElementsByTagName('H2')[0]; if(!linkBox_H2) return;
		var linkBox_P=linkBox_DIV.getElementsByTagName('P')[0]; if(!linkBox_P) return;
		if(topPos < 15){
			slideTimer[boxId]=null;
			linkBox_DIV.style.top='15px';
			if(linkBox_IMG) Fade.setOpacity(linkBox_IMG,10);
			return;
		}else{
			linkBox_DIV.style.top=topPos+'px';
			if(linkBox_IMG) Fade.setOpacity(linkBox_IMG,opacity);
			topPos -= 10;
			opacity -= 12;
			slideTimer[boxId]=window.setTimeout('SlideLinkBox.Up("'+boxId+'",'+topPos+','+opacity+')',20);
		}
	},
	Down: function(boxId,topPos,opacity){
		var box=$$(boxId);
		var linkBox_DIV=box.getElementsByTagName('DIV')[0]; if(!linkBox_DIV) return;
		var linkBox_IMG=box.getElementsByTagName('IMG')[0]; if(!linkBox_IMG) return;
		var linkBox_H2=linkBox_DIV.getElementsByTagName('H2')[0]; if(!linkBox_H2) return;
		var linkBox_P=linkBox_DIV.getElementsByTagName('P')[0]; if(!linkBox_P) return;
		if(topPos >= 85){
			slideTimer[boxId]=null;
			linkBox_DIV.style.top='85px';
			if(linkBox_IMG) Fade.setOpacity(linkBox_IMG,100);
			return;
		}else{
			if(isNaN(topPos)) topPos=85;
			linkBox_DIV.style.top=topPos+'px';
			if(linkBox_IMG) Fade.setOpacity(linkBox_IMG,opacity);
			topPos+= 10;
			opacity+= 10;
			slideTimer[boxId]=window.setTimeout('SlideLinkBox.Down("'+boxId+'",'+topPos+','+opacity+')',20);
		}
	}
};


var initSitemap=function(){
	var sitemap=$$('#sitemap');
	if(!sitemap) return;
	
	//RADIO EVENTS
	addEvent($$('sitemap-default'),'click',Sitemap.SingleToggle);
	addEvent($$('sitemap-expand'),'click',Sitemap.Expand);
	addEvent($$('sitemap-collapse'),'click',Sitemap.Collapse);
	
	var list=sitemap.find('LI');
	for(var i=0, n=list.length, li=null; i<n; i++){
		li=list[i];
		var childList=li.getElementsByTagName('UL');
		var nn=childList.length;
		var toggleArea=document.createElement('IMG');
		toggleArea.width='1';
		toggleArea.height='1';
		toggleArea.alt='';
		if(nn>0){
			toggleArea.src='/images/ico-plus.png';
			toggleArea.className='toggler';
			addEvent(toggleArea,'click',Sitemap.SingleToggle);
			for(var x=0, nnn=childList.length, child=null; x<n; x++){
				child=childList[x];
				if(child) child.style.display='none';
			}
		}else{
			toggleArea.src='/images/ico-empty.png';
		}
		li.insertBefore(toggleArea,getFirstChild(li));
	}
};

var Sitemap={
	SingleToggle: function(){
		var target=this.parentNode.getElementsByTagName('UL')[0];
		if(!target) return;
		$$('sitemap-default').checked=true;
		target.style.display=(target.style.display=='block'?'none':'block');
		this.src=(target.style.display=='block'?'/images/ico-minus.png':'/images/ico-plus.png');
	},
	Expand: function(){
		var sitemap=$$('sitemap');
		if(!sitemap) return;
		var a=sitemap.getElementsByTagName('UL');
		for(var i=0, n=a.length; i<n; i++){
			a[i].style.display='block';
		}
		var a=sitemap.getElementsByTagName('IMG');
		for(var i=0, n=a.length, b=null; i<n; i++){
			b=a[i];
			if(b.src.indexOf('plus')!=-1) b.src='/images/ico-minus.png';
		}
	},
	Collapse: function(){
		var sitemap=$$('sitemap');
		if(!sitemap) return;
		var a=sitemap.getElementsByTagName('UL');
		for(var i=0, n=a.length; i<n; i++){
			a[i].style.display='none';
		}
		var a=sitemap.getElementsByTagName('IMG');
		for(var i=0, n=a.length, b=null; i<n; i++){
			b=a[i];
			if(b.src.indexOf('minus')!=-1) b.src='/images/ico-plus.png';
		}
	}
};



/* INITIATE REGION AREA
----------------------------------------------------*/
var initRegionArea=function(){
	var regionArea=$$('regions');
	if(!regionArea) return;
	var regionBox=$$('regions').getElementsByTagName('SELECT')[0];
	var regionButton=$$('regions').getElementsByTagName('INPUT')[0];
	if(!regionBox) return;
	var regionTopic='Haldex in the world',regionUL,regionLI=null;
	
	regionTopic=document.createElement('STRONG');
	regionUL=document.createElement('UL');
	removeChildNodes(regionArea);
	
	for(var i=0,n=regionBox.length,region=null,regionValues=null,regionValue='',regionText=''; i<n; i++){
		region=regionBox[i];
		regionValue=region.value;
		regionText=region.text;
		regionLI=document.createElement('LI');
		regionLI.innerHTML='<a href="'+ regionValue +'">'+ regionText +'</a>';
		regionUL.appendChild(regionLI);
		regionArea.appendChild(regionUL);
		if(region.selected==true){
			regionTopic.innerHTML='<a href="javascript:void(0);">'+ regionText +'</a>';
		}
	}
	regionArea.insertBefore(regionTopic,getFirstChild(regionArea));
	addEvent(regionArea,'click',toggleRegionArea)
};

var toggleRegionArea=function(){
	var regionArea=$$('regions');
	if(!regionArea) return;
	if(regionArea.className=='active'){
		regionArea.className='';
		getElementsByClassName(document,'div','searchdiv')[0].style.visibility='visible';
	}else{
		regionArea.className='active';
		getElementsByClassName(document,'div','searchdiv')[0].style.visibility='hidden';
	}
	addEvent(document.getElementsByTagName('BODY')[0],'click',deActivateRegionArea);
};

var deActivateRegionArea=function(e){
	if(e.srcElement){d=e.srcElement}else{d=e.target};
	if(!d || !d.parentNode.parentNode) return;
	if(d.parentNode.parentNode==$$('regions')) return;
	getElementsByClassName(document,'div','searchdiv')[0].style.visibility='visible';
	$$('regions').className='';
};

/* REMOVE CHILDNODES
----------------------------------------------------*/
function removeChildNodes(parent){
	while(parent.hasChildNodes()){
		parent.removeChild(parent.childNodes[0])
	}
}

/* OPACITY FADE
----------------------------------------------------*/
var Fade={
	In: function(uid,opacity){var obj=$$(uid);if(!obj) return;if(obj.style.display=='none') obj.style.display='block';if(opacity <= 100){Fade.setOpacity(obj,opacity);opacity+= 20;fadeTimer=window.setTimeout('Fade.In("'+uid+'",'+opacity+')',40)}else{Fade.setOpacity(obj,100);window.clearTimeout(fadeTimer)}},
	Out: function(uid,opacity){var obj=$$(uid);if(!obj) return;if(opacity >= 5){Fade.setOpacity(obj,opacity);opacity -= 20;fadeTimer=window.setTimeout('Fade.Out("'+uid+'",'+opacity+')',2)}else{Fade.setOpacity(obj,0);window.clearTimeout(fadeTimer)}},
	setOpacity: function(obj,opacity){if(!obj) return;obj.style.filter='alpha(style=0,opacity:'+opacity+')';obj.style.KHTMLOpacity=(opacity/100);obj.style.MozOpacity=(opacity/100);obj.style.opacity=(opacity/100)}
};

/* ESCAPE STRING FROM ALL BUT a-zA-Z
----------------------------------------------------*/
String.prototype.EscapeString=function(){return(this.replace(new RegExp('([^a-zA-Z]+)','igm'),'').toLowerCase())};

/* CANCEL THE EVENT
----------------------------------------------------*/
var CancelEvent=function(e){if(e.stopPropagation){e.stopPropagation();e.preventDefault()}else{e.cancelBubble=true;e.returnValue=false}};

/* DOM SCRIPTING ASSISTANCE
----------------------------------------------------*/
var getFirstChild=function(elm){
	if(!elm.childNodes.length) return;
	for(var i=0, children=elm.childNodes.length; i<children;i++){
		if(elm.childNodes[i].nodeType==1){
			return elm.childNodes[i];
		}
	} return;
};

/* CREATE FAKE GUID
----------------------------------------------------*/
var Guid=function(){var fakeGuid=''+new Date().getTime()*Math.ceil(Math.random()*100);fakeGuid=fakeGuid.substring(0,12);return fakeGuid};

/* FLASH INCLUDER
----------------------------------------------------*/
var enableFlash = true; // Set this to true to enable flash handling

var FlashDetect=new function(){var self=this;self.installed=false;self.raw="";self.major=-1;self.minor=-1;self.revision=-1;self.revisionStr="";var activeXDetectRules=[{"name":"ShockwaveFlash.ShockwaveFlash.7","version":function(obj){return getActiveXVersion(obj);}},{"name":"ShockwaveFlash.ShockwaveFlash.6","version":function(obj){var version="6,0,21";try{obj.AllowScriptAccess="always";version=getActiveXVersion(obj);}catch(err){}
return version;}},{"name":"ShockwaveFlash.ShockwaveFlash","version":function(obj){return getActiveXVersion(obj);}}];var getActiveXVersion=function(activeXObj){var version=-1;try{version=activeXObj.GetVariable("$version");}catch(err){}
return version;};var getActiveXObject=function(name){var obj=-1;try{obj=new ActiveXObject(name);}catch(err){}
return obj;};var parseActiveXVersion=function(str){var versionArray=str.split(",");return{"raw":str,"major":parseInt(versionArray[0].split(" ")[1],10),"minor":parseInt(versionArray[1],10),"revision":parseInt(versionArray[2],10),"revisionStr":versionArray[2]};};var parseStandardVersion=function(str){var descParts=str.split(/ +/);var majorMinor=descParts[2].split(/\./);var revisionStr=descParts[3];return{"raw":str,"major":parseInt(majorMinor[0],10),"minor":parseInt(majorMinor[1],10),"revisionStr":revisionStr,"revision":parseRevisionStrToInt(revisionStr)};};var parseRevisionStrToInt=function(str){return parseInt(str.replace(/[a-zA-Z]/g,""),10)||self.revision;};self.majorAtLeast=function(version){return self.major>=version;};self.FlashDetect=function(){if(navigator.plugins&&navigator.plugins.length>0){var type='application/x-shockwave-flash';var mimeTypes=navigator.mimeTypes;if(mimeTypes&&mimeTypes[type]&&mimeTypes[type].enabledPlugin&&mimeTypes[type].enabledPlugin.description){var version=mimeTypes[type].enabledPlugin.description;var versionObj=parseStandardVersion(version);self.raw=versionObj.raw;self.major=versionObj.major;self.minor=versionObj.minor;self.revisionStr=versionObj.revisionStr;self.revision=versionObj.revision;self.installed=true;}}else if(navigator.appVersion.indexOf("Mac")==-1&&window.execScript){var version=-1;for(var i=0;i<activeXDetectRules.length&&version==-1;i++){var obj=getActiveXObject(activeXDetectRules[i].name);if(typeof obj=="object"){self.installed=true;version=activeXDetectRules[i].version(obj);if(version!=-1){var versionObj=parseActiveXVersion(version);self.raw=versionObj.raw;self.major=versionObj.major;self.minor=versionObj.minor;self.revision=versionObj.revision;self.revisionStr=versionObj.revisionStr;}}}}}();};FlashDetect.release="1.0.3";

function swfmc(movie,width,height,id){
if(FlashDetect.installed && enableFlash)

{  
		   document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"');
		   document.write(' width="'+ width +'"');
		   document.write(' height="'+ height +'"');
		   if(id) document.write(' id="'+ id +'"');
		   document.write('>\n');
		   document.write('<param name="movie"');
		   document.write(' value="'+ movie +'"');
		   document.write('>\n');
		   document.write('<param name="wmode" value="transparent">\n');
		   document.write('<param name="wmode" value="opaque">\n');
		   document.write('<param name="quality" value="high">\n');
		   document.write('<param name="menu" value="false">\n');
		   document.write('<embed wmode="transparent"');
		   document.write(' src="'+ movie +'"');
		   document.write(' quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"');
		   document.write(' width="'+ width +'"');
		   document.write(' height="'+ height +'"');
		   document.write('menu="false"></embed>\n');
		   document.write('</object>');
		   if($('#flashobject').size() > 0){
					  $('#flashobject').height('53px');
		   }}
}


/* MAIL DECODING FUNCTIONS
----------------------------------------------------*/
function decodeMail(obj){
	var parsed=obj.href.replace(/\[nospam\]/g,'@');
	obj.href=parsed;
	var parsed2=obj.innerHTML.replace(/\[nospam\]/g,'@');
	obj.innerHTML=parsed2;
};
function setupMailToOnClick(){
	var oLinks=document.getElementsByTagName('a');
	if(oLinks == null) return;
	for(var i=0, n=oLinks.length; i<n; i++){
		if(oLinks[i].href.indexOf('mailto') != -1){decodeMail(oLinks[i])}
	}
};
function toAscii(str) {
	var s=str, ret="";
	for(var i=0,n=s.length; i<n; i++) {
		ret += ("&#"+s.charCodeAt(i)+";");
	}
	return ret;
}

/* COMBO BOXES
----------------------------------------------------*/
var initHoverEffectOnComboBox=function(){
	var images=getElementsByClassName(document,'IMG','ComboBoxImage_Brick');
	for(var i=0, n=images.length, image=null; i<n; i++){
		image=images[i];
		addEvent(image,'mouseover',hoverComboBox)
		addEvent(image,'mouseout',hoverComboBoxRestore)
	}
};
var hoverComboBox=function(){this.src='/RadControls/ComboBox/Skins/Brick/DropArrow-hover.gif'};
var hoverComboBoxRestore=function(){this.src='/RadControls/ComboBox/Skins/Brick/DropArrow.gif'};

/* COMBO BOXES
//	HJ 080526 - This is called from BE after a related box is reloaded by AJAX
----------------------------------------------------*/
function OnEndRequest(sender,args){ 
//	var relatedBox=$('related'); if(!relatedBox) return;
//	if(!$('subMenu')) relatedBox.style.marginTop='15px';
//	var boxes=relatedBox.childNodes;
//	var lastBox=null;
//	for(var i=0,n=boxes.length,box=null; i<n; i++){
//		box=boxes[i];
//		if(box.nodeName=='DIV'){
//			lastBox=null;
//			var boxId=box.id;
//			var boxHeadline=box.getElementsByTagName('H2')[0];
//			var boxContent=box.getElementsByTagName('DIV')[0];

//			if(!$('subMenu')){arrObjHolder['boxOrgHeight'+boxId]='203'}
//			else{arrObjHolder['boxOrgHeight'+boxId]=box.offsetHeight}
//		}
//	}
//	
	var selectedBox = getElementsByClassName($$('related'),'DIV','selected')[0];
	if(selectedBox){
		parentBoxId = selectedBox.id;
		slideTimer[parentBoxId]=window.setTimeout('SlideRelatedBox.Down("'+parentBoxId+'",46)',50);
	}
}

//#################################################
//## CISION
//#################################################
function clearViewState(){
	var viewState;
	for(i=0,n=document.forms.length;i<n;i++){
		viewState=document.forms[i].__VIEWSTATE;
		if(viewState!=null){
			//viewState.name="__VIEWSTATE_Disabled";
			//viewState.value="";
		}
	}
}

function showShare(){
	if (document.getElementById('sms4').checked.toString()=='true' || document.getElementById('email4').checked.toString()=='true'){document.getElementById('sharesubscription2').style.display='block';}
	else{document.getElementById('sharesubscription2').style.display='none';}
}
function SendRequestPress(action){
	var obj=document.forms[0]; //
	obj.elements['wpySubscribeAction'].value=action;
	clearViewState();
	obj.submit();
}

function UnSubscribePress(){
	var found=0,foundsms=0;
	if(document.getElementById('sms1').checked.toString()=='true'||document.getElementById('sms2').checked.toString()=='true'||document.getElementById('sms3').checked.toString()=='true'||document.getElementById('sms4').checked.toString()=='true'){
		var foundsms=2;
		if(document.getElementById('sms').value.length>0){foundsms=1;}
		else{document.getElementById('sms').focus();}
	}
	if(document.getElementById('email1').checked.toString()=='true'||document.getElementById('email2').checked.toString()=='true'||document.getElementById('email3').checked.toString()=='true'||document.getElementById('email4').checked.toString()=='true'){
		if(document.getElementById('email').value.length>0){found=1;}
		else{document.getElementById('email').focus();}
	}
	if(found==1 || foundsms==1){
		if(foundsms!=2) SendRequestPress('end');
	}
	found=0;
}

function SubscribePress(){
	var found=0,foundsms=0;
	if(document.getElementById('sms1').checked.toString()=='true'||document.getElementById('sms2').checked.toString()=='true'||document.getElementById('sms3').checked.toString()=='true'||document.getElementById('sms4').checked.toString()=='true'){
		foundsms=2;
		if(document.getElementById('sms').value.length>0){foundsms=1;}
		else{document.getElementById('sms').focus();}
	}
	if(document.getElementById('email1').checked.toString()=='true'||document.getElementById('email2').checked.toString()=='true'||document.getElementById('email3').checked.toString()=='true'||document.getElementById('email4').checked.toString()=='true'){
		if(document.getElementById('email').value.length>0){found=1;}
		else{document.getElementById('email').focus();}
	}
	if(found==1 || foundsms==1){
		if(foundsms!=2) SendRequestPress('begin');
	}
	found=0;
}

function insertAfter(newElement,targetElement){var parent=targetElement.parentNode;if(parent.lastchild==targetElement){parent.appendChild(newElement)}else{parent.insertBefore(newElement,targetElement.nextSibling)}};


var FormStyler=function(){
	var FormFields=[];
	var ISIE = /*@cc_on!@*/false;
	var STATIC = false;
	var elmProperty={
		Left : function(obj){var xy=0;if(obj.offsetParent){while(1){xy+= obj.offsetLeft;if(!obj.offsetParent) break;obj=obj.offsetParent}}else if(obj.x){xy+= obj.x} return xy},
		Top : function(obj){var xy=0;if(obj.offsetParent){while(1){xy+= obj.offsetTop;if(!obj.offsetParent) break;obj=obj.offsetParent}}else if(obj.y){xy+= obj.y}return xy},
		Width: function(obj){return obj.offsetWidth},
		Height: function(obj){return obj.offsetHeight}
	};
	return {
	
		Init: function(){
			var FormFields=getElementsByClassName(document,'*','fs');
			for(var i=0,n=FormFields.length,FormField=null; i<n; i++){
				FormField=FormFields[i];
				FormStyler.BuildReplacement(FormField,i);
			}
		},
		BuildReplacement: function(FormField,i){
			var FieldGuid=Guid();
			var elmReplacement=document.createElement('DIV');
			elmReplacement.className = FormField.className +' fs-'+ FormField.type.toLowerCase();
			elmReplacement.id='p'+FieldGuid;
			elmReplacement.style.width=elmProperty.Width(FormField) + 'px';
			elmReplacement.style.height=elmProperty.Height(FormField) + 'px';
			if(STATIC == true){
				elmReplacement.style.position='absolute';
				elmReplacement.style.zIndex=parseInt(9999+i);
				elmReplacement.style.left=elmProperty.Left(FormField) + 'px';
				elmReplacement.style.top=elmProperty.Top(FormField) + 'px';
				document.getElementsByTagName('BODY')[0].insertBefore(elmReplacement,document.getElementsByTagName('BODY')[0].firstChild);
			}else{
				elmReplacement.style.position='absolute';
				elmReplacement.style.zIndex=parseInt(9999+i);
				FormField.parentNode.insertBefore(elmReplacement,FormField);
			}
			if(FormField.type=='select-one'){
				addEvent(elmReplacement,'mouseover',FormStyler.HoverSelect);
				addEvent(elmReplacement,'mouseout',FormStyler.HoverSelect);
				var selectOptions=document.createElement('DIV');
				selectOptions.id='c'+FieldGuid;
				selectOptions.className='fs fs-select-one-options';
				selectOptions.style.width=elmProperty.Width(elmReplacement) + 'px';
				selectOptions.style.position='absolute';
				selectOptions.style.zIndex=parseInt(9999+i);
				selectOptions.style.left=elmProperty.Left(elmReplacement) + 'px';
				selectOptions.style.top=elmProperty.Top(elmReplacement)+elmProperty.Height(elmReplacement) + 'px';
				//document.getElementsByTagName('BODY')[0].insertBefore(selectOptions,document.getElementsByTagName('BODY')[0].firstChild);
				document.getElementsByTagName('BODY')[0].appendChild(selectOptions);
				//insertAfter(selectOptions,elmReplacement);
				var Option_UL=document.createElement('UL');
				for(var x=0,n=FormField.length,FormFieldOption=null,FormFieldValue='',FormFieldText='',Option_LI=null,OptionNewValue=''; x<n; x++){
					FormFieldOption=FormField[x];
					FormFieldValue=FormFieldOption.value;
					FormFieldText=FormFieldOption.text;
					Option_LI=document.createElement('LI');
					Option_LI.innerHTML='<a href="'+ FormFieldValue +'">'+ FormFieldText +'</a>';
					Option_UL.appendChild(Option_LI);
					if(FormFieldOption.selected==true){
						elmReplacement.innerHTML=FormFieldText;
					}
				}
				selectOptions.style.display='none';
				selectOptions.appendChild(Option_UL);
				FormStyler.DisableSelection(selectOptions);
				addEvent(elmReplacement,'click',FormStyler.ClickSelect);
				addEvent(window,'resize',FormStyler.HideOptions);
				addEvent(document,'click',FormStyler.HideOptions);
			}
			FormStyler.DisableSelection(elmReplacement);
			//HIDE OLD!
			var FormFieldSibling=FormField.parentNode.getElementsByTagName('INPUT')[0];
			if(FormFieldSibling) FormFieldSibling.style.display='none';
			var FormFieldSibling=FormField.parentNode.getElementsByTagName('SELECT')[0];
			if(FormFieldSibling) FormFieldSibling.style.display='none';
		},
		HoverSelect: function(){
			if(this.className.indexOf('fs-hover-select')!==-1){
				this.className=this.className.replace(' fs-hover-select','');
			}else{
				this.className=this.className+' fs-hover-select';
			}
		},
		ClickSelect: function(){
			FormStyler.HideOptions(null);
			var parentGuid=this.id.replace('p','');
			var childGuid=$$('c'+ parentGuid);
			if(childGuid){
				childGuid.style.left=elmProperty.Left(this) + 'px';
				childGuid.style.top=elmProperty.Top(this)+elmProperty.Height(this) + 'px';
				childGuid.style.display = (childGuid.style.display=='none')?'':'none';
			}
		},
		HideOptions: function(e){
			var trigger=null;
			if(e){
				if(e.srcElement){
					trigger=e.srcElement;
				}else{
					trigger=e.target;
				};
				if(trigger && trigger.className){
					if(trigger.className.indexOf('fs')!==-1) return;
				}
			}
			var optionElms=getElementsByClassName(document,'div','fs-select-one-options');
			for(var i=0,n=optionElms.length,elm=null; i<n; i++){
				elm=optionElms[i];
				elm.style.display='none';
			}
		},
		DisableSelection: function(elm){
			elm.unselectable='on';
			elm.style.MozUserSelect='none';
		}
	}
}();

var initForIE6=function(){
	if(typeof document.body.style.maxHeight=='undefined'){


	}
};

function handleEnter (targetBtn, event) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		document.getElementById(targetBtn).click();
		return false;
	}
	else
	return true;
}

function isNullOrEmpty(elm) {
	var ctrl = $$(elm);
	if (ctrl == null) return true;
	var val = ctrl.value;
	if (val == null) return true;
	return (val.length == 0);
}


/* DOM HANDLER (v.20090320) 
----------------------------------------------------*/
var DOM = function() {
	return {
		Get: function(elm) { if (typeof elm === 'string') { return document.getElementById(elm) } else { return elm } },
		Create: function(tag, cssClass, id) { var tmp = document.createElement(tag); if (cssClass) { tmp.className = cssClass }; if (id) { tmp.id = id }; return tmp },
		Remove: function(elm) { var elm = this.Get(elm); if (elm) { elm.parentNode.removeChild(elm) } },
		Add: function(elm, target) { var elm = this.Get(elm); var target = this.Get(target); if (elm && target) { target.appendChild(elm) } },
		AddFirst: function(elm, target) { var elm = this.Get(elm); var target = this.Get(target); if (elm && target) { target.insertBefore(elm, target.firstChild) } },
		AddAfter: function(elm, target) { var parent = target.parentNode; if (parent) { if (DOM.LastChild(parent) == target) { parent.appendChild(elm) } else { parent.insertBefore(elm, target.nextSibling) } } },
		AddBefore: function(elm, target) { var parent = target.parentNode; if (parent) { parent.insertBefore(elm, target) } },
		SetAttribute: function(elm, type, value) { if (DOM.GetAttribute(elm, type)) { elm.removeAttribute(type) }; var t = document.createAttribute(type); t.nodeValue = value; elm.setAttributeNode(t) },
		GetAttribute: function(elm, attrib) { for (var q = 0, qn = elm.attributes.length; q < qn; q++) { if (elm.attributes[q].nodeName.toLowerCase() == attrib.toLowerCase()) { return elm.attributes[q].nodeValue } } },
		PreviousSibling: function(node) { if (node.previousSibling) { node = node.previousSibling; while (node != null && node.nodeType != 1) { node = node.previousSibling }; return node }; return null },
		NextSibling: function(node) { if (node.nextSibling) { node = node.nextSibling; while (node != null && node.nodeType != 1) { node = node.nextSibling }; return node }; return null },
		FirstChild: function(node) { if (node) { var children = DOM.ChildNodes(node); if (children.length > 0) { return children[0] }; return null }; return null },
		LastChild: function(node) { if (node) { var children = DOM.ChildNodes(node); if (children.length > 0) { return children[children.length - 1] }; return null }; return null },
		ChildNodes: function(node) { if (node) { var children = node.childNodes, tmp = []; if (children.length > 0) { for (var ii = 0, nn = children.length; ii < nn; ii++) { var node = children[ii]; if (node.nodeType == 1) tmp.push(node) }; return tmp }; return null }; return null },
		GetByClassName: function(parent, tag, classname) { var arrReturnElements = new Array(); if (parent) { var d = (tag == '*' && parent.all) ? parent.all : parent.getElementsByTagName(tag); classname = classname.replace(/\-/g, '\\-'); var e = new RegExp('(^|\\s)' + classname + '(\\s|$)'), oElement = null; for (var i = 0, n = d.length; i < n; i++) { oElement = d[i]; if (e.test(oElement.className)) arrReturnElements.push(oElement) } } return (arrReturnElements) },
		GetByAttribute: function(parent, tag, attrib, value) { var f = new Array(); if (parent) { var e = (tag == '*' && parent.all) ? parent.all : parent.getElementsByTagName(tag); var g = (typeof value != 'undefined') ? new RegExp("(^|\\s)" + value + "(\\s|$)") : null, h, j; for (var i = 0, n = e.length; i < n; i++) { h = e[i]; j = h.getAttribute && DOM.GetAttribute(h, attrib); if (typeof j == 'string' && j.length > 0) { if (typeof value == 'undefined' || (g && g.test(j))) { f.push(h) } } } } return f }
	}
} ();

/* WRITE TO FIREBUG CONSOLE
----------------------------------------------------*/
var Console = function(){
	return {
		Log: function(msg, args) { if (typeof console == 'undefined') return false; if (!args) args = ''; console.log(msg, args) },
		Info: function(msg, args) { if (typeof console == 'undefined') return false; if (!args) args = ''; console.info(msg, args) },
		Warn: function(msg, args) { if (typeof console == 'undefined') return false; if (!args) args = ''; console.warn(msg, args) },
		Error: function(msg, args) { if (typeof console == 'undefined') return false; if (!args) args = ''; console.error(msg, args) }
	}
}();

