var qaFix=false;
function start() {
	qaFix=false;
	window.status="";
    detect();
    loadData();
    drawTree();
    top.DoNavigate()
    }
function qaOnError() {
	qaFix=false;
	start();
	return true;
	}
window.onerror=qaOnError;

//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//This function is for browser detection.
//

function detect()
{
	Version=0;
	bName = navigator.appName;
	bVer  = parseInt(navigator.appVersion); 
	Ver=navigator.appVersion;
	CodeName=navigator.appCodeName;
	UserAgent=navigator.userAgent;
	History=history.length;
	cpuClass=navigator.cpuClass;
	//alert(bName + '  ' + UserAgent + '  ' + bVer);
	if (UserAgent) {
		for (var a=1;a < (UserAgent.length-4);a++) {
			if (UserAgent.charAt(a)=='M') {
				if (UserAgent.charAt(a+1)=='S') {
					if (UserAgent.charAt(a+2)=='I') {
						if (UserAgent.charAt(a+3)=='E') {
							Version=UserAgent.charAt(a+5) + UserAgent.charAt(a+6) + UserAgent.charAt(a+7);
							Version=parseFloat(Version);
						}
					}
				}
			}
		}
	}
}

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Thos function is used to close all the nodes and extend only the nodes which are relevent to the currently clicked option.
// This works recursivly changing the open status of the nodes starting from the bottom.
//

function CloseAll(qaid,qaNum,qastat) {
if (qastat==1) {
    if (qaNum==1) {
        for (var qaaa=2;qaaa<=qaCount;qaaa++) {
        treeData[qaaa].open=0;
        }
    }
    for (var qacc=2;qacc<=qaCount;qacc++) {
        if (treeData[qacc].id==qaid) {
            treeData[qacc].open=1;
                CloseAll(treeData[qacc].parent,2,1);
            }
        }
    }               
}

//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// This is for writing the line to get the Sunken effect.
//
function Sunken() {
    outputFrame.write("<IMG SRC=" + theLine + "  vspace='5' width='123' height='2'><br>"); 
    }

//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//


function drawTree() {
outputFrame = top.leftindex.window.document;    // If you really must, you can change the name of the treeFrame here to match your new name defined at the bottom.
    outputFrame.open("text/html");
    outputFrame.write("<HTML><HEAD><LINK REL='stylesheet' TYPE='text/css' HREF='common/webleft.css'>\n<\/HEAD>\n");
outputFrame.write("\n<\/HEAD>\n<BODY MARGINWIDTH=0 LEFTMARGIN=0 MARGINHEIGHT=0 TOPMARGIN=0 BOTTOMMARGIN=0 RIGHTMARGIN=0> ");
	    outputFrame.write("\n<table cellpadding='0' cellspacing='0' height='100%' border='0' width='176'>\n<tr>\n<td valign='top' width='126' background='images/qaLeft-Background.gif' height='80%'>\n");
	    outputFrame.write("\n<table cellpadding='0' cellspacing='0' width='126' border='0'>\n<tr>\n<td width='126' background='images/qaLeftIndex-left.gif' Height='325' valign='top'>\n");
	    //outputFrame.write(prefixHTML + "\n<NOBR>\n");
	    outputFrame.write(prefixHTML);
	    if (treeData[1].target == "") {var targetFrame = defaultTargetFrame} else {var targetFrame = treeData[1].target}
	    if (treeData[1].icon == "") {var imageString = defaultLinkIcon} else {imageString = defaultLinkIcon}
	    outputFrame.write("<IMG SRC=" + defaultLinkIcon + " WIDTH=" + qaWidth + "  HEIGHT=" + qaHeight + "><br>");
	    outputFrame.write("<IMG SRC=" + defaultLinkIcon + " WIDTH=" + qaWidth + "  HEIGHT=" + qaHeight + "><br>");
	    drawBranch("root","");
	    outputFrame.write("<\/NOBR>\n" + suffixHTML + "\n");
	    outputFrame.write("\n<\/td>\n<\/tr>\n<\/table>");
	    outputFrame.write("\n<\/td>\n<td bgcolor='#ffffff' width='50' valign='top' align='left' height='80%'>");
	    outputFrame.write("\n<table cellpadding='0' cellspacing='0' width='50' border='0'>\n<tr>\n<td width='50' background='images/qaLeftIndex-Right.gif' Height='50' valign='top'>&nbsp;\n<\/td>\n<\/tr>\n<\/table>");
	    outputFrame.write("\n<\/td>\n<\/tr>\n<tr>\n<td height='20%'valign='top' background='images/qaLeft-Background.gif'>\n<A  href='\' onMouseOver='JavaScript:top.qaMouseOver() ; return true'  target='_top'><img src='images/qaBackhome.gif' border='0'></a>\n</td>\n<td valign='top' height='20%'>\n<img src='images/qaBackhome-2.gif'>\n</td>\n</tr>\n</table>");
	    outputFrame.write("\n<\/BODY>\n<\/HTML>");
	    outputFrame.close();
  window.status="";
}

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



