ch_option=function(s,attr){
	document.location.href=document.location.href+"&attribute="+attr+"&option="+s.value
}
_cookie={
set:function(n,v){
	var exp=new Date();exp.setTime(exp.getTime()+365*24*60*60*1000)
	var c=n+"="+escape(v)+((exp)?"; expires="+exp.toGMTString():"")
	document.cookie=c
},
get:function(n){
	var c=document.cookie,pref=n+"=",b=c.indexOf("; "+pref)
	if(b==-1){b=c.indexOf(pref);if(b!=0)return null}
	else b+=2
	var end=document.cookie.indexOf(";",b)
	if(end==-1)end=c.length
	return unescape(c.substring(b+pref.length,end))
},
del:function(n){
	if(this.get(n))document.cookie=n+"=; expires=Thu, 01-Jan-70 00:00:01 GMT"
}
}
checkBidValue=function(e,el,qty){
	if(e){
		var k=e.which?e.which:event.keyCode;
		return ((k>47&&k<58)||k==37||k==8||k==46);
	}else{
		var nv=document.getElementById('wnext-value');
		var ov=nv.innerHTML;
		var v=stripNonNumeric(ov)
		if(nv){
			nv.innerHTML=ov.replace(v,formatNumber(parseFloat(el.value)*qty,2,'','.'));
		}
	}
}
function formatNumber(num,dec,thou,pnt){ 
  var x=Math.round(num * Math.pow(10,dec)); 
  var y=(''+Math.abs(x)).split(''); 
  var z=y.length - dec; 
  if (z<0)z--; 
  for(var i=z; i<0; i++)y.unshift('0'); 
  y.splice(z,0,pnt); 
  if(y[0]==pnt) y.unshift('0'); 
  while(z>3){ 
    z-=3; 
    y.splice(z,0,thou); 
  }  
  var r=y.join(''); 
  return r; 
}

function stripNonNumeric(str){ 
  str += ''; 
  var rgx = /^\d|\.|-$/; 
  var out = ''; 
  for( var i = 0; i < str.length; i++ ) 
  { 
    if( rgx.test( str.charAt(i) ) ){ 
      if( !( ( str.charAt(i) == '.' && out.indexOf( '.' ) != -1 ) || 
             ( str.charAt(i) == '-' && out.length != 0 ) ) ){ 
        out += str.charAt(i); 
      } 
    } 
  } 
  return out; 
}

/* scale */

SC={
	cache:[],
	ov:function(){
		var id=this.id.split('_')[1];
		if(SC.cache[id].src.indexOf('no-photo')!=-1)return
		SC.div.style.display='block';
		SC.div.appendChild(SC.cache[id]);

		var sT=document.body.scrollTop,sL=document.body.scrollLeft;
		var cW=document.body.clientWidth,cH=document.body.clientHeight;
		var iH=SC.div.offsetHeight,iW=SC.div.offsetWidth
		var coo=getCoord(this);

		if(cH+sT<coo.y+iH){
			SC.div.style.top=(coo.y+coo.h-iH)+'px';
		}else{
			SC.div.style.top=coo.y+'px';
		}
		if(cW+sL<coo.x+coo.w+iW){
			SC.div.style.left=(coo.x-5-iW)+'px';
		}else{
			SC.div.style.left=coo.x+coo.w+5+'px';
		}

	},
	ou:function(){
		if(SC.div.style.display=='none')return;
		SC.div.removeChild(SC.div.firstChild);
		SC.div.style.display='none';
	},
	init:function(id){
		var c=$(id);
		if(!c)return;
		var i,len,n
		SC.ims=c.getElementsByTagName('IMG');
		if(!SC.ims)return;
		SC.div=document.createElement('DIV')
		SC.div.className='sc_div';
		SC.div.style.display='none';
		document.body.appendChild(SC.div);
		for(i=0,len=SC.ims.length;i<len;i++){
			n=SC.ims[i].src.replace('sml_','');
			SC.cache[i]=new Image;
			SC.cache[i].src=n;
			SC.ims[i].id='im_'+i
			SC.ims[i].onmouseover=SC.ov
			SC.ims[i].onmouseout=SC.ou
		}
//		document.body.onunload=SC.unload;// no memory leak
	},
	unload:function(){
		for(i=0,len=SC.ims.length;i<len;i++){
			SC.ims[i].onmouseover=null;
			SC.ims[i].onmouseout=null;
		}
	}
}

