/*
Handle PNG transparency in Win IE 5.5 & 6.
http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.
*/
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])

if ((version >= 5.5) && (document.body.filters)) {
for(var i=0; i<document.images.length; i++){
  var img = document.images[i]
  var imgName = img.src.toUpperCase()
  if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){
	 var imgID = (img.id) ? "id='" + img.id + "' " : ""
	 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
	 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
	 var imgStyle = "display:inline-block;" + img.style.cssText 
	 if (img.align == "left") imgStyle = "float:left;" + imgStyle
	 if (img.align == "right") imgStyle = "float:right;" + imgStyle
	 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
	 var strNewHTML = "<span " + imgID + imgClass + imgTitle
	 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	 + "(src=\'" + img.src + "\', sizingMethod='image');\"></span>" 
	 img.outerHTML = strNewHTML
	 i = i-1
  }
}
}

function refreshAds(){
	ord=Math.random()*10000000000000000;
	if (document.getElementById('AD_banner')) {document.getElementById('top_banner_wrapper').innerHTML = document.getElementById('top_banner_wrapper').innerHTML;}
	if (document.getElementById('AD_rectangle')) {document.getElementById('AD_rectangle').innerHTML = document.getElementById('AD_rectangle').innerHTML;}
    if (top.s) {void(s.t());}
}

/***** Clear default value in forms function *****/
function clearDefault(el) {if (el.defaultValue==el.value) el.value = ""}

/***** Alternating list item styles *****/
function alternate(id){
	if(document.getElementsByTagName){
		var wrapper = document.getElementById(id);
		var divs = wrapper.getElementsByTagName("div");
		for(i = 0; i < divs.length; i++){
			if(i % 2 == 0){ 
				divs[i].className = "even";
				}else{ 
				divs[i].className = "odd";
			}
		}
	}
}

/***** Set tab on-state *****/
function loadonstate(id){ if(id){var tab = document.getElementById(id);tab.className = "btn_on";}}

/***** Drop Down Menu in Header*****/
function display_dd(id){var elm = document.getElementById(id);elm.style.display = "block";}
function hide_dd(id){var elm = document.getElementById(id);elm.style.display = "none";}

/***** Determine Layout *****/
function determineLayout(){
var img = document.getElementById('main');
if(img){
	imgWidth = img.width;
	imgHeight = img.height;
	if(imgWidth>imgHeight){
		var hdr = document.getElementById('article_hdr');	
		hdr.className = "hor";
		img.className = "hor";
	}
}	
}

/***** next_url function for logins *****/
function getBackFromLogin(){
	var bck = window.location.href;
	window.location = "/log-in/?bck="+bck;
}

/***** cross-site standard *****/
function getQueryVariable(variable) {
 var query = window.location.search.substring(1);
 var vars = query.split("&");
 for (var i=0;i<vars.length;i++){var pair=vars[i].split("=");if(pair[0]==variable){return pair[1];}}
}

/***** Determine Subscribe DD *****/
function expand(){	var hideDiv = document.getElementById('subscribe_form');hideDiv.style.display = "block";}

/***** Dynamic Flash *****/
/*
* 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;
