/**
	@desc This script is used for "Derivate-Wissen". It validates the order form and passes
	parampeters to the parser that sends the form as email.
	
	$Log: derivateWissen.js,v $
	Revision 1.8  2010/12/09 14:22:31  cvsosir
	removed 2 books
	
	Revision 1.7  2009/10/05 13:50:56  cvsosir
	*** empty log message ***
	
	Revision 1.6  2009/06/02 16:07:51  cvsosir
	*** empty log message ***
	
	Revision 1.5  2009/02/11 12:44:28  cvsosir
	Feld für turboOs Bestellung entfernt
	FogBugz:984
	
	
*/

//CSS class for invalid field input
var errField="errField";
//Parser for sending email
//var url = "!DerivateWissenEmailParser" ;
var url = "!ProcessPage" ;

//For namespacing
var DerivateWissen= new Object();

DerivateWissen = 
{
	/**
	@desc This function initializes the object
	*/
	init :function()
	{
		if (nsDW == null || typeof(nsDW) != "object")
		//if (DerivateWissen== null || typeof(DerivateWissen) != "object")
		{ 
			DerivateWissen = new Object();
		}
	},
	/**
	@desc Toggle is used to indicate if a given input field is filled
	@param name:string The name of the input field
	*/
	toggle :function (name) 
	{
		if (document.getElementById(name).value == "") 
		{
			this.setInvalid(name);		  
		}
		else
		{
		  	this.setValid(name); 
		}
	},
	
	/**@desc Checks if all fields are filled before sending an email*/
	checkIfAllFilled :function() 
	{	
		var form = document.bookorder;
		var vorname = form.bookvorname.value;
		var name = 	form.bookname.value;
		var firma = form.bookfirma.value;
		var strasse = form.bookstrasse.value;
		var postlz = form.bookplz.value;
		var ort = form.bookort.value;
		var land = form.bookland.value;
		var semail = form.bookemail.value;
		var sessionId= form.sessionId.value;
		
		var orderStrategien=this.checkBoxValue(form.cbStrategien);
		var orderDerivateWissen=this.checkBoxValue(form.cbDerivateWissen);
		var orderFAQ=this.checkBoxValue(form.cbFAQ);
		var orderBonus= false; //this.checkBoxValue(form.cbBonus);
		var orderDiscount= false; //this.checkBoxValue(form.cbDiscount);
		//var orderTurbo=this.checkBoxValue(form.cbTurbo);
		
		var werbung=this.checkBoxValue(form.werbung);
	
		//alert(orderDerivateWissen + " " + orderFAQ + " " + orderBonus + " " + orderDiscount + " " + orderTurbo + " " +werbung);
		
		if (vorname == '')
		{	
			this.setInvalid("bookvorname");
		}
			
		if (name == '')  
		{
			this.setInvalid("bookname");
		}
		
		if (strasse == '')  {
			this.setInvalid("bookstrasse");
			}
			
		if (postlz == '')  
		{
			this.setInvalid("bookplz")
		}
			
		if (ort == '')  
		{
			this.setInvalid("bookort");
		}
			
		if (land == '')
		{
			this.setInvalid("bookland");
		}
		
		var oneChecked=false;
		//check if at least one checkBox was checked by the user
		//if(orderDerivateWissen =='Ja' ||orderFAQ =='Ja' || orderBonus=='Ja' || orderDiscount=='Ja' ||orderTurbo=='Ja')
		if(orderStrategien =='Ja' ||orderDerivateWissen =='Ja' ||orderFAQ =='Ja' || orderBonus=='Ja' || orderDiscount=='Ja')
		{
			$("hint").className='hideHint';
			oneChecked=true;
		}
		else
		{
			$("hint").className='showHint';
		}
		
		//check if all neccessary fields are filled			
		if (oneChecked==true && vorname != '' && name != '' && strasse != '' && postlz != '' && ort != '' && land != ''&& sessionId !='')
		{	
			//"&bookTurbo=" + orderTurbo +
			var postData = "CallType=DerivateWissenEmail" +
			"&bookStrategien=" + orderStrategien +
			"&bookDerivateWissen=" + orderDerivateWissen +
			"&bookFAQ=" + orderFAQ +
			"&bookBonus=" + orderBonus +
			"&bookDiscount=" + orderDiscount +
			"&bookvorname=" + vorname + "&bookname=" + name + 
			"&bookstrasse=" + strasse + "&bookfirma=" + firma + "&bookplz=" + postlz + "&bookort=" + ort +"&bookland=" + land + "&bookemail=" + semail + 
			"&werbung=" + werbung + "&sessionId=" + sessionId;
				
			//Using AJAX for calling the parser
			//var request = YAHOO.util.Connect.asyncRequest('POST', url, this, postData);
			
			var ajaxHelper = new AjaxHelper();
			
			ajaxHelper.publicSend(url,postData,'idDerivateWissen');				
		}
		else 
		{
			
			//document.getElementById('error').innerHTML = "Bitte füllen Sie alle Felder aus. Das E-Mail Feld ist optional.";
		}
	},
	/**
	@desc Sets the class of the field to display invalid input
	@param name The name/id of the field
	*/
	setInvalid :function(name)
	{
		var sClassOld=$(name).className;
		var sClassNew=sClassOld;
		
		var pos=sClassOld.search(errField);
		
		//when the class is not set to errField yet
		if(pos<0)
		{
			//concat errField to existing class declaration
			sClassNew=sClassNew + " " + errField; 
		}
		
		$(name).className= sClassNew;
	},
	/**
	@desc Sets the class of the field to display valid input
	@param name The name/id of the field
	*/
	setValid :function(name)
	{
		var sClassOld=$(name).className;
		var sClassNew=sClassOld;
		
		var pos=sClassOld.search(errField);
		
		//when the class was set to errField before...
		if(pos>=0)
		{
			//...delete it from class definition an set former class value
			var first=sClassNew.substring(0,pos);
			var second=sClassNew.substring(pos + errField.length,sClassNew.length);
			
			sClassNew=first + " " + second; 
		}
		
		$(name).className= sClassNew;
	},
	/**
	@desc Checks if the checkBox was checked and returns "Nein" or "Ja"
	@param o The form field as object
	@return string "Ja" when checked otherwise "Nein"
	*/ 
	checkBoxValue: function(o)
	{
		var value="Nein";
		
		if (o.checked == true)
		{
			value = "Ja";
		}
		return value;
	}
	
}


