/*
Grant Graham
Modified August 26, 2005
Modified September 22, 2005 - Lionel Cai
Modified December 19, 2006 OCO
 */

//Create global references
var is;
var printWindow = null;
var blIsOpen = false;
var opener;
var objPrint;
// Set eService to true to make e-Service template
var eService = false;
var url ="http://wwwt.env.gov.bc.ca/cos/2006_Templates";
var strTableAttributes = " border=\"0\" cellspacing=\"0\" cellpadding=\"0\" ";

// Begin Changes Made by FWen 
// available set of font sizes for global (wrapper) adjustment
var cstArrySizeNms = new Array("0.52em", "0.58em", "0.65em", "0.715em", "0.78em");
// available set of font sizes by ID for adjustment separately
var cstArrySizeByIDs = new Object();
// index of cstArrySizeByIDs (such as "content") corresponds to the element ID to be adjusted
cstArrySizeByIDs["header"] = new Array("0.94em","0.97em","1em","1.03em","1.06em");
cstArrySizeByIDs["content"] = new Array("0.5em","0.8em","1.1em","1.4em","1.7em");

// plus minus toggle image name and ID
var cstArrySizerImgs = new Object();
// Array member declared as (<normal_img_name>,<grey_img_name>,<anchor_tag_id>)
cstArrySizerImgs["plus"] = new Array("g_plus.gif","b_plus.gif","sizer_plus");
cstArrySizerImgs["minus"] = new Array("g_minus.gif","b_minus.gif","sizer_minus");

var cstArryTagNms = new Array("BODY");
var cstStrCookieNm = "SiteBaseFontSize";
function ChangeFontSize(intDelta){
    if(!document.getElementsByTagName || !document.getElementById) return;
	document.getElementById("sizer").style.display="block";
    // set current font size
    var intCurrSize = parseInt(getCookie(cstStrCookieNm));
    if( isNaN(intCurrSize) ) {
        // If cookie is invalid and delta is 0, no change needed
        if(intDelta == 0) return;
        intCurrSize =  Math.floor(cstArrySizeNms.length/2);
    }
    // set target font size
    intCurrSize += intDelta;
    intCurrSize = Math.max(0, Math.min(cstArrySizeNms.length-1,intCurrSize));
    if (intCurrSize == Math.floor(cstArrySizeNms.length/2)){
        intCurrSize = Number.NaN;
    }
    var tagNm, tagEle;
    
    // set target font size by tag name
    var strCurrSize = (isNaN(intCurrSize)?null:cstArrySizeNms[intCurrSize]);
    for(var i=0; i<cstArryTagNms.length;i++){
        var collEles = document.getElementsByTagName(cstArryTagNms[i]);
        for(var j=0;j<collEles.length;j++){
            collEles[j].style.fontSize = strCurrSize;
        }
    }
    
    // set target font size by ID
    for(var eleNm in cstArrySizeByIDs){
        var ele = document.getElementById(eleNm);
        if(ele == null) continue;
        ele.style.fontSize = (isNaN(intCurrSize)?null:cstArrySizeByIDs[eleNm][intCurrSize]);
    }
    
    // grey out image if necessary
    if(intCurrSize == cstArrySizeNms.length-1){
        // grey out plus img
        DoGreyOut("plus",0);
        
    }
    else if(intCurrSize == 0){
        // grey out minus img
        DoGreyOut("minus",0);
    }
    else{
        DoGreyOut("plus",1);
        DoGreyOut("minus",1);
    }
    
    // set cookie
    setCookie(cstStrCookieNm,(isNaN(intCurrSize)?null:intCurrSize));
}

