
/**
@desc Toggle is used to indicate if a given input field is filled
@param name:string The name of the input field
*/
function toggleKontaktField(name) 
{
	if (document.getElementById(name).value == "") 
	{
		this.setInvalid(name);		  
	}
	else
	{
	  	this.setValid(name); 
	}
}


/*Sends an AJAX request to morpheus
*/
function sendKontaktRequest()
{
//	alert('hier');
	var pars='';
	//var url='https://www.hsbctrinkaus.de/Wpt/feedback.nsf/8900e58fa93d1a56c12570300034e584!CreateDocument';
	//var url='!KontaktRequestParser';
	checkFields();
	//showLoading('categoryBox');
	//var kontaktAjax = new Ajax.Updater( 'content',url, {method: 'get',evalScripts: 'true', parameters: pars, onComplete: showKontaktResponse} );
}

function showResponse(originalRequest)
{
	
}

/**@desc Checks if all fields are filled before sending an email*/
function checkFields() 
{	
	//setting up the logger
	var l=new Logger(false);
	l.log('hallo');
	
	var form = document._WF1058;
	
	//reading field values
	var anrede=form.anrede.value;
	var vorname=form.vorname.value;
	var name=form.name.value;
	var email=form.email.value;
	var firma=form.firma.value;
	var strasse=form.strasse.value;
	var strassenr=form.strassenr.value;
	var plz=form.plz.value;
	var ort=form.ort.value;
	var telefon=form.telefon.value;
	var mitteilung=form.mitteilung.value;
	var rueckruf=form.rueckruf.checked;
	var uhrzeit=form.uhrzeit.value;

	var bEmail=false;
	//checking reg exp of email
	var bEmail=checkEmail(email);
	
	var bRueckruf=checkRueckruf(rueckruf,telefon,uhrzeit);
	
	//notes needs this value as 1 or 0 not true or false
	if(rueckruf==true)
	{
		rueckruf=1;
	}
	else
	{
		rueckruf=0;
	}
	
	//when fields are correct...
	/*if(vorname != '' && name !='' && bEmail == true && bRueckruf == true)
	{*/
		url='!KontaktRequestParser';
		
		var pars='anrede='+ anrede + '&vorname=' + vorname + '&name=' + name + '&email=' + email + '&firma=' + firma +
		'&strasse=' + strasse + '&strassenr=' + strassenr + '&plz=' +plz + '&ort=' + ort + '&telefon=' + telefon +
		'&mitteilung=' + mitteilung + '&rueckruf=' + rueckruf + '&uhrzeit=' + uhrzeit;
		
		//Only the % signs needs escaping. Other escape functions didn't work :-(...
		//pars=pars.replace(/%/gi,'Prozent');
		//pars=encodeURI(pars);
		//pars=escape(pars);
		//pars=decodeURI(pars);
		//pars=encodeURI(pars);
		alert('pars:'+ pars);
		//pars=decodeURI(pars);
		
		
		//temp=encodeURI(mitteilung);
		//alert('temp:' + temp);
		//temp=decodeURI(mitteilung);
		//alert('temp:' + temp);
		//temp=escape(mitteilung);
		//alert('temp:' + temp);
		//alert('Pars:' +pars);
		var myAjax = new Ajax.Updater( 'contact',url, {method: 'get',evalScripts: 'true', parameters: pars,  onComplete: showResponse} );		
	/*}
	else
	{
		if (vorname == '')
		{	
			setFieldInvalid("vorname");
		}
		else
		{
			setFieldValid("vorname");
		}
					
		if (name == '')  
		{
			setFieldInvalid("name");
		}
		else
		{
			setFieldValid("name");
		}
		
		if(bEmail == false)
		{
			setFieldInvalid("email");
		}
		else
		{
			setFieldValid("email");
		}	
	}	*/
}

function showResponse()
{

}
/**
@desc Sets the class of the field to display invalid input
@param name The name/id of the field
*/
function setFieldInvalid(id)
{
	$(id).addClassName('errField');
}
/**
@desc Sets the class of the field to display valid input
@param name The name/id of the field
*/
function setFieldValid(id)
{
	$(id).removeClassName('errField');
}

/**
@desc Toggle is used to indicate if a given input field is filled
@param name:string The name of the input field
*/
function toggleField(id) 
{
	
	if (document.getElementById(id).value == "") 
	{
		setFieldInvalid(id);		  
	}
	else
	{
	  	setFieldValid(id); 
	}
}

function checkEmail(s)
{
  var a = false;
  var res = false;
  if(typeof(RegExp) == 'function')
    {
    var b = new RegExp('abc');
    if(b.test('abc') == true){a = true;}
    }

  if(a == true)
    {
    reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                     '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                     '(\\.)([a-zA-Z]{2,4})$');
    res = (reg.test(s));
    }
  else
    {
    res = (s.search('@') >= 1 &&
           s.lastIndexOf('.') > s.search('@') &&
           s.lastIndexOf('.') >= s.length-5)
    }
  return(res);
}
/*
This function checks if the rueckruf checkbox is checked and if the customer did give his phone number
inside the telefon field and a time to call him back 
@param rueckruf The checked attribute of rueckruf field
@param telefon  The value of telefon
@param uhrzeit The value of uhrzeit
@return bRueckruf Returns true (when both fields are filled properly) or false (when not)
*/

function checkRueckruf(rueckruf, telefon,uhrzeit)
{
	//alert('rueckruf:'+ rueckruf + 'telefon:' + telefon +'uhrzeit:'+uhrzeit);
	
	var bRueckruf=true;
	
	if(rueckruf==true && (telefon=='' || uhrzeit==''))
	{
		bRueckruf=false;
		if(telefon=='')
		{
			setFieldInvalid("telefon");
		}
		else
		{
			setFieldValid("telefon");
		}
		
		if(uhrzeit=='')
		{
			setFieldInvalid("uhrzeit");
		}
		else
		{
			setFieldValid("uhrzeit");
		}	
	}	
	else
	{
		setFieldValid("telefon");
		setFieldValid("uhrzeit");
	}	
	
	return bRueckruf;
}

