//////////////////////////////////////////////////////////////////
// qTip - CSS Tool Tips - by Craig Erskine
// http://qrayg.com | http://solardreamstudios.com
//
// Inspired by code from Travis Beckham
// http://www.squidfingers.com | http://www.podlob.com
//////////////////////////////////////////////////////////////////



var qTipTag = "a"; //Which tag do you want to qTip-ize? Keep it lowercase!//
var qTipX = -20; //This is qTip's X offset//
var qTipY = 15; //This is qTip's Y offset//



//There's No need to edit anything below this line//
tooltip = {
  name : "qTip",
  offsetX : qTipX,
  offsetY : qTipY,
  tip : null
}

tooltip.init = function () {
	var tipNameSpaceURI = "http://www.w3.org/1999/xhtml";
	if(!tipContainerID){ var tipContainerID = "qTip";}
	var tipContainer = document.getElementById(tipContainerID);

	if(!tipContainer) {
	  tipContainer = document.createElementNS ? document.createElementNS(tipNameSpaceURI, "div") : document.createElement("div");
		tipContainer.setAttribute("id", tipContainerID);
	  document.getElementsByTagName("body").item(0).appendChild(tipContainer);
	}

	if (!document.getElementById) return;
	this.tip = document.getElementById (this.name);
	if (this.tip) document.onmousemove = function (evt) {tooltip.move (evt)};

	var a, sTitle;
	var anchors = document.getElementsByTagName (qTipTag);

	for (var i = 0; i < anchors.length; i ++) {
		a = anchors[i];
		sTitle = a.getAttribute("title");
		if(sTitle) {
			a.setAttribute("tiptitle", sTitle);
			a.removeAttribute("title");
			a.onmouseover = function() {tooltip.show(this.getAttribute('tiptitle'))};
			a.onmouseout = function() {tooltip.hide()};
		}
	}
}

tooltip.move = function (evt) {
	var x=0, y=0;
	if (document.all) {//IE
		x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
		x += window.event.clientX;
		y += window.event.clientY;
		
	} else {//Good Browsers
		x = evt.pageX;
		y = evt.pageY;
	}
	this.tip.style.left = (x + this.offsetX) + "px";
	this.tip.style.top = (y + this.offsetY) + "px";
}

tooltip.show = function (text) {
	if (!this.tip) return;
	this.tip.innerHTML = text;
	this.tip.style.display = "block";
}

tooltip.hide = function () {
	if (!this.tip) return;
	this.tip.innerHTML = "";
	this.tip.style.display = "none";
}

window.onload = function () {
	tooltip.init ();
}


//Phillip Pullman, http://www.onlinetools.org/tools/dominclude/

DOMinccfg={
// CSS classes
// trigger DOMinclude
  triggerClass:'DOMpop',
// class of the popup
  popupClass:'popup',
// class of the link when the popup 
// is open
  openPopupLinkClass:'popuplink',
// text to add to the link when the 
// popup is open 
  displayPrefix:'',
// filter to define which files should
// not open in an iframe
  imagetypes:'jpg|JPG|JPEG|jpeg|gif|GIF|png|PNG',
// dimensions of the popup
  frameSize:[340,250]
}

