/***********************************************
* Switch Content script- � Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use. Last updated April 2nd, 2005.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var enablepersist="on" //Enable saving state of content structure using session cookies? (on/off)
var collapseprevious="no" //Collapse previously open content when opening present? (yes/no)

var contractsymbol='- ' //HTML for contract symbol. For image, use: <img src="whatever.gif">
var expandsymbol='+ ' //HTML for expand symbol.


if (document.getElementById){
document.write('<style type="text/css">')
document.write('.switchcontent{display:none;}')
document.write('</style>')
}

function getElementbyClass(rootobj, classname){
var temparray=new Array()
var inc=0
var rootlength=rootobj.length
for (i=0; i<rootlength; i++){
if (rootobj[i].className==classname)
temparray[inc++]=rootobj[i]
}
return temparray
}

function sweeptoggle(ec){
var thestate=(ec=="expand")? "block" : "none"
var inc=0
while (ccollect[inc]){
ccollect[inc].style.display=thestate
inc++
}
revivestatus()
}


function contractcontent(omit){
var inc=0
while (ccollect[inc]){
if (ccollect[inc].id!=omit)
ccollect[inc].style.display="none"
inc++
}
}

function expandcontent(curobj, cid){
var spantags=curobj.getElementsByTagName("SPAN")
var showstateobj=getElementbyClass(spantags, "showstate")
if (ccollect.length>0){
if (collapseprevious=="yes")
contractcontent(cid)
document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"
if (showstateobj.length>0){ //if "showstate" span exists in header
if (collapseprevious=="no")
showstateobj[0].innerHTML=(document.getElementById(cid).style.display=="block")? contractsymbol : expandsymbol
else
revivestatus()
}
}
}

function revivecontent(){
contractcontent("omitnothing")
selectedItem=getselectedItem()
selectedComponents=selectedItem.split("|")
for (i=0; i<selectedComponents.length-1; i++)
document.getElementById(selectedComponents[i]).style.display="block"
}

function revivestatus(){
var inc=0
while (statecollect[inc]){
if (ccollect[inc].style.display=="block")
statecollect[inc].innerHTML=contractsymbol
else
statecollect[inc].innerHTML=expandsymbol
inc++
}
}

function get_cookie(Name) { 
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function getselectedItem(){
if (get_cookie(window.location.pathname) != ""){
selectedItem=get_cookie(window.location.pathname)
return selectedItem
}
else
return ""
}

function saveswitchstate(){
var inc=0, selectedItem=""
while (ccollect[inc]){
if (ccollect[inc].style.display=="block")
selectedItem+=ccollect[inc].id+"|"
inc++
}

document.cookie=window.location.pathname+"="+selectedItem
}

function do_onload(){
uniqueidn=window.location.pathname+"firsttimeload"
var alltags=document.all? document.all : document.getElementsByTagName("*")
ccollect=getElementbyClass(alltags, "switchcontent")
statecollect=getElementbyClass(alltags, "showstate")
if (enablepersist=="on" && ccollect.length>0){
document.cookie=(get_cookie(uniqueidn)=="")? uniqueidn+"=1" : uniqueidn+"=0" 
firsttimeload=(get_cookie(uniqueidn)==1)? 1 : 0 //check if this is 1st page load
if (!firsttimeload)
revivecontent()
}
if (ccollect.length>0 && statecollect.length>0)
revivestatus()
}

if (window.addEventListener)
window.addEventListener("load", do_onload, false)
else if (window.attachEvent)
window.attachEvent("onload", do_onload)
else if (document.getElementById)
window.onload=do_onload

if (enablepersist=="on" && document.getElementById)
window.onunload=saveswitchstate

function preloader(x,description){
	document.getElementById("bigPhotoContainer").src= x;
    if(description != "")
    {
    document.getElementById("caption").innerHTML = description;	
    }
    else{
    document.getElementById("caption").innerHTML = "";     	
    }
}
// flash detection
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(_1,id,w,h,_5,_7,_8,_9,_a,_b)	{if(!document.getElementById){return;}this.DETECT_KEY=_b?_b:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.swfObjectUtil.getPlayerVersion();var q=_8?_8:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",_7);this.setAttribute("doExpressInstall",false);var _d=(_9)?_9:window.location;this.setAttribute("xiRedirectUrl",_d);this.setAttribute("redirectUrl","");if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.swfObject.prototype=
{
	setAttribute:function(_e,_f)		{this.attributes[_e]=_f;},
	getAttribute:function(_10)		{return this.attributes[_10];},
	addParam:function(_11,_12)		{this.params[_11]=_12;},
	getParams:function()			{return this.params;},
	addVariable:function(_13,_14)	{this.variables[_13]=_14;},
	getVariable:function(_15)		{return this.variables[_15];},
	getVariables:function()			{return this.variables;},
	getVariablePairs:function()		{var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16.push(key+"="+_18[key]);}return _16;},
	getSWFHTML:function()
	{
		var _19="";
		if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length)
		{
			if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
			_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
			_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
			var _1a=this.getParams();
			for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
			var _1c=this.getVariablePairs().join("&");
			if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";
		}
		else
		{
			if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
			_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
			_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
			var _1d=this.getParams();
			for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
			var _1f=this.getVariablePairs().join("&");
			if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";
		}
		return _19;
	},
	write:function(_20)
	{
		if(this.getAttribute("useExpressInstall"))
		{
			var _21=new deconcept.PlayerVersion([6,0,65]);
			if(this.installedVer.versionIsValid(_21)&&!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 _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}
		else											{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
		return false;
	}
};
deconcept.swfObjectUtil.getPlayerVersion=function()					{var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}return _23;};
deconcept.PlayerVersion=function(_27)							{this.major=_27[0]!=null?parseInt(_27[0]):0;this.minor=_27[1]!=null?parseInt(_27[1]):0;this.rev=_27[2]!=null?parseInt(_27[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;};
deconcept.util={getRequestParameter:function(_29)					{var q=document.location.search||document.location.hash;if(q){var _2b=q.substring(1).split("&");for(var i=0;i<_2b.length;i++){if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){return _2b[i].substring((_2b[i].indexOf("=")+1));}}}return "";}};
deconcept.swfObjectUtil.cleanupSWFs=function()					{if(window.opera||!document.all){return;}var _2d=document.getElementsByTagName("OBJECT");for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}};
deconcept.swfObjectUtil.prepUnload=function()						{__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};if(typeof window.onunload=="function"){var _30=window.onunload;window.onunload=function(){deconcept.swfObjectUtil.cleanupSWFs();_30();};}else{window.onunload=deconcept.swfObjectUtil.cleanupSWFs;}};
if(typeof window.onbeforeunload=="function")					{var oldBeforeUnload=window.onbeforeunload;window.onbeforeunload=function(){deconcept.swfObjectUtil.prepUnload();oldBeforeUnload();};}
else													{window.onbeforeunload=deconcept.swfObjectUtil.prepUnload;}
if(Array.prototype.push==null)								{Array.prototype.push=function(_31){this[this.length]=_31;return this.length;};}
var getQueryParamValue=deconcept.util.getRequestParameter;			// swfObject 1.4.4 http://blog.deconcept.com/swfObject/	
var FlashObject=deconcept.swfObject;
var swfObject=deconcept.swfObject;
// end flash detection	
//swap for home page Top Ten copy
function showOneFiveTopTen()
{
	document.getElementById("topten_set1").style.display = "inline";
	document.getElementById("topten_set2").style.display = "none";
}
function showSixTenTopTen()
{
	document.getElementById("topten_set2").style.display = "inline";
	document.getElementById("topten_set1").style.display = "none";
}

// External links open in a new window:
this.blankwin = function(){
	var hostname = window.location.hostname;
	hostname = hostname.replace("www.","").toLowerCase();
	var a = document.getElementsByTagName("a");
	this.check = function(obj){
		var href = obj.href.toLowerCase();
		return (href.indexOf("http://")!=-1 && href.indexOf(hostname)==-1) ? true : false;
	};
	this.set = function(obj){
		obj.target = "_blank";
		obj.className = obj.className+" external";
	};
	for (var i=0;i<a.length;i++){
		if(check(a[i])) set(a[i]);
	};
};
this.addEvent = function(obj,type,fn){
	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]);
	} else {
		obj.addEventListener(type,fn,false);
	};
};
addEvent(window,"load",blankwin);

// Listings Grids: keep table headers visible while scrolling
$(document).ready(function() {

	var theAlt = $('a.charms img').attr('alt');
	$('a.charms img').attr('title', theAlt);

	//this is the floating content
	var $window = $(window), $floatingbox = $('tr#floating-box');

	if($('td.main_content_area').length > 0){

		var bodyY = parseInt($floatingbox.offset().top);

		$window.scroll(function () {

			var scrollY = $window.scrollTop();
			var isfixed = $floatingbox.hasClass('gridFixed');

			if($floatingbox.length > 0){
				if ( scrollY > bodyY && !isfixed ) {
					$floatingbox.addClass('gridFixed');
				} else if ( scrollY < bodyY && isfixed ) {
					$floatingbox.removeClass('gridFixed');
				}
			}
			
		},500);
	}
});