function DoGreyOut(PlusOrMinus, isReset){
    var sizerEle = document.getElementById(cstArrySizerImgs[PlusOrMinus][2]);
    if(sizerEle == null) return;
    sizerEle.style.cursor = (isReset)?"":"default";
    if(sizerEle.getElementsByTagName("IMG").length == 0) return;
    var strSrc = sizerEle.getElementsByTagName("IMG")[0].src;
    strSrc = strSrc.substring(0,strSrc.lastIndexOf("/")+1)+cstArrySizerImgs[PlusOrMinus][isReset];
    sizerEle.getElementsByTagName("IMG")[0].src = strSrc;
}
// End Changes Made by FWen

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.0
  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 && document.getElementById) x=document.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 Is() {
 var agent = navigator.userAgent.toLowerCase();
 this.major = parseInt(navigator.appVersion);
 this.minor = parseFloat(navigator.appVersion);
 this.ns = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
 this.ns2 = (this.ns && (this.major == 2));
 this.ns3 = (this.ns && (this.major == 3));
 this.ns4 = (this.ns && (this.major == 4));
 this.ns5 = (this.ns && (this.major > 4));
 this.ns6 = (this.ns && (agent.indexOf('netscape6')!=-1) );
 this.ns7 = (this.ns && (agent.indexOf('netscape/7')!=-1) );
 this.ns7pr = (this.ns && (agent.indexOf('netscape/7.0b1')!=-1) );
 this.ns71 = (this.ns && (agent.indexOf('netscape/7.1')!=-1) );
 this.ie = (agent.indexOf("msie") != -1);
 this.ie3 = (this.ie && (this.major == 2));
 this.ie4 = (this.ie && (this.major >= 4));
 this.ie5 = (this.ie && (this.major == 4) && (agent.indexOf("msie 5.0") != -1));
 this.ie55 = (this.ie && (this.major == 4) && (agent.indexOf("msie 5.5") != -1));
 this.ie6 = (this.ie && (agent.indexOf("msie 6.0")!=-1));
 this.op3 = (agent.indexOf("opera") != -1);
 this.pc  = (agent.indexOf("win") != -1);
 this.mac = (agent.indexOf("mac")!=-1); // Mac detect
 this.moz = ( this.ns && (agent.indexOf("netscape/") == -1) );
 if (this.moz) this.ns = 0;
}

function getHeader(){
	var header;
	//BC logo plus print buttons
	header = "<table width=\"640\"" + strTableAttributes + "><tr><td colspan=\"2\">";
	header += "<img src=\"" + url + "/images/spacer.gif\" alt=\"\" width=\"640\" height=\"10\"></td></tr>";
	header += "<tr><td align=\"left\"><img src=\"" + url + "/images/logo_bcgov.gif\" width=\"163\" height=\"58\" alt=\"Government of British Columbia Home page\"></td>";
	header += "<td align=\"right\">" + getPrintButtons() + "</td></tr>";
	header += "<tr><td colspan=\"2\"><img src=\"" + url + "/images/spacer.gif\" alt=\"\" width=\"640\" height=\"10\"></td></tr></table>";
	return header;
}

function getStraightLine(){
	var strLine;
	strLine = "<table" + strTableAttributes + " width=\"640\"><tr><td class=\"darkGreyBg\">";
	strLine += "<img src=\"" + url + "/images/spacer.gif\" alt=\"\" width=\"640\" height=\"1\">";
	strLine += "</td></tr></table>";
	return strLine;
}

function getBreadcrumb(){
	var breadCrumb;
	if (document.getElementById("breadCrumbText") != null){
		breadCrumb = "<table width=\"640\"" + strTableAttributes + ">"
		breadCrumb += "<tr><td><img src=\"" + url + "/images/spacer.gif\" alt=\"\" width=\"1\" height=\"5\"></td>"
    breadCrumb += "<td><img src=\"" + url + "/images/spacer.gif\" alt=\"\" width=\"1\" height=\"5\"></td></tr>"
		breadCrumb += "<tr><td align=\"left\"><div class=\"breadcrumb\" id=\"breadCrumbText\">";
		breadCrumb += document.getElementById("breadCrumbText").innerHTML;
		breadCrumb += "</div><tr><td><img src=\"" + url + "/images/spacer.gif\" alt=\"\" width=\"1\" height=\"5\"></td>"
    breadCrumb += "<td><img src=\"" + url + "/images/spacer.gif\" alt=\"\" width=\"1\" height=\"5\"></td></tr>"
		breadCrumb += "</table>";
		return breadCrumb;
	}else{
		return "";
	}
}

function getDottedLine(){
	var strLine;
	strLine = "<table" + strTableAttributes + " width=\"640\">";
	strLine += "<tr><td class=\"lineDot333\">";
	strLine += "<img src=\"" + url + "/images/spacer.gif\" alt=\"\" width=\"5\" height=\"1\">";
	strLine += "</td></tr></table>";
	return strLine;
}

