function filter(form) {
	var postData = new Hash();
	postData.set('action', 'traffic');
	form.getElements('select,input').each(function(input) {
		if(input.name) {
			postData.set(input.name, input.value);
		}
	});
	content('statistic', 'contents', postData);
}

function titles(div) {
	if($(div)) {
		$(div).getElements('textarea[title],input[title]').each(function(input) {
			if(input.value == '') {
				input.set('value', input.title);
				input.addClass("null");
			}
			input.addEvents({
				focus: function() {
					if(this.value == this.title) {
						this.removeClass("null");
						this.set("value", "");
					}
				},
				blur: function() {
					if(this.value.trim() == '') {
						this.addClass("null");
						this.set("value", this.title);
					}
				}
			});
		});
	}
}

function sendForm(form) {
	var postData = new Hash();
	postData.set("action", "submit");
	form.getElements("input, select").each(function(el) {
		if(el.get('type') === 'radio') {
			if(el.get('checked')) {
				postData.set(el.get('name'), el.get('value'));
			}
		} else if(el.get('type') === 'checkbox') {
			if(el.get('checked')) {
				postData.set(el.id, el.get('checked'));
			}
		} else if(el.get('id')) {
			postData.set(el.id, el.get('value'));
		}
	});

	var style = new Asset.css('/templates/avto/swiff/style.css');		
	var upload = new Asset.javascript('/templates/avto/swiff/Swiff.Uploader.js');
	var bar = new Asset.javascript('/templates/avto/swiff/Fx.ProgressBar.js');
	var fupload = new Asset.javascript('/templates/avto/swiff/FancyUpload2.js?' + Math.random());

	content("adv", null, postData, function() {
	
		var swiffy = new FancyUpload2($('status'), $('list'), {
			'url': $('images').action,
			'fieldName': 'photoupload',
			'path': '/templates/avto/swiff/Swiff.Uploader.swf',
			'onLoad': function() {
				
			},
			'onComplete': function(file, response) {
				var response = JSON.decode(response);
				$('status').fade('out').retrieve('tween').chain(function() {$('status').addClass('hide');});
				if(response.result === 'success' && response.filename) {					
					var img = new Element("img", {'src': response.filename + '?' + Math.random()});
					img.inject($('adv-ad').getElement('div.image').empty());
				} else if(response && response.error) {
					$('adv-ad').getElement('div.image').set('html', response.error);
				}
			},
			'onOpen': function() {				
				$('status').fade('in');				
				$('status').removeClass('hide');
			}
		});
		
		$('browse-image').addEvent('click', function() {
			swiffy.removeFile();			
			swiffy.browse({'Images (*.jpg, *.jpeg, *.gif, *.png)': '*.jpg; *.jpeg; *.gif; *.png'});
			return false;
		});

	});
}

function waiter(div, padding) {
	var layer = $(div).getCoordinates();
	if(!padding) padding = 0;
	var loader = new Element("div", {
		'class': 'loader',
		'styles': {
			position: 'absolute',
			top: layer.top - padding,
			left: layer.left - padding,
			opacity: 0.4,
			width: layer.width - padding*2,
			height: layer.height + padding*2
		}
	});
	loader.set('html', '<img src="files/images/loader.gif" width="16" height="16" title="loader" />');
	return loader;
}

function login(module) {
	var postData = new Hash();
	postData.set("action", "login");
	postData.set("username", $('login').getElement("input[name=username]").value);
	postData.set("password", $('login').getElement("input[name=password]").value);
	content(module, 'contents', postData);
}

function content(module, div, data, func) {
	var postData = new Hash();
	if(data) postData.extend(data);
	postData.include("module", module);
	div = $(div)?$(div):$('contents');
	var loader = waiter(div, 5);
	$('content').grab(loader);
	var jsonRequest = new Request.JSON({url: 'index.php',
		onComplete: function(response) {
			loader.dispose();			
			if(response && response.message && $('messages')) {
				$('messages').set('html', response.message);
			}
			if(response && response.content && response.content !== "" && $(div)) {
				$(div).set('html', response.content);
				if(func) {
					func.attempt();
				}
			}
		}
	}).POST(postData);
}

function mailr() {
	var mail = $('mailr').getElement("[name=email]").get('value');
	if(mail) {
		content("mailr", "mailr", {email: mail});
	}	
}


function contact() {
	var postData = new Hash();
	postData.include("module", "contacts");
	$("cmessages").empty();
	$("contacts").getElements("input,textarea").each(function(input) {
		$("contacts").getElements("label[for=" + input.id + "]").removeClass("error");
		if(input.type!=='submit') {
			postData.set(input.id, input.value);
		}
	});
	var loader = waiter($('contacts'));
	$('contacts').grab(loader);
	var jsonRequest = new Request.JSON({url: 'index.php',
		onComplete: function(response) {
			loader.dispose();
			if(response.message) {				
				var ul = new Element('ul');
				var li = new Element('li');
				response.message.each(function(input) {
					$("contacts").getElement("label[for=contact" + input.id + "]").addClass("error");
					$("contact" + input.id).addEvent("focus", function() {
						$("contacts").getElement("label[for=" + this.id + "]").removeClass("error");
					});
					ul.grab(li.clone().set("text", "Введите правильные значения: " + input.title));
					if(input.message) {
						alert(input.message);
					}
				});
				$("cmessages").grab(ul);
			} else if(response.content) {
				$("contacts").set("html", response.content);
			}
		}
	}).POST(postData);
}
