document.write('<script src="/javascript/tas.js" type="text/javascript"></script>');

/* Prevent framing */
if (self != top) {
    if (document.images)
        top.location.replace(window.location.href);
    else
        top.location.href = window.location.href;
}
// End framing

function addEvent(obj, evType, fn){    // Registers events in a cross browser fashion. 
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false);
   return true;
   } 
 else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
    }
 else{
      return false;
    }
}
// Global start
var win=null;

// Global end

// Expand-Collapse functionality of the table widget.

function collapsableTbl(tableId) { // Table needs to be set as collapsableTbl object 
    this.id=tableId; 
    this.expanded=true;
}

function expandCollapse(tbl, img) {
    var table=tbl;
    var imgId=img;
    table.expanded=showHide(table.id,table.expanded,imgId);
}

function showHide(chart, chartexpanded, img) {
    var expandchart=chart;
    var btnImg=img;
    var rowCount=0;
    var expanded=chartexpanded;
    if (expanded==true) {
        for (rowCount=1;rowCount<document.getElementById(expandchart).rows.length;rowCount++) {  // Hide all rows with classname "hiderow"
            if (document.getElementById(expandchart).rows[rowCount].className=="hiderow") {
                document.getElementById(expandchart).rows[rowCount].style.display = "none";
            }
        }
        expanded=false;
        document.getElementById(btnImg).src="/img/al_expand_gen.gif";
        document.getElementById(btnImg).alt="Expand Chart";
    } else if (expanded==false) {
        for (rowCount=1;rowCount<document.getElementById(expandchart).rows.length;rowCount++) {
            if (document.getElementById(expandchart).rows[rowCount].className=="hiderow") { // Hide all rows with classname "hiderow"
                if(document.all && document.compatMode && document.compatMode == "CSS1Compat" && !window.opera){
                    document.getElementById(expandchart).rows[rowCount].style.display = "block";
                } else if (document.getElementById && document.getElementById(expandchart).rows) {// Mozilla prior to 1.8a2,  Opera 7.x and MSIE 5+
                    document.getElementById(expandchart).rows[rowCount].style.display = "table-row";
                }
            }
        }
        expanded=true;
        document.getElementById(btnImg).src="/img/al_collapse_gen.gif";
        document.getElementById(btnImg).alt="Collapse Chart";
    }

    return expanded;
}

// Flash plugin detection for IE. Written in vbscript. The plugin version is passed to the plugin detector.
// The vbscript only runs in IE	
document.writeln("<script"+" language='VBScript' type='text/vbscript'>");
document.writeln("<!-- // Visual basic helper required to detect Flash Player ActiveX control version information -->");
document.writeln(" Function VBGetSwfVer(i) ");
document.writeln(" on error resume next ");
document.writeln(" Dim swControl, swVersion ");
document.writeln(" swVersion = 0 ");
document.writeln(" set swControl = CreateObject(\"ShockwaveFlash.ShockwaveFlash.\" + CStr(i)) ");
document.writeln(" if (IsObject(swControl)) then ");
document.writeln(" swVersion = swControl.GetVariable(\"$version\")  ");
document.writeln(" end if  ");
document.writeln(" VBGetSwfVer = swVersion  ");
document.writeln(" End Function  ");
document.writeln("<"+"/script> ");

// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 8;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Revision of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;
// -----------------------------------------------------------------------------

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i) {
    // NS/Opera version >= 3 check for Flash plugin in plugin array
    if (navigator.plugins != null && navigator.plugins.length > 0) {
        if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
            var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
            var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
            descArray = flashDescription.split(" ");
            tempArrayMajor = descArray[2].split(".");
            versionMajor = tempArrayMajor[0];
            versionMinor = tempArrayMajor[1];
            if (descArray[3] != "") {
                tempArrayMinor = descArray[3].split("r");
            } else {
                tempArrayMinor = descArray[4].split("r");
            }
            versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
        } else {
            flashVer = -1;
        }
    }
    // MSN/WebTV 2.6 supports Flash 4
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
    // WebTV 2.5 supports Flash 3
    else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
    // older WebTV supports Flash 2
    else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
    // Can't detect in all other cases
    else flashVer = -1;

    return flashVer;
} 
// If called with no parameters this function returns a floating point value 
// which should be the version of the Flash Player or 0.0 
// ex: Flash Player 7r14 returns 7.14
// If called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {
    reqVer = parseFloat(reqMajorVer + "." + reqRevision);
    // loop backwards through the versions until we find the newest version	
    for (i=25; i>0; i--) {
        if (isIE && isWin && !isOpera) {
            versionStr = VBGetSwfVer(i);
        } else {
            versionStr = JSGetSwfVer(i);
        }
        if (versionStr == -1 ) {
            return false;
        } else if (versionStr != 0) {
            if(isIE && isWin && !isOpera) {
                tempArray = versionStr.split(" ");
                tempString = tempArray[1];
                versionArray = tempString .split(",");
            } else {
                versionArray = versionStr.split(".");
            }
            versionMajor = versionArray[0];
            versionMinor = versionArray[1];
            versionRevision = versionArray[2];
            versionString = versionMajor + "." + versionRevision; // 7.0r24 == 7.24
            versionNum = parseFloat(versionString);
            // is the major.revision >= requested major.revision AND the minor version >= requested minor
            if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
                return true;
            } else if (isNaN(reqVer)) { // return plugin version number if called with no paramters
                return versionNum;
            } else {
                return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );
            }
        }
    }
    return (reqVer ? false : 0.0);
}

