var gbW3C = true;
var gbDebug = false;
if (!document.getElementsByTagName || !document.getElementById || !document.createElement)
	gbW3C = false;
function gfW3C_Failed() {
	alert('Warning: Some functionality has been disabled due to your aging web browser.');
}
function gfMissingObj(sObjName) {  v='v2.0.1 2006-11-04; like:; req:;';
	if (gbDebug) {
		if (sObjName)
			alert('Warning: "' + sObjName + '" HTML object is missing, please allow this page to fully load.');
		else
			alert('Warning: An HTML object is missing, please allow this page to fully load.');
	} else
		return gbDebug;
}
function fSafeAddOnload(func){v = 'v3.1.0 2006-11-22; like:; req:;';if(!window.__load_events){var init=function(){if(arguments.callee.done)return;arguments.callee.done=true;if(window.__load_timer){clearInterval(window.__load_timer);window.__load_timer=null;/*@cc_on @*//*@if (@_win32) document.getElementById("__ie_onload").onreadystatechange = "";/*@end @*/}for(var i=0;i<window.__load_events.length;i++){window.__load_events[i]()}window.__load_events=null};if(document.addEventListener){document.addEventListener("DOMContentLoaded",init,false)}/*@cc_on @*//*@if (@_win32) var proto = "src='javascript:void(0)'";if (location.protocol == "https:") proto = "src=//0";document.write("<scr"+"ipt id=__ie_onload defer " + proto + "><\/scr"+"ipt>");var script=document.getElementById("__ie_onload");script.onreadystatechange=function(){if(this.readyState=="complete"){init()}};/*@end @*/if(/WebKit/i.test(navigator.userAgent)){window.__load_timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){init()}},10)}window.onload=init;window.__load_events=[]}window.__load_events.push(func)}
function fFlashStart() {
	oFlash = document.getElementById('boxFlash');
	if (!oFlash) return gfMissingObj('boxFlash');
	
	oFlash.style.zIndex = 2;
	
	oFauxFlash = document.getElementById('boxFauxFlash');
	if (!oFauxFlash) return gfMissingObj('boxFauxFlash');
	
	oFauxFlash.style.zIndex = 1;
}
function fFlashStop() {
	oFlash = document.getElementById('boxFlash');
	if (!oFlash) return gfMissingObj('boxFlash');
	
	oFlash.style.zIndex = 1;
	
	oFauxFlash = document.getElementById('boxFauxFlash');
	if (!oFauxFlash) return gfMissingObj('boxFauxFlash');
	
	oFauxFlash.style.zIndex = 2;
}
fSafeAddOnload(fFlashStop)
function fApplyImageBehaviour() {
	v = 'v2.3.1 2006-11-01; like:; req:;'
	if (!gbW3C) return gfW3C_Failed();
	
	sObjName = fApplyImageBehaviour.arguments[0];
	oNavs = document.getElementById(sObjName);
	if (!oNavs) return gfMissingObj(sObjName);
		
	var sOverStateSuffix = '-o';
	var aMouseOvers = new Array(); var aMouseOuts = new Array();
	var tImgs = oNavs.getElementsByTagName('img');

	var sArgs = fApplyImageBehaviour.arguments[0]; /* convert func args to string; IE 6.0 workaround = arguments.toString fails */
	for (var i = 1; i < fApplyImageBehaviour.arguments.length; i++)
		sArgs += ',' + fApplyImageBehaviour.arguments[i];

	for (var i=0;i<tImgs.length;i++) {
		tImg = tImgs[i];
		iPos = sArgs.indexOf(tImg.id.toString()); /* learn if current image is in argument list; -1 = img has ID; 0 = img missing ID */
		if ( (iPos == 0 || iPos == -1) && tImg.src.lastIndexOf(sOverStateSuffix + '.') == -1) { /* test if NOT delimiter/spacer image AND already selected */
			tImg.onmouseover = function() {this.src = aMouseOvers[this.number].src;};
			tImg.onmouseout = function() {this.src = aMouseOuts[this.number].src;};
			var suffix = tImg.src.substring(tImg.src.lastIndexOf('.'));
			aMouseOuts[i] = new Image();
			aMouseOuts[i].src = tImg.src;
			aMouseOvers[i] = new Image();
			aMouseOvers[i].src = tImg.src.substring(0,tImg.src.lastIndexOf('.')) + sOverStateSuffix + suffix;
			tImg.number = i;
		}
	}
}
function fJumpMenu(targ,selObj,restore) { v = 'v1.0.0 2007-01-09; like:; req:;';
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	if (restore) selObj.selectedIndex=0;
}

