


// find & replace all occurences of '*COUNTER*' with image

function placeCounterLogo() {
    var selection, counterFindRegex, counterFindRegexTmp, counterSafeText, counterImg;
    var containerElement;
	counterSafeText = "(counter)"
	counterImg = '<IMG id="ELS_Counter_image" SRC="../images/ELS_UI/COUNTER_Small.gif" BORDER="0">';
		
    // replace the specific *COUNTER* text parts
    
	// do the path section
    try {
		// last item in path
		containerElement = getMultibrowserElementById('mstrWeb_path');
		if(containerElement){
				selection = containerElement.getElementsByTagName('SPAN');
				counterFindRegex = /\*COUNTER\*/gim; 
				FindReplaceForSection(counterFindRegex,counterImg,selection,'last','','');
			}
    } catch (e) {};
    
	// do the orange banner section
    try {
		containerElement = getMultibrowserElementById('mstrWeb_dockTop');
		if(containerElement){
				selection = containerElement.getElementsByTagName('DIV');
				counterFindRegex = /\*COUNTER\*/gim; 
				FindReplaceForSection(counterFindRegex,counterImg,selection,'contents','','');
			}
    } catch (e) {};
    
	// do the wait section DIV.mstrWait SPAN.subtitle
    try {
		containerElement = getMultibrowserElementById('vb_ReportGridStyle');
		if(containerElement){
				selection = containerElement.getElementsByTagName('DIV');
				counterFindRegex = /\*COUNTER\*/gim; 
				FindReplaceForSection(counterFindRegex,counterImg,selection,'mstrWait','SPAN','subtitle');
			}
    } catch (e) {};
    
    // do the folder sections
    try { 
	
			//name sections for large icon view -> do only the innerHTML of the A tags, to prevent altering alt, href values
			//	Element HTML hierarchy: HTML>BODY.mstr>TABLE.mstrVerticalDocks>TBODY>TR>TD.tdDockCenter#tdDockCenter>DIV.mstrContent#mstrWeb_content>TABLE>TBODY>TR>TD.td_contents#td_contents>DIV.mstrTransform#fb_FolderStyleIcon
			//		>DIV.largeIconView#largeIconView>TABLE.largeIconView#FolderIcons>TBODY>TR>TD>TABLE.g>TBODY>TR>TD.largeIconText>DIV.name>SPAN>A 
			containerElement = getMultibrowserElementById('largeIconView');
			if(containerElement){
				selection = containerElement.getElementsByTagName('TD');
				counterFindRegex = /\*COUNTER\*/gim; 
				FindReplaceForSection(counterFindRegex,counterImg,selection,'largeIconText','A','');
				
				selection = containerElement.getElementsByTagName('DIV');
				counterFindRegex = /\*COUNTER\*/gim; 
				FindReplaceForSection(counterFindRegex,counterImg,selection,'description','','');
			}
			
			//name sections for list view -> do only the innerHTML of the A tags, to prevent altering alt, href values
			//	Element HTML hierarchy: HTML>BODY.mstr>TABLE.mstrVerticalDocks>TBODY>TR>TD.tdDockCenter#tdDockCenter>DIV.mstrContent#mstrWeb_content>TABLE>TBODY>TR>TD.td_contents#td_contents>DIV.mstrTransform#fb_FolderStyleList
			//		>DIV#listView>TABLE.listView#FolderList>TBODY>TR.tr_alternate>TD>SPAN>A
			containerElement = getMultibrowserElementById('listView');
			if(containerElement){
				selection = containerElement.getElementsByTagName('TD');
				counterFindRegex = /\*COUNTER\*/gim; 
				FindReplaceForSection(counterFindRegex,counterImg,selection,'','A','');
				
				FindReplaceForSection(counterFindRegex,counterImg,selection,'listView_Description','','');
			}
    } catch (e) {};
    
	// do the general content section (login) 
    try {
		containerElement = getMultibrowserElementById('td_contents');
		if(containerElement){
				selection = containerElement.getElementsByTagName('SPAN');
				counterFindRegex = /\*COUNTER\*/gim; 
				FindReplaceForSection(counterFindRegex,counterImg,selection,'span_counterlogo','','');
			}
    } catch (e) {};
    
}



