function ga_taglinksin(id) {
  //alert('children of ' + id);
  if (document.getElementById(id) != null) {
      var nodes = document.getElementById(id).getElementsByTagName('*');
      for(var i=0; i<nodes.length; i++) {
        if (nodes[i].nodeName == "A") {
          //alert(nodes[i].title);
          FSSchoolTracker._trackEvent('Views', nodes[i].title);
          nodes[i].setAttribute('fs',nodes[i].title);
          ga_addEvent(nodes[i],'click',ga_handle_click,true)
        }
      }
  }
}

function ga_get_event_target(e)
{
	if(window.event)
		e=window.event;

	if(e.srcElement) // mozilla
		target=e.srcElement;
	else if(e.target) // IE
		target=e.target;

	return target;
}

function ga_handle_click(evt)
{
	var targ=ga_get_event_target(evt);
    //alert(targ.getAttribute('fs'));
    FSSchoolTracker._trackEvent('Clicks', targ.getAttribute('fs'));
}

function ga_addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

function ga_taglinksForPromo(id) {
  if (document.getElementById(id) != null) {
      
      var nodes = document.getElementById(id).getElementsByTagName('H1');
      for(var i=0; i<nodes.length; i++) {
    
          var promoTitle = nodes[i].innerHTML
          //alert('promo title was viewed ' + promoTitle);
          PromoTracker._trackEvent('Views',  promoTitle);
      }
  }
}

function ga_taglinksForLPromo(id) {
  if (document.getElementById(id) != null) {      
         
          var promoTitle = document.getElementById("title" + id).value;          
          //alert('promo title was viewed ' + promoTitle);
          PromoTracker._trackEvent('Views',  promoTitle);
      }
  }


function ga_taglinksForPromoClicks(id) {
  //alert('children of ' + id);
  if (document.getElementById(id) != null) {
      var nodes = document.getElementById(id).getElementsByTagName('H1');
      var promoTitle = '';
      for(var i=0; i<nodes.length; i++) {
          //alert('nodeName -- ' + nodes[i].nodeName);
          promoTitle = nodes[i].innerHTML
          //alert('promo title is  ' + promoTitle);
      }
      //now loop throught the anchor tags and add events 
      //to track clicks within the anchor
      var aTags = document.getElementById(id).getElementsByTagName('A');
      if (promoTitle != '') {
          for(var i=0; i<aTags.length; i++) {
              //alert('nodeName -- ' + nodes[i].nodeName);
              var aTagTitle = aTags[i].title
              //alert('regestir click event on ' + promoTitle + ' for ' + aTagTitle);
              aTags[i].setAttribute('gaclick',promoTitle);
              ga_addEvent(aTags[i],'click',ga_handle_click_promo, true);
              
              //if the link is an image then we need to add the attribute to the image tag
              if (aTags[i].childNodes[0] != null) {         
                 if (aTags[i].childNodes[0].nodeValue == null) {
                    //alert('add to child for ' + curLinks[j].childNodes[0].outerHTML);
                    aTags[i].childNodes[0].setAttribute('gaclick',promoTitle);
                  }
              }
                          
          }       
      }
  }
}

function ga_taglinksForLPromoClicks(id) {
  //alert('children of ' + id);
  if (document.getElementById(id) != null) {
    
      var promoTitle = document.getElementById("title" + id).value; 
     
      //now loop throught the anchor tags and add events 
      //to track clicks within the anchor
      var aTags = document.getElementById(id).getElementsByTagName('A');
      if (promoTitle != '') {
          for(var i=0; i<aTags.length; i++) {
              //alert('nodeName -- ' + nodes[i].nodeName);
              var aTagTitle = aTags[i].title
              //alert('regestir click event on ' + promoTitle + ' for ' + aTagTitle);
              aTags[i].setAttribute('gaclick',promoTitle);
              ga_addEvent(aTags[i],'click',ga_handle_click_promo, true);
              
              //if the link is an image then we need to add the attribute to the image tag
              if (aTags[i].childNodes[0] != null) {         
                 if (aTags[i].childNodes[0].nodeValue == null) {
                    //alert('add to child for ' + curLinks[j].childNodes[0].outerHTML);
                    aTags[i].childNodes[0].setAttribute('gaclick',promoTitle);
                  }
              }
                          
          }       
      }
  }
}


