function sf(f) {    // serialise form for add to basket   
	var retVal = '';
	var els = f.getElementsByTagName('*');
	for( var idx = 0; idx < els.length; idx++   ) {      
		var el = els[idx];
		if( !el.disabled && el.name && el.name.length > 0 ) {        
			switch(el.tagName.toLowerCase()) {          
				case 'input':            
					switch( el.type ) {
						case 'checkbox':              
						case 'radio':                
							if( el.checked ) {                  
								if( retVal.length > 0 ) {retVal += '&';}
								retVal += el.name +  '=' +  encodeURIComponent(el.value);                
							}                
							break;              
						case 'hidden':              
						case 'password':              
						case 'text':                
							if( retVal.length > 0 ) { retVal += '&'; }                
							retVal += el.name +  '='  + encodeURIComponent(el.value);                
							break;            
					}            
					break;          
				case 'select':          
				case 'textarea':            
					if( retVal.length > 0 ) { retVal += '&'; }
					retVal += el.name +  '=' +  encodeURIComponent(el.value);            
					break;        
			}      
		}    
	}    
	return retVal;  
}

