function reReplaceSIFR() {
	if (typeof sIFR == "function" && !sIFR.UA.bIsIEMac) {
		var hline = named({sFlashSrc:"/_swf/avenirbook.v1.0.swf", sColor:"#FFFFFF", sWmode:"transparent", nPaddingTop:"8", nPaddingRight:"10", nPaddingBottom:"10", nPaddingLeft:"10"});
		var hlineblk = named({sFlashSrc:"/_swf/avenirbook.v1.0.swf", sColor:"#000000", sWmode:"transparent", nPaddingTop:"8", nPaddingRight:"10", nPaddingBottom:"10", nPaddingLeft:"10"});	
		sIFR.replaceElement(".title", hline);
		sIFR.replaceElement(".titleblk", hlineblk);	
	}
}


function ajaxCleanup() {
	new AutoAjax();
	reReplaceSIFR();
	new OpenLinksExt();
}

window.addEvent('domready', function() {
	new AutoAjax();
	new OpenLinksExt();
	$$('div.hasslidernav').each(function(item) {
		new Suave(item.id);
	});
});

if(typeof sIFR == "function" && !sIFR.UA.bIsIEMac){
	var hline = named({sFlashSrc:"/_swf/avenirbook.swf", sColor:"#FFFFFF", sWmode:"transparent", nPaddingTop:"8", nPaddingRight:"10", nPaddingBottom:"10", nPaddingLeft:"10"});
	var hlineblk = named({sFlashSrc:"/_swf/avenirbook.swf", sColor:"#000000", sWmode:"transparent", nPaddingTop:"8", nPaddingRight:"10", nPaddingBottom:"10", nPaddingLeft:"10"});	
	sIFR.replaceElement(".title", hline);
	sIFR.replaceElement(".titleblk", hlineblk);	
};

/** mgk - 6/8/08 - urn off as collides with tinbu **/
OpenLinksExt = new Class({
	initialize: function() { return true; }
});

oldOpenLinksExt = new Class({
	initialize: function() {
		$$('a').each(function(item) {
			if (!(item.href.indexOf(base_domain) > -1 || item.href.indexOf('v-me.tv') > -1 || item.href.indexOf(':') == -1 || item.href.indexOf("goto")>-1 ) ) {
				item.addEvent('click', function(e) {
					var event = new Event(e);
					
					var trueTarget = event.target;
					while (trueTarget.tagName != 'A') {
						trueTarget = trueTarget.parentNode;
					}
					
					window.open(trueTarget.href);
					event.stop();
				});
			}
		});
	}
});

AutoSchedToggle = new Class({
	initialize: function() {
		// Bind AJAX handler to schedule list toggler
		$$('a.sltoggler').each(function(item) {
			item.addEvent('click', function(e) {
				var event = new Event(e);

				var desc = $(event.target.id + '_t');
				var toggler = $(event.target.id);
				var thetd = $(event.target.id + '_td');
				var theimg = $(event.target.id + '_img');
				
				if (desc.style.display == 'none') {
					desc.style.display = 'inline';
					theimg.style.display = 'inline';
					toggler.removeClass('sl_more');
					toggler.addClass('sl_less');
					thetd.addClass('detail_view');
				} else {
					desc.style.display = 'none';
					theimg.style.display = 'none';
					toggler.removeClass('sl_less');
					toggler.addClass('sl_more');
					thetd.removeClass('detail_view');
				}

				event.stop();
			});
		});
	}
});

Comments = new Class({
	initialize: function() {
		// Hide the 'add comment' forms
		$$('form.commentform').each(function(item) {
			item.style.display = 'none';
		});
		
		$$('div.comment_replies').each(function(item) {
			item.style.display = 'none';
		});
		
		$$('form.doshow').each(function(item) {
			item.style.display = 'block';
		});
		
		// Bind the 'add comment' form links
		$$('.addcomment').each(function(item) {
			item.addEvent('click', function(e) {
				var event = new Event(e);
				
				// Hide the 'add comment' forms
				$$('form.commentform').each(function(item) {
					item.style.display = 'none';
				});
				
				/*
				// Show all of the 'add comment' links
				$$('.addcomment').each(function(item) {
					item.style.display = 'inline';
				});
				
				event.target.style.display = 'none';
				*/
				
				$('form_' + event.target.id).style.display = 'block';

				event.stop();
			});
		});
		
		// Bind the 'view replies' links
		$$('.showreplies').each(function(item) {
			item.addEvent('click', function(e) {
				var event = new Event(e);
				
				$('block_' + event.target.id).style.display = 'block';

				event.stop();
			});
		});
	}
});


