var selbox=Class.create({
	initialize:function(div,form){

	this.form=form;
	
	this.data=Array();
	
	this.showing=0;
	this.page=0;
	this.start=0;
	
	this.nodes=Array();
	this.formObj=Array();
	
	/*-----   GET/SET DOM ELEMENTS    ------*/
// slb
	this.div=div;
	this.div.id='slbs'+this.form.pos;
	this.obj=findr(this.div,'id','obj');
	
	this.div.removeChild(this.obj);
	//this.obj.style.display='none';
	// MAKE URL	
	},
	draw:function(){		
		//    REMOVE EVERYTHING
		while ( this.div.childNodes.length >= 1 )
    	{
        	this.div.removeChild( this.div.firstChild );       
    	}
    	var backward=false;
    	if(this.start<0){
    		this.start=0;
    	}else if(this.start>=this.form.vizobj.length-1){
    		this.start=this.form.vizobj.length-1;
    		backward=true;
    	}
    	var property=null;
    	if(this.div.offsetWidth<this.div.offsetHeight){
    		property='offsetHeight';
    	}else{
    		property='offsetWidth';
    	}
		var width=0;
    	var i=this.start;
    	this.showing=0;
    	while((0<=i)&&(i<this.form.vizobj.length)&&(width<this.div[property])){
//  			alert(i+"::"+this.form.vizobj[i]+"//"+this.form.vizobj.length);
  			var node=this.form.vizobj[i];
			if(backward){
				var d=$('slbs'+this.form.pos);
				if(d.firstChild!=null){
					d.insertBefore(node.div,d.firstChild);
				}else{
					$('slbs'+this.form.pos).appendChild(node.div);
				}
			}else{
				$('slbs'+this.form.pos).appendChild(node.div);
			}
			width+=node.div[property];
			width+=20;
			if(width<this.div[property]){
				this.showing++;
			}else{
				$('slbs'+this.form.pos).removeChild(node.div);
			}
			if(backward){
				i--;
			}else{
    			i++;
			}
			
    	}
    	if(this.form.selnav!=null){
    		this.form.selnav.draw();
    	}
	},
	incPage:function(inc){
		if(inc=='first'){
			this.start=0;
		}else if(inc=='last'){
			this.start=this.form.obj.length;
		}else{
			this.start+=this.showing*inc;
			if(inc<0){
				this.start-=1;
			}
		}
//		alert(this.start);
		this.draw();
	},
	move:function(dist){
		var box=$(this.div.id);
		var newPos=box.offsetLeft+dist;
		var maxPos=0;
		maxPos=box.parentNode.offsetWidth-box.offsetWidth;
		if(newPos>0){
			box.style.left="0px";
		}else if(0>(newPos-maxPos)){
			if(box.offsetWidth<box.parentNode.offsetWidth){
				box.style.left="0px";
			}else{
				box.style.left=maxPos+"px";
			}
		}else{
			box.style.left=newPos+"px";
		}
	}
});

function findr(div,pref,test){
	// FIND FORM
//	alert(div+"::"+pref+"::"+test);
	for(i=0;i<div.childNodes.length;i++){
		var node=div.childNodes[i];
		if(node[pref]==test){
			//this.obj=node;
			//alert(node.className+'=node');
			return node;
		}
	}
}

function sbCheck(obj){
	for(var i=0;i<slbs.length;i++){
	//alert(slbs[i].type+"::"+obj.type);
	//alert(slbs[i].type+"HI"+obj.type);
		if(slbs[i].type==obj.type){
			slbs[i].load(obj.res);
		}
	}
}
function loadNode(node,data){

}