	function createCounter()
	{
		if(document.getElementById && document.createTextNode)
		{
			var inputs,i,newa,cmax,cmin,c;
			var linkclass='counterlink';
			var addtext='+';
			var subtext='-';
			var addbefore=true; // subtracting link appears before or after the input (true|false)
			inputs=document.getElementsByTagName('input');
			for(i=0;i<inputs.length;i++)
			{
				if(/.*?_ctr_-{0,1}\d+_-{0,1}\d+/.test(inputs[i].id))
				{
					cmax=inputs[i].id.match(/.*?_ctr_(-{0,1}\d+)_(-{0,1}\d+)/);					
					cmin=cmax[1];
					cmax=cmax[2];
					c=parseInt(inputs[i].value);
					if (isNaN(c) || c<cmin) 
					{
						inputs[i].value=cmin;
				
				    }
					if (c>cmax) 
					{
						inputs[i].value=cmax;
					}
					inputs[i].value=parseInt(inputs[i].value)
					inputs[i].onchange=function()
					{
						var cmax,cmin,c;						
						cmax=this.id.match('quantity_ctr_1_100')
						cmin=cmax[1];
						cmax=cmax[2];
						c=parseInt(this.value);
						if (isNaN(c) || c<cmin) {this.value=cmin;}
						if (c>cmax) {this.value=cmax;}
						this.value=parseInt(this.value);
					}
					newa=document.createElement('a')
					newa.appendChild(document.createTextNode(addtext));
					newa.o=inputs[i];
					newa.href='#';
					newa.className=linkclass;
					newa.onclick=function()
					{
						if(parseInt(this.o.value)<cmax)
						{
							this.o.value++;
						}
						return false;
					}
					inputs[i].parentNode.insertBefore(newa,inputs[i].nextSibling);
					newa=document.createElement('a')
					newa.appendChild(document.createTextNode(subtext));
					newa.o=inputs[i];
					newa.href='#';
					newa.className=linkclass;
					newa.onclick=function()
					{
						if(parseInt(this.o.value)>cmin)
						{
							this.o.value--;
						}
						return false;
					}
					if(addbefore)
					{
						inputs[i].parentNode.insertBefore(newa,inputs[i]);
					} else {
						inputs[i].parentNode.insertBefore(newa,inputs[i].nextSibling);
					}
				}
			}	
		}
		  // arguments: id of layer containing scrolling layers (clipped layer), id of layer to scroll, 
  // if horizontal scrolling, id of element containing scrolling content (table?)
  var wndo = new dw_scrollObj('wn', 'lyr1', null);
  
  // pass id's of any wndo's that scroll inside tables
  // i.e., if you have 3 (with id's wn1, wn2, wn3): dw_scrollObj.GeckoTableBugFix('wn1', 'wn2', 'wn3');
  dw_scrollObj.GeckoTableBugFix('wn'); 
	}
	window.onload=createCounter;	
