function addEvent(obj, evType, fn, useCapture)
{
  if(obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  }
  else if(obj.attachEvent) {
    var r=obj.attachEvent("on"+evType, fn);
    return r;
  }
  else{
    alert("Handler could not be attached");
  }
}

function doPopups()
{
  if(!document.getElementsByTagName)
    return false;
  var links=document.getElementsByTagName("a");
  for(var i=0; i < links.length; i++) {
    if(links[i].className.match("popup")){
      links[i].onclick=function(){ window.open(this.href); return false; }
    }
  }
}

function getElementsByClass(element, classname)
{
  var messages=new Array();
  var inc=0;
  var alltags=document.all? document.all : document.getElementsByTagName(element);
  for(i=0; i<alltags.length; i++){
    if(alltags[i].className==classname)
      messages[inc++]=alltags[i];
  }
  return messages;
}

function moveElement(elementId, hangerParentId, hangerId)
{
  if(!document.getElementById)
    return false;
  var element=document.getElementById(elementId);
  var hanger=document.getElementById(hangerId);
  var hangerParent=document.getElementById(hangerParentId);
  if(hangerParent){
    hangerParent.insertBefore(element, hanger);
  }
  else{
    hanger.appendChild(element);
  }
}

function moveRelatedLinkCategory(categoryId, hangerParentId, hangerId)
{
	if(!document.getElementById)
	  return false; 
	
	if(document.getElementById(categoryId))
	{
	  moveElement(categoryId, hangerParentId, hangerId); 
	  var relatedLinkDivs=getElementsByClass("div", "rlCategory"); 
	  var shouldHide=true; 
	  for(i=0; i<relatedLinkDivs.length; i++)
	  {
		if(relatedLinkDivs[i].id != categoryId)
		shouldHide=false;
	  }
	  if(shouldHide){
		var parentN=document.getElementById("relatedLinks");
		parentN.parentNode.removeChild(parentN);
	  }
	}
}

function hideanswers()
{
	var links=document.getElementsByTagName("div"); 
	for(var i=0; i < links.length; i++){
		if(links[i].className.match("lAnswer")){
			links[i].style.display='none';
		}
	}
}

function linkclicked(e)
{
	if(window.event){
		var whichlink=window.event.srcElement;
	}
	else{
		var whichlink=e.target;
	}
	
	while(whichlink.nodeName.toLowerCase()!= 'a' && whichlink.nodeName.toLowerCase()!= 'body')
	  whichlink=whichlink.parentNode;
	  
	var findanswer=whichlink.parentNode.getElementsByTagName("div"); 
	for(var i=0; i < findanswer.length; i++){
		if(findanswer[i].className.match("lAnswer")){
			if(findanswer[i].style.display.match("none")){
				findanswer[i].style.display='block';
			}
			else{
				findanswer[i].style.display='none';
			}
		}
	}
	if(window.event){
		window.event.cancelBubble=true;
		window.event.returnValue=false;
	}
	if(e && e.stopPropagation && e.preventDefault){
      e.stopPropagation(); e.preventDefault();
	}
}
	
function linkclicklistener(e){
	var links=document.getElementsByTagName("a"); 
	for(var i=0; i < links.length; i++){
		if(links[i].className.match("lQuestion")){
			addEvent(links[i], 'click', linkclicked, false);
		}
	}
}
	
function getCookie(name){
	var cookies=document.cookie; 
	if(cookies.indexOf(name)!= -1){
		var startpos=cookies.indexOf(name)+name.length+1; 
		var endpos=cookies.indexOf(";",startpos)-1; 
		if(endpos==-2) 
		    endpos=cookies.length;
		return unescape(cookies.substring(startpos,endpos));
	}
	else{
		return false;
	}
}

function detectLowVision(){
	var cookieValue=getCookie("UAType");
	if((!/lowvisio/.test(cookieValue))|| !getCookie("UAType")){
		moveRelatedLinkCategory("rlcnextstep", "navigationContainer", "sNavigation"); 
		if(!document.getElementById)
		  return false; 
		if(document.getElementById("categories")){
			moveRelatedLinkCategory("rlcrelatedservices", "", "categories");
		}
		else{
			moveRelatedLinkCategory("rlcrelatedservices", "", "sNavigation");
		}
	}
}
window.onload=function(){
	doPopups(); 
	linkclicklistener(); 
	hideanswers(); 
	detectLowVision();
}