/* toogle */
TG=function(name){
	this.cfg={}
	this.n=name
	this.getcfg()
	var el=$(this.n)
	var op=this.cfg[this.n]=='o'
	el.style.display=op?'':'none'
	var s=$(this.n+'_b').lastChild
	s.className=op?'open':'close'
}
TG.prototype.toogle=function(){
	var el=$(this.n)
	var op=(el.style.display=='none')
	el.style.display=op?'':'none'
	var s=$(this.n+'_b').lastChild
	s.className=op?'open':'close'
	this.cfg[this.n]=op?'o':'c'
	this.savecfg()
}
TG.prototype.getcfg=function(){
	var i,f=_cookie.get('TG_cook')
	if(!f)return
	f=f.split(';')
	for(i=0;i<f.length;i++){
		var p=f[i].split(':')
		this.cfg[p[0]]=p[1]
	}
}
TG.prototype.savecfg=function(){
	var str='',a=[],i=0
	for(var k in this.cfg)a[i++]=k+':'+this.cfg[k]
	_cookie.set('TG_cook',a.join(';'))
}

submitCart=function(){
	var f=document.productform
	if(f.quantity.value=="")f.quantity.style.background='#fee'
	else f.submit()
}
updateSel=function(t,arr,v){
	if(!arr)return
	var pn=t.parentNode
	var nt=t.cloneNode()
	var i=0
	for(var k in arr){
		nt.options[i++]=new Option(arr[k],k,false,k==v?true:false)
	}
	pn.replaceChild(nt,t)
}
/*
change_dep=function(t,id,l,callback){
	var f=t.form,e=f['field_'+id]
	if(!t.value||!e)return
//	setLoading(e)
	update=function(r){
		eval(r.responseText)
		if(DATA){
			updateSel(e,DATA,'0')
			if(callback)callback(DATA)
		}
	}
	Request.sendGET("/modules/catalog/dependent-gate.php?id="+t.value+'&attr_id='+id+'&l='+l,update)
}
*/
toogleBlock=function(el,w){
var b=el.parentNode
if(b.style.height=='30px'){
	b.style.overflow='visible'
	w=w?w:'720'
	b.style.width=w+'px'
	b.style.height='auto'
	el.className='bmax'
}else{
	b.style.overflow='hidden'
	b.style.height='30px'
	b.style.width='30px'
	el.className='bmin'
}
}
change_dep=function(t,id,l){
	var e=document.c_form['field_'+id]
	if(!t.value||!e)return
	e.options[0]=new Option("LOADING...","",false,true)
	update=function(r){
		eval(r.responseText)
		if(DATA)updateSel(e,DATA,'0')
	}
	Request.sendGET("/modules/catalog/dependent-gate.php?id="+t.value+'&attr_id='+id+'&l='+l,update)
}
prodFormCheck=function(f){
	return true
}
updateGroups=function(g,l){
	update=function(r){
		eval(r.responseText)
		if(DATA!=null)updateSelector($('category_id'),DATA,'0')
	
	}
	Request.sendGET("/modules/catalog/ajax-gate.php?cmd=subcategories&l="+l+"&category="+g.value,update)
}
updateGroups2=function(g,l,e,lp){
	var el=EV.ev(e)
	if(el.src.nodeName!='A')return false
	var links=g.getElementsByTagName('A')
	for(var i=0,len=links.length;i<len;i++){
		links[i].className=''
	}
	el.src.className='active'
	var cat=el.src.href.split('=')[1]
	var cats=$('categories')
	if($('categoriesform').section){
		var sect=$('categoriesform').section[1].checked?'/catalog':'/auction'
	}else{
		var sect='/sell'	
	}
	update=function(r){
		eval(r.responseText)
		for(var k in DATA){
			var lnk=document.createElement('A')
			lnk.href=lp+sect+'/?category='+k
			lnk.appendChild(document.createTextNode(DATA[k]))
			cats.appendChild(lnk)
		}
	}
	while(cats.childNodes.length){
		cats.removeChild(cats.firstChild)
	}
	Request.sendGET("/modules/catalog/ajax-gate.php?cmd=subcategories&l="+l+"&category="+cat+'&sect='+sect,update)
}
chLocation=function(l){
	var g=$('maincat')
	var links=g.getElementsByTagName('A')
	var cat=0
	for(var i=0,len=links.length;i<len;i++){
		if(links[i].className=='active'){
			cat=links[i].href.split('=')[1]
			break;
		}
	}
	if(cat==0)return

	var cats=$('categories')
	var sect=$('categoriesform').section[1].checked?'catalog':'auction'
	update=function(r){
		eval(r.responseText)
		for(var k in DATA){
			var lnk=document.createElement('A')
			lnk.href='/'+sect+'/?category='+k
			lnk.appendChild(document.createTextNode(DATA[k]))
			cats.appendChild(lnk)
		}
	}
	while(cats.childNodes.length){
		cats.removeChild(cats.firstChild)
	}
	Request.sendGET("/modules/catalog/ajax-gate.php?cmd=subcategories&l="+l+"&category="+cat+'&sect='+sect,update)

}

