/* global init values */
var userlang;
var t_o;
var mailform = "";
function getserverglobals()
{
	var url = 'ajax/globals_responder.php';
	var myAjax = new Ajax.Request( url, { method: 'get', onComplete: setglobals });
}
function setglobals(originalRequest)
{
	userlang = originalRequest.responseText;
}

/* Live "validation" functions */
function livenonumbers(e)
{
	with(e)
	{
		value = ltrim(value.replace(/[^\D]|#|\!|@|#|\$|%|\?|&|\*|\/|\\|\:|\;|\.|\,|\<|\>|\°|\~|\_/g,""));
	}
	
}
function livenoletters(e)
{
	with(e)
	{
		value = ltrim(value.replace(/[a-zA-Z]/g,""));
	}
	
}
function liveonlymail(e)
{
	with(e)
	{
		value = ltrim(value.replace(/[^\w\.\_\@]/g,""));
	}
	
}
function livevalidphone(e)
{
	with(e)
	{
		value = ltrim(value.replace(/[^(\d{1}?\s?\-?\s?\(?\s?\d{3}\s?\)?\s?\-?\s?\d{3}\s?\-?\s?\d{4})]$/mg,""));
	}
}
/* live "validation" extra */
function resetfields()
{
	textinputs = document.getElementsByClassName('noempty');
	for(i=0;i<textinputs.length;i++)
	{
		e = textinputs[i]
		e.style.border = "2px inset #FFF";
		Element.hide(e.name+"err");
		e.value="";
	}
}
function validelement(e)
{
	with(e){
			var ename = e.name+"err";
			if($F(e) != "")
			{
				var myString = e.name
				var rExp = /mail/gi;
				var results = myString.search(rExp)
				if(results >= 0){
					if(checkMail(e.value)){
						style.border = "2px inset #FFF";
						Element.hide(ename);
						return true;
					}else{
						style.border = "2px inset #F00";
						Element.show2(ename);
						Effect.Shake(ename);
						alert('Invalid email')
					}
				}else{
				style.border = "2px inset #FFF";
				Element.hide(ename);
				return true;
				}
			}
			else{
				style.border = "2px inset #F00";
				Element.show2(ename);
				Effect.Shake(ename);
			
			}
		}
	return false;
}
function checkMail(x)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else return false;
}
/* sub tab navigation handling */
function subnav(tab,div)
{
	var div = $(div);
	var tabs = document.getElementsByClassName('subtab');
	var subdivs = document.getElementsByClassName('subcontent');
	for(i=0;i<tabs.length;i++)
	{
			Element.addClassName(tabs[i],'behind');
			Element.hide(subdivs[i]);
	}
	Element.removeClassName(tab,'behind')
	Element.show2(div);
	
}

function sendmail()
{
	if(validateall()){

	var url = 'app/controls/do_post.php';
	var pBody = Form.serialize('contactform');
	var myAjax = new Ajax.Request( url, { method: 'post', postBody: pBody, onComplete: showResponse });
	
	}
	
	return false;
}
function sendtrackmail()
{
	if(validateall()){
		//alert('sending!');
	var url = 'app/controls/trackpost.php';
	var pBody = Form.serialize('trackform');
	var myAjax = new Ajax.Request( url, { method: 'post', postBody: pBody, onComplete: showSentMail });
	}
	return false;
}
function showSentMail(o){
	$('content').innerHTML = o.responseText
}


function evalsubject(){
	if($F('subject') == 5){
		window.location="index.php?tab=3&type=1";
	}
	if($F('subject') == 2){
		window.location="index.php?tab=5";
	}
}
function sendaccmail()
{
	if(validateall()){
		//alert('sending!');
	//var url = 'app/controls/do_post.php';
	//var pBody = Form.serialize('contactform');
	//var myAjax = new Ajax.Request( url, { method: 'post', postBody: pBody, onComplete: showResponse });
	}
	return false;
}

function showResponse(origReq)
{
	//alert(origReq.responseText);
	var s = origReq.responseText.split('|||');
	var html = new String();
	//alert(s);
	if(s[0] == "ERRORS")
	{
		html += "<div id='errata'><br /><br /><h1>"+s[1]+"</h1><br /><ul>";
		for(i=2;i<s.length-1;i++)
		{
			html += "<li>"+s[i]+"</li>"
		}
		html += "</ul><br /><h2 onload=\"Effect.Pulsate(this)\">"+s[s.length-1]+"</h2><input type=\"button\" value=\"ok!\" onclick=\"stoper();window.location='index.php'\"></div>";
	}else if(s[0] == 'NOERRORS')
	{
		html += "<div id='errata'><br /><br /><br /><h1>"+s[1]+"</h1><br /><br /><br /><input type=\"button\" value=\"ok!\" onclick=\"stoper();window.location='index.php'\"></div>";
	}else if(s[0] == 'GETRESUME'){
		html += "<div id='errata'>"+s[1]+"</div>";	
		var notimeout = true;
	}
	mailform = $('content').innerHTML;
	$('content').innerHTML = html;
	if(!notimeout) var t_o  = window.setTimeout('resetMessageForm()',5000);
}

function stoper()
{
	window.location='index.php'
}

function validateall()
{	
	
	var v = 0
	var elements = document.getElementsByClassName('noempty');
	for(i=0;i<elements.length;i++)
	{
		if(!validelement(elements[i]))
		{
			//alert(elements[i].name + " - error: " + validelement(elements[i]))
			v++
		}
	}
	if(v==0){
		return true;
	}else{
		return false;
	}
}
function resetMessageForm()
{	
		window.location='index.php'
	//$('content').innerHTML = mailform;
	//mailform = "";
}
function shadecols()
{
	trs = document.getElementsByClassName('bordbotcell');
	for(i=0;i<trs.length;i++)
	{
		if(i%2 == 1){trs[i].style.backgroundColor = "rgb(245,245,248)"}
	}
}
function pageload(){

 var phoneElements = document.getElementsByClassName('noempty')
  phoneElements.each(function(e){
  	var myString = e.name
		var rExp = /phone/gi;
		var results = myString.search(rExp)
		if(results >=0){
  			Event.observe(e,'keyup',function(event){
	   			if(e.value.length>16 && event.keyCode !=Event.KEY_BACKSPACE){
	   				try{
		    					do{e.value = shrink(e.value)}while(e.value.length>16);
	    			}catch(e){}
	    			livevalidphone(e);
	   			}else if(event.keyCode != Event.KEY_BACKSPACE){
	       livevalidphone(e)
	       }
  		  });
  		}
	   });
	var theahrefs = document.getElementsByTagName("a");
	for(var x=0;x!=theahrefs.length;x++){
	theahrefs[x].onfocus = function stopLinkFocus(){this.hideFocus=true;}
	;}
  
}


function setNumericListen(){
		pageload();
}
function shrink(string){
 s = string.split('');s.pop();s = s.join('');
 return s;
}
function phonemask(e){
 var params;
	with(e){
	 if(value.length >= 1 && value.length<3)
	  params = [/[^\d{1}]/ig,/^(\d{1})$/,"$1 (",1];
	 if(value.length >= 3 && value.length<8)
	  params = [/[^\d{1}\s{1}\({1}\d{0,3}]/ig,/^(\d{1}\s\({1}\d{3}$)/,"$1) ",6];
	 if(value.length >= 8 && value.length< 12)
	  params = [/[^\d{1}\s{1}\({1}\d{3}\){1}\s{1}\d{0,3}]/ig,/^(\d{1}\s{1}\({1}\d{3}\){1}\s{1}\d{3})$/,"$1-",11];
	 if(value.length >= 12 && value.length< 17)
	  params = [/[^\d{1}\s{1}\({1}\d{3}\){1}\s{1}\d{3}\-{1}\d{1,4}]/ig,/^(\d{1}\s{1}\({1}\d{3}\){1}\s{1}\d{3}\-{1}\d{4})/,"$1",16];
	 value = value.replace(params[0],"");
	 if(value.length==params[3]);
	  value = value.replace(params[1],params[2]);
	}
}