AutoAjax = new Class({
	initialize: function() {
		// Bind AJAX handler to forms		
		$$('form.ajax').each(function(item) {
			item.addEvent('submit', function(e) {
				var event = new Event(e);
				
				var parent = event.target.getParent();
				while (!parent.hasClass('module')) {
					parent = parent.getParent();
				}
				
/*				new Fx.Style(parent, 'opacity', {
					duration: 250, 
					transition: Fx.Transitions.quartInOut
				}).start(1, .3);
*/				
				var theform = $(event.target);
				
				var ajax = new Request.HTML({
		            url:       theform.action,
		            update:    parent,
		            method:    'post',
		            data:      '_ajax=1&' + $(event.target.id).toQueryString(),
		            evalScripts: true,
		            onComplete: function(){ajaxCleanup();}
		        }).send();
				
				
				event.stop();
			});
		});
		
		$$('select.ajax').each(function(item) {
			item.addEvent('change', function(e) {
				var event = new Event(e);
				
				var parent = event.target.getParent();
				while (!parent.hasClass('ajax')) {
					parent = parent.getParent();
				}
				
				var parentModule = event.target.getParent();
				while (!parentModule.hasClass('module')) {
					parentModule = parentModule.getParent();
				}

/*				
				new Fx.Style(parentModule, 'opacity', {
					duration: 100, 
					transition: Fx.Transitions.linear
				}).start(1, .3);
*/
							
			    var ajax = new Request.HTML({
		            url:       '/',
		            update:    parentModule,
		            method:    'post',
		            data:      '_ajax=1&' + $(parent).toQueryString(),
		            evalScripts: true,
		            onComplete: function(){ajaxCleanup();}
		        }).send();
				event.stop();
			});
		});

		// Bind AJAX handler to links
		$$('a.ajax').each(function(item) {
			item.addEvent('click', function(e) {
				var event = new Event(e);
				

				var trueTarget = event.target;
				while (trueTarget.tagName != 'A') {
					trueTarget = trueTarget.parentNode;
				}
				
				var parent = $(trueTarget).getParent();
				while (!parent.hasClass('module')) {
					parent = parent.getParent();
				}
				
/*
				new Fx.Style(parent, 'opacity', {
					duration: 100, 
					transition: Fx.Transitions.linear
				}).start(1, .3);*/
														
			    var ajax = new Request.HTML({
		            url:       trueTarget.href+'&_ajax=1',
		            update:    parent,
		            method:    'get',		            
		            evalScripts: true,
		            onComplete: function(){ajaxCleanup();}
		        }).send();
				
				
				event.stop();
			});
		});
	}
});



Localizer = new Class({
	initialize: function(event_source, zip) {
		this.event_source_id = event_source;
		this.zip = zip;
		var objBody = document.getElementsByTagName("body").item(0);

		/*selects = document.getElementsByTagName("select");
		for (i = 0; i != selects.length; i++) {
			selects[i].style.visibility = "hidden";
		}*/
		
		/*	
		$E('body').getChildren().each(function(item) {
			objBody.removeChild(item);
		});
		*/
		
		objBody.innerHTML = '';

		var objShadow = document.createElement('div');
		objShadow.setAttribute('id','shade');
		objBody.appendChild(objShadow);
		
		$('shade').addEvent('mouseover', function(e) {
			var event = new Event(e);
			event.stop();
		});
		
		$('shade').addEvent('mouseout', function(e) {
			var event = new Event(e);
			event.stop();
		});
		
		$('shade').addEvent('click', function(e) {
			var event = new Event(e);
			event.stop();
		});
		

		$('shade').setStyle('height', window.getScrollHeight()+'px');

		var objLocalizer = document.createElement('div');
		objLocalizer.setAttribute('id','localizer');
		objBody.appendChild(objLocalizer);
		
		 var ajax = new Request.HTML({
	            url:      '/?_ajax=1&_event_source='+this.event_source_id+'&shaded=1&localizer=1&zip='+this.zip,
	            update:    $('localizer'),
	            method:    'get',		            
	            evalScripts: true,
	            onComplete: function(){ajaxCleanup();}
	      }).send();
		
		
	},
	
	handleKeypress: function(e) {
		if (e == null) { // ie
			keycode = event.keyCode;
		} else { // mozilla
			keycode = e.which;
		}
		key = String.fromCharCode(keycode).toLowerCase();

	//	alert(keycode);
		if (keycode == 9 || keycode == 25) {
			$('localizer_zip').focus();
			return(false);
		} else {
			return(true);
		}
	}
});


