// GLOBAL SCRIPTS INCLUDING 


// OPENING LINKS IN A NEW WINDOW


// REPLACING FLASH FOR VALIDATION

















/*


JSTarget function by Roger Johansson, www.456bereastreet.com


*/


var JSTarget = {


	init: function(att,val,warning) {


		if (document.getElementById && document.createElement && document.appendChild) {


			var strAtt = ((typeof att == 'undefined') || (att == null)) ? 'class' : att;


			var strVal = ((typeof val == 'undefined') || (val == null)) ? 'non-html' : val;


			var strWarning = ((typeof warning == 'undefined') || (warning == null)) ? '' : warning;


			var oWarning;


			var arrLinks = document.getElementsByTagName('a');


			var oLink;


			var oRegExp = new RegExp("(^|\\s)" + strVal + "(\\s|$)");


			for (var i = 0; i < arrLinks.length; i++) {


				oLink = arrLinks[i];


				if ((strAtt == 'class') && (oRegExp.test(oLink.className)) || (oRegExp.test(oLink.getAttribute(strAtt)))) {


					oWarning = document.createElement("em");


					oWarning.appendChild(document.createTextNode(strWarning));


					oLink.appendChild(oWarning);


					oLink.onclick = JSTarget.openWin;


				}


			}


			oWarning = null;


		}


	},


	openWin: function(e) {


		var event = (!e) ? window.event : e;


		if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return true;


		else {


		    var oWin = window.open(this.getAttribute('href'), '_blank');


			if (oWin) {


				if (oWin.focus) oWin.focus();


				return false;


			}


			oWin = null;


			return true;


		}


	},


	/*


	addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html


	*/


	addEvent: function(obj, type, fn) {


		if (obj.addEventListener)


			obj.addEventListener(type, fn, false);


		else if (obj.attachEvent) {


			obj["e"+type+fn] = fn;


			obj[type+fn] = function() {obj["e"+type+fn]( window.event );}


			obj.attachEvent("on"+type, obj[type+fn]);


		}


	}


};


JSTarget.addEvent(window, 'load', function(){JSTarget.init("rel","external","");});

















/**





 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/





 *





 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:





 * http://www.opensource.org/licenses/mit-license.php





 *





 */





if(typeof deconcept == "undefined") var deconcept = new Object();





if(typeof deconcept.util == "undefined") deconcept.util = new Object();





if(typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = new Object();





deconcept.SWFObject = function(swf, id, w, h, ver, c, quality, xiRedirectUrl, redirectUrl, detectKey) {





	if (!document.getElementById) { return; }





	this.DETECT_KEY = detectKey ? detectKey : 'detectflash';





	this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);





	this.params = new Object();





	this.variables = new Object();





	this.attributes = new Array();





	if(swf) { this.setAttribute('swf', swf); }





	if(id) { this.setAttribute('id', id); }





	if(w) { this.setAttribute('width', w); }





	if(h) { this.setAttribute('height', h); }





	if(ver) { this.setAttribute('version', new deconcept.PlayerVersion(ver.toString().split("."))); }





	this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();





	if (!window.opera && document.all && this.installedVer.major > 7) {





		// only add the onunload cleanup if the Flash Player version supports External Interface and we are in IE





		deconcept.SWFObject.doPrepUnload = true;





	}





	if(c) { this.addParam('bgcolor', c); }





	var q = quality ? quality : 'high';





	this.addParam('quality', q);





	this.setAttribute('useExpressInstall', false);





	this.setAttribute('doExpressInstall', false);





	var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;





	this.setAttribute('xiRedirectUrl', xir);





	this.setAttribute('redirectUrl', '');





	if(redirectUrl) { this.setAttribute('redirectUrl', redirectUrl); }





}





