/*\------------------------------------------------------------------------

	>> helmisvfx.com
	>> v. 19/07/06				
	>> Kostis Sakkas				
		
------------------------------------------------------------------------\*/


window.onload	= function() {setFooter();emailCloak(); }
window.onresize	= function() {setFooter();}


/*\------------------------------------------------------------------------
	
	Toggles visibility on and off 
	
------------------------------------------------------------------------\*/


function toggle(id){
	var el = document.getElementById(id);
	el.style.display = (el.style.display == 'none' || el.style.display == '') ? 'block' : 'none';
}

/*\------------------------------------------------------------------------
	
	Tabs for Portfolio area
	yahoo should get the most of the credits :-)
	
------------------------------------------------------------------------\*/

var tabs = new Array();
tabs["home"] = new Array("details-data","video-data");

var tabHolders = new Array();
tabHolders["home"] = new Array("tab1","tab2");

function swapTabs(context, objectId, style) {
	dataObj = document.getElementById("data");
	if ((style!="") && dataObj)
		dataObj.className = style;
	
	obj = document.getElementById(objectId);
	if (!obj || !tabs[context]) {
		return false;
	}
	
	len = tabs[context].length;
	clen = tabHolders[context].length;
	tHObj = null;
	
	for (i=0;i<clen;i++) {
		tHObj = document.getElementById(tabHolders[context][i]);
		if (tHObj) {
			tHObj.className = "off";
		}
	}
	
	for (i=0;i<len;i++) {
		tStr = tabs[context][i];
		tObj = document.getElementById(tStr);
		//alert(tObj.id);
		tHObj = document.getElementById(tabHolders[context][i]);
	
		if (tObj && tHObj) {
			if (tStr == objectId) {
				tHObj.className = "on";
				tObj.style.display = "block";
			}
			else {
				tObj.style.display = "none";
			}
		}
	
	}
	return false;
}


function gallery(id, med, large){
	zObj 	= 	document.getElementById("z" + id);
	iObj 	= 	document.getElementById("screenshot");
	zoomObj = 	document.getElementById("zoom");
	if (!iObj) return false;
	
	if (med){
		iObj.src="/uploaded/images/m/" + med;
		if (!zoomObj) return false;
		if (large){
			for (var i=0; i<zoomObj.childNodes.length; i++)
				zoomObj.childNodes[i].className = "hide";
			Effect.Appear(zoomObj);
			zObj.className		= 'show';	
		}
		else
			Effect.Fade(zoomObj);
	}
	return false;
}

/*\------------------------------------------------------------------------
	
	Position footer div at the bottom of the page using DOM
	
	Source from the precious AListApart.com
	Article : Exploring Footers
	URL : http://www.alistapart.com/articles/footers/
	[changed the setFooter() a bit]

------------------------------------------------------------------------\*/

function getWindowHeight() {
	var windowHeight = 0;
	if (typeof(window.innerHeight) == 'number') {
		windowHeight = window.innerHeight;
	}
	else {
		if (document.documentElement && document.documentElement.clientHeight) {
			windowHeight = document.documentElement.clientHeight;
		}
		else {
			if (document.body && document.body.clientHeight) {
				windowHeight = document.body.clientHeight;
			}
		}
	}
	return windowHeight;
}
		
function setFooter() {
	if (document.getElementById) {
		var windowHeight = getWindowHeight();
		if (windowHeight > 0) {
			var siteWrapperElem  = document.getElementById('site-wrapper');
			var siteWrapperHeight  = siteWrapperElem.offsetHeight;
			var footerWrapperHeight  = document.getElementById('site-footer').offsetHeight;
			
			var newHeight = windowHeight - footerWrapperHeight;
			/*
			alert('WINDOW HEIGHT : ' +  windowHeight + 
				  '\r\n SITE WRAPPER HEIGHT : ' +  siteWrapperHeight + 
				  '\r\n FOOTER WRAPPER HEIGHT : ' + footerWrapperHeight +
				  '\r\n NEW HEIGHT : ' + newHeight );
			*/
			if (siteWrapperHeight < newHeight)
				siteWrapperElem.style.height =newHeight + 'px';
		}
	}
}


/*\------------------------------------------------------------------------
	
	Replaces email addresses with the title attr.
	credits : initial idea from http://www.badboy.ro/articles/2005-01-25/index.php
	
------------------------------------------------------------------------\*/

emailCloak = function() {
	if (document.getElementById) {
		var alltags = document.all? document.all : document.getElementsByTagName("*");
		for (i=0; i < alltags.length; i++) {
			if (alltags[i].className == "emailCloak") {
				var oldText = alltags[i].firstChild;
				var emailAddress = alltags[i].firstChild.nodeValue;
				var user = emailAddress.substring(0, emailAddress.indexOf("("));
				var website = emailAddress.substring(emailAddress.indexOf(")")+1, emailAddress.length);
				var newText = user+"@"+website;
			  	var a = document.createElement("a");
			  	a.href = "mailto:"+newText;
				var address = document.createTextNode(newText);
				a.appendChild(address);
				alltags[i].replaceChild(a,oldText);
			}
		}
	}
}