updateSelector=function(f,arr,v){
	var cf=f.cloneNode(false)
	l=arr.length
	var i=0
	for(var k in arr){
		var vv=k,le=f.options.length
		cf.options[i++]=new Option(arr[k],k,false,k==v?true:false)
	}
	f.parentNode.replaceChild(cf,f)
}

var EV={
	add:function(o,t,fp,cap){
		cap=cap||false
		if(o.addEventListener)o.addEventListener(t,fp,cap)
		else if(o.attachEvent)o.attachEvent('on'+t,fp)
	}, 
	remove:function(o,t,fp,cap){
		cap=cap||false
		if(o.removeEventListener)o.removeEventListener(t,fp,cap)
		else if(o.detachEvent)o.detachEvent('on'+t,fp)
	},
	ev:function(e){ 
		e=e?e:window.event
		if(!e)return
		e.src=e.srcElement?e.srcElement:e.target
		if(!e.preventDefault)e.preventDefault=function(){return false}
		if(!e.stopPropagation)e.stopPropagation=function(){
			if(window.event)window.event.cancelBubble=true;
		}
		return e
	}
}
function getCoord(o){
	var o2={w:o.offsetWidth,h:o.offsetHeight,x:o.offsetLeft,y:o.offsetTop}
	var p=o.offsetParent
	while(p){o2.y+=p.offsetTop;o2.x+=p.offsetLeft;p=p.offsetParent}
	return o2
}
/*
		if ($body(this)) return {x: 0, y: 0};
		var el = this, position = {x: 0, y: 0};
		while (el){
			position.x += el.offsetLeft;
			position.y += el.offsetTop;
			el = el.offsetParent;
		}
		var rpos = (relative) ? $(relative).getPosition() : {x: 0, y: 0};
		return {x: position.x - rpos.x, y: position.y - rpos.y};
*/

