    function infoDropDowns(){ /** uhm looks duff */	    
	    pColour=pInfoDrop[0].chosen!=null&&pInfoDrop[0].chosen!=pInfoDrop[0].defaultValue?pInfoDrop[0].chosen:'';
	    pSize=pInfoDrop[1].chosen!=null&&pInfoDrop[1].chosen!=pInfoDrop[1].defaultValue?pInfoDrop[1].chosen.split('&nbsp;-&nbsp;')[0]:'';	    
	    pQty=1;	
	}
    function colourUrl(){//assume 0 is the colour	    
	    if(pInfoDrop[0].chosen!=null&&pInfoDrop[0].chosen!=pInfoDrop[0].defaultValue){
	        var newURL=bUrl+pInfoDrop[0].chosen+'.html';	    
	        newURL!=document.URL?window.location=newURL:infoDropDowns();
	    }else{infoDropDowns();}
	}	
	function doQty(){	    
	    var chosenQty,newArray=[],chosenColour=pInfoDrop[0].chosen!=null&&pInfoDrop[0].chosen!=pInfoDrop[0].defaultValue?pInfoDrop[0].chosen:'';
	    var chosenSize=pInfoDrop[1].chosen!=null&&pInfoDrop[1].chosen!=pInfoDrop[1].defaultValue?pInfoDrop[1].chosen:'';	        
	    chosenColour=chosenColour==''?pInfoDrop[0][0]:chosenColour;	    	    	    
	    infoDropDowns();   	    
	}
    function resetDropDown(){	    
	    for(var i=0;i<dropDownArray.length;i++){	        
	        dropDownArray[i].chosen=dropDownArray[i].defaultValue;
	        dropDownArray[i].display.innerHTML=dropDownArray[i].chosen;
	        dropDownArray[i].menu.currOp=true;
	        dropDownArray[i].menu.disabled=false;  
	        dropDownArray[i].menu['imba']();	     
	    }
	}
    function doDropDown(){        
        var URL=window.location.protocol+'//'+window.location.host+'/l0-products-';        
        var dropdown=getDropDown();        
        if(!dropdown){return false;}
        URL+=dropdown.baseObj.id;
        URL+=dropdown.baseClass.id.substr(1);
        URL+='-l5-';
        URL+=dropdown.chosen;
        URL+='.html';
        window.location=URL;    
    }
    function getDropDown(){
        for(var i=0;i<dropDownArray.length;i++){
            if(dropDownArray[i].chosen!=null&&dropDownArray[i].chosen!=dropDownArray[i].defaultValue){
                return dropDownArray[i];
                break;
            }
        }
        return false;    
    }
    function getReq(){    
	    var arr1=[],arr2=[];
	    for(var i=0;i<dropDownArray.length;i++){	    
	        if(dropDownArray[i].chosen!=null&&dropDownArray[i].chosen!=dropDownArray[i].defaultValue){	            
	            arr1.push(dropDownArray[i].baseObj.id);
	            arr2.push(dropDownArray[i].chosen);	            
	        }	    
	    }	    
	    return {level:arr1,value:arr2};
	}	 
	function makeDropDown(arr,obj,base,dis,msg,content,class1,class2,passTo){
		if(obj==null)return false;
		arr.push(new createDropDown({
			baseObj:obj,
			baseClass:base,
			disClass:dis,
			def:msg,
			class1:class1,
			class2:class2,
			content:content,
			passTo:passTo
		}));
	}
	function createDropDown(args){
		this.selected=null;
		this.baseObj=args.baseObj;		
		this.baseClass=args.baseClass;
		this.baseClass.onselectstart = function() {return false;} // ie
        this.baseClass.onmousedown = function() {return false;}				
		this.display=args.disClass;
		this.defaultValue=args.def;			
		this.class1=args.class1;
		this.class2=args.class2;
		this.class3="off";	
		if(args.passTo!=''&&args.passTo!=null){this.passTo=args.passTo;}    
		this.defaultValue=(this.baseObj.firstChild.innerHTML);//.toLowerCase();
		this.baseObj.firstChild.className=this.class2;				    	
		if((this.display.innerHTML).toLowerCase()!=(this.defaultValue).toLowerCase()){
		    this.chosen=this.display.innerHTML;
		}
		 		            
		this.fade=new opacity(args.baseClass,25,40,100,100,2,10);                  
        this.menu=new makeMenu({
            obj:args.baseObj,
            event:'mousedown',
            eventObj:'',
            current:0,
            start:0,
            end:args.baseObj.scrollHeight,
            jump:12,
            timer:1,
            style:'height'       
        });
        this.setTogetChoice();  
        if(this.baseObj.childNodes.length<2){this.fade.iFadeOut(10);} 
        this.display.onmousedown=c$(this.menu,'imba');  
        this.display.onmouseup=c$(this,'toDefault');
	}
	createDropDown.prototype={
	    toDefault:function(){
	        
	        if(!this.menu.disabled){
	            this.chosen=this.display.innerHTML=this.defaultValue;
                this.passTo();
            }
	    },
		decideChosen:function(event){
		    this.menu.disabled=false;
		    this.chosen=(getTarget(event).innerHTML);//.toLowerCase();
		    this.menu.imba();
		    this.doChosen();
		},
		doChosen:function(){		    
			this.display.innerHTML=this.chosen;									
			this.passTo();		
		},
        addItems:function(array){            
            for(var i=0;i<array.length;i++){            
                var p=document.createElement('p');
                p.id=p.innerHTML=array[i];                
                Dom.add(p,this.baseObj);            
            }
            this.setTogetChoice();       
        },
        removeItems:function(){                   
            while(this.baseObj.childNodes.length>1){                
                this.baseObj.lastChild.onmousedown=null;
                Dom.remove(this.baseObj.lastChild);                
            }       
        },
        setTogetChoice:function(){          
            for(var i=0;i<this.baseObj.childNodes.length;i++){
		        this.baseObj.childNodes[i].onmousedown=c$(this,'decideChosen'); 
		        //this.baseObj.childNodes[i].onmouseup=c$(this.menu,'imba');     
	        }
        },
        show:function(opt){this.baseClass.style.display=opt;}		
	}
	function makeMenu(args){
		this.disabled=false;
		this.t=new t();
		this.obj=args.obj;
		this.eventObject=args.eventObj;
		this.currPos=args.current;
		this.startPos=args.start;
		this.endPos=args.end;
		this.bsJump=args.jump;
		this.sjump=this.jump=parseInt(this.endPos/this.bsJump);
		this.toSet=args.style;
		this.time=args.timer;
		this.toGet=args.style==='height'?'offsetHeight':'offsetWidth';	
		this.currOp=this.currPos<this.endPos?false:true;
		this.accelPff=4;
		this.accelBound=this.endPos/this.accelPff;
		this.accelJump=this.jump/10>1?parseInt(this.jump/10):1;
		args.class1!=''||args.class1!=null?this.class1=args.class1:this.class1=null;
		args.class2!=''||args.class2!=null?this.class2=args.class2:this.class2=null;
		args.timeout!=''||args.timeout!=null?this.timer=args.timeout:this.timer=1;		
		if(args.eventObj!=''){
		    this.attach({
			    object:args.eventObj,
			    event:args.event,
			    todo:'decideDir'
		    });	
		}		
	}
	makeMenu.prototype={
		decideDir:function(){
		    this.doo({
		        name:'imba',
		        method:'timer',
		        time:this.timer
		    });
		},
		imba:function(){	
		    if(!this.disabled){	
			    this.re(this.currOp?false:true);
			    var test=this.currOp?'doOpen':'doClose';
			    this.doo({
				    name:this.currOp?'doOpen':'doClose',
				    method:'intervaler',
				    time:this.time		
			    });			
			}
		},
		doo:function(args){		    
			this.t[args.method](
				c$(this,args.name),
				args.time				
			);	
		},
		doOpen:function(){			    
			this.accelBound=this.endPos/this.accelPff; //meh
			if(this.currPos<this.endPos){
				if((this.accelBound>this.endPos-this.currPos)&&this.jump>1){
					this.jump-=this.accelJump;
				}
				this.currPos+=this.jump;			
			}
			if(this.currPos>=this.endPos){
				this.jump=1;
				this.currPos=this.endPos;	
				this.obj.style['overflowY']='auto';	
				this.t.endInterval();									
			}
			this.obj.style[this.toSet]=this.currPos+'px';					
		},
		doClose:function(){
			this.accelBound=this.endPos/this.accelPff;
			this.obj.style['overflowX']='hidden';
			this.obj.style['overflowY']='hidden';
			if(this.currPos>this.startPos){
				if(this.endPos-this.accelBound>this.currPos&&this.jump<this.sjump){
					this.jump+=this.accelJump;
				}
				else //meh
				{
					this.jump=this.sjump;
				}
				this.currPos-=this.jump;
			}
			if(this.currPos<=this.startPos){
				this.currPos=this.startPos;
				this.t.endInterval();				
				this.jump=this.sjump;						
			}			
			this.obj.style[this.toSet]=this.currPos+'px';		
		},	
		re:function(bool){
		    if(this.class1!=''&&this.class1!=null){
		        bool?this.eventObject.className=this.class1+" "+this.class2:this.eventObject.className=this.class1;
			}
			this.currOp=bool;
			this.t.endInterval();		
		},
		attach:function(args){ /** shouldnt be here */		
			if(args.object.attachEvent){
				args.object.attachEvent("on"+args.event,c$(this,args.todo));  
			}else if(args.object.addEventListener){
				args.object.addEventListener(args.event,c$(this,args.todo), false); 
			}			
		},
		updateHeight:function(){ /** dont like */		    
			this.endPos=this.obj.scrollHeight;	
			this.currOp=this.currPos<this.endPos?false:true;			
		    this.accelBound=this.endPos/this.accelPff;
		    this.accelJump=this.jump/10>1?parseInt(this.jump/10):1;	
		},
		resetHeight:function(){ /* check functionality */
		    if(this.currOp==true){
		        this.obj.style.height='auto';
		        this.currPos=this.endPos=this.obj.scrollHeight;
		    }else{this.endPos=this.obj.scrollHeight;}
		    this.sjump=this.jump=parseInt(this.endPos/this.bsJump);
		    this.updateHeight();		
		}
	}