function ga_tagSpotlightViewed(id, GATracker) {
    if (document.getElementById('spotlight') != null) {
       var spotlightNodes = document.getElementById('spotlight').getElementsByTagName('DIV');
       for(var i=0; i<spotlightNodes.length; i++) {
          
          if (spotlightNodes[i].id.indexOf('Spotlight_articleContent'+id) > -1) {
            //alert('tag elements in ' + spotlightNodes[i].id);
            var spotlightTitle = ga_tagSpotlightTitle( spotlightNodes[i].id);
 
            if (spotlightTitle != '') {
              //now track this spotlight as viewed
              //alert('viewing spotlight ' + spotlightTitle);
              GATracker._trackEvent('Views', spotlightTitle);
            }
          }
       }
    }
}

function ga_tagSpotlightTitle(id) {
  //alert('children of ' + id);
  var spotlightTitle = '';
  
  if (document.getElementById(id) != null) {
      var nodes = document.getElementById(id).getElementsByTagName('A');
      
      //first get the title of the spotlight
      for(var i=0; i<nodes.length; i++) {
          if (nodes[i].childNodes[0] != null) {
            if ( nodes[i].childNodes[0].nodeValue != null) {
                if (spotlightTitle == '') {
                    spotlightTitle = nodes[i].childNodes[0].nodeValue;
                }
            }
          }
      } 
  }
  
  return spotlightTitle;
}

function ga_tagSpotlightClicked(GATracker) {
    if (document.getElementById('spotlight') != null) {
       var spotlightNodes = document.getElementById('spotlight').getElementsByTagName('DIV');
       for(var i=0; i<spotlightNodes.length; i++) {
        if (spotlightNodes[i].id.indexOf('Spotlight_articleContent') > -1) {
            var spotlightTitle = ga_tagSpotlightTitle( spotlightNodes[i].id);
            if (spotlightTitle != '') {
                //alert('tag elements for click in ' + spotlightNodes[i].id + ' with title ' + spotlightTitle);
                curLinks = document.getElementById(spotlightNodes[i].id).getElementsByTagName('A');
                for (var j=0; j<curLinks.length; j++) {
                    //alert('tag link ' + curLinks[j].href + 'with ' + spotlightTitle);
                    curLinks[j].setAttribute('gaclick',spotlightTitle);
                    ga_addEvent(curLinks[j],'click',ga_handle_click_spotlight,true);
                    
                    //if the link is an image then we need to add the attribute to the image tag
                    if (curLinks[j].childNodes[0] != null) {         
                       if (curLinks[j].childNodes[0].nodeValue == null) {
                            //alert('add to child for ' + curLinks[j].childNodes[0].outerHTML);
                            curLinks[j].childNodes[0].setAttribute('gaclick',spotlightTitle);
                          }
                    }
                    
                }
            }
        }
       }
    }
}

function ga_handle_click_spotlight(evt)
{
	var targ=ga_get_event_target(evt);
    //alert(targ.getAttribute('gaclick'));
    //if (targ.src != null) {
    //    alert('it was an image');
    //}
   SpotTracker._trackEvent('Clicks', targ.getAttribute('gaclick'));
}

function ga_handle_click_promo(evt)
{
	var targ=ga_get_event_target(evt);
    //alert(targ.getAttribute('gaclick'));
    //if (targ.src != null) {
    //    alert('it was an image');
    //}
   PromoTracker._trackEvent('Clicks', targ.getAttribute('gaclick'));
}

function getSelected(opt) {
      var selected = new Array();
      var index = 0;
      for (var intLoop=0; intLoop < opt.length; intLoop++) {
         if (opt[intLoop].selected) {
            index = selected.length;
            selected[index] = new Object;
            selected[index].value = opt[intLoop].text;
            selected[index].index = intLoop;
         }
      }
      return selected;
   }

 function outputSelected(opt) {
    var sel = getSelected(opt);
    var strSel = "";
    var index = 0
    for (var item in sel) {       
        if (index != 0) {
            strSel += ',';
        }
       index++;
       strSel += sel[item].value;
    }
    //alert("Selected Items:\n" + strSel);
    return strSel;
 }