Suave = new Class({
	initialize: function(element, options) {
		this.element = $(element);
		this.slideelement = $(element).getFirst();
		this.moveDirection = 0;
		this.moveSpeed = 0;
		this.currentPosition = 0;
		this.targetPosition = 0;
		this.timer = null;
		this.decayTimer = null;
		this.inMotion = false;
		this.mouseIn = false;
		this.boxLocation = this.element.getCoordinates();
		this.slideBoxLocation = this.element.getCoordinates();
		this.scroller = new Fx.Scroll(this.slideelement, {duration: 30, fps: 60});

		// Determine the filled width of the inner container
		this.innerWidth = 0;
		var widthCnt = 0;
		$$('#' + this.slideelement.id + ' a').each(function(item) {
			var myCoords = item.getCoordinates();
			widthCnt += myCoords.width;
		});
		this.innerWidth = widthCnt - this.slideBoxLocation.width;

		// Bind event handlers
		this.element.addEvent('mouseenter', this.handleMouseIn.bindAsEventListener(this));
		this.element.addEvent('mouseleave', this.handleMouseOut.bindAsEventListener(this));
		this.element.addEvent('mousemove', this.handleMouseMove.bindAsEventListener(this));
		
		// Set the scroller's starting point
		this.scroller.custom(0,0);
	},
	
	handleMouseIn: function(e) {
		if (!this.mouseIn) {
			this.mouseIn = true;
			$clear(this.decayTimer);
		}
	},
	
	handleMouseOut: function(e) {
		this.mouseIn = false;
		if (this.moveSpeed > 0) {
			this.decayTimer = this.handleDecay.periodical(30, this);
		}
	},
	
	handleMouseMove: function(e) {
		var posx = 0;
		var posy = 0;
		if (!e) var e = window.event;
		if (e.pageX || e.pageY) {
			posx = e.pageX;
			posy = e.pageY;
		} else if (e.clientX || e.clientY) {
			posx = e.clientX + document.body.scrollLeft
				+ document.documentElement.scrollLeft;
			posy = e.clientY + document.body.scrollTop
				+ document.documentElement.scrollTop;
		}

		if (posx < this.boxLocation.left || posx > this.boxLocation.left+this.boxLocation.width) {
			if (this.mouseIn) {
				this.mouseIn = false;
				this.decayTimer = this.handleDecay.periodical(30, this);
			}
			return(true);
		} else {
			if (!this.mouseIn) {
				this.mouseIn = true;
				$clear(this.decayTimer);
			}
		}

		this.moveSpeed = Math.abs(((posx - this.boxLocation.left) / this.boxLocation.width * 100) - 50);
		this.moveDirection = (posx - this.boxLocation.left) / this.boxLocation.width * 100 > 50 ? 1 : -1;

		$clear(this.decayTimer);

		if (!this.inMotion && this.moveSpeed >= 10) {
			this.inMotion = true;
			this.timer = this.handleMotion.periodical(31, this);
		} else if (this.moveSpeed < 10) {
			this.inMotion = false;
			$clear(this.timer);
		}

	},
	
	handleDecay: function() {
		if (this.moveSpeed > 0) {
			this.moveSpeed = this.moveSpeed - 1;
		}
				
		if (this.moveSpeed <= 0) {
			this.moveSpeed = 0;
			this.inMotion = false;
			$clear(this.timer);
			$clear(this.decayTimer);
		}
	},
	
	handleMotion: function() {
		var distRemaining;
		var effectiveSpeed;
		
		if (this.moveDirection < 0) {
			distRemaining = this.currentPosition;
		} else {
			distRemaining = this.innerWidth - this.currentPosition;
		}
		
		if (distRemaining > 50) {
			effectiveSpeed = ((this.moveSpeed - 10) / 10);
		} else {
			effectiveSpeed = (this.moveSpeed > distRemaining) ? ((distRemaining/2) + 10) / 10 : ((this.moveSpeed - 10) / 10);
		}
		
		this.targetPosition = this.currentPosition + (Math.floor(Math.pow(effectiveSpeed, 2)) * this.moveDirection);

		if (this.currentPosition > this.innerWidth) {
			this.targetPosition = this.innerWidth;
			this.inMotion = false;
			this.scroller.scrollTo(this.innerWidth, 0);
			$clear(this.timer);
		}
		
		if (this.currentPosition < 0) {
			this.targetPosition = 0;
			this.inMotion = false;
			this.scroller.scrollTo(0, 0);
			$clear(this.timer);
		}
		
		
		this.scroller.scrollTo(this.targetPosition, 0);
		this.currentPosition = this.targetPosition;
	}
});