function getBanner(){
	var strBanner;
	strBanner = "<table" + strTableAttributes + " width=\"100%\"><tr><td>";
	strBanner += "<br><span class=\"printTitle\">" + document.title + "</span>";
	strBanner += "</td></tr></table><br>";
	return strBanner;
}
function getBottom() {
	if (eService) {
		/*Display the logon bar*/
		document.getElementById("log_bar").style.display = "block";
		document.getElementById("left_column_end_grey").style.display = "none";
		document.write("<a href=/2006_template/scripts//%22#/%22 title=\"Exit this e-Service.\"><img src=\"" + url + "/images/b_exit_service.gif\" alt=\"Exit this e-Service.\" width=\"164\" height=\"36\" border=\"0\"/></a>");
	} else {
		if (document.getElementById("left_col_grey") != null) {
			/*Do Nothing*/
		} else if (document.getElementById("left_col_white") != null) {
			document.getElementById("left_column_end_white").style.display = "block";
			document.getElementById("left_column_end_grey").style.display = "none";
		} else {
			document.getElementById("left_column_end_grey").style.display = "none";
			document.getElementById("left_column_end_blue").style.display = "block";
		}
	}
}
function getContent(){
	return "<div class=\"content\">"+document.getElementById("content").innerHTML+"</div><td width=\"20\"><img src=\"" + url + "/images/spacer.gif\" width=\"20\"></td>";
}

function getRightColumn(){
	var rightColumn;
	if (document.getElementById("right_column") != null){
		rightColumn = "<td class=\"darkgreyBg\" width=\"1\" valign=\"top\"></td>";
		rightColumn += "<td valign=\"top\" align=\"left\"><div class=\"right_col\">" + document.getElementById("right_column").innerHTML + "</div></td>";
		return rightColumn;
	}else{
		return "";
	}
}

function getPrintButtons(){
	var strFooter;
	strFooter = "<div id=\"print\">";
	strFooter += "<table" + strTableAttributes + "><tr><td><a href=\"javascript:print(); window.self.close();\"><img src=\"" + url + "/images/buttons/print_close.gif\" border=\"0\" alt=\"Print and Close\"><!--Print this page--></a></td>";
	strFooter += "<td><a href=\"javascript:opener.focus();window.self.close();\"><img src=\"" + url + "/images/buttons/cancel.gif\" border=\"0\" alt=\"Cancel\"></a></td>";
	strFooter += "</tr></table></div>";
	return strFooter;
}
	
function doPrint(objWindow){
	if (blPrintWindowOpen()){
		printWindow.focus();//make the preview window bubble to surface
	}else{
	objPrint = new objPrintObject();
	blIsOpen = true;
	opener = objWindow;
	printWindow = window.open("", "PrintVersion", 'left=100,screenX=200,top=50,screeny=100,toolbar=yes,menubar=yes,width=760,height=500,modal=yes,scrollbars=yes,status=yes');
	printWindow.document.bgColor="white";
	printWindow.document.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html401/loose.dtd\"><html><head>");
	printWindow.document.write("<link rel=\"stylesheet\" href=\"" + url + "/style/style.css\" type=\"text/css\">")
	printWindow.document.write("<link rel=\"stylesheet\" href=\"" + url + "/style/print.css\" type=\"text/css\" media=\"print\"></head>")
	printWindow.document.write("<body><div align=\"center\"><table width=\"640\"" + strTableAttributes + "><tr><td width=\"640\">")
	printWindow.document.write(objPrint.header);
	printWindow.document.write(getStraightLine());
	printWindow.document.write(objPrint.breadcrumb);
	printWindow.document.write(getDottedLine());
	printWindow.document.write("</td><table" + strTableAttributes + " width=\"640\"><tr><td>");
	printWindow.document.write(objPrint.banner);
	printWindow.document.write(objPrint.content);
	printWindow.document.write("</td>" + objPrint.rightColumn);
	printWindow.document.write("</tr></table><div align=\"center\"><p>&nbsp;</p>");
	printWindow.document.write(objPrint.printButtons+"</div>");
	printWindow.document.write("</td></tr></table></div></body></html>");
	printWindow.document.close();
	}
}

function objPrintObject(){
	this.header = getHeader();
	this.breadcrumb = getBreadcrumb();
	this.banner = getBanner();
	this.content = getContent();
	this.rightColumn = getRightColumn();
	this.printButtons = getPrintButtons();
	this.ParentWindow = window;
}

function blPrintWindowOpen(){
	if ((printWindow != null) && (blIsOpen == true)){
		return (! printWindow.closed);
	}else{
		blIsOpen = false;
		return false;
	}
}

function closeWindow(){
	if((printWindow != null) && (blIsOpen == true)){
		printWindow.close();
		printWindow=null;
		blIsOpen = false;
		return true;
	}
	return false;
}

is = new Is();
//-->