forminit=function(){
var e,i,f=document.sell_form,len=f.elements.length
for(i=0;i<len;i++){
	e=f.elements[i]
	if(e.onclick){
		if(e.type=="radio"&&e.name!='wholesale'){
			if(e.checked)e.onclick();
		}else if(e.name=='eshop'||e.name=='auction') e.onclick()
	}//else if(e.onchange){
	//	ch(e,true)
	//}
}
}
chn=function(e,id,v){
	var f=e.form
	switch(e.name){
		case 'eshop':
			show($('top_group_eshop'),e.checked);
			show($('top_eshop'),e.checked);
			if(!e.checked&&f['top_group_eshop'])f['top_group_eshop'].checked=false;
			if(!e.checked&&f['top_eshop'])f['top_eshop'].checked=false;
		break;
		case 'auction':
			show($('auction_block'),e.checked);
			show($('top_group_auction'),e.checked);
			show($('top_auction'),e.checked);
			if(!e.checked&&f['top_group_auction'])f['top_group_auction'].checked=false;
			if(!e.checked&&f['top_auction'])f['top_auction'].checked=false;
		break;
	}
}
show=function(el,p){
	if(!el)return;
	el.style.display=p?'':'none';
}

function $(el){if(typeof el=='string')el=document.getElementById(el);return el}

