/* This source has been formatted by an unregistered SourceFormatX */
/* If you want to remove this info, please register this shareware */
/* Please visit http://www.textrush.com to get more information		*/

function externalLinks()
{
	if (!document.getElementsByTagName)
	{
		return ;
	}
	var anchors = document.getElementsByTagName("a");
	for (var i = 0; i < anchors.length; i++)
	{
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
		{
			anchor.target = "_blank";
			anchor.title = (anchor.title != "") ? anchor.title + " (opens in a new window)": "opens in a new window";
			anchor.className = (anchor.className != '') ? anchor.className + 'external ': 'external ';
		}
	}
}

function getElementsByClassName(oElm, strTagName, strClassName)
{
	var arrElements = (strTagName == "*" && oElm.all) ? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g,"\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for (var i = 0; i < arrElements.length; i++)
	{
		oElement = arrElements[i];
		if (oRegExp.test(oElement.className))
		{
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function flashtext()
{
	//sIFR.replaceElement(named({sSelector:"body h1", sFlashSrc:"vandenkeere.swf", sColor:"#000000", sLinkColor:"#000000", sBgColor:"#FFFFFF", sHoverColor:"#CCCCCC", nPaddingTop:20, nPaddingBottom:20, sFlashVars:"textalign=center&offsetTop=6", sWmode:"transparent"}));
	sIFR.replaceElement(named({sSelector: "body h1", sFlashSrc: "atrotis_normal.swf", sColor: "#97005E", sLinkColor: "#97005E", sBgColor: "#FFFFFF", sHoverColor: "#fffff", nPaddingTop: 0, nPaddingBottom: 0, sFlashVars: "textalign=left&offsetTop=0"}));
	//sIFR.replaceElement(named({sSelector: "body .navlinks span", sFlashSrc: "atrotis_bold_links.swf", sColor: "#97005E", sHoverColor: "#FFFFFF", nPaddingTop: 0, nPaddingBottom: 0, sFlashVars: "textalign=left&offsetTop=0", sWmode: "transparent"}));
	sIFR.replaceElement(named({sSelector: "body .comptitle span", sFlashSrc: "atrotis_light.swf", sColor: "#666666", sHoverColor: "#FFFFFF", nPaddingTop: 0, nPaddingBottom: 0, sFlashVars: "textalign=left&offsetTop=0", sWmode: "transparent"}));
}

function init()
{
	externalLinks();
}

/********************************/
/*        Sliding menu          */
/********************************/
function slideMenu(element) {
  	element = $(element);
  	if(Element.visible(element)){
		var uls = element.getElementsByTagName('ul');
		for(var i=0; i< uls.length; i++)
		{
			if(uls[i].style.display == 'block') {
				uls[i].style.display = 'none';
			}else{
				uls[i].style.display = 'block';
			}
		}
		new Effect.SlideDown(element);
	}
}
function addflashlink()
{
	a=getElementsByClassName(document.body, "a", "navlinks")
	if (a.length>0)
	{
		for(i=0;i<a.length;i++)
		{
			link=a[i].href
			embed=getElementsByClassName(a[i],"embed","sIFR-flash")
			if (embed.length>0)
			{
				embed[0].setAttribute("flashvars",embed[0].getAttribute("flashvars") + "&customlink=" + link)
			}
			param=a[i].getElementsByTagName("param")
			if (param.length>0)
			{
				for (j=0;j<param.length;j++)
				{
					if (param[j].getAttribute("name")=="movie")
					{
						param[j].setAttribute("value",param[j].getAttribute("value") + "&customlink=" + link)
					}
				}
			}
		}
	}
}

function contactformrequiredfield()
{
	var themessage = "You are required to complete the following fields: ";
	if (document.getElementById("name").value == "")
	{
		themessage = themessage + " - Name";
	}
	if (document.getElementById("email").value == "")
	{
		themessage = themessage + " - Email";
	}
	if (document.getElementById("tel").value == "")
	{
		themessage = themessage + " - Telephone Number";
	}
	//alert if fields are empty and cancel form submit
	if (themessage == "You are required to complete the following fields: ")
	{
		return true;
	}
	else
	{
		alert(themessage);
		return false;
	}
}

function validatecontactform()
{
	if (contactformrequiredfield() && emailCheck(document.getElementById('email').value, 1))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function emailCheck(emailStr)
{

	/* The following variable tells the rest of the function whether or not
	to verify that the address ends in a two-letter country or well-known
	TLD.	1 means check it, 0 means don't. */
	var checkTLD = 1;

	/* The following is the list of known TLDs that an e-mail address must end with. */
	var knownDomsPat =	/	^ (arpa | root | aero | biz | cat | com | coop | edu | gov | info | int | jobs | mil | mobi | museum | name | net | org | pro | travel | xxx)$ / ;

	/* The following pattern is used to check if the entered e-mail address
	fits the user@domain format.	It also is used to separate the username
	from the domain. */
	var emailPat =	/	^ (. + )@(. + )$ / ;

	/* The following string represents the pattern for matching all special
	characters.	We don't want to allow special characters in the address. 
	These characters include ( ) < > @ , ; : \ " . [ ] */
	var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

	/* The following string represents the range of characters allowed in a 
	username or domainname.	It really states which chars aren't allowed.*/
	var validChars = "\[^\\s" + specialChars + "\]";

	/* The following pattern applies if the "user" is a quoted string (in
	which case, there are no rules about which characters are allowed
	and which aren't; anything goes).	E.g. "jiminy cricket"@disney.com
	is a legal e-mail address. */
	var quotedUser = "(\"[^\"]*\")";

	/* The following pattern applies for domains that are IP addresses,
	rather than symbolic names.	E.g. joe@[123.124.233.4] is a legal
	e-mail address. NOTE: The square brackets are required. */
	var ipDomainPat =	/	^	\[( \d{1, 3}) \.( \d{1, 3}) \.( \d{1, 3}) \.( \d{1, 3}) \] $ / ;

	/* The following string represents an atom (basically a series of non-special characters.) */
	var atom = validChars + '+';

	/* The following string represents one word in the typical username.
	For example, in john.doe@somewhere.com, john and doe are words.
	Basically, a word is either an atom or quoted string. */
	var word = "(" + atom + "|" + quotedUser + ")";

	// The following pattern describes the structure of the user
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");

	/* The following pattern describes the structure of a normal symbolic
	domain, as opposed to ipDomainPat, shown above. */
	var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$");

	/* Finally, let's start trying to figure out if the supplied address is valid. */

	/* Begin with the coarse pattern to simply break up user@domain into
	different pieces that are easy to analyze. */
	var matchArray = emailStr.match(emailPat);
	if (matchArray == null)
	{

		/* Too many/few @'s or something; basically, this address doesn't
		even fit the general mould of a valid e-mail address. */
		alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user = matchArray[1];
	var domain = matchArray[2];

	// Start by checking that only basic ASCII characters are in the strings (0-127).
	for (i = 0; i < user.length; i++)
	{
		if (user.charCodeAt(i) > 127)
		{
			alert("Ths username contains invalid characters.");
			return false;
		}
	}
	for (i = 0; i < domain.length; i++)
	{
		if (domain.charCodeAt(i) > 127)
		{
			alert("Ths domain name contains invalid characters.");
			return false;
		}
	}

	// See if "user" is valid 
	if (user.match(userPat) == null)
	{

		// user is not valid
		alert("The username doesn't seem to be valid.");
		return false;
	}

	/* if the e-mail address is at an IP address (as opposed to a symbolic
	host name) make sure the IP address is valid. */
	var IPArray = domain.match(ipDomainPat);
	if (IPArray != null)
	{

		// this is an IP address
		for (var i = 1; i <= 4; i++)
		{
			if (IPArray[i] > 255)
			{
				alert("Destination IP address is invalid!");
				return false;
			}
		}
		return true;
	}

	// Domain is symbolic name.	Check if it's valid.
	var atomPat = new RegExp("^" + atom + "$");
	var domArr = domain.split(".");
	var len = domArr.length;
	for (i = 0; i < len; i++)
	{
		if (domArr[i].search(atomPat) ==	- 1)
		{
			alert("The domain name does not seem to be valid.");
			return false;
		}
	}

	/* domain name seems valid, but now make sure that it ends in a
	known top-level domain (like com, edu, gov) or a two-letter word,
	representing country (uk, nl), and that there's a hostname preceding 
	the domain or country. */
	if (checkTLD && domArr[domArr.length - 1].length != 2 && domArr[domArr.length - 1].search(knownDomsPat) ==	- 1)
	{
		alert("The address must end in a well-known domain or two letter " + "country.");
		return false;
	}

	// Make sure there's a host name preceding the domain.
	if (len < 2)
	{
		alert("This address is missing a hostname!");
		return false;
	}
	// If we've gotten this far, everything's valid!
	return true;
}

function viewimage(){
	/*body=document.getElementsByTagName("body")
	if (body.length>0)
	{
		print=getElementsByClassName(body[0], "a", "print")
		if (print.length>0)
		{
			for(i=0;i<print.length;i++)
			{
				print[i].style.display="none";
			}
		}
		montage=getElementsByClassName(body[0], "div", "montage")
		if (montage.length>0)
		{
			for(i=0;i<montage.length;i++)
			{
				montage[i].style.display="block";
			}
		}
	}*/
	body=document.getElementsByTagName("body")
	if (body.length>0)
	{
		gallery=document.getElementById("trueContainer")
		if (gallery!=null)
		{
			imagelink=gallery.getElementsByTagName("a")
			if (imagelink.length>0)
			{
				for(i=0;i<imagelink.length;i++)
				{
					imagelink[i].onclick= function() { displayimage(this); return false; }
					imagelink[i].rel=""
					imagelink[i].href="#"
					image=imagelink[i].getElementsByTagName("img")
					if (image.length>0)
					{
						image[0].alt=image[0].alt + " - click to enlarge"
						image[0].title=image[0].title + " - click to enlarge"
					}
				}
			}
		}
		largeprojectimage=getElementsByClassName(body[0], "a", "largeprojectimage")
		if (largeprojectimage.length>0)
		{
			for(i=0;i<largeprojectimage.length;i++)
			{
				largeprojectimage[i].onclick= function() { displayimage(this); return false; }
				largeprojectimage[i].rel=""
				largeprojectimage[i].href="#"
				image=largeprojectimage[i].getElementsByTagName("img")
				if (image.length>0)
				{
					image[0].alt=image[0].alt + " - click to enlarge"
					image[0].title=image[0].title + " - click to enlarge"
				}
			}
		}
	}
}
function displayimage(anchor)
{
	alert("1")
	body=document.getElementsByTagName("body")
	if (body.length>0)
	{
		img=anchor.getElementsByTagName("img")
		if (img.length>0)
		{
			width=body[0].offsetWidth
			height=body[0].offsetHeight
			
			gallery=document.getElementById("gallery")
			if (gallery==null)
			{
				body[0].innerHTML=body[0].innerHTML + "<div id=\"gallery\"><div class=\"galleryholder\"><img src=\"" + img[0].src + "\" alt=\"" + img[0].alt + "\" title=\"" + img[0].title + "\" /><div><span class=\"images\">images 2 of 4 <a>< prev</a><a> next ></a></span><a class=\"close\" href=\"javascript:closegallery();\">close</a></div></div></div>"
			}
			if (gallery!=null)
			{
				body[0].style.position="relative"
				gallery.style.width=width + "px"
				gallery.style.height=height + "px"
				gallery.style.display="block"
			}
		}
	}
}
function closegallery()
{
	gallery=document.getElementById("gallery")
	if (gallery!=null)
	{
		gallery.style.display="none"
	}
}