DOMinclude={
	ifrContainer:null,
	init:function(){
		if(!document.getElementById || !document.createTextNode){return;}
		var allLinks=document.getElementsByTagName('a');
		for(var i=0;i<allLinks.length;i++){
			if(!DOMinclude.cssjs('check',allLinks[i],DOMinccfg.triggerClass)){continue;}
			DOMinclude.addEvent(allLinks[i],'click',DOMinclude.openPopup,false);			
			allLinks[i].preset=allLinks[i].innerHTML;
			allLinks[i].onclick=DOMinclude.safariClickFix;
		}
	},
	openPopup:function(e){
		var t=DOMinclude.getTarget(e);
		if(t.nodeName.toLowerCase()!='a'){
			t=t.parentNode;	
		}
		if(DOMinclude.ifrContainer){
			DOMinclude.killPopup();
			t.innerHTML=t.preset;
			DOMinclude.cssjs('remove',t,DOMinccfg.openPopupLinkClass);
		} else {		
			DOMinclude.cssjs('add',t,DOMinccfg.openPopupLinkClass);
			t.innerHTML=DOMinccfg.displayPrefix+t.preset;
			DOMinclude.ifrContainer=document.createElement('div');
			DOMinclude.cssjs('add',DOMinclude.ifrContainer,DOMinccfg.popupClass);
			var targetURL=t.getAttribute('href');
			var ftype=targetURL.substring(targetURL.lastIndexOf('.')+1,targetURL.length);
			ftype=new RegExp(DOMinccfg.imagetypes).test(ftype)?'img':'iframe';
			var ifr=document.createElement(ftype);
			if(ftype=='iframe'){
				ifr.style.width=DOMinccfg.frameSize[0]+'px';
				ifr.style.height=DOMinccfg.frameSize[1]+'px';
			}
			DOMinclude.ifrContainer.appendChild(ifr);
			ifr.setAttribute('src',targetURL);
			document.body.appendChild(DOMinclude.ifrContainer);
			DOMinclude.positionPopup(t);
		}
		DOMinclude.cancelClick(e);
	},
	positionPopup:function(o){
		var x=0;
		var y=0;
		var h=o.offsetHeight;
		while (o != null){
			x += o.offsetLeft;
			y += o.offsetTop;
			o = o.offsetParent;
		}
		DOMinclude.ifrContainer.style.left=x+'px';
		DOMinclude.ifrContainer.style.top=y+h+'px';
	},
	killPopup:function(e){
		DOMinclude.ifrContainer.parentNode.removeChild(DOMinclude.ifrContainer);
		DOMinclude.ifrContainer=null;
		DOMinclude.cancelClick(e);
	},
	getTarget:function(e){
		var target = window.event ? window.event.srcElement : e ? e.target : null;
		if (!target){return false;}
		while(target.nodeType!=1 && target.nodeName.toLowerCase()!='body'){
			target=target.parentNode;
		}
		return target;
	},
	cancelClick:function(e){
		if (window.event && window.event.cancelBubble 
		    && window.event.returnValue){
			window.event.cancelBubble = true;
			window.event.returnValue = false;
			return;
		}
		if (e && e.stopPropagation && e.preventDefault){
			e.stopPropagation();
			e.preventDefault();
		}
	},
	addEvent: function(elm, evType, fn, useCapture){
		if (elm.addEventListener){
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evType] = fn;
		}
	},
	cssjs:function(a,o,c1,c2){
		switch (a){
			case 'swap':
				o.className=!DOMinclude.cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
			break;
			case 'add':
				if(!DOMinclude.cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
			break;
			case 'remove':
				var rep=o.className.match(' '+c1)?' '+c1:c1;
				o.className=o.className.replace(rep,'');
			break;
			case 'check':
				var found=false;
				var temparray=o.className.split(' ');
				for(var i=0;i<temparray.length;i++){
					if(temparray[i]==c1){found=true;}
				}
				return found;
			break;
		}
	},
    safariClickFix:function(){
      return false;
    }
}
DOMinclude.addEvent(window,'load',DOMinclude.init,false);

var IE = (navigator.appName.indexOf ("Microsoft") != -1) ? 1 : 0;

function flashtag(src, width, height, id) {
	var ret = '';
	ret += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" id="' + id + '" width="' + width + '" height="' + height + '" align="middle">\n'
	ret += '<param name="allowScriptAccess" value="sameDomain" />\n'
	ret += '<param name="movie" value="' + src + '" />\n'
	ret += '<param name="quality" value="high" />\n'
	ret += '<param name="bgcolor" value="#ffffff" />\n'
	ret += '<embed src="' + src + '" quality="high" bgcolor="#ffffff" width="' + width + '" height="' + height + '" swLiveConnect=true id="' + id + '" name="' + id + '" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n'
	ret += '</object>';
	return ret;
}

function playMovie (path, width, height, duration) {
	duration = duration || 60;
	width = width || 320;
	height = height || 240;
	
	clearMovie();
	var swfsrc = "InPlacePlayer.swf?src=" + path + "&dur=" + duration;
	
	var mp = document.getElementById('movieplayer');
	var ft = flashtag(swfsrc, width, height, 'moov');
	mp.innerHTML = ft;
	mp.style.visibility = "visible";
}

function clearMovie() {
	var mp = document.getElementById('movieplayer');
	mp.innerHTML = "";
	mp.style.visibility = "hidden";
}			