deconcept.SWFObject.prototype = {





	useExpressInstall: function(path) {





		this.xiSWFPath = !path ? "expressinstall.swf" : path;





		this.setAttribute('useExpressInstall', true);





	},





	setAttribute: function(name, value){





		this.attributes[name] = value;





	},





	getAttribute: function(name){





		return this.attributes[name];





	},





	addParam: function(name, value){





		this.params[name] = value;





	},





	getParams: function(){





		return this.params;





	},





	addVariable: function(name, value){





		this.variables[name] = value;





	},





	getVariable: function(name){





		return this.variables[name];





	},





	getVariables: function(){





		return this.variables;





	},





	getVariablePairs: function(){





		var variablePairs = new Array();





		var key;





		var variables = this.getVariables();





		for(key in variables){





			variablePairs[variablePairs.length] = key +"="+ variables[key];





		}





		return variablePairs;





	},





	getSWFHTML: function() {





		var swfNode = "";





		if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture





			if (this.getAttribute("doExpressInstall")) {





				this.addVariable("MMplayerType", "PlugIn");





				this.setAttribute('swf', this.xiSWFPath);





			}





			swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ this.getAttribute('style') +'"';





			swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';





			var params = this.getParams();





			 for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }





			var pairs = this.getVariablePairs().join("&");





			 if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }





			swfNode += '/>';





		} else { // PC IE





			if (this.getAttribute("doExpressInstall")) {





				this.addVariable("MMplayerType", "ActiveX");





				this.setAttribute('swf', this.xiSWFPath);





			}





			swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ this.getAttribute('style') +'">';





			swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';





			var params = this.getParams();





			for(var key in params) {





			 swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';





			}





			var pairs = this.getVariablePairs().join("&");





			if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}





			swfNode += "</object>";





		}





		return swfNode;





	},





	write: function(elementId){





		if(this.getAttribute('useExpressInstall')) {





			// check to see if we need to do an express install





			var expressInstallReqVer = new deconcept.PlayerVersion([6,0,65]);





			if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {





				this.setAttribute('doExpressInstall', true);





				this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));





				document.title = document.title.slice(0, 47) + " - Flash Player Installation";





				this.addVariable("MMdoctitle", document.title);





			}





		}





		if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){





			var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;





			n.innerHTML = this.getSWFHTML();





			return true;





		}else{





			if(this.getAttribute('redirectUrl') != "") {





				document.location.replace(this.getAttribute('redirectUrl'));





			}





		}





		return false;





	}





}











/* ---- detection functions ---- */





deconcept.SWFObjectUtil.getPlayerVersion = function(){





	var PlayerVersion = new deconcept.PlayerVersion([0,0,0]);





	if(navigator.plugins && navigator.mimeTypes.length){





		var x = navigator.plugins["Shockwave Flash"];





		if(x && x.description) {





			PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));





		}





	}else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0){ // if Windows CE





		var axo = 1;





		var counter = 3;





		while(axo) {





			try {





				counter++;





				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter);





//				document.write("player v: "+ counter);





				PlayerVersion = new deconcept.PlayerVersion([counter,0,0]);





			} catch (e) {





				axo = null;





			}





		}





	} else { // Win IE (non mobile)





		// do minor version lookup in IE, but avoid fp6 crashing issues





		// see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/





		try{





			var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");





		}catch(e){





			try {





				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");





				PlayerVersion = new deconcept.PlayerVersion([6,0,21]);





				axo.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)





			} catch(e) {





				if (PlayerVersion.major == 6) {





					return PlayerVersion;





				}





			}





			try {





				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");





			} catch(e) {}





		}





		if (axo != null) {





			PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));





		}





	}





	return PlayerVersion;





}





deconcept.PlayerVersion = function(arrVersion){





	this.major = arrVersion[0] != null ? parseInt(arrVersion[0]) : 0;





	this.minor = arrVersion[1] != null ? parseInt(arrVersion[1]) : 0;





	this.rev = arrVersion[2] != null ? parseInt(arrVersion[2]) : 0;





}





deconcept.PlayerVersion.prototype.versionIsValid = function(fv){





	if(this.major < fv.major) return false;





	if(this.major > fv.major) return true;





	if(this.minor < fv.minor) return false;





	if(this.minor > fv.minor) return true;





	if(this.rev < fv.rev) return false;





	return true;





}





/* ---- get value of query string param ---- */





deconcept.util = {





	getRequestParameter: function(param) {





		var q = document.location.search || document.location.hash;





		if (param == null) { return q; }





		if(q) {





			var pairs = q.substring(1).split("&");





			for (var i=0; i < pairs.length; i++) {





				if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {





					return pairs[i].substring((pairs[i].indexOf("=")+1));





				}





			}





		}





		return "";





	}





}





/* fix for video streaming bug */





deconcept.SWFObjectUtil.cleanupSWFs = function() {





	var objects = document.getElementsByTagName("OBJECT");





	for (var i = objects.length - 1; i >= 0; i--) {





		objects[i].style.display = 'none';





		for (var x in objects[i]) {





			if (typeof objects[i][x] == 'function') {





				objects[i][x] = function(){};





			}





		}





	}





}





// fixes bug in some fp9 versions see http://blog.deconcept.com/2006/07/28/swfobject-143-released/





if (deconcept.SWFObject.doPrepUnload) {





	if (!deconcept.unloadSet) {





		deconcept.SWFObjectUtil.prepUnload = function() {





			__flash_unloadHandler = function(){};





			__flash_savedUnloadHandler = function(){};





			window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs);





		}





		window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload);





		deconcept.unloadSet = true;





	}





}





/* add document.getElementById if needed (mobile IE < 5) */





if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }}











/* add some aliases for ease of use/backwards compatibility */





var getQueryParamValue = deconcept.util.getRequestParameter;





var FlashObject = deconcept.SWFObject; // for legacy support





var SWFObject = deconcept.SWFObject;























