/* 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();
	flashtext();
	//addflashlink();
}

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;
}