/* -------------------------------- FOOTER FUNCTIONS OPEN -------------------- */
var dxFilter=null;
var BV=parseFloat(navigator.appVersion.indexOf("MSIE")>0?navigator.appVersion.split(";")[1].substr(6):navigator.appVersion);
var BN=navigator.appName;
var nua = navigator.userAgent;
var IsWin=(nua.indexOf('Win')!=-1);
var IsMac=(nua.indexOf('Mac')!=-1);
var KQ=(BN.indexOf('Konqueror')!=-1&&(BV>=5))||(nua.indexOf('Safari')!=-1);
var OP=(nua.indexOf('Opera')!=-1&&BV>=4);
var NS=(BN.indexOf('Netscape')!=-1&&(BV>=4&&BV<5)&&!OP);
var SM=(BN.indexOf('Netscape')!=-1&&(BV>=5)||OP);
var IE=(BN.indexOf('Explorer')!=-1&&(BV>=4)||SM||KQ);
var IX=(IE&&IsWin&&!SM&&!OP&&(BV>=5.5)&&(dxFilter!=null)&&(nua.indexOf('CE')==-1));

function GetImgXY(img) {
    //IE,NS,SM,OP,KQ
    //This function returns the x,y coordinates of an image.
    //------------------------------
    //Version 1.4
    //
    var x;
    var y;
      
    if(IE)  {
      y = getOffset(img);
      x = y[0];
      y = y[1];
    } else  {
      y = GetImgOffset(cFrame, img.name, 0, 0);
      x = img.x + y[0];
      y = img.y + y[1];
    }      
    return [x, y];    
}
function getOffset(img) {
    //IE,NS,SM,OP,KQ
    //This function returns the horizontal and vertical offset of an object.
    //------------------------------
    //Version 1.2
    //
    xy = [img.offsetLeft, img.offsetTop];
    ce = img.offsetParent;
    while(ce!=null)  {
      xy[0] += ce.offsetLeft;
      xy[1] += ce.offsetTop;
      ce = ce.offsetParent;
    }
    return xy;
  }
function GetImgOffset(d, img, ox, oy) {
    //NS
    //This function finds the offset to an image regardless of its location in the document structure.
    //------------------------------
    //Version 1.0
    //
    var i;
    var tmp;
    
    if(d.left) {
      ox += d.left;
      oy += d.top;
    }
        
    if(d.document.images[img]) return [ox, oy];
    
    for(i=0; i<d.document.layers.length; i++) {
      tmp = GetImgOffset(d.document.layers[i], img, ox, oy);
      if(tmp) return [tmp[0], tmp[1]];
    }    
    return null;
}
function windowSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) { //Non-IE
    myHeight = window.innerHeight;
		myWidth =  window.innerWidth;
	} else {
    if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode'
      myHeight = document.documentElement.clientHeight;
			myWidth = document.documentElement.clientWidth;
		} else {
      if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible
        myHeight = document.body.clientHeight;
				myWidth = document.body.clientWidth;
			}
		}
  }
  return [myWidth,myHeight];
}
function fOnResize(fFunctionName) {
	if (window.addEventListener) { // W3C, Firefox
		window.addEventListener('resize',fFunctionName,false)
	} else if (document.addEventListener) { // W3C, Opera
		document.addEventListener('resize',fFunctionName,false)
	} else if (document.attachEvent) { // IE
		window.attachEvent('onresize',fFunctionName)
	} else { // Mac IE 4.5 blows out on testing window.onload
		document.onresize = fFunctionName;
	}
}
function fForceFooterBottom() {
	if (!gbW3C) return gfW3C_Failed();
	
	oFooter = document.getElementById("bgFoot");
	if (!oFooter) return gfMissingObj("bgFoot");

	oFooter.style.position = 'absolute';
	var sImgXY = GetImgXY( document.getElementById( 'imgLogoCPC' ) );
	var aImgXY = String( sImgXY ).split( ',' );
	var iImgY = aImgXY[ 1 ];
	oFooter.style.top = '-42px';
	var aWindowSize = windowSize();
	var iScreenY = aWindowSize[1];
	if( iScreenY > ( iImgY ) )
		oFooter.style.top = ( iScreenY - 42 ) + 'px';
	else
		oFooter.style.top = ( iImgY ) + 'px';
	oFooter.style.width = aWindowSize[0] + 'px';
}
fSafeAddOnload(fForceFooterBottom);
fOnResize(fForceFooterBottom);
/* -------------------------------- FOOTER FUNCTIONS CLOSE -------------------- */


/* -------------------------------- FLASH FUNCTIONS OPEN -------------------- */
//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
/* -------------------------------- FLASH FUNCTIONS CLOSE -------------------- */


function fApplyLinkBehaviour(sContainerName) { // v1.5.6 2004-10-10; like:fSafeAddOnload; req:fPopupFromTarget(v1.3);
	// sContainerName (optional)
	if (!document.getElementsByTagName) return;
	if (typeof(sContainerName) == 'string') // if page too large force links to behave
		var tAs = document.getElementById(sContainerName).getElementsByTagName('a');
	else // check enitre document
		var tAs = document.getElementsByTagName('a');

	for (i=0; i<tAs.length; i++) {
		tA = tAs[i];
		if (tA.target) {
			if (tA.target == 'fresh')
				tA.target = '_blank';
			else if (tA.target.indexOf('popup') != -1)
				tA.onclick = fPopupFromTarget;
			else if (tA.target == 'self')
				tA.target = '_self';
		} else if (tA.href) { // force PDF into new window, unless target set to self
			if (tA.href.indexOf('.pdf') != -1)
				tA.target = '_blank';
		}
	}
}
fSafeAddOnload(fApplyLinkBehaviour);

