/*  ##########################################################################
'	##########################################################################

' 	scripts.js

'	Author(s)
' 	David Dekker, DD, david.dekker@akqa.com
'	Nigel Warson-Hill, NWH
'	Caroline Clifford, CC

' 	Copyright 2006 AKQA.  All rights reserved.

'	Version 1.02
'	Created: 02/10/2006
'	Last modified: 06/06/2007

'	Versions:
' 	1.00 - Initial version - DD
'	1.01 - Removed unused function "activateProgrammeChange" as no longer needed - NWH
'	1.02 - Added getElementsByClassName for use with the paging.js
		   Added querystring function for use with the paging.js
		   Commented out these functions as paging function is behaving pecululary slow

	##########################################################################
	##########################################################################
*/
//Get objects from class name 
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if (node == null) node = document;
	if (tag == null) tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if (pattern.test(els[i].className)) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

//FAQs page - toggle FAQs//

function contractArticles(id){
    if(!document.getElementById) return;//check method exists
    if(!document.getElementsByTagName) return;//check method exists
    if(!document.getElementById(id)) return;//check method exists
    var items = document.getElementById(id).getElementsByTagName('div');//find list of articles
    for (var i=0;i<items.length;i++){ //for each div...
        if(items[i].className == 'faqText'){ //... with a class of faqText
            //items[i].childNodes[1].childNodes[0].className='';//...reset class on link
            var bodyTxt = items[i].getElementsByTagName('div');//...get all divs in selected article
            for (var j=0;j<bodyTxt.length;j++){
                if (bodyTxt[j].className == 'faqBody'){//...if the div has a class of articleBody
                    bodyTxt[j].style.display='none';//hide it
                }
            }
        }
        if(items[i].className == 'faqButton'){
            items[i].firstChild.className = 'off';
        }
    }
}  
    

function toggleFaq(obj) {
   if(!document.getElementById) return;//check method exists
   if(!document.getElementsByTagName) return;//check method exists
   var articleItem = obj.parentNode.parentNode; //get articleItem <li>
   var bodyTxt = articleItem.getElementsByTagName('div'); //...get all divs in selected article
   for (var j=0;j<bodyTxt.length;j++){
        if (bodyTxt[j].className == 'faqBody'){//...if the div has a class of articleBody
            var elem = bodyTxt[j];
            if(elem.style.display == 'none'){//..toggle display mode
                contractArticles('faqs_container');
                elem.style.display='block';
                obj.className = '';
            }else if(elem.style.display == 'block'){
                contractArticles('faqs_container');
                elem.style.display='none';
            }
           /* if(!obj.className){ //toggle on state for link
                obj.className = 'off';
            }else{
                obj.className = '';
            }
            return;*/
        }
     }
 }
 
 function toggleFaq1(obj) {
   if(!document.getElementById) return;//check method exists
   if(!document.getElementsByTagName) return;//check method exists
   if(!getElementsByClass) return;//check method exists
   
   
   var buttonAnchor = getElementsByClass("off", obj.parentNode.parentNode.parentNode, "a")[0];
   var articleItem = obj.parentNode.parentNode; //get articleItem <li>
   var bodyTxt = articleItem.getElementsByTagName('div'); //...get all divs in selected article
   for (var j=0;j<bodyTxt.length;j++){
        if (bodyTxt[j].className == 'faqBody'){//...if the div has a class of articleBody
            var elem = bodyTxt[j];
            if(elem.style.display == 'none'){//..toggle display mode
                contractArticles('faqs_container');
                elem.style.display='block';
                obj.className = '';
                buttonAnchor.className = ''; 
            }else if(elem.style.display == 'block'){
                contractArticles('faqs_container');
                elem.style.display='none';
            }
           if(!obj.className){ //toggle on state for link
                obj.className = '';
            }else{
                obj.className = 'off';
            }
            return;
        }
     }
 }
 
  function closeArticle(obj) {
    var article = obj.parentNode.parentNode.parentNode;
    var articleTitle = article.getElementsByTagName('a');
    toggleArticle(articleTitle[0]);
 }
 
 
 
function expandArticles(id){
    if(!document.getElementById) return;//check method exists
    if(!document.getElementsByTagName) return;//check method exists
    if(!document.getElementById(id)) return;//check method exists
    var items = document.getElementById(id).getElementsByTagName('div');//find list of articles
    for (var i=0;i<items.length;i++){ //for each div...
        if(items[i].className == 'faqText'){ //... with a class of faqText
            //items[i].childNodes[1].childNodes[0].className='';//...reset class on link
            var bodyTxt = items[i].getElementsByTagName('div');//...get all divs in selected article
            for (var j=0;j<bodyTxt.length;j++){
                if (bodyTxt[j].className == 'faqBody'){//...if the div has a class of articleBody
                    bodyTxt[j].style.display='block';//show it
                }
            }
        }
        if(items[i].className == 'faqButton'){
            items[i].firstChild.className = '';
        }
    }
}  
