$(document).ready(function(){
	function imgSrc(state) {
		return '/images/radio-'+(state?'on':'off')+'.png';
	}
	
	function onCheckClick() {
		this.objState = !this.objState;
		this.childNodes[0].src = imgSrc(this.objState);
		this.childNodes[1].value = this.objState ? 1 : 0;
	}
	
	function onCbLabelClick() {
		onCheckClick.call(this.objCheck);
	}
	
	$("input[type=checkbox]").each(function(i,oCb){
		var state = oCb.checked;
		var dom = document.createElement('div');
		dom.className = 'checkbox';
		var img = document.createElement('img');
		img.src = imgSrc(state);
		dom.appendChild(img);
		dom.objState = state;
		var input = document.createElement('input');
		input.name = oCb.name;
		input.value = state ? 1 : 0;
		input.type = 'hidden';
		dom.appendChild(input);
		
		$(oCb).replaceWith(dom);
		
		dom.onclick=onCheckClick;
		var jL = $("label[for='"+oCb.name+"']").click(onCbLabelClick);
		if(jL.length)jL[0].objCheck = dom;
	});
	
	$(".j_form").bind("submit",function() {
		var jNeeds = $(".j_need", this);
		var count = jNeeds.length;
		var i;
		for(i=0; i<count; i++) {
			var val = jNeeds[i].value.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
			if(!val.length) {
				alert('Поле обязательно для заполнения');
				jNeeds[i].focus();
				return false;
			}
		}
		
		var jEmails = $(".j_email", this);
		count = jEmails.length;
		for(i=0; i<count; i++) {
			var re = /^[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?\.[A-Za-z0-9]{2,5}$/;
			var val = jEmails[i].value.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
			if(val.length && !re.test(val)) {
				alert('Неверный e-mail');
				jEmails[i].focus();
				return false;
			}
		}
		
		var jPass = $("input[type='password']", this);
		if(jPass.length > 1 && jPass[0].value != jPass[1].value) {
			alert('Пароль и подтверждение пароля не совпадают');
			jPass[i].focus();
			return false;
		}		
	});
});
