//-----------------------------------------------------------------------
//
function PrependOmniOnClickEventHandler(obj, omniDataValue) {
	if (obj) {
		obj.omniData = omniDataValue;
		
		if (obj.onclick) {
			obj.origOnClick = obj.onclick;
			obj.onclick=null;
		}
		addEvent(obj, "click", OmniOnClickEventHandler);	
		
		if (obj.origOnClick) {
			addEvent (obj, "click", obj.origOnClick);
		}
	}
}

function AppendOmniOnClickEventHandler(obj, omniDataValue) {
	if (obj) {
		obj.omniData = omniDataValue;
		
		if (obj.onclick) {
			obj.origOnClick = obj.onclick;
			obj.onclick=null;
		}
		if (obj.origOnClick) {
			addEvent (obj, "click", obj.origOnClick);
		}
		addEvent(obj, "click", OmniOnClickEventHandler);	
	}
}
function OmniOnClickEventHandler() {
	s_objectID=this.omniData;
	//alert( "s_objectID is: " + s_objectID + " for element with innerHTML: " + this.nodeValue );
}
//-----------------------------------------------------------------------	
function AddHeaderEvents() {
	var prefix = 'nv';
	var div=document.getElementById("header");
	if (div) {
			
		if(div.getElementsByTagName('H1').length>0) { 
			h1=div.getElementsByTagName('H1'); 
			if(h1) { lg2 = h1[0].getElementsByTagName('A'); }
			val = "lg2";
			PrependOmniOnClickEventHandler(lg2[0], val);
		}
		
		h2=div.getElementsByTagName('H2');
		lg1=h2[0].getElementsByTagName('A');
		val = "lg1";
		PrependOmniOnClickEventHandler(lg1[0], val);
		
		nav=div.getElementsByTagName('UL');
		navlinks =nav[0].getElementsByTagName('A');
		for (var i=0; i<navlinks.length; i++) {
			val = prefix + (i+1);
			PrependOmniOnClickEventHandler(navlinks[i], val);
		}
	}
}
//-----------------------------------------------------------------------	
function AddPrimaryNavEvents() {
	var prefix = 'sd';
	var div=document.getElementById("primaryNav");
	if (div) {		
		ul=div.getElementsByTagName('UL');
		
		for (var i=0; i<ul.length; i++) {
			a=ul[i].getElementsByTagName('A');
			for (var j=0; j<a.length; j++) {
				val = prefix + (i+1) + "-" + (j+1);
				PrependOmniOnClickEventHandler(a[j], val);			
			} 
		}
	}
}
//-----------------------------------------------------------------------
function AddFooterEvents() {
	var prefix = "bm";
	var div=document.getElementById("footer");
	if (div) {
			
		all = div.getElementsByTagName('A');
		// first anchor is the Bell Globemedia link
		val = "lg3"; 
		PrependOmniOnClickEventHandler(all[0], val);
		
		ul=div.getElementsByTagName('UL');
		
		for (var i=0; i<ul.length; i++) {
			a=ul[i].getElementsByTagName('A');
			for (var j=0; j<a.length; j++) {
				val = prefix + (i+1) + "-" + (j+1);
				PrependOmniOnClickEventHandler(a[j], val);			
			} 
		}		
	}
}
//-----------------------------------------------------------------------
function AddSectionCatEvents() {
	var prefix = "Ct";
	var div=document.getElementById("sectionCat");
	if (div) {
		catChildren = div.childNodes;
		for (var i=0; i<catChildren.length; i++) {
			if (catChildren[i].id) {
				catIndex = catChildren[i].id.indexOf("sectionCat");
				if (catIndex > -1) {
					cur = catChildren[i].id.substring(catIndex +11, catChildren[i].id.length-catIndex-1); 
					el =  catChildren[i].firstChild;
					articleCounter = 1;
					anc = catChildren[i].getElementsByTagName('A');
					for (var j=0; j<anc.length; j++) {
						p = anc[j].parentNode;
						while (p.nodeType != 1) {
							p = p.parentNode;
						}
						if ( (p.tagName == 'H3') || (p.tagName == 'h3') ) {
							val = prefix + cur + "-" + articleCounter++; }
						if ( p.className.indexOf("comment") > -1) {
							gp = p.parentNode;
							while (gp.nodeType != 1) {
								gp = gp.parentNode; }
							if (gp.tagName=='H3') {
								val = prefix + cur + "-" + articleCounter + 'c' + 1; }
							else {
								val = prefix + cur + "-" + articleCounter + 'c' + 2; }
						}
						PrependOmniOnClickEventHandler(anc[j], val);
					} // end for j
				}
			} // end if catChildren[i].id
		} // end for i					
	} 
}
//-----------------------------------------------------------------------	
function AddChewyEvents() {
	var sections = Array( "A", "B", "C", "D");
	var div;
	for (var j = 0; j < sections.length; j++) {
	
	div = document.getElementById("section" +sections[j]);
	
	if (div) {
		var el = div.firstChild;
		var anc;
		var articleCounter = 0;
		var relatedCounter = 0;
		var prefix = sections[j];
	
		while (el != null) {
			if (el.nodeType == 1) {
				if (el.tagName == 'OL') el = el.firstChild; // for section C
				
				switch (el.tagName) {
				
					case 'LI': case 'li':
						articleCounter++;
						anc = el.getElementsByTagName('A');
						for (var i=0; i<anc.length; i++) {
							p = anc[i].parentNode;
							while (p.nodeType != 1) {
								p = p.parentNode;
							}
							if ( (p.tagName == 'H3') || (p.tagName == 'h3') ) {
								val = prefix + articleCounter; }
							if ( p.className.indexOf("comment") > -1) {
								val = prefix + articleCounter + "c" + 1; } // 1st possible comment location
							PrependOmniOnClickEventHandler(anc[i], val);
						}
						break;						
					case 'H3': case 'h3':
						articleCounter++;		
						anc = el.getElementsByTagName('A');
						for (var i=0; i<anc.length; i++) {
							p = anc[i].parentNode;
							while (p.nodeType != 1) {
								p = p.parentNode;
							}
							if ( (p.tagName == 'H3') || (p.tagName == 'h3') ) {
								val = prefix + articleCounter; }
							if ( p.className.indexOf("comment") > -1) {
								val = prefix + articleCounter + "c" + 1; } // 1st possible comment location
							PrependOmniOnClickEventHandler(anc[i], val);
						}
						break;
						
					case 'dd': case 'DD': case 'SPAN': case 'span':
						anc = el.getElementsByTagName('A');
						for (var i=0; i<anc.length; i++) {
							p = anc[i].parentNode;
							while (p.nodeType != 1) {
								p = p.parentNode;
							}		
							if ( p.className.indexOf("comment") > -1) {
								val = prefix + articleCounter + "c" + 2; // 2nd possible comment location 
								PrependOmniOnClickEventHandler(anc[i], val);
							}
						}	
						break;	
					
					case 'P': case 'p':
						anc = el.getElementsByTagName('A');
						for (var i=0; i<anc.length; i++) {
							p = anc[i].parentNode;
							while (p.nodeType != 1) {
								p = p.parentNode;
							}		
							if ( p.className.indexOf("image") > -1) {
								val = prefix + articleCounter + "i" + 1; 
								PrependOmniOnClickEventHandler(anc[i], val);
							}
						}		
						break;
						
					case 'DL': case 'dl': // for related links
						anc = el.getElementsByTagName('A');
						for (var i=0; i<anc.length; i++) {
							val = prefix + articleCounter + "r" + (i+1); // 2nd possible comment location 
							PrependOmniOnClickEventHandler(anc[i], val);
						}						
						break;		
						
					case 'DIV': case 'div':
						articleCounter++;	
						anc = el.getElementsByTagName('A');
						for (var i=0; i<anc.length; i++) {
							p = anc[i].parentNode;
							while (p.nodeType != 1) {
								p = p.parentNode;
							}
							if ( (p.tagName == 'H3') || (p.tagName == 'h3') ) {
								val = prefix + articleCounter; }
							if ( p.className.indexOf("comment") > -1) {
								gp = p.parentNode;
								while (gp.nodeType != 1) {
									gp = gp.parentNode; }
								if (gp.tagName=='H3') {
									val = prefix + articleCounter + 'c' + 1; }
								else {
									val = prefix + articleCounter + 'c' + 2; }
							}
							if (p.tagName == 'DIV') { // then an image
								val = prefix + articleCounter + 'i' + 1;
							}	
							PrependOmniOnClickEventHandler(anc[i], val);
						}
						break;		
					default:
						break;	
				} // end switch
			} 
			el = el.nextSibling;
		} // end while
	} // end if div
	} // end for
}
//-----------------------------------------------------------------------
function AddSecondaryNavEvents(letter) {
	var d = document;
	
	var sE = getElementsByClassName(d, "DIV", "section" + letter);
	if (sE) {
		var eIndex = 1;
		for (var i=0; i<sE.length; i++) {
			boxes = sE[i].childNodes;
			
			for (var j=0; j<boxes.length; j++) {
				if ( (boxes[j].className) && (boxes[j].className.indexOf("nav") > -1) ) {
					dt = boxes[j].getElementsByTagName('DT');
					if (dt.length > 0) {
						articleCounter = 0;
						anc = boxes[j].getElementsByTagName('A');
						for (var k=0; k<anc.length; k++) {
							p = anc[k].parentNode;
							while (p.nodeType != 1) {
								p = p.parentNode;
							}
							switch (p.tagName) {
								case 'H5':
									articleCounter++;
									val = letter + eIndex + "-" + articleCounter + "i" + 1;
									break;
								case 'DT':
									val = letter + eIndex + "-" + articleCounter;
									break;	
								case 'SPAN':
									if (p.className.indexOf('comment') > -1) {
									val = letter + eIndex + "-" + articleCounter; + "c" + 1;
									}
									break;	
								default:
									val = letter + "-" + "exception";
									break;	
							}
							PrependOmniOnClickEventHandler(anc[k], val)
						} // end for k
					eIndex++;	
					} // end if dt
					else {
						// add code for weather, poll and stock market here
					}
				}
			} // end for j
		} // end for i
	}
}
//-----------------------------------------------------------------------
// LoadOmniEvents();
//-----------------------------------------------------------------------
function LoadOmniEvents() {
	AddHeaderEvents();
	AddPrimaryNavEvents();
	AddFooterEvents();
	AddChewyEvents();
	AddSecondaryNavEvents("E");
	AddSecondaryNavEvents("F");	
}
//-----------------------------------------------------------------------
function LoadRegInfoOmniEvents() {
	var prefix = "t";
	all = document.getElementsByTagName('A');
	
	for (var i=0; i<all.length; i++) {
		val = prefix + (i+1);
		PrependOmniOnClickEventHandler(all[i], val);	
	}
}
//-----------------------------------------------------------------------	