function FindReplaceForSection(findRegex,strReplace,selection,strClassName,strTagName_subselect,strClassName_subselect) {
    var elementText, element, elementClassName;	
    var i, count, selection_2, i_2, count_2;
    //alert('FindReplaceForSection strReplace="'+strReplace+'" class="'+strClassName+'" strTagName_subselect="'+strTagName_subselect+'" strClassName_subselect="'+strClassName_subselect+'" ')
    
 	// try using selection as an array
		count= selection.length; 
		//alert(count+' items')
		for (i=0; i<count; i++) {
			try {
				// only for a certain classname?
				//alert('strClassName='+strClassName);
				if(strClassName=='' || strClassName.toLowerCase()==selection[i].className.toLowerCase() ){
					// browse subelements for certain Tagname?
					//alert('strTagName_subselect='+strTagName_subselect);
					if(strTagName_subselect!=''){
						//alert('subselector routine');
						// only for a certain Tagname? -> crawl subselectie
						selection_2 = selection[i].getElementsByTagName(strTagName_subselect)
						count_2= selection_2.length; 
						//if(count_2>0)alert(count_2+' '+strTagName_subselect+' subelements in '+selection(i).innerHTML);
						
						for (i_2=0; i_2<count_2; i_2++) {
							// only for a certain classname for subselect?
							if(strClassName_subselect=='' || strClassName_subselect.toLowerCase()==selection_2[i_2].className.toLowerCase() ){
								text = selection_2[i_2].innerHTML;
								result = text.replace(findRegex,strReplace);
								if(text!=result) {
									selection_2[i_2].innerHTML=result;
									//alert('One item replaced. Element class="'+selection_2(i_2).className+'" strClassName_subselect="'+strClassName_subselect+'" '+selection_2(i_2).innerHTML);
									//alert('subselect routine strClassName_subselect="'+strClassName_subselect+'" "'+selection_2(i_2).className+'" '+selection_2(i_2).innerHTML);
								}
							}
						}
					} else {
						//alert('non-subselector routine');
							text = selection[i].innerHTML; // please use [i] and not (i) to help Firefox etc.
							result = text.replace(findRegex,strReplace);
							if(text!=result) {
								selection[i].innerHTML=result;
								//alert('One item replaced. Element class="'+selection(i).className+'" strClassName="'+strClassName+'" '+selection(i).innerHTML);
							}
						
					}
				}
			} catch (e) {}
		}
}

function register_placeCounterLogo() {
  var func = placeCounterLogo;
  register_onLoad(func);
}

// some ELS standard parts...:
// these functions are defined in each ELS script file - if changed, please replace also in other files

function getMultibrowserElementById(sID,oDoc) { 
    if( !oDoc ) { oDoc = document; } // init at document level, used for recursive for netscape
    if( document.layers ) { //Netscape layers
		//alert('document.layers');
        if( oDoc.layers[sID] ) { return oDoc.layers[sID]; } else {
            //repeatedly run through all child layers
            for( var x = 0, y; !y && x < oDoc.layers.length; x++ ) {
                //on success, return that layer, else return nothing
                y = getMultibrowserElementById(sID,oDoc.layers[x].document); }
            return y; } }
    if( document.getElementById ) { //DOM; IE5, NS6, Mozilla, Opera
		//alert('document.getElementById');
        return document.getElementById(sID); }
    if( document.all ) { //Proprietary DOM; IE4
		//alert('document.all');
        return document.all[sID]; }
    if( document[sID] ) { //Netscape alternative
		//alert('document[xxx]');
        return document[sID]; }
    return false;
}

function register_onLoad(func) {
  var oldonload = window.onload;  
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

///// activation of script:
//window.onload fires after all content (including images) has been loaded
//register_placeCounterLogo(); // uses the windows.onload

// activate now: (this js is now called AFTER <body> is complete
placeCounterLogo();
