function $(id){return document.getElementById(id)};
ie=false;
safari=false;
////////////////////////////////////////////////////
function getXmlHttpRequestObject() 
{
		if (window.XMLHttpRequest) 
		{
			return new XMLHttpRequest();
			
		} 
		else 
			if(window.ActiveXObject) 
			{
				return new ActiveXObject("Microsoft.XMLHTTP");
			} 
			else
			{
				alert("Upgrade your browser")
			}
};
function processResponse()
{
	if(request.readyState==4)
	{
		$("loading").style.display="none";
		$("message").value="";
		$("name").value="";
		$("mail").value="";
	    if(eval("("+request.responseText+")").status==1)
	    {
		$("send-ok").className="send-ok";
	    }
	    else
	    {
		$("send-error").className="send-error";
	    }
	}
}

function toTopSet()
{
		if(doc.scrollTop==0)
		{
			$("totop").style.display = 'none';
		}
		else
		{
			$("totop").style.display = 'block';
		}
};
////////////////////////////////////////
function init()
{
	request=getXmlHttpRequestObject() ;
        $("loading").style.display="none";
	$("mailError").style.display="none";
	$("nameError").style.display="none";
	$("messageError").style.display="none";
	$("name").onmouseover=$("message").onmouseover=$('mail').onmouseover=function()
	{
		this.className+=" input-over"
		$("mailError").style.display="none";
		$("nameError").style.display="none";
		$("messageError").style.display="none";
	}
	$("name").onmouseout=$("message").onmouseout=$('mail').onmouseout=function()
	{
		newClassName=this.className;
		newClassName=newClassName.replace("input-over","");
		this.className=newClassName;
	}
        $("name").onblur=$("message").onblur=$('mail').onblur=function()
	{
		this.className="input-txt";
	}
    
	$("name").onfocus=$("message").onfocus=$('mail').onfocus=function()
	{
		this.className="input-txt input-active";
		$("send-ok").className="send-ok hide";
		$("send-error").className="send-error hide";
		
	}
    
	$("send").onclick=function()
	{
		name=$("name").value;
		email=$("mail").value;
		message=$("message").value;
		mailRE=/^[0-9a-z]+[-\._0-9a-z]*@[0-9a-z]+[-\._^0-9a-z]*[0-9a-z]+[\.]{1}[a-z]{2,6}$/
		fail=false;
		if(!mailRE.test(email))
		{
			$("mailError").style.display="block";
			$("mail").className="input-txt input-error";
			fail=true;
		}
		if(name=="")
		{
			$("nameError").style.display="block";
			$("name").className="input-txt input-error";
			fail=true;
		};  
		
		if(message=="")
		{
			$("messageError").style.display="block";
			$("message").className="input-txt input-error";	
			fail=true;
		};  
		
		if(!fail)
		{	  
		    params="name="+name+"&email="+email+"&message="+message;
		    request.open("POST", '/send/', true);
		    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		    request.setRequestHeader("Content-length", params.length);
		    request.setRequestHeader("Connection", "close");
		    request.onreadystatechange = processResponse;
		    $("loading").style.display="block";
		    request.send(params);	
		}
          
	}
	$("reset").onclick=function()
	{
		$("send-ok").className="send-ok hide";
		$("send-error").className="send-error hide";
		$("mailError").style.display="none";
		$("mail").className="input-txt"
		$("nameError").style.display="none";
		$("name").className="input-txt"
		$("messageError").style.display="none";
		$("message").className="input-txt"
		$("message").value="";
		$("name").value="";
		$("mail").value="";
	}
	
	
	
	if(safari){doc=document.body;}
	$("mininav").style.top=0;
	if($("banner")){$("banner").style.top="290px";}
	
	navAnimator=new Animator();
	collapseAn=new Animator();
	restoreAn=new Animator();
	banAnimator=new Animator();
	toTopSet();
	
	function detectPause()
		{
				if($('banner'))
				{
					curBan=$('banner').style.top;
					nextBan=290+doc.scrollTop;
					banAnimator.clearSubjects();
					banAnimator=new Animator({transition:Animator.makeElastic(2), duration: 2000}).addSubject(new NumericalStyleSubject($('banner'), 'top',curBan ,nextBan));
					banAnimator.play();
				};
				if(ie)
				{
					current=$("mininav").style.top;
					next=doc.scrollTop+"px";
					navAnimator.clearSubjects();
					navAnimator=new Animator({transition:Animator.makeElastic(2), duration: 2000}).addSubject(new NumericalStyleSubject($('mininav'), 'top', current, next));
					navAnimator.play();
					
				};
				clearInterval(pauseID);
		};
		
	pauseID=0;
	window.onscroll=function()
	{
		toTopSet();
		if(pauseID!=0){clearInterval(pauseID)};
		pauseID=setInterval(detectPause,500);
	};
}
switch(navigator.appName)
{
	case "Microsoft Internet Explorer":
		doc=document.documentElement;
		window.attachEvent("onload",init);
		ie=true;
		break    
	case "Netscape":
		if(navigator.vendor=="Apple Computer, Inc.") //SAFARI
		{
			window.onload=init;
			safari=true;
		}
		else                                                       //FIREFOX
		{
			
			doc=document.documentElement;
			document.addEventListener("DOMContentLoaded", init, false);
		};
		break
	default:
		doc=document.documentElement;
		window.onload = init;	
};
