/**
 * TYPOlight webCMS
 * Copyright (C) 2005 Leo Feyer
 *
 * This program is free software: you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation, either
 * version 2.1 of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this program. If not, please visit the Free
 * Software Foundation website at http://www.gnu.org/licenses/.
 *
 * PHP version 5
 * @copyright  Internet-mit-IQ GmbH 2009
 * @author     Alexander Richter <a.richter@internet-mit-iq.de>
 * @license    LGPL
 */

window.addEvent('domready', function() {

	//var gadgetForms = $(document.body).getElements('input[id^=kontaktgadget]').getParent('div').getParent('form');
	var gadgetForms = $(document.body).getElementsBySelector('.gadgetform');
	
	gadgetForms.addEvent('submit', function(e) {
		//Prevents the default submit event from loading a new page.
		new Event(e).stop();
		
		//DIV-Bereich fuer die Response
		var innerDiv = this.getChildren('div[class=formbody]');
		//aktuelles Form
		var gadgetForm = this;
		
		//Array zur Haltung von border-Styling-Ursprungswerten
		var formerBorderStyles = new Array();
		formerBorderStyles = gadgetForm.getElements('input').getStyle('border');
		var formInputs = new Array();
		formInputs = gadgetForm.getElements('input').getProperty('id');
		
		//Ajax-Loader	
		innerDiv.setStyle('display', 'none');
		this.setStyle('height', '130px');
		this.setStyle('background', 'url(./js/ajaxGadgets/ajax-loader.gif) no-repeat center');
		
		this.send({
				onComplete: function(response) { 
			
					//!!!!!!virtueller Seitenaufruf fuer Google Analytics
					try{
						var pageTracker2 = _gat._getTracker("UA-122113-2");
					}
					catch(err){
					  //no need to handle
					}
			
					gadgetForm.setStyle('background', 'none');
					
					var evalResponse = eval("(" + response + ")");

					if(evalResponse.hasErrors == '1'){
						//!!!!!!virtueller Seitenaufruf fuer Google Analytics
						try{
							pageTracker2._trackPageview(window.location.pathname + '?iqform=fehler');
						}
						catch(err){
						  //no need to handle
						}
						
						innerDiv.setStyle('display', 'block');
						innerDiv.setStyle('position', 'relative');

						var errorDiv = $(document.body).getElementById('errorDiv');
						if(errorDiv == ''){
							var errorDiv  = new Element('div', {id: 'errorDiv'});
							$(errorDiv).appendText("Bitte fÃ¼llen Sie alle Felder aus!");
							$(errorDiv).injectAfter(gadgetForm);
							$(errorDiv).setStyle('position', 'absolute');
							$(errorDiv).setStyle('border', '1px solid red');
							$(errorDiv).setStyle('text-align', 'center');
							$(errorDiv).setStyle('width', '90px');
							$(errorDiv).setStyle('height', '31px');
							$(errorDiv).setStyle('padding', '4px 10px 0px 35px');
							$(errorDiv).setStyle('background', 'url(tl_files/imiq/produktbox_icon_cross.jpg) center left no-repeat');
							//$(errorDiv).setStyle('right', '545px'); produktbox_icon_cross.jpg
							$(errorDiv).setStyle('left', '-120px');
							$(errorDiv).setStyle('bottom', '149px');
						}
					}
					else{
						//!!!!!!virtueller Seitenaufruf fuer Google Analytics
						try{
							pageTracker2._trackPageview(window.location.pathname + '?iqform=abgeschickt');
						}
						catch(err){
						  //no need to handle
						}
						
						//Error-Meldung wieder ausblenden
						var errorDiv = $(document.body).getElementById('errorDiv');
						if(errorDiv){
							errorDiv.setStyle('display', 'none');
						}
						
						//h6 Überschrift ausblenden
						var ueberschrift = gadgetForm.getPrevious('h6');
						if(ueberschrift){
							ueberschrift.setStyle('visibility', 'hidden');
						}
						
						//Form-Elemente ausblenden
						innerDiv.setStyle('display', 'none');
						
						gadgetForm.innerHTML = evalResponse.dankeText;
					}
				}
		});
	});
});