function addShow(val) {

	var name = "_level0._flashVars.showID";
	var ie4 = document.all;
	var ns4 = document.layers;
	var firefox = document.getElementById && !document.all;

	if(val!="NotAnOption" && val!="Please Enter You Text Here"){

		try {
			if(ie4){
				window.document.ptv_player.SetVariable(name, val);
			}else if(ns4){
				window.document["ptv_player"].SetVariable(name, val);
			}else if(document.getElementById('ptv_player').SetVariable != undefined){
				document.getElementById('ptv_player').SetVariable(name, val);
			}else{
				document.embeds[0].SetVariable(name, val);
			}
		} catch (e){ }
	}

}


function getAncestorByTagName(node, tagName) {
    var n = node;
    while ((n = n.parentNode) != null) {
        if (n.nodeType == 1 && n.tagName.toLowerCase() == tagName.toLowerCase())
            break;
    }
    return n;
}

function activateTab(origin, target) {
	var tablist = getAncestorByTagName(origin, "ul");
	var thisTab = getAncestorByTagName(origin, "li");
	var item, cnt = 0;

	while (item = tablist.getElementsByTagName("li")[cnt++]) {
		item.className = '';
	}

	thisTab.className = 'currenttab';
	
	var divs = document.getElementsByTagName("div");
	for (var i=0; i<divs.length; i++ ) {
	  if (divs[i].className.indexOf("sheet") == -1) continue;
	  if (divs[i].getAttribute("id") != target) {
	    divs[i].style.display = "none";
	  } else {
	    divs[i].style.display = "block";
	  }
	}
	
	//_ge(target).style.display = 'block';
}


FormHinter = new Class({
	initialize: function(form_id, input_id, hint_text, is_password)
	{
		this.form_obj = $(form_id);
		this.input_obj = $(input_id);
		this.hint_text = hint_text + ' ';
		this.is_password = is_password;
		
		if (this.input_obj.value == '') {
			if (this.is_password) {
				this.input_obj.type = 'text';
			}
			this.input_obj.value = this.hint_text;
		}

		/*this.input_obj.addEvent('focus', this.handleFocus.bindAsEventListener(this));
		this.input_obj.addEvent('blur', this.handleBlur.bindAsEventListener(this));
		this.form_obj.addEvent('submit', this.handleSubmit.bindAsEventListener(this));*/
	},
	
	handleFocus: function(e)
	{
		if (this.input_obj.value == this.hint_text) {
			this.input_obj.value = '';
			if (this.is_password) {
				this.input_obj.type = 'password';
			}
		}
	},
	
	handleBlur: function(e)
	{
		if (this.input_obj.value == '') {
			if (this.is_password) {
				this.input_obj.type = 'text';
			}
			this.input_obj.value = this.hint_text;
		}
	},
	
	handleSubmit: function(e)
	{
		if (this.input_obj.value == this.hint_text) {
			this.input_obj.value = '';
			if (this.is_password) {
				this.input_obj.type = 'password';
			}
		}
	}
});


	function filter (phrase, _id){
		var words = phrase.value.toLowerCase().split(" ");
		var table = document.getElementById(_id);
		var ele;
		for (var r = 1; r < table.rows.length; r++){
			ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,"");
		        var displayStyle = 'none';
		        for (var i = 0; i < words.length; i++) {
			    if (ele.toLowerCase().indexOf(words[i])>=0)
				displayStyle = '';
			    else {
				displayStyle = 'none';
				break;
			    }
		        }
			table.rows[r].style.display = displayStyle;
		}
	}