(function(){

	//
	var regTel = new RegExp('^[ 0-9\.\+\/\-]{8,}$','i');
	var regEmail = new RegExp('^([_a-zA-Z0-9\\.\\-]+)@([_a-zA-Z0-9\\.\\-]+)\\.([a-zA-Z]{2,4})$','i');

	//
	var checkTel = function(e,phoneInput){
		if (e!=null){ Ev.stopEvent(e); }
		if (regTel.test(phoneInput.value)==false){
			Dom.addClass(phoneInput,'redText');
			return false;
		} else {
			Dom.removeClass(phoneInput,'redText');
			return true;
		}
	}

	var checkEmail = function(e,emailInput){
		if (e!=null){ Ev.stopEvent(e); }
		if (regEmail.test(emailInput.value)==false){
			Dom.addClass(emailInput,'redText');
			return false;
		} else {
			Dom.removeClass(emailInput,'redText');
			return true;
		}
	}
	
	// odesilaci fce pro formy 
	var sendCtxForm = function(e,data){
		if (e!=null){
			Ev.stopEvent(e);			
		}
		
		var form = data.form;
		var loading = data.loading;
		var AjaxObj = new AjaxSendForm(form,'/_system/ajax_forms.php');

		Dom.setStyle(loading,'display','block');
		
		AjaxObj.handleSuccess = function(o){
			if (o.responseText.indexOf('0')===0){
				alert(ZPRAVA_USPESNE_ODESLANA);
				killAllPopups();
			
			} else if (o.responseText.indexOf('1')===0) {
				alert(ZPRAVU_SE_NEPODARILO_ODESLAT);
				Dom.setStyle(loading,'display','none');
				
			} else if (o.responseText.indexOf('2')===0) {
				alert(ZAPNUTE_COOKIES);
				Dom.setStyle(loading,'display','none');
				
			} else if (o.responseText.indexOf('5')===0) {
				alert(o.responseText.substring(2));
				Dom.setStyle(loading,'display','none');
				
			} else {
				alert(ODESILANI_SE_NEZDARILO_ZKUSTE_POZDEJI);
				Dom.setStyle(loading,'display','none');
			}
		}
		
		AjaxObj.handleFailure = function(o){
			alert(ODESILANI_SE_NEZDARILO_ZKUSTE_POZDEJI);
			Dom.setStyle(loading,'display','none');
			
		}
		
		AjaxObj.execObj.startRequest();

	}

	// Vychozi inicialzace a nastaveni contextBoxu  =========================================
	var contextBox = new ContextBox("info","infoBoxes","infoBoxes;");

	// 
	var sendToPhoneBox = function(e,data){
		Ev.stopEvent(e);
		
		contextBox.createContextBox(data.elem, Dom.get("sendIngredsToPhoneHolder").innerHTML, 'auto');
		
		var submiter = Dom.getElementsByClassName("ctxSubmitButton","a",Dom.getElementsByClassName("ctxBox",'div')[0]);
		var form = Dom.getElementBy(function(elem){return elem.tagName=="FORM"},"form",Dom.getElementsByClassName("ctxBox",'div')[0]);
		
		var phoneInput = Dom.getElementsByClassName("phoneNr",'input',form)[0];
	
		Ev.addListener(phoneInput,'keyup',checkTel,phoneInput);
		
		var loading = Dom.getElementsByClassName("formLoading","div",Dom.getElementsByClassName("ctxBox",'div')[0]);
		Ev.addListener(submiter,'click', function(e,data){
												  			Ev.stopEvent(e);
												  			if (checkTel(null,data.phoneInput)){
																sendCtxForm(null,data);
															} else {
																alert(NENI_VYPLNENY_SPRAVNE_TELEFON);
																return false;
															}
														} ,{'submiter':submiter,'form':form,'loading':loading,'phoneInput':phoneInput});
	}

	// set html to tooltips
	var setSendUserBox = function(e,data){
		Ev.stopEvent(e);
		
		var mail = data.elem.rel.split("|")[0].replace("#ad#","@");
		var nick = data.elem.rel.split("|")[1];
		Dom.get("formUserName").innerHTML = nick;
		Dom.get("formUserMail").value = mail;
		
		contextBox.createContextBox(data.elem, Dom.get("sendToUserHolder").innerHTML, 'auto');
		
		var submiter = Dom.getElementsByClassName("ctxSubmitButton","a",Dom.getElementsByClassName("ctxBox",'div')[0]);
		var form = Dom.getElementBy(function(elem){return elem.tagName=="FORM"},"form",Dom.getElementsByClassName("ctxBox",'div')[0]);
		var loading = Dom.getElementsByClassName("formLoading","div",Dom.getElementsByClassName("ctxBox",'div')[0]);
		Ev.addListener(submiter,'click',sendCtxForm,{'submiter':submiter,'form':form,'loading':loading});
		
	}
	
	// set html to tooltips
	var sendFriendBox = function(e,data){
		Ev.stopEvent(e);
		contextBox.createContextBox(data.elem, Dom.get("sendToFriendHolder").innerHTML, 'auto');
		var submiter = Dom.getElementsByClassName("ctxSubmitButton","a",Dom.getElementsByClassName("ctxBox",'div')[0]);
		var form = Dom.getElementBy(function(elem){return elem.tagName=="FORM"},"form",Dom.getElementsByClassName("ctxBox",'div')[0]);
		var loading = Dom.getElementsByClassName("formLoading","div",Dom.getElementsByClassName("ctxBox",'div')[0]);
		Ev.addListener(submiter,'click',sendCtxForm,{'submiter':submiter,'form':form,'loading':loading});
	}
	
	// Zaslani hesla na email 
	var sendPswdFc = function(e,sendPswd){
		Ev.stopEvent(e);
		
		contextBox.createContextBox(sendPswd, Dom.get("sendPasswordHolder").innerHTML, 'left');
		
		var submiter = Dom.getElementsByClassName("ctxSubmitButton","a",Dom.getElementsByClassName("ctxBox",'div')[0]);
		var form = Dom.getElementBy(function(elem){return elem.tagName=="FORM"},"form",Dom.getElementsByClassName("ctxBox",'div')[0]);
		var emailInput = Dom.getElementsByClassName("phoneNr",'input',form)[0];
		Ev.addListener(emailInput,'keyup',checkEmail,emailInput);
		
		var loading = Dom.getElementsByClassName("formLoading","div",Dom.getElementsByClassName("ctxBox",'div')[0]);
		Ev.addListener(submiter,'click', function(e,data){
												  			Ev.stopEvent(e);
												  			if (checkEmail(null,data.emailInput)){
																sendCtxForm(null,data);
															} else {
																alert(NENI_VYPLNENY_SPRAVNE_EMAIL);
																return false;
															}
														} ,{'submiter':submiter,'form':form,'loading':loading,'emailInput':emailInput});
		
		
	}
	
	// Listenery ========================================================================
	Ev.onDOMReady(
					function(){
						var sendAutors = Dom.getElementsByClassName("napsatAutorovi");
						for (var x=0;x<sendAutors.length;x++){
							Ev.addListener( sendAutors[x],'click', setSendUserBox, {elem:sendAutors[x]} );
						}
						
						var sendFriend = Dom.getElementsByClassName("poslatPriteli");
						for (var x=0;x<sendFriend.length;x++){
							Ev.addListener( sendFriend[x],'click', sendFriendBox, {elem:sendFriend[x]} );
						}
						
						var sendToPhone = Dom.getElementsByClassName("zaslatIngredienceNaMobil");
						for (var x=0;x<sendToPhone.length;x++){
							Ev.addListener( sendToPhone[x],'click', sendToPhoneBox, {elem:sendToPhone[x]} );
						}
						
						var sendPswd = Dom.get("sendPswd");
						if (sendPswd){
							Ev.addListener(sendPswd,'click', sendPswdFc, sendPswd);
						}

						
						contextBox.holderElement = Dom.get("stranka");
						
				  }
	);
	
	
})();