jump=function(l){
document.location.href=l
}
function checkStep(e){
	var f=e.form;
	var st=parseFloat(f['auction_start_price'].value);
	var min=parseFloat(f['auction_min_price'].value);
	
	if(!isNaN(st)&&!isNaN(min) && st<min){
		var fr=Math.ceil((min-st)/20);
		var to=Math.ceil((min-st)/2);
		if (fr>=1){
			$('auction_price_step_vals').innerHTML='['+fr+' - '+to+']';
			return;
		}
	}
	$('auction_price_step_vals').innerHTML='';
}
function showMessage(msg,e){
	var el=$('message_div');
	if(!el){
		el=document.createElement('DIV');
		el.id='message_div';
		el.onclick=function(){
			this.style.display='none';
		}
		document.body.appendChild(el);
	}
	el.innerHTML=msg;
	el.style.display='block';
	var c=getCoord(e);
	el.style.top=(c.y+20)+'px';
	el.style.left=(c.x+20)+'px';
}
function topCheck(e,qty,loc){
	if(!e.checked)return true;
	var pattern=/[0-3][0-9]-0|1[0-9]-19|20[0-9]{2}/
	var f=e.form;
	var from=f['top_from'].value;
	var to=f['top_to'].value;
	var err='';
	if(!from.match(pattern)){
		err+=_['errTopFrom']+'\n';
	}
	if(!to.match(pattern)){
		err+=_['errTopTo']+'\n';
	}
	if(err==''&&to<from){
		err+=_['errTop']+'\n';
	}
	if(err!=''){
		alert(err);
		return false;
	}

	update=function(r){
		eval(r.responseText)
		if(loc=='eshop'){
			if(eshop>=qty){
			
				var h='<h3>'+_['topEshopNoSpace']+'</h3>';
				h+=buildTopTable(eshops);
				showMessage(h,e);

//				alert(_['topEshopNoSpace']);
				e.checked=false;
			}else{
//				alert(_['topEshopFree']+' '+(eshop>qty?0:(qty-eshop))+' '+_['topPlaces']);

				var h='<h3>'+_['topEshopFree']+' '+(eshop>qty?0:(qty-eshop))+' '+_['topPlaces']+'</h3>';
				h+=buildTopTable(eshops);
				showMessage(h,e);

			}
		}else{
			if(auction>=qty){
				var h='<h3>'+_['topAuctionNoSpace']+'</h3>';
				h+=buildTopTable(auctions);
				showMessage(h,e);

//				alert(_['topAuctionNoSpace']);
				e.checked=false;
			}else{
//				alert(_['topAuctionFree']+' '+(auction>qty?0:(qty-auction))+' '+_['topPlaces']);
				var h='<h3>'+_['topAuctionFree']+' '+(auction>qty?0:(qty-auction))+' '+_['topPlaces']+'</h3>';
				h+=buildTopTable(auctions);
				showMessage(h,e);
			}
		}
	}
	Request.sendGET("/modules/catalog/ajax-gate.php?cmd=top&from="+from+'&to='+to,update);
	return true;
}
function buildTopTable(data){
	if(data.length==0)return '';
	var h='<p>'+_['topUsed']+':</p>';
	 h+='<table>';
	h+='<tr><th>ID</th><th>'+_['top_from']+'</th><th>'+_['top_to']+'</th></tr>';
	for(var i=0,len=data.length;i<len;i++){
		var r=data[i];
		h+='<tr><td>'+r['id']+'</td><td>'+r['top_from']+'</td><td>'+r['top_to']+'</td></tr>';
	}
	h+='</table>';
	return h;
}
function changeTopGroup(e){
	var f=e.form
	f['top_group_eshop'].checked=false;
	f['top_group_auction'].checked=false;
}
function topGroupCheck(e,qty,loc){
	if(!e.checked)return true;
	var pattern=/[0-3][0-9]-0|1[0-9]-19|20[0-9]{2}/
	var f=e.form
	var from=f['top_group_from'].value;
	var to=f['top_group_to'].value;
	var group=f['top_group'].value
	var err='';
	if(!from.match(pattern)){
		err+=_['errTopGroupFrom']+'\n';
	}
	if(!to.match(pattern)){
		err+=_['errTopGroupTo']+'\n'
	}
	if(err==''&&to<from){
		err+=_['errTopGroup']+'\n'
	}
	if(!group){
		err+=_['errTopGroupUndefined']+'\n';
	}
	if(err!=''){
		alert(err)
		return false;
	}
	update=function(r){
		eval(r.responseText)
		if(loc=='eshop'){
			if(eshop>=qty){
//				alert(_['topEshopGroupNoSpace']);
				var h='<h3>'+_['topEshopGroupNoSpace']+'</h3>';
				h+=buildTopTable(eshops);
				showMessage(h,e);
				e.checked=false;
			}else{
				var h='<h3>'+_['topEshopFree']+' '+(eshop>qty?0:(qty-eshop))+' '+_['topPlaces']+'</h3>';
				h+=buildTopTable(eshops);
				showMessage(h,e);
//				alert(_['topEshopFree']+' '+(eshop>qty?0:(qty-eshop))+' '+_['topPlaces']);
			}
		}else{
			if(auction>=qty){
				var h='<h3>'+_['topAuctionGroupNoSpace']+'</h3>';
				h+=buildTopTable(auctions);
				showMessage(h,e);
//				alert(_['topAuctionGroupNoSpace']);
				e.checked=false;
			}else{
				var h='<h3>'+_['topAuctionFree']+' '+(auction>qty?0:(qty-auction))+' '+_['topPlaces']+'</h3>';
				h+=buildTopTable(auctions);
				showMessage(h,e);
//				alert(_['topAuctionFree']+' '+(auction>qty?0:(qty-auction))+' '+_['topPlaces']);
			}
		}
	}
	Request.sendGET("/modules/catalog/ajax-gate.php?cmd=top_group&from="+from+'&to='+to+'&category='+group,update);
	return true;
}

switchOpts=function(inp){
	var el,i,tr=inp.parentNode.parentNode
	var els=tr.getElementsByTagName('INPUT')
	tr.style.background=inp.checked?'#fff':'#f8f8f8'
	for(i=0;i<els.length;i++){
		el=els[i]
		if(el.type!='checkbox'){
			el.disabled=!inp.checked
		}
	}
}

var mOpts=function(e,id){
	var i,tb=$('opts_table'+id),row=$('opt_row'+e.value)
	var r=tb.firstChild.childNodes
	for(i=0;i<r.length;i++){
		r(i).style.display="block"
	}
	if(row){
		row.style.display="none"
	}
}

addWholesaleRow=function(){
	var t=document.getElementById('wholesale-data'),tb=t.firstChild;
	var row=tb.lastChild.cloneNode(true);
	var i,els=row.getElementsByTagName('INPUT'),len=els.length;
	for(i=0;i<len;i++){
		els[i].value='';
	}
	tb.appendChild(row);
}
