// Copyright 2006-2007 javascript-array.com
var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// open hidden layer
function mopen(id)
{	
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 
function scrolltotop() {
  scrollTo(0,200);
}
window.onload = initForms;


function SubmitForm() {

	var url = "sendform.php";
	var XHRequest = false;
	var FormRequest = "";
		
	if(window.XMLHttpRequest){
	XHRequest = new XMLHttpRequest();
	} else if(window.ActiveXObject){
	XHRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
		
	if(XHRequest)
	{
	XHRequest.open("POST", url);
	XHRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XHRequest.onreadystatechange = function(){
	
	if(XHRequest.readyState < 4){
	
	document.getElementById("FormStatus").innerHTML = 'Please wait...';	
	} 
	else if(XHRequest.readyState == 4 && XHRequest.status == 200)
		{
		document.getElementById("FormStatus").innerHTML = XHRequest.responseText;
		delete XHRequest;
		XHRequest = null;
		}
	}
	for(i=0; i<document.form1.elements.length; i++)
	{
	if (document.form1.elements[i].name="contact") {
		FormRequest = FormRequest + escape(document.form1.elements[i].name) + "=" + escape(document.form1.elements[i].value) + "&";
	}
	}
	XHRequest.send(FormRequest);
	}
	
}



function CloseMessage() {
document.getElementById('formmessage').style.display='none';
	
}

$(document).ready(function() {

	$('.scrollingtext').bind('marquee', function() {
		var ob = $(this);
var tw = ob.width();
var ww = ob.parent().width();
		ob.css({ right: -tw });
		ob.animate({ right: ww }, 60000, 'linear', function() {
			ob.trigger('marquee');
		});
	}).trigger('marquee');

});
$(document).unload( function () {  } );


function getNewFile(link){

	var page="page.php?page=" + link.substring(30);
	fileRequest(page);
	
	return false;
}
function fileRequest(url){
	if (window.XMLHttpRequest){
		xhr = new XMLHttpRequest();
	}
	else {
		if (window.ActiveXObject){
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}
	if (xhr) {
		xhr.onreadystatechange =showContents;
		xhr.open("GET", url, true);
		xhr.send(null);
	}
	else {
		document.getElementById("text").innerHTML = "Sorry, but I could'nt create an XMLHttpRequest";
	}
}
function showContents(){
	if (xhr.readyState ==4){
		if (xhr.status == 200){
			var outMsg = (xhr.responseXML && xhr.responseXML.contentType=="text/xml")? xhr.responseXML.getElementsByTagName("choices")[0].textContent : xhr.responseText;
		}
		else{
			var outMsg ="there was a problem with the request" +xhr.status;
		}
		document.getElementById("text"). innerHTML =outMsg;
	}
}

function initForms() {
	for (var i=0; i< document.forms.length; i++) {
		document.getElementById('submit').onclick=scrolltotop;
		document.forms[i].onsubmit = function() {return validForm();}
	}
}

function callform(){

document.getElementById('submit').onclick=SubmitForm;
}
function SubmitForm() {
	var url = "sendform.php";
	var XHRequest = false;
	var FormRequest = "";
		
	if(window.XMLHttpRequest){
	XHRequest = new XMLHttpRequest();
	} else if(window.ActiveXObject){
	XHRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
		
	if(XHRequest){
	XHRequest.open("POST", url);
	XHRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	XHRequest.onreadystatechange = function(){
	if(XHRequest.readyState < 4){
		document.getElementById("FormStatus").innerHTML = 'Please wait...';
	} else if(XHRequest.readyState == 4 && XHRequest.status == 200){
		document.getElementById("FormStatus").innerHTML = XHRequest.responseText;
		delete XHRequest;
		XHRequest = null;
		}
	}
	for(i=0; i<document.form1.elements.length; i++)
	{
		if (document.form1.elements[i].name=="contact") 
			{
			if (document.form1.elements[i].checked) 
			{
		FormRequest = FormRequest + escape(document.form1.elements[i].name) + "=" + escape(document.form1.elements[i].value) + "&";
			}
			}
		else if (document.form1.elements[i].type=="checkbox") 
			{
			if (document.form1.elements[i].checked) 
			{
		FormRequest = FormRequest + escape(document.form1.elements[i].name) + "=" + escape(document.form1.elements[i].value) + "&";
			}
			}
		else 
			{
		FormRequest = FormRequest + escape(document.form1.elements[i].name) + "=" + escape(document.form1.elements[i].value) + "&";
			}
	}
	XHRequest.send(FormRequest);
	}
	
}
function clear_form() {
	for(i=0; i<document.form1.elements.length; i++)
	{
		if (document.form1.elements[i].type!="button" && document.form1.elements[i].type!="reset") {
			document.form1.elements[i].value = "";
		}
	}
}



function validForm() {
	var allGood = true;
	var allTags = document.getElementsByTagName("*");
	for (var i=0; i<allTags.length; i++) {
		if (allTags[i].nodeName== "TEXTAREA" || allTags[i].nodeName== "INPUT" ){
		if (!validTag(allTags[i])) {
			allGood = false;
		}
		}
	}
	if(allGood == true)
	{
	SubmitForm();
	allGood = false;
	return allGood;
	}
	else{
return allGood;
	}

	function validTag(thisTag) {

			var outClass = "";
			var allClasses = thisTag.className.split(" ");
			for (var j=0; j<allClasses.length; j++) {
			outClass += validBasedOnClass(allClasses[j]) + " ";
			thisTag.className = outClass;

		if (outClass.indexOf("invalid") > -1) {
			invalidLabel(thisTag.parentNode);
			thisTag.focus();
			if (thisTag.nodeName == "INPUT" || "TEXTAREA") {
				thisTag.select();
			}
			return false;
		}
			
		
		}
		return true;
		
		function validBasedOnClass(thisClass) {
			var classBack = "";
		
			switch(thisClass) {
				case "":
				case "invalid":
					break;
				case "reqd":
					if (allGood && thisTag.value == "") classBack = "invalid ";
					classBack += thisClass;
					break;
				case "radio":
					if (allGood && !radioPicked(thisTag.name)) classBack = "invalid ";
					classBack += thisClass;
					break;
				case "isNum":
					if (allGood && !isNum(thisTag.value)) classBack = "invalid ";
					classBack += thisClass;
					break;
				case "isZip":
					if (allGood && !isZip(thisTag.value)) classBack = "invalid ";
					classBack += thisClass;
					break;
				case "email":
					if (allGood && !validEmail(thisTag.value)) classBack = "invalid ";
					classBack += thisClass;
					break;
				default:
					if (allGood && !crossCheck(thisTag,thisClass)) classBack = "invalid ";
					classBack += thisClass;
			}
			return classBack;
		}
				
		function crossCheck(inTag,otherFieldID) {
			if (!document.getElementById(otherFieldID)) return false;
			return (inTag.value != "" || document.getElementById(otherFieldID).value != "");
		}
		
		function radioPicked(radioName) {
			var radioSet = "";

			for (var k=0; k<document.forms.length; k++) {
				if (!radioSet) {
					radioSet = document.forms[k][radioName];
				}
			}
			if (!radioSet) return false;
			for (k=0; k<radioSet.length; k++) {
				if (radioSet[k].checked) {
					return true;
				}
			}
			return false;
		}
		
		function isNum(passedVal) {
			if (passedVal == "") {
				return false;
			}
			for (var k=0; k<passedVal.length; k++) {
				if (passedVal.charAt(k) < "0") {
					return false;
				}
				if (passedVal.charAt(k) > "9") {
					return false;
				}
			}
			return true;
		}
		
		function isZip(inZip) {
			if (inZip == "") {
				return true;
			}
			return (isNum(inZip));
		}
		
		function validEmail(email) {
			var invalidChars = " /:,;";
		
			if (email == "") {
				return false;
			}
			for (var k=0; k<invalidChars.length; k++) {
				var badChar = invalidChars.charAt(k);
				if (email.indexOf(badChar) > -1) {
					return false;
				}
			}
			var atPos = email.indexOf("@",1);
			if (atPos == -1) {
				return false;
			}
			if (email.indexOf("@",atPos+1) != -1) {
				return false;
			}
			var periodPos = email.indexOf(".",atPos);
			if (periodPos == -1) {	
				return false;
			}
			if (periodPos+3 > email.length)	{
				return false;
			}
			return true;
		}
		
		function invalidLabel(parentTag) {
			if (parentTag.nodeName == "DIV") {
				parentTag.className += " invalid";
			}
		}
	}
}

$(document).ready(function(){
						
$('.gallery_demo_unstyled').addClass('gallery_demo'); // adds new class name to maintain degradability
		
		$('ul.gallery_demo').galleria({
			history   : true, // activates the history object for bookmarking, back-button etc.
			clickNext : true, // helper for making the image clickable
			insert    : '#main_image', // the containing selector for our main image
			onImage   : function(image,caption,thumb) { // let's add some image effects for demonstration purposes
				
				// fade in the image & caption
				if(! ($.browser.mozilla && navigator.appVersion.indexOf("Win")!=-1) ) { // FF/Win fades large images terribly slow
					image.css('display','none').fadeIn(1000);
				}
				caption.css('display','none').fadeIn(1000);
				
				// fetch the thumbnail container
				var _li = thumb.parents('li');
				
				// fade out inactive thumbnail
				_li.siblings().children('img.selected').fadeTo(500,0.3);
				
				// fade in active thumbnail
				thumb.fadeTo('fast',1).addClass('selected');
				
				// add a title for the clickable image
				image.attr('title','Next image >>');
			},
			onThumb : function(thumb) { // thumbnail effects goes here
				
				// fetch the thumbnail container
				var _li = thumb.parents('li');
				
				// if thumbnail is active, fade all the way.
				var _fadeTo = _li.is('.active') ? '1' : '0.3';
				
				// fade in the thumbnail when finnished loading
				thumb.css({display:'none',opacity:_fadeTo}).fadeIn(1500);
				
				// hover effects
				thumb.hover(
					function() { thumb.fadeTo('fast',1); },
					function() { _li.not('.active').children('img').fadeTo('fast',0.3); } // don't fade out if the parent is active
				)
			}
		});

	
});

