// popup
function popup(url, width, height) {
	
	// calculate left and top offset to center window
	var left = Math.floor((screen.availWidth - width) / 2);
	var top = Math.floor((screen.availHeight - height) / 2);
	
	// open window
	window.open("http://waterisliferecords.com"+url,"","height="+height+",width="+width+",left="+left+",top="+top);
}

// slide
function slide(elemid, pos) {
	
	// get reference to element
	element = document.getElementById(elemid);
	
	// set background position
	element.style.backgroundPosition = pos;
}

// convertLink
function convertLink(cssClass) {
	
	// get all anchors with certain class
	elementArr = getElementsByClass(cssClass, null, "a");
	
	// interate through elements
	for (var i in elementArr) {
		// get href
		var href = elementArr[i].href;
		
		// add event listener
		showPlayer.href = href;
		addEvent(elementArr[i], "click", showPlayer);
		
		// clear href
		elementArr[i].href = "javascript:void(0)";
	}
}

// showPlayer
function showPlayer() {
	// create object tag element
	var myElem = document.createElement('div');
	myElem.setAttribute("class", "miniplayer");
	myElem.appendChild(createObjectTag(showPlayer.href, "200px", "16px", true));
	
	// insert player into page after link
	this.parentNode.insertBefore(myElem, this.nextSibling);
	
	return false;
}

function createObjectTag(url, width, height, autoPlay){
	// create object element
	var myobj = document.createElement('object');
	
	// set object attributes
	myobj.setAttribute("CLASSID", "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B");
	myobj.setAttribute("CODEBASE", "http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0B");
	myobj.setAttribute("HEIGHT", height);
	myobj.setAttribute("WIDTH", width);
	
	// create parameter objects
	var param = document.createElement('param');
	param.setAttribute("controller", "true");
	myobj.appendChild(param);
	
	var param2 = document.createElement('param');
	param2.setAttribute("type", "video/quicktime");
	myobj.appendChild(param2);
	
	var param3 = document.createElement('param');
	param3.setAttribute("autoplay", autoPlay);
	myobj.appendChild(param3);
	
	var param4 = document.createElement('param');
	param4.setAttribute("target", "myself");
	myobj.appendChild(param4);
	
	var param5 = document.createElement('param');
	param5.setAttribute("src", url);
	myobj.appendChild(param5);
	
	var param6 = document.createElement('param');
	param6.setAttribute("pluginspage", "http://www.apple.com/quicktime/download/index.html");
	myobj.appendChild(param6);
	
	// create embed tag
	var embed = document.createElement('embed');
	
	// set embed tag attributes
	embed.setAttribute("HEIGHT", height);
	embed.setAttribute("WIDTH", width);
	embed.setAttribute("CONTROLLER", "true");
	embed.setAttribute("autoplay", autoPlay);
	embed.setAttribute("TARGET", "myself");
	embed.setAttribute("SRC", url);
	embed.setAttribute("type", "video/quicktime");
	embed.setAttribute("pluginspage", "http://www.apple.com/quicktime/download/");
	myobj.appendChild(embed);
	
	return myobj;
}



function getClick() {
	//addEvent(document.body, "click", clickHandler, true);
	if (document.body.addEventListener) {
		document.body.addEventListener("click", clickHandler, true);
	}
}
		
function clickHandler(e) {
	if (e.target.tagName=='A') {
		e.preventDefault();
	}
}

function forceLinkPop(rootnode){
	// get reference to node to get tags
	node = document.getElementById(rootnode);
	
	// get all anchors
	els = node.getElementsByTagName("a");
	
	// iterate through anchors and force target blank
	var elsLen = els.length;
	for (i = 0, j = 0; i < elsLen; i++) {
		els[i].target = "_blank";
	}
}

//------------------------------------------------
// Common javascript functions
//------------------------------------------------
// getElementsByClass
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function addEvent(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;
	}
}


function insertAfter(parent, node, referenceNode) {
	parent.insertBefore(node, referenceNode.nextSibling);
}