document.onkeydown = esc;
function esc(e) {var kC=(window.event)?event.keyCode:e.keyCode;var Esc=(window.event)?27:e.DOM_VK_ESCAPE;if(kC==Esc)close_pic();}

var curr=new Date();
var past=new Date();
var future=new Date();
past.setTime(1);
future.setTime(curr.getTime()+15724800000);

/*cookie test*/
var MAX_COOKIE=100;
if(get_cookie('max')===''){
	function set_test(n,v){
		document.cookie=n+'='+v+';path=/;expires='+future.toGMTString();
	}

	function del_test(){
		if(document.cookie){
			var ca=document.cookie.split(';');
			for(var i=0,l=ca.length;i<l;i++){
				var c=ca[i].split('=');
				if(c[1]==='tst'){
					document.cookie=c[0]+'=1;path=/;expires='+past.toGMTString();
				}
			}
		}
	}

	for(var i=cnt()+1;i<100;i++){
		set_test('test'+i,'tst');
		var j=cnt();
		if(i!=j){
			del_test();
			MAX_COOKIE=i-1;
			
			break;
		}
	}
	set_test('max',MAX_COOKIE);
}
else{
	MAX_COOKIE=get_cookie('max');
}
function cnt(name){
	if(document.cookie.length>0){
		var c=document.cookie.split(';');
		return c.length;
	}
	return 0;
}
/*cookie test*/


var ie6;
function enlarge(num)
{
	var fly=document.getElementById('fly_ie6');
	var tr,bl;
	if(fly){
		ie6=true;
		tr=document.getElementById('tr');
		bl=document.getElementById('bl');
		tr.style.height='500px';
		bl.style.height='500px';
	}
	else{fly=document.getElementById('fly');}
	fly.style.display='block';
	
	if(ie6){
		var big=document.getElementById('big_ie6');
		big.src='/img/big/'+num+'.jpg';
		tr.style.height=((big.height*1)+56)+'px';
		bl.style.height=((big.height*1)+56)+'px';
		fly.getElementsByTagName('table')[0].style.width=big.width+'px';
	}
	else{
		var big=document.getElementById('big');
		big.src='/img/big/'+num+'.jpg';
	}
}

function close_pic()
{
	var fly=document.getElementById(ie6?'fly_ie6':'fly');
	var big=document.getElementById(ie6?'big_ie6':'big');
	fly.style.display='none';
	big.src='/i/wait.gif';
}

function set_period(){var t=new Date();var cy=t.getFullYear();var s=document.getElementById('copy').getElementsByTagName('span')[0];var r=parseInt( s.innerHTML );if(cy>r)s.innerHTML=r+'–'+cy;}
function buy(id){
	if(cnt()<MAX_COOKIE-3){
		var txt=document.getElementById(id);
		set_cookie(id,txt.value);
		count();
		alert("Заказ добавлен в корзину");
	}
	else{
		alert('В этот заказ нельзя добавить больше позиций. Отправьте этот заказ. После этого Вы сможете продолжить покупки.');
	}
}

function count(){
	var total=0;
	if(document.cookie){
		var ca=document.cookie.split(';');
		for(var i=0,l=ca.length;i<l;i++){
			var c=ca[i].split('=');
			if(c[0]&&c[0].match(/id/)){
				total+=c[1]*1;
			}
		}
	}
	var b=document.getElementById('basket');
	if(total){
		var q=document.getElementById('quantity');
		if(q){
			var t=document.createTextNode(total);
			q.replaceChild(t,q.firstChild);
		}
		else{
			var html_frag=' (<b id="quantity">'+total+'</b>)';
			b.parentNode.innerHTML+=html_frag;
		}
	}
	else{while(b.nextSibling)b.parentNode.removeChild(b.nextSibling)}set_period();
}


function set_cookie(id,quantity){document.cookie=id+'='+((get_cookie(id)*1)+(quantity*1))+';path=/;expires='+future.toGMTString();}
function get_cookie(name){if(document.cookie.length>0){var s=document.cookie.indexOf(name+'=');if(s!=-1){s=s+name.length+1; e=document.cookie.indexOf(";",s);if(e==-1)e=document.cookie.length;return unescape(document.cookie.substring(s,e));}}return '';}
function delete_all_cookies(){if(document.cookie){var ca=document.cookie.split(';');for(var i=0,l=ca.length;i<l;i++){var c=ca[i].split('=');if(c[0]&&c[0].match(/id/)){document.cookie=c[0]+'=0;path=/;expires='+past.toGMTString();}}}}

function calculate()
{
	var table=document.getElementById('order_list');
	if(table){
		var rows=table.getElementsByTagName('tr');
		var sum=0;
		for(var i=1,len=rows.length;i<len;i++){
			var cells=rows[i].getElementsByTagName('td');
			var price=cells[1].firstChild.nodeValue.split(' ',1)*1;
			var amount=cells[2].firstChild.value*1;
			sum+=price*amount;
		}
		if(sum==0){
			empty_order()
		}
		else{
			var b=document.getElementById('total');
			b.innerHTML=Math.round(sum)+' руб.';
			document.getElementById('min_sum').style.display=sum<5000?'inline-block':'none';
		}
	}
}

function del(obj){var tr=obj.parentNode.parentNode;document.cookie=tr.getElementsByTagName('input')[0].name+'=0;expires='+past.toGMTString();var table=tr.parentNode;table.removeChild(tr);table.lastChild.className='b';count();calculate();}
function empty_order(){var p=document.getElementById('noorder');var div=document.getElementById('order_form');div.parentNode.removeChild(div);p.style.display='block';}

/*******************************/
/*             FORM            */
/*******************************/
var add_event;
if (document.addEventListener){add_event=function(o,e,f){o.addEventListener(e,f,false);};}
else if (document.attachEvent){add_event=function(o,e,f){o.attachEvent('on'+e,f);};}

function Form(o){
	this.element=o;
	this.ready;
	this.field=[];
	this.init();
}

Form.prototype.init=function(){
	this.get_fields();
}

Form.prototype.get_fields=function(){
	var input=this.element.getElementsByTagName('input');
	for(var i=0,l=input.length;i<l;i++){
		if(input[i].type=='text'){
			this.field.push(new Field(input[i]));
		}
	}
}

Form.prototype.check=function(){
	this.ready=true;

	var rows=document.getElementById('order_list').getElementsByTagName('tr');
	var sum=0;
	for(var i=1,len=rows.length;i<len;i++){
		var cells=rows[i].getElementsByTagName('td');
		var price=cells[1].firstChild.nodeValue.split(' ',1)*1;
		var amount=cells[2].firstChild.value*1;
		sum+=price*amount;
	}
	if(sum<5000){
		alert('Минимальная сумма заказа 5000 рублей');
		this.ready=false;
	}

	for(var i=0,l=this.field.length;i<l;i++){
		if(this.field[i].ready===undefined)
			this.field[i].check();
		if(!this.field[i].ready){
			if(this.ready)this.field[i].element.focus();
			this.ready=false;
			this.field[i].highlight();
		}
	}
}

Form.prototype.submit=function(){
	this.check();
	if(this.ready){
		this.submit.disabled=true;
		this.element.submit();
	}
}

function Field(o){
	this.element=o;
	this.ready;
	this.init();
}

Field.prototype.init=function(){
	this.required=this.element.getAttribute('required')?true:false;
	var re_str=this.element.getAttribute('regexp');
	if(re_str){this.regexp=new RegExp(re_str);}
	this.init_events();
}

Field.prototype.init_events=function(){
	var _my=this;
	add_event(_my.element,'blur',function(){_my.check()});
}

Field.prototype.check=function(){
	if(this.value!=this.element.value||this.ready===undefined){
		if(this.required&&this.regexp&&this.element.value!=''&&this.regexp.test(this.element.value)){
			this.ready=true;
		}
		else if(this.required&&!this.regexp&&this.element.value!=''){
			this.ready=true;
		}
		else if(!this.required&&this.regexp&&this.element.value!=''&&this.regexp.test(this.element.value)){
			this.ready=true;
		}
		else if(!this.required&&this.element.value==''){
			this.ready=true;
		}
		else if(!this.required&&!this.regexp){
			this.ready=true;
		}
		else{
			this.ready=false;
		}
	}
}

Field.prototype.highlight=function(){
	this.element.style.backgroundColor="#ffc2c2";
	this.element.style.border="1px solid #f00";
	var _my=this;
	add_event(_my.element,'blur',function(){_my.check();if(_my.ready){_my.element.style.backgroundColor='#fff';_my.element.style.borderColor='#ccc';}});
}