var Dom = YAHOO.util.Dom;
var Anim = YAHOO.util.Anim;
//var Event = YAHOO.util.Event;
	
	function opencloseForm (e, formOpener){
		var container = Dom.get('disappear');
		if (Dom.hasClass(formOpener,'open')) {
			Dom.replaceClass(formOpener,'open','close');
			var attributes = {
				height : {
				  from : 25,
				    to : 220,
				  units:'px'
				},
				opacity : {
				  from : 0.1,
				    to : 1.0
				}
			}
			
			var imgAttributes = {
				height : {
				  from : 25,
				    to : 220,
				  units:'px'
				}
			}
			
		} else {
			//Dom.setStyle(collapsMailBoxContent,'display','none');
			Dom.replaceClass(formOpener,'close','open');
			var attributes = {
				height : {
				    to : 25,
				  units:'px'
				},
				opacity : {
				  from : 1.0,
				    to : 0.1
				}
			}
			
			var imgAttributes = {
				height : {
				    to : 25,
				  units:'px'
				}
			}
			
		}
		var animation = new Anim(container,attributes,0.3,YAHOO.util.Easing.easeOut);
		var animation2 = new Anim(Dom.get('sendFormBg'),imgAttributes,0.3,YAHOO.util.Easing.easeOut);
		var animation3 = new Anim(Dom.get('sendFormCnt'),imgAttributes,0.3,YAHOO.util.Easing.easeOut);
		animation.animate();
		animation2.animate();
		animation3.animate();
	}
	
	function submitSendForm(e) {
		
		// VALIDACE ----------------------------------------------
		
		var sendForm 				= Dom.get('sendForm');
			
		var sendFormJmeno 			= Dom.get("sendFormJmeno");
		var sendFormSpolecnost 		= Dom.get("sendFormSpolecnost");
		var sendFormTelCislo 		= Dom.get("sendFormTelCislo");
		var sendFormeMail 			= Dom.get("sendFormeMail");
		var sendFormeFile 			= Dom.get("sendFormeFile");
		var sendFormMessage 		= Dom.get("sendFormMessage");
		var sendFormSubmitButton 	= Dom.get("sendFormSubmitButton");
		
		var holdery = Dom.getElementsByClassName('inputHolder','div');
		Dom.removeClass(holdery,'selected');
		Dom.removeClass(Dom.getAncestorByClassName(sendFormMessage,'inputBigHolder'),'selected');
		
		var error = false;
		var errMsg = "";
		
		//jmeno
		if (sendFormJmeno.value == "") {
			errMsg += "Zapište prosím své jméno\n";
			var jmenoInputHolder = Dom.getAncestorByClassName(sendFormJmeno,'inputHolder');
			Dom.addClass(jmenoInputHolder, 'selected');
			var error = true;
		}
		
		//nezapsana zpravicka
		if (sendFormMessage.value == "") {
			errMsg += "Zapište prosím text vašeho dotazu\n";
			var holder = Dom.getAncestorByClassName(sendFormMessage,'inputBigHolder');
			Dom.addClass(holder, 'selected');
			var error = true;
		}
		
		//email
		if (sendFormeMail.value != "") {
			var regEmail = new RegExp('^([_a-zA-Z0-9\\.\\-]+)@([_a-zA-Z0-9\\.\\-]+)\\.([a-zA-Z]{2,4})$','i');
			if (!regEmail.test(sendFormeMail.value)) {
				errMsg += "Je nesprávně zapsaný e-mail\n";
				var holder = Dom.getAncestorByClassName(sendFormeMail,'inputHolder');
				Dom.addClass(holder, 'selected');
				var error = true;
			}
		}

		//tel
		if (sendFormTelCislo.value != "") {
			var regEmail = new RegExp('^([0-9 \+]+)$','i');
			if (!regEmail.test(sendFormTelCislo.value)) {
				errMsg += "Je nesprávně zadaný telefon\n";
				var holder = Dom.getAncestorByClassName(sendFormTelCislo,'inputHolder');
				Dom.addClass(holder, 'selected');
				var error = true;
			}
		}

		if (error == true) {
			alert(errMsg);
			YAHOO.util.Event.stopEvent(e);
		} else {
		
		// ODESLANI ----------------------------------------------
		
		// handler uspesneho vykonani pozadavku (jeste neznamena ze se v serverove casti podarilo odeslat formular)
				var handleSuccess = function(oResponse) {
					//alert(oResponse.responseText);
					
				// jestlize retezec zacina na 'OK:' pak se povedlo formular odeslat
					if (oResponse.responseText.indexOf('OK:')===0) {
						alert('Formulář byl úspěšně odeslán. Děkujeme.');
					// vymazani formulare
						sendForm.reset();
					// zavreni formulare
					var formOpener = Dom.get('sendFormButton');
					var container = Dom.get('disappear');
								//Dom.setStyle(collapsMailBoxContent,'display','none');
					Dom.replaceClass(formOpener,'close','open');
					var attributes = {
						height : {
							to : 25,
						  units:'px'
						},
						opacity : {
						  from : 1.0,
							to : 0.1
						}
					}
				
				var animation = new Anim(container,attributes,0.3,YAHOO.util.Easing.easeOut);
				animation.animate();
					
					
					
					} else if (oResponse.responseText.indexOf('ERR:')===0) {
						alert('Formulář se nepodařilo odeslat, zkuste to prosím později.')
					} else {
						alert('Formulář se nepodařilo odeslat, zkuste to prosím později.')
					}
				};

			// handler neuspesneho pozadavku (napr. timeout)
				var handleFailure = function(oResponse) {
					alert('Formulář se nepodařilo odeslat, zkuste to prosím později.')
				};

				var callback =
				{
					success: handleSuccess,
					failure: handleFailure,
					timeout: 10000
				};
				
				var url = '/_system/forms_ajax.php';
				// seskladame si data z formulare

				var postData =  '&typ_formulare='+encodeURIComponent('comment_form')+'&jmeno='+encodeURIComponent(sendFormJmeno.value)+'&spolecnost='+encodeURIComponent(sendFormSpolecnost.value)+'&telcislo='+encodeURIComponent(sendFormTelCislo.value)+'&mail='+encodeURIComponent(sendFormeMail.value)+'&text_zpravy='+encodeURIComponent(sendFormMessage.value);
								
				// jedem

				var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
				YAHOO.util.Event.stopEvent(e);
		}
	
	}
	
	function formReceptInit() {

		var formOpener = Dom.get('sendFormButton');
		YAHOO.util.Event.addListener(formOpener, 'click', opencloseForm, formOpener);
		
		
		var sendForm = Dom.get('sendForm');
		YAHOO.util.Event.addListener(sendForm, 'submit', submitSendForm);

	}
	
	
	YAHOO.util.Event.onDOMReady(formReceptInit);