// upgrading from v1.1 subtract 20 from each target=popup cuz adding offset in function
// upgrading from v1.3 popup delimeter replace ',' to ':'.  Now XHTML Transitional valid
function fPopupFromTarget(oA) { // v1.5.2 2007-05-28; like:fApplyLinkBehaviour(v1.5); req:fOpenWin(v1.4);
	oSelf = (this.target) ? this : oA; // if onlick from fApplyLinkBehaviour use THIS else hardcoded onclick use oA (hardcoded as 'this')
	sWinHref = oSelf.href.toString();
	aWinArgs = oSelf.target.split(':');
	sWinTitle = (aWinArgs.length > 3) ? aWinArgs[3] : 'popup'; // window name = fourth argument

	aFilename = sWinHref.split('.');
	sFileType = aFilename[aFilename.length-1];

	if (sFileType == "jpg" || sFileType == "gif" || sFileType == "png") { // if image then no scrollbars
		bScrollBars = false; // hide scrollbars with image cuz each browser has different padding
		iImgWinEnlargeOffset = 25; // add this # to w,h cuz opening a win. without HTML (ie img), each browser adds margin/padding; 25 is for IE7
	} else {
		bScrollBars = true;
		iImgWinEnlargeOffset = 0;
	}

	if (aWinArgs[4] == "false") // passed argument precedence over image file type
		bScrollBars = false;
	else if (aWinArgs[4] == "true") // passed argument precedence over image file type
		bScrollBars = true;

	fOpenWin(sWinHref,parseInt(aWinArgs[1])+iImgWinEnlargeOffset,parseInt(aWinArgs[2])+iImgWinEnlargeOffset,sWinTitle,bScrollBars) // href, width, height, name, scrollbars
	return false; // prevent href and target from HTML launching second window
}
function fOpenWin(sURL,iW,iH,sName,bScrollBars) { v='v1.6.0 2006-11-04; like:; req:;';
	iXPos=0, iYPos=15;
	if (window.outerWidth) { /* outerWidth for frameset use; otherwise innerWidth works; (NN4, NN6, O7-O9) */
		iXPos = (window.outerWidth-iW)/2;
		iYPos = (window.outerHeight-iH)/2;
		iXPos+=window.screenX; iYPos+=window.screenY;
	} else { /* screen width (1 600) not used because I want centred in window on screen */
		iXPos = (document.body.clientWidth-iW)/2; /* [current browser chrome width (800) - new window width (400)] / 2 = 200 on each side */
		iBrowserHeight = (document.compatMode=="CSS1Compat")?document.documentElement.clientHeight:document.body.clientHeight;
		iYPos = (iBrowserHeight-iH)/2;
		iXPos+=window.screenLeft; iYPos+=window.screenTop; /* current position of window (400) + iXPos (200) = 600 is left pos */
	} /* left space (600) + new width (400) + right space (600) = screen res (1 600) */

	if (typeof bScrollBars == 'boolean')
		bScrollBars = (bScrollBars==true)?'yes':'no';
	else
		bScrollBars = 'yes'; /* not defined set to default */

	sArgs='width=' +iW+ ',height=' +iH+ ',resizable=yes,scrollbars=' +bScrollBars+ ',status=yes,screenx=' +iXPos+ ',screeny=' +iYPos+ ',left=' +iXPos+ ',top=' +iYPos
	if (!sName) sName = 'popup';
	oWin=window.open(sURL,sName,sArgs);

	if (oWin != null) {
		if (oWin.opener == null) /* give orphan child window this parent */
			oWin.opener = self;
		oWin.focus()
	}
}



// canManipulateImages - check if the browser we're using can do
// clever stuff with document images.

function canManipulateImages() {
	if (document.images)
		return true;
	else
		return false;
}

// loadPosterImage

function fLoadPosterImage(imageURL, imagewidth, imageheight) {
	if (gImageCapableBrowser) {
		document.imagePoster.src = imageURL;
		document.imagePoster.width = imagewidth;
		document.imagePoster.height = imageheight;
		return false;
	}
	else {
		return true;
	}
}




function loadPosterImage(imageURL) {
	if (gImageCapableBrowser) {
		document.imagePoster.src = imageURL;
		return false;
	}
	else {
		return true;
	}
}

function loadPoster2Image(imageURL) {
	if (gImageCapableBrowser) {
		document.imagePoster2.src = imageURL;
		return false;
	}
	else {
		return true;
	}
}