Event.observe(window,'load',function(){
	registerFormValidator();
	registerAjaxToLogin();
	bindCatalogTypesChanger();
	bindCatalogSelector();
	bindStars();
	seudoFile();
});

function registerFormValidator() {
	if (form = $$('form.register')[0]) {
		if (err =form.down('div.error')) {
			err.down('input').focus()
		}
	}
}

//регистрируем аякс на логин
function registerAjaxToLogin() {
	if (!$("jax-login-form")) {
		return true;
	}
	$("jax-login-form").down("input[type='submit']").onclick=function(){
		st = ['Этот адрес почты не зарегистрирован','Неверный пароль',undefined,undefined,"Ваш аккаунт не подтвержден. Подождите, пока наш менеджер свяжется с вами"];
		unk='Ошибка авторизации, попробуйте позже.';
		$("jax-login-form").request({
			parameters: {asjax:'true'}, 
			onComplete: function(tr){
				if ((rt=tr.responseText)=='ok') {
					window.location.reload(true);
					return true;
				} else {
					$('jax-login-error').update((st[rt]==undefined)? unk : st[rt]).show();
					return false;
				}
			} 
		});
		return false;
	}
}


function showLoginForm() {
	if (fm=$('login-form')) {
		fm.visible()? fm.hide() : fm.show();
	}
}

//забиндим на ESC сброс формы
Event.observe(document,'keydown',function(ev){
	if (ev.keyCode) {
		if (ev.keyCode==Event.KEY_ESC && $('login-form') && $('login-form').visible()) {
			$('login-form').hide();
		}
	}
});


function bindCatalogTypesChanger() {
	if (!(ct=$("catalog-types"))) {
		return;
	}
	
	$$("span.pslink").each(function(el){
		Event.observe(el,'click',function(){
			$$("#catalog-types li.checked").each(function(sp){
				sp.removeClassName("checked");
			});
			el.parentNode.addClassName("checked");
			id = el.innerHTML;
			_typeCriteria(id);
		});
	});
}

function _typeCriteria(id) {
	
	new Ajax.Request('/catalog/get_criteria.html',{
		method: 'get',
		parameters: {criteria: id}, 
		onSuccess: function(transport){
			q=transport.responseText.evalJSON();
			
			$$("#vendor-list li").each(function(el){
				hid = el.getAttribute('id').replace(/vend_/,'');
				
				if (q.indexOf(hid)==-1) {
					new Effect.Fade(el.getAttribute('id'),{duration:0.5});
//					el.hide();
				} else {
					Effect.Appear(el,{duration:0.5});
//					el.show();
				}
				
				
				
				
			});
			
			//alert(q);
		
		}
		
	});
	
	//alert(id);
	
}

function bindCatalogSelector() {
	if (!(ct=$("art-query"))) {
		return;
	}
	ct.value='Введите артикул';
	brand_code_save=brand_code;
	if(brand_code!=''){
		$('searchin').update('Поиск ведется по марке "'+brand_name+'" ');
		$('gosearchin').update('Искать по всему каталогу ');
		$('gosearchin').setStyle({display:'inline'});
		searchinmarc=true;
	}else{
		$('searchin').update('Поиск ведется по всему каталогу ');
		$('gosearchin').setStyle({display:'none'});
		searchinmarc=false;
	}

	oldquery='';
	selectorInterval=null;
	Event.observe(ct,'focus',function(){
		ct.value='';
	});
	Event.observe(ct,'blur',function(){
		if(ct.value==''){
			ct.value='Введите артикул';
		}
	});
	Event.observe(ct,'keyup',function(){
		var query=ct.value;
		if(query.length>1 && oldquery!=query){
			try{
				clearInterval(selectorInterval);
			}catch(e){}
			
			selectorInterval=setInterval(catalogSelectorRequest,200,query);
			oldquery=query;
		}
	});
	Event.observe($('gosearchin'),'click',function(e){
		searchinmarc=!searchinmarc;
		if(searchinmarc){
			$('searchin').update('Поиск ведется по марке "'+brand_name+'" ');
			$('gosearchin').update('Искать по всему каталогу ');
			brand_code=brand_code_save;
		}else{
			$('gosearchin').update('Искать по марке "'+brand_name+'" ');
			$('searchin').update('Поиск ведется по всему каталогу ');
			brand_code='';
		}
		e.stop();
	});
}
process_id=0;
function catalogSelectorRequest(query){
	if (!(ct=$("art-query"))) {
		return;
	}
	if(!brand_code) brand_code=null;

	var current=ct.value;
	if(current==query){
		//console.log(current);
		process_id++;
		new Ajax.Request('/order/query.jax', {
		  parameters: {query:query,brand:brand_code},
		  onSuccess: (function(response) {
			  if(process_id==this.pid){
				$('catcont').update(response.responseText);
				initOrderForm();
			  }
		  }.bind({pid:process_id}))
		});
		/*new Ajax.Updater('catcont', '/order/query.jax', {
			parameters: {query:query,brand:brand_code},
			onComplete: function(){initOrderForm();}
		});*/
		//new Ajax.Updater()
	}
	clearInterval(selectorInterval);
}
function bindStars() {
	$$('.one-image .stars a').each(function(el){
		Event.observe(el,'mouseover',function(event){
			var sel=event.element();
			var id=sel.getAttribute('data-id');
			var rate=sel.getAttribute('data-rate');
			if(sel.parentNode.getAttribute('rel')!='voted'){
				showStars(id,rate);
			}
		});
		Event.observe(el,'mouseout',function(event){
			var sel=event.element();
			var id=sel.getAttribute('data-id');
			if(sel.parentNode.getAttribute('rel')!='voted'){
				showStars(id,0);
			}
		});
		Event.observe(el,'click',sendStar);
	});
}
function showStars(id,crate){
	$$('.stars-'+id+' a').each(function(el){
		var rate=el.getAttribute('data-rate');
		if(rate<=crate){
			if(!el.hasClassName('sel')){
				el.addClassName('sel');
			}
		}else{
				el.removeClassName('sel');
		}
	});
}
function sendStar(event){
	var sel=event.element();
	if(sel.parentNode.getAttribute('rel')=='voted'){
		event.stop();
		return;
	}
	var id=sel.getAttribute('data-id');
	var rate=sel.getAttribute('data-rate');
	new Ajax.Request('/contest/rate.jax', {
		parameters: {
			id:id,
			rate:rate
		},
		onSuccess: function(response) {
			var res=response.responseJSON;
			id=res.id;
			$$('.one-image .stars-'+id+'').writeAttribute('rel','voted');

		}
	});
	event.stop();
}
function seudoFile(){

	$$(".upload  form div.image div.input input").each(function(e){
		e.parentNode.insert("<input id='pseudfile' />");
		Event.observe(e,'change',function(e) {
			$("pseudfile").value=(e.target.value);
		});
	});
}
