/*
 * ----------------------------------------------------
 * Mootools extensions
 * ----------------------------------------------------
 * by Limarc /Alexander Lobashev/
 * (c) 2007-2008 by Limarc, Lim-on Media
 * _link: http://www.free-lance.ru/users/Limarc
 * ----------------------------------------------------
 * Index: mootools-ext.js
 * ----------------------------------------------------
 */


 window.addEvent('domready', function()
 {
     var wMail = new MailWork('#contact');
 });
 
 //
 // Class: Send message on mail
 // date: 17/03/2009 22:33
 // 
 var MailWork = new Class
 ({
	 options:
	 {
		 url: '/ru/contacts/send/',
		 complete: '#mail-complete'
	 },
	 
	 initialize: function(element, options)
	 {
		 //
                 // MailWork -> Set option...
                 //			
		 if (options)
                 {
                         this.setOptions(options);
                 }
                 
		 //
                 // MailWork -> Filtration
                 //		 
		 if (!$chk($$(element)))
                 {
			 return;
                 }		 
		 
		 var contain = $$(element);
		 
		 //
                 // MailWork -> Action
                 //
		 contain.removeEvent("submit").addEvent('submit', this.actionMail.pass(contain, this));
	 },
	 
         actionMail: function(contain)
	 {
		 var mRequest = new Request(
		 {
			 url: this.options.url,
			 methtod: 'post',
			 onRequest: function ()
			 {
				 $$('#mail-error').setStyle('display', 'block');
				 $$('#mail-error').set('html', "Пожалуйста, подождите...");
				 
			 },				 
			 onSuccess: function (r)
			 {
				     //
				     // MailWork -> Analysis error
				     //				       
				     var arError = JSON.decode(r);
				     if (!arError || arError == "")
				     {
					     $$('#mail-error').setStyle('display', 'none');
					     contain.dispose();
					     $$('#mail-complete').set('html', "Спасибо! Ваше сообщение отправлено!");
				     }
				     else
				     {
					     arError.each(function(item, index)
					     {
						     $$('#mail-error').set('html', item);
					     });
				     }
			 }
		 }).send(contain.toQueryString());
		 
		 return false;
         },
	 
	 Implements : [Options, Events]
 });
 