/*------  Add flash to page   ---
Number of the loop can be set by passing a 5th argument
Background color can be changed by passing a 6th argument. If the 
loop doesn't need to be set then it will have to be entered as "false".
Alternate content displays when the movie doesn't load. The value has to be set on the page since
it may vary from page to page.
*/
function showFlash (src, width, height, alternateContent, flashVars, bgcolor,dynamic) {
    var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
	var dynamicTag=false;
	if(dynamic!=null){ dynamicTag=true; }

    if(hasRightVersion) {  // if we've detected an acceptable version
        var param=null;
		var loop="false";
        var bgColor="#ffffff";
        switch  (arguments.length) {
            case 5:
                param=arguments[4];
                break;
            case 6 && 7:
                param=arguments[4];
                bgColor = arguments[5];
			}

	return createOETags(width,height,src,bgColor,param,loop,dynamicTag);	
   
     
    } else {  // flash is too old or we can't detect the plugin
        if(dynamicTag){
			return alternateContent;
			}
		else{	
			document.write(alternateContent);  // insert non-flash content
			return true;
			}
    }
}

function createOETags(width,height,src,bgColor,param,loop,dynamicTag){
			var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
            + 'width="'+width +'" height="'+height+'" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
            + '<param name="movie" value="'+src+'" /><param name="quality" value="high" />'
            + '<param name="bgcolor" value="'+bgColor+'" />'
            + '<param name="FlashVars" value="'+param+'" />'
            + '<embed src="'+src+'" quality="high" '
            + 'width="' +width+'" height="'+height+'" name="'+ name +'" '
            + 'FlashVars="'+param+'" '
            + 'play="true" loop="'+loop+'" '
            + 'quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" '
            + 'pluginspage="https://www.macromedia.com/go/getflashplayer">'
            + '<\/embed>'
            + '<\/object>';
		if(dynamicTag){
			return oeTags;
			}
		else{		
		   document.write(oeTags);   // embed the flash movie
		   return true;
		   }
			
}



function generic_vs_logger (vs_type, vs_page, vs_event,vs_event_desc) {    
    var curr = new Date();
    var time = curr.valueOf();
    document.write(	"<img src=/img/s.gif?Log=1&Program=EventReporting&Type="+vs_type+"&Page="+vs_page+"&Event="+vs_event+"&EventDesc="+vs_event_desc+"&CB="+time+" width=1 height=1 border=0></img>");
 }	
 
/*  Child browser window.
Examples for for implementing different child browser sizes:
<a href="targetURL" class="childSmall">Small</a>
<a href="targetURL" class="childMedium">Medium/Default</a>
<a href="targetURL" class="childLarge">Large</a>
<a href="targetURL" class="custom300x600yes icoChild">Defined Size</a>  WidthxHeightyes for resizable and, WidthxHeightno for not resizable.
*/

function popup(url,winType,width,height,resize){
	  var properties=null ;		
	  var defaultProps = "directories=no,location=no,menubar=no,scrollbars=yes,status=no,titlebar=yes,toolbar=no,resizable=yes";
	  var largeProps = "directories=yes,location=yes,menubar=yes,scrollbars=yes,status=yes,titlebar=yes,toolbar=yes,resizable=yes";
		
		switch(winType){
			case 1: //small
			properties="width=300px,height=200px,"+defaultProps;		
			break;
			case 2: //medium/default
			properties="width=500px,height=350px,"+defaultProps;
			break;
			case 3: //large
			properties="width=700px,height=500px,"+largeProps;
			break;
			case 4: //custom: width,height, resizable
			properties="width="+arguments[2]+"px,height="+arguments[3]+"px,"+largeProps;
			break;
		   }
	if (win!=null){   // Close the previously opened window
	 win.close();
	 }	   		
	 win=window.open(url,"child",properties); 	 
     win.focus(); 
	 return win;		
  }
	  
function newWindow (popup){	  
	   if (popup==null || win==null){ alert ('You may have pop up blocker software preventing this window from opening.'); }		
  }
  
  /* Attach onclick events to all child browser opening links */	  
function allLinks(){
	var linkList=document.getElementsByTagName("a");	
	for (var i=0;i<linkList.length;i++){
	   if(linkList[i].className.indexOf("childSmall")>-1 ||  linkList[i].className.indexOf("childMedium")>-1 || linkList[i].className.indexOf("childLarge")>-1 || linkList[i].className.indexOf("custom")>-1){
				linkList[i].onclick=childLinkOnClick;				
				if(linkList[i].title){
					linkList[i].title=linkList[i].title+" New window.";
					 }
				else {
					linkList[i].title=linkList[i].innerHTML+". New window.";
						 }	
				linkList[i].className=linkList[i].className+" childIcon";	// Insert classname to display icon defined in css file.	 
		    } 
	   }
  }	  

function childLinkOnClick(){                    // Set the child window size based on the css class value.
    if(this.className.indexOf("childSmall")>-1){
		newWindow(popup(this,1)); 
	   }
	else if(this.className.indexOf("childMedium")>-1){  
	    newWindow(popup(this,2)); 
	   }
	else if(this.className.indexOf("childLarge")>-1){
		newWindow(popup(this,3)); 
		}
	else if (this.className.indexOf("custom")>-1){		
			var dimensions=this.className.slice(this.className.indexOf("custom")).substr(6);
			var resizable;
			if (dimensions.indexOf("yes")>-1){
			   resizable=dimensions.substr(dimensions.indexOf("yes"));  // Custom size has to have "yes" or "no" for resizable.
			   }
			else {
			   resizable=dimensions.substr(dimensions.indexOf("no"));
			   }   
			var width=dimensions.substr(0,dimensions.indexOf("x"));   // The dimensions are separated by lowercase x.
			var height=dimensions.substr(dimensions.indexOf("x")+1);
			newWindow(popup(this,4,width,height,resizable));
		}
  return false;		
}


addEvent(window,"load",allLinks);