function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_setTextOfLayer(objName,x,newText) { //v4.01
  if ((obj=MM_findObj(objName))!=null) with (obj)
    if (document.layers) {document.write(unescape(newText)); document.close();}
    else innerHTML = unescape(newText);
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}


function MM_showHideBlocks() { //v1.0 ICU  creation
  var i,p,v,obj,args=MM_showHideBlocks.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style;  var d=(v=='show')?'block':'none'; 
					  v=(v=='show')?'visible':(v=='hide')?'hidden':v;
				}
    obj.visibility=v; 
    obj.display=d; }
}

function externalLinks() { 
 if (!document.getElementsByTagName) return; 
 var anchors = document.getElementsByTagName("a"); 
 for (var i=0; i<anchors.length; i++) { 
   var anchor = anchors[i]; 
   if (anchor.getAttribute("href") && ( anchor.getAttribute("rel") == "pdf" || anchor.getAttribute("rel") == "ipo" ) ) 
    	anchor.target = "_blank"; 
 } 
}
if (! window.onload ) { window.onload = externalLinks };

function switchInner(objName,inner,preCheck) {
	if (preCheck) {
		if (MM_findObj(objName).innerHTML.replace(/^\s+|\s+$/g,"") != "") { 
			MM_findObj(objName).innerHTML=inner;
		}
	} else {
		MM_findObj(objName).innerHTML=inner;
	}
}


//Cookie Functions Taken from Bill Dortch's Night of the Living cookie
//call GetCookie ...getCookieVal is internal
function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
    endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
      return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break; 
  }
  return null;
}

function AddFlashObjectToElement(element, name, url, flashVersion, height, width, alternativeContent, background, windowMode) {
	if ((FlashDetect.installed) && (FlashDetect.major >= flashVersion)) {
		var scriptStr = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+flashVersion+",0,0,0\" width=\""+width+"\" height=\""+height+"\" id=\""+name+"\"><param name=\"movie\" value=\""+url+"\"/> <param name=\"menu\" value=\"false\"/><param name=\"WMode\" value=\""+windowMode+"\"/> <param name=\"quality\" value=\"high\"/> <param name=\"bgcolor\" value=\"" + background + "\"/> <embed src=\"" + url + "\" menu=\"false\" quality=\"high\" bgcolor=\""+background+"\" wmode=\""+windowMode+"\" width=\""+width+"\" height=\""+height+"\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\"></embed></object>";
        document.getElementById(element).innerHTML = scriptStr;
	} else {
		document.getElementById(element).innerHTML = alternativeContent;
	}
}

/*
Copyright (c) Copyright (c) 2007, Carl S. Yestrau All rights reserved.
Code licensed under the BSD License: http://www.featureblend.com/license.txt
Version: 1.0.3
*/

var FlashDetect = new function(){
	var self = this;
	self.installed = false;
	self.raw = "";
	self.major = -1;
	self.minor = -1;
	self.revision = -1;
	self.revisionStr = "";
	var activeXDetectRules = [
		{
			"name":"ShockwaveFlash.ShockwaveFlash.7",
			"version":function(obj){
				return getActiveXVersion(obj);
			}
		},
		{
			"name":"ShockwaveFlash.ShockwaveFlash.6",
		    "version":function(obj){
		        var version = "6,0,21";
				try{
					obj.AllowScriptAccess = "always";
	                version = getActiveXVersion(obj);
				} catch(err){}
	            return version;
		}
	},
	{
		"name":"ShockwaveFlash.ShockwaveFlash",
	    "version":function(obj){
			return getActiveXVersion(obj);
		}
	}
	];
		var getActiveXVersion = function(activeXObj){
		var version = -1;
	    try{
			version = activeXObj.GetVariable("$version");
	    }catch(err){}
			return version;
	};
	var getActiveXObject = function(name){
		var obj = -1;
		try{
			obj = new ActiveXObject(name);
	    }catch(err){}
	    return obj;
	};
	var parseActiveXVersion = function(str){
	var versionArray = str.split(",");//replace with regex
		return {
			"raw":str,
			"major":parseInt(versionArray[0].split(" ")[1], 10),
			"minor":parseInt(versionArray[1], 10),
			"revision":parseInt(versionArray[2], 10),
			"revisionStr":versionArray[2]
		};
	};

		var parseStandardVersion = function(str){
		var descParts = str.split(/ +/);
		var majorMinor = descParts[2].split(/\./);
		var revisionStr = descParts[3];
		return {
			"raw":str,
			"major":parseInt(majorMinor[0], 10),
	        "minor":parseInt(majorMinor[1], 10), 
	        "revisionStr":revisionStr,
	        "revision":parseRevisionStrToInt(revisionStr)
		};
	};

	var parseRevisionStrToInt = function(str){
		return parseInt(str.replace(/[a-zA-Z]/g, ""), 10) || self.revision;
	};

	self.majorAtLeast = function(version){
		return self.major >= version;
	};

	self.FlashDetect = function(){
		if(navigator.plugins && navigator.plugins.length>0){
			var type = 'application/x-shockwave-flash';
			var mimeTypes = navigator.mimeTypes;
		    if(mimeTypes && mimeTypes[type] && mimeTypes[type].enabledPlugin && mimeTypes[type].enabledPlugin.description){
				var version = mimeTypes[type].enabledPlugin.description;
				var versionObj = parseStandardVersion(version);
				self.raw = versionObj.raw;
				self.major = versionObj.major;
				self.minor = versionObj.minor; 
				self.revisionStr = versionObj.revisionStr;
				self.revision = versionObj.revision;
				self.installed = true;
			}
		} else if(navigator.appVersion.indexOf("Mac")==-1 && window.execScript){
			var version = -1;
			for(var i=0; i<activeXDetectRules.length && version==-1; i++){
				var obj = getActiveXObject(activeXDetectRules[i].name);
				if(typeof obj == "object"){
					self.installed = true;
					version = activeXDetectRules[i].version(obj);
					if(version!=-1){
						var versionObj = parseActiveXVersion(version);
						self.raw = versionObj.raw;
						self.major = versionObj.major;
						self.minor = versionObj.minor; 
						self.revision = versionObj.revision;
						self.revisionStr = versionObj.revisionStr;
					}
				}
			}
		}
	}();
};
FlashDetect.release = "1.0.3";

function extendDay(dayNo) {
	var day="";
	dayNo=parseInt(dayNo);
	switch (dayNo) {
	
		case 1 :
			day="1st";
			break;
		case 2 :
			day="2nd";
			break;
		case 3 :
			day="3rd";
			break;
		case 21 :
			day="21st";
			break
		case 22:
			day="22nd";
			break;
		case 23:
			day="23rd";
			break;
		case 31:
			day="31st";
			break;
		default: 
			day=dayNo+"th";
			break;			
	}
	return day;
}


// Array.indexOf( value, begin, strict ) - Return index of the first element that matches value
//strict = match object value and type
Array.prototype.indexOf = function( v, b, s ) {
 for( var i = +b || 0, l = this.length; i < l; i++ ) {
  if( this[i]===v || s && this[i]==v ) { return i; }
 }
 return -1;
};

// Array.lastIndexOf( value, begin, strict ) - Return index of the last element that matches value
Array.prototype.lastIndexOf = function( v, b, s ) {
 b = +b || 0;
 var i = this.length; while(i-->b) {
  if( this[i]===v || s && this[i]==v ) { return i; }
 }
 return -1;
};

// Array.unique( strict ) - Remove duplicate values
Array.prototype.unique = function( b ) {
 var a = [], i, l = this.length;
 for( i=0; i<l; i++ ) {
  if( a.indexOf( this[i], 0, b ) < 0 ) { a.push( this[i] ); }
 }
 return a;
};



function removeAllOptions(selectbox)
{
	var i;
	for(i=selectbox.options.length-1;i>=0;i--)
	{
		//selectbox.options.remove(i);
		selectbox.remove(i);
	}
}


function addOption(selectbox, value, text )
{
	selectbox.options[selectbox.options.length] = new Option (text,value);
}

function updateDownloadDropDowns() {
	var selPrefix="start";
	var m=MM_findObj(selPrefix+'Month');
	var y=MM_findObj(selPrefix+'Year');
	var d=MM_findObj(selPrefix+'Day');
	//	alert(y.options[y.selectedIndex].value);
	filterDropDown(y.options[y.selectedIndex].value,m.options[m.selectedIndex].value,d.options[d.selectedIndex].value,selPrefix);
}

function updateStartDropDowns() {
	var selPrefix="start";
	var m=MM_findObj(selPrefix+'Month');
	var y=MM_findObj(selPrefix+'Year');
	var d=MM_findObj(selPrefix+'Day');
	//	alert(y.options[y.selectedIndex].value);
	filterDropDown(y.options[y.selectedIndex].value,m.options[m.selectedIndex].value,d.options[d.selectedIndex].value,selPrefix);

	updateEndDropDowns();
}

function updateEndDropDowns() {
	var selPrefix="end";
	var m=MM_findObj(selPrefix+'Month');
	var y=MM_findObj(selPrefix+'Year');
	var d=MM_findObj(selPrefix+'Day');
	var sd=MM_findObj('startDay');
	var maxJournal=sd.options[sd.selectedIndex].value.split(" ")[2];
	//alert(m.options[m.selectedIndex].value);
	filterDropDown(y.options[y.selectedIndex].value,m.options[m.selectedIndex].value,d.options[d.selectedIndex].value,selPrefix,maxJournal)
}