function drawBranch(startNode,structureString) {
    var children = extractChildrenOf(startNode);
    var currentIndex = 1;
    var qadump=1;
    while (currentIndex <= children.length) {
        
        outputFrame.write(structureString);
        if (children[currentIndex].type == 'link') {
                outputFrame.write('<IMG SRC="' + Blank + '" HEIGHT="10" WIDTH="10">');
                var targetFrame=defaultTargetFrame;
                if (children[currentIndex].open == 1) {
                    outputFrame.write("<SPAN class='LINKSMALL-CURRENT'>" + "&nbsp;" + children[currentIndex].name + "<\/SPAN><br>");
                    }
                else {
                outputFrame.write("<A  HREF=\"javascript:top.toggleLink('" + children[currentIndex].url + "','" + children[currentIndex].parent + "',1,1)\" onMouseOver='JavaScript:top.qaMouseOver() ; return true' class='LINKSMALL'>&nbsp;" + children[currentIndex].name + "<BR>\n<\/A>");
                }
        }
        else {
            var newStructure = structureString;
            var iconOpen=defaultLinkIcon;
            var iconClosed=defaultLinkIcon;
            
            if (children[currentIndex].parent=='root'){
                if (children[currentIndex].open == 0) {
                    outputFrame.write("<A  HREF=\"javascript:top.toggleFolder('" + children[currentIndex].id + "',1,1)\"  onMouseOver='JavaScript:top.qaMouseOver() ; return true' class='LINKSMALL4'");
                    outputFrame.write("TITLE="+ children[currentIndex].title + ">");
                    outputFrame.write("&nbsp;&nbsp;" + children[currentIndex].name + "<\/A><BR>\n");
                    Sunken();
                    }
                else {
                    outputFrame.write("<A  HREF=\"javascript:top.toggleFolder('" + children[currentIndex].id + "',1,1)\"  onMouseOver='JavaScript:top.qaMouseOver() ; return true' class='LINKSMALL5'>");
                    outputFrame.write("&nbsp;&nbsp;" + children[currentIndex].name + "<\/A><BR>\n");
                    Sunken();
                    drawBranch(children[currentIndex].id,newStructure);
                    var childnodes = extractChildrenOf(children[currentIndex].id);
		    if (childnodes.length > 0) {
			Sunken();
			}
                    }
                }
            else {
				
                if (children[currentIndex].open == 0) {
					outputFrame.write('<IMG SRC="' + closedIcon + '" HEIGHT="10" WIDTH="10">');
                    outputFrame.write("<A  HREF=\"javascript:top.toggleFolder('" + children[currentIndex].id + "',1,1)\" onMouseOver='JavaScript:top.qaMouseOver() ; return true' class='LINKSMALL'>");
                    outputFrame.write("&nbsp;" + children[currentIndex].name + "<\/A><BR>\n");
                    }
                else {
					outputFrame.write('<IMG SRC="' + openIcon + '" HEIGHT="10" WIDTH="10">');
                    outputFrame.write("<A  HREF=\"javascript:top.toggleFolder('" + children[currentIndex].id + "',1,1)\" onMouseOver='JavaScript:top.qaMouseOver() ; return true' class='LINKSMALL6'>");
                    outputFrame.write("&nbsp;" + children[currentIndex].name + "<\/A><BR>\n");
                    newStructure = newStructure + "<IMG SRC=" + defaultLinkIcon + " WIDTH=" + qaWidth + "  HEIGHT=" + qaHeight + "  ALIGN=TEXTTOP>";
                    drawBranch(children[currentIndex].id,newStructure); 
                    }
                }
            }

        currentIndex++;
    }   
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// This is for webdocsPro app firing.
//

function toggleDocs() {
	if (qaFix) {
	window.open(absolutePath + 'common/qaLogon.htm','main');  
	}
}

//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//This is to load pages witch are not in the treeData.

function toggleElse(url,parent) {
    if (qaFix) {
    qaABSid=parent;
    CloseAll(parent,1,1);
    treeData[1].open=1;
    window.open(absolutePath+url,'main');
    timeOutId = setTimeout("drawTree()",100);
    }
}

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// toggleFolder() - GENERAL FUNCTION - opens/closes folder nodes.

function toggleFolder(id,status,fire) {
    if (qaFix) {
    var nodeIndex = indexOfNode(id); 
    qaABSid=id;
    CloseAll(id,1,1);
    treeData[nodeIndex].open = status; 
    if (fire==1) { 
		window.open(absolutePath+treeData[nodeIndex].url,defaultTargetFrame); 
		}
    timeOutId = setTimeout("drawTree()",100);
    }
    }

function gettitle() {
   return 'test'
    }


//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// This is to get the proper branch to contract for the links
//
function contractAll(){
    if (qaFix) {
    CloseAll('root',1,1);
    timeOutId = setTimeout("drawTree()",100);
    }
    }


//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// This is used to find the current link.
//
function currentLink(url) {
    if (qaFix) {
    for (var qaaa=1;qaaa<=qaCount;qaaa++) {
        if ((treeData[qaaa].url==url) && (treeData[qaaa].type=='link')) {
            return qaaa}
        } 
        return -1;
    }
    }       
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// This is to contract all and display the url . [For options like products]

function toggleLink(url,parent,status,fire) {
    if (qaFix) {
    qaABSid=parent;
    CloseAll(parent,1,1);
    var qaLink=currentLink(url);
    treeData[qaLink].open=1;
    if (fire==1) { 
		window.open(absolutePath+url,'main');
		}
    timeOutId = setTimeout("drawTree()",100);

    }
}
    
    
    
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// for the things in the top index 
//
 
 
function qaMouseOver() {
	window.status='';
}


// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// indexOfNode() - GENERAL FUNCTION - finds the index in the treeData Collection of the node
//                        with the given id.

function indexOfNode(id) {
    var currentIndex = 1;
    while (currentIndex <= treeData.length) {
        if ((treeData[currentIndex].type == 'root') || (treeData[currentIndex].type == 'folder')) {
            if (treeData[currentIndex].id == id) {return currentIndex}} 
        currentIndex++} 
    return -1}
    
    
    

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// extractChildrenOf() - GENERAL FUNCTION - extracts and returns a Collection containing all
//                            of the node's immediate children nodes.

function extractChildrenOf(node) {
    var children = new Collection();
    var currentIndex = 1; 
    while (currentIndex <= treeData.length) {
        if ((treeData[currentIndex].type == 'folder') || (treeData[currentIndex].type == 'link')) {
                if (treeData[currentIndex].parent == node) {
                    children.Add(treeData[currentIndex])}}
        currentIndex++;} 
    return children }

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Collection() - OBJECT - a dynamic storage structure similar to an Array.

function Collection() {
    this.length = 0; 
    this.Add = Add; 
    return this }

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// add() - METHOD of Collection - adds an object to a Collection.

function Add(object) {
    this.length++;
    this[this.length] = object}

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// RootNode() - OBJECT - represents the top-most node of the hierarchial tree.

function RootNode(id,name,url,target,icon) {
    qaCount++;  //This is used to get the exact number of nodes in the structure. treeData.length is giving errors.
    this.id=id;
    this.name=name;
    this.url=url;
    this.target=target;
    this.icon=icon;
    this.type='root'
    return this }

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// FolderNode() - OBJECT - represents a node which branches to contain other nodes.

function FolderNode(id,parent,name,url,iconClosed,iconOpen, title) {
    qaCount++;  //This is used to get the exact number of nodes in the structure. treeData.length is giving errors.
   

 
    this.id=id;
    this.parent=parent;
    this.name=name;
    this.url=url;   //This was added to get the relevent web pages to load when the folders are extended.
    this.iconClosed=iconClosed;
    this.iconOpened=iconOpen;
    this.type='folder';
    this.open=0
    this.title=title
    return this }
    
    
    

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// LinkNode() - OBJECT - a node that represents a link using a URL.

function LinkNode(parent,name,url,target,icon) {
    qaCount++;
    this.parent=parent;
    this.name=name;
    this.url=url;
    this.target=target;
    this.icon=icon;
    this.type='link'
    return this }


//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// This is for converting the '\' in to '/'
//
function TheSlash(Path) {
	var newPath=''
	var a=1;
	for (a=0 ;a <= Path.length;a++) {
		if (Path.charAt(a)== '\\')
			 { 
			 newPath = newPath.concat('/');
			  }
		else { newPath=newPath.concat(Path.charAt(a)) }
		 }
	return newPath;
}



//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//This os to get the request for info working.
//
function RFI() {
toggleElse('Miscellaneous/qaRequestInfo.htm','root',0);
}

//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//This takes you back to the previouse page.
//
function GoBack() {
window.history.go(-1);
}

//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//This is to get the webdocs page for the user of the site. 
//

function LogonClick() {
	if (qaFix) {
		if (Version >= 5 ) {
			window.open(main.txtWDPPath.value,'_blank','width=780,height=560,left=20, top=40, resizable=yes, scrollbars=yes' );
			window.history.go(-1);
		} else {
			alert("WebDocsPro currently supports only IE 5.x and above.");
		}
	}
}

//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//Contract the tree view and open a page from the TopIndex or RightIndex
//
function OpenLink(name,parent) {
    if (qaFix) {
		var currentIndex = 1; 
		var linkUrl = "";
		while (currentIndex <= otherlinks.length) {
			if ((otherlinks[currentIndex].type == 'link')) {
				if ((otherlinks[currentIndex].parent.toUpperCase() == parent.toUpperCase()) && (otherlinks[currentIndex].name.toUpperCase() == name.toUpperCase())) {
				    linkUrl = otherlinks[currentIndex].url;
				    currentIndex = otherlinks.length;
				}
		    }
			currentIndex++;
		} 

		if (linkUrl != "") {
			contractAll();
			window.open(absolutePath+linkUrl,'main');
		}
    }
}


// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// loadData() - GENERAL FUNCTION - user defined data and variables exist in this function.

function loadData() {
    var lnCount;
    qaCount=0;
      // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      // Tree structure definitions:


    treeData = new Collection();
    treeData.Add(new RootNode('root','Home','qaHome.htm','',''));    
        treeData.Add(new FolderNode('DocCtrl','root','Document <br>&nbsp;&nbsp;Control','docctrl/index.htm','','',''));
            treeData.Add(new LinkNode('DocCtrl','Document Uploads','docctrl/uploads.htm','',''));
            treeData.Add(new LinkNode('DocCtrl','Document Validation','docctrl/validation.htm','',''));
            treeData.Add(new LinkNode('DocCtrl','Document Distribution<br>&nbsp;&nbsp;&nbsp;&nbsp;& Approval','docctrl/distribution.htm','',''));
            treeData.Add(new LinkNode('DocCtrl','Transmittals','docctrl/transmittals.htm','',''));
            treeData.Add(new LinkNode('DocCtrl','Archiving','docctrl/archiving.htm','','')); 
        treeData.Add(new FolderNode('Communications','root','Communications','communications.htm','','',''));
        treeData.Add(new FolderNode('Tenders','root','Tenders','tenders.htm','','',''));
        treeData.Add(new FolderNode('Register','root','Register','tbRegister.htm','','','"Register your organisation"'));
                          
      // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      // User defined variables:    
      
    //This otherlinks object will contain the Top-Index links. Currently we can navigate explicitly only to Left-Index links.
    //The qaCount value is taken to a variable cause we do not want o overwrite this value as it is used by the treedata object
	//The value is restored back after populating the therlinks object
	
	lnCount = qaCount;
	qaCount=0;
	
	otherlinks = new Collection();
    otherlinks.Add(new RootNode('root','Home','qaHome.htm','','')); 
		otherlinks.Add(new FolderNode('topindex','root','TopIndex','Common/topindex.htm','','',''));
			otherlinks.Add(new LinkNode('topindex','Company','qas/about.htm','',''));
			otherlinks.Add(new LinkNode('topindex','Partners','http://www.qa-software.com/AboutUs/ContactUs/qacontact_details.htm','',''));
			otherlinks.Add(new LinkNode('topindex','Support','support/supportmain.htm','',''));
			otherlinks.Add(new LinkNode('topindex','Contact Us','http://www.qa-software.com/AboutUs/ContactUs/qacontact_details.htm','',''));
			otherlinks.Add(new LinkNode('topindex','Training','tb/training.htm','',''));
		otherlinks.Add(new FolderNode('rightindex','root','TopIndex','Common/rightindex.htm','','',''));
			otherlinks.Add(new LinkNode('rightindex','Benefits','tb/benefits.htm','',''));
			otherlinks.Add(new LinkNode('rightindex','Features','tb/features.htm','',''));
			otherlinks.Add(new LinkNode('rightindex','Advantages','tb/advantage.htm','',''));
			otherlinks.Add(new LinkNode('rightindex','Request Info','tb/requestinfo.htm','',''));
			otherlinks.Add(new LinkNode('rightindex','Pricing','tb/pricing.htm','',''));
			otherlinks.Add(new LinkNode('rightindex','Hosting Options','tb/hosting.htm','',''));
			otherlinks.Add(new LinkNode('rightindex','Downloads','tb/downloads.htm','',''));
			otherlinks.Add(new LinkNode('rightindex','Brochure','tb/TeamBinder-Brochure.pdf','',''));
	qaCount2 = qaCount;	
	qaCount = lnCount;	
		     
      absolutePath='';
      qaHeight='5';
      qaWidth='5';
       structureStyle = 0;                   // 0 for light background, 1 for dark background
	
      backgroundColor = '#ffffff';           // sets the bgColor of the menu
            textColor = '#000000';           // sets the color of the text used in the menu
            linkColor = '#0000AA';           // sets the color of any text links (usually defined in additional HTML sources)
           aLinkColor = '#FF0000';           // sets the active link color (when you click on the link)
           vLinkColor = '#880088';           // sets the visited link color
      
      backgroundImage = '/';                  // give the complete path to a gif or jpeg to use as a background image
        
      defaultTargetFrame = 'main';      // the name of the frame that links will load into by default 
         defaultImageURL = 'images/';        // the URL or path where the OmenTree images are located
		Blank = absolutePath + defaultImageURL + 'qaBlank10px.gif';
		openIcon = absolutePath + defaultImageURL + 'qaMin.gif';
		closedIcon = absolutePath + defaultImageURL + 'qaPlus.gif';
		
      defaultLinkIcon = absolutePath + defaultImageURL + 'qablank.gif';  // the default icon image used for links
      defaultLinkIcon2= 'the-blank2.gif'; 
      theLine= absolutePath + 'images/qaLine.gif';  
          omenTreeFont = 'MS Sans Serif,Arial,Helvetica';  // the font used for the menu
      omenTreeFontSize = 1;                                // its size - don't make it too big!
      
			qaFix=true;  //this variable is to check wether the variables are initialised.
      // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      // Additional HTML sources:

      prefixHTML = "";
      suffixHTML = "&nbsp;<a href='../Logon' target='login' onclick=window.open('../Logon','login','menubar=no,titlebar=no,toolbar=no,width=700,height=500,resizable=yes,scrollbars=yes,status=yes')><img src=images/login.gif border=0 alt='Login to TeamBinder'></a>";
//onclick=window.open('../Logon','login','menubar=no,titlebar=no,toolbar=no,width=700,height=500,resizable=yes,scrollbars=yes,status=yes')
}