function filterDropDown(currYr,currMon,currDay,selPrefix,maxJournal) {
	
	var months=new Array("January","Feburary","March","April","May","June","July","August","September","October","November","December");
	//alert("filter : "+currYr+" "+currMon+" " +minJournal);
	var startJnlIndex=jnlArray.length-1;
	if (! maxJournal) { 
		maxJournal=999999; 
	} else {
		for (var ar=0;ar<jnlArray.length;ar++) {
			details=jnlArray[ar].split(" ");	
			if (details[3]==maxJournal) {
				currYr=Math.max(details[2],currYr);
				startJnlIndex=ar;
				break;
			}
		}
	}
	var mons=new Array();
	var days=new Array();
	var years=new Array();
	
	//var mon,day;
	var details;


//first pass get months in that year
	for (ar=0;ar<=startJnlIndex;ar++) {
			details=jnlArray[ar].split(" ");
			years.push(details[2]);
			//alert(minJournal+" ? "+details[2]+" = "+currYr);
			if (details[2]==currYr) {
				//this is the one we are currently wanting to show
				mons.push(details[1]);
			}
	}

	years=years.unique();
	
	//years=years.sort();
	mons=mons.unique();
	//alert(currYr);
	//alert(mons.join("\n"))
	if (mons.indexOf(currMon,0,true)==-1) { currMon=mons[0];}
	
	if (years.indexOf(currYr,0,true)==-1) { 
			currYr=years[years.length-1];
	}
			
//second pass to get days/jounals in that month
	for (ar=0;ar<=startJnlIndex;ar++) {
			details=jnlArray[ar].split(" ");
			//alert(details[1].toUpperCase() +" == "+currMon.toUpperCase());
			if (details[2]==currYr && details[1].toUpperCase()==currMon.toUpperCase()) {
					days.push(extendDay(details[0])+" - "+details[3]);
			}
	}
	
	//only useful if we want a given day for first initialtion
	if (days.indexOf(currDay,0,false)==-1) { currDay=days[0];  };
	
	var monthObj=MM_findObj(selPrefix+'Month');
	removeAllOptions(monthObj);
	for (a=mons.length-1;a>=0;a--) {
		addOption(monthObj, mons[a],mons[a] )		
	}
	monthObj.selectedIndex=mons.length-1-mons.indexOf(currMon,0,false);
	
	var dayObj=MM_findObj(selPrefix+'Day')
	removeAllOptions(dayObj);
	for (a=days.length-1;a>=0;a--) {
		addOption(dayObj, days[a],days[a] )		
	}
	dayObj.selectedIndex=days.length-1-days.indexOf(currDay,0,false);
	
	var yearObj=MM_findObj(selPrefix+'Year');
	removeAllOptions(yearObj);
	for (a=years.length-1;a>=0;a--) {
		addOption(yearObj, years[a],years[a] )		
	}
	
	
	yearObj.selectedIndex=years.length-1-years.indexOf(currYr,0,true);
	
	
}


function downloadClickXML() {
	changeCheck("dlall",true);
	changeEnabledAll(false);
	downloadClickAll();
}	



function downloadClickPDF() {
	changeEnabledAll(true);
	changeCheck("dlall",false);
	downloadClickAll();

}

function changeEnabledAll(state) {
    changeEnabled("dlall",state);
    changeEnabled("dlukfiled",state);
	changeEnabled("dlukappspub",state);
	changeEnabled("dlukappsgrant",state);
	changeEnabled("dlukceased",state);
	changeEnabled("dlepuk",state);
	changeEnabled("dlother",state);
	changeEnabled("dlspc",state);
	//changeEnabled("dlcorrection",state);
}

function downloadClickAll() {
	chkAll=MM_findObj("dlall");
	//if (chkAll.checked) {
    changeCheck("dlukfiled",chkAll.checked);
	changeCheck("dlukappspub",chkAll.checked);
	changeCheck("dlukappsgrant",chkAll.checked);
	changeCheck("dlukceased",chkAll.checked);
	changeCheck("dlepuk",chkAll.checked);
	changeCheck("dlother",chkAll.checked);
	changeCheck("dlspc",chkAll.checked);
	//changeCheck("dlcorrection",chkAll.checked);
//	}
	return true;
}

function changeEnabled(oname,state) {
	var o=MM_findObj(oname);
	o.disabled=!state;
}

function changeCheck(oname,state) {
	var o=MM_findObj(oname);
	o.checked=state;
}

function downloadClickOne() {
	changeCheck("dlall",false);
	return true;
}
