    
	function AddAttchments( baseUrl ) {
		window.open(baseUrl + '/sf_attachments/create', "AddAttachment", "menubar=no, scrollbars=no, width=700, height=500, screenx=400, screeny=200" );
	}
	
	function AddAttachmentToSelect( attachmentID, attachmentTitle ) {
		var selectEl = window.opener.document.getElementById('associated_attachments');
		var option = new Option(attachmentTitle, attachmentID, false, false);
		selectEl.options[selectEl.length] = option;
	}
	
	function setErrorBoxMsg(data) {
		if ( document.getElementById('sf_message_container') ) {
			document.getElementById('sf_message_container').innerHTML = data;
			animateErrorBox();
		}
	}
	
	function animateErrorBox() {
		document.getElementById('sf_message_data_container').style.display = 'inline';
		var node = document.getElementById('sf_message_container');
		new Effect.BlindDown(node);
	}

	function addNavigationPage( text ) {
		document.getElementById('navigation_container').innerHTML += text;
	}
	
	function animate( container ) {
		if ( !container ) {
			container = 'page_container';
		} else if ( container.length <= 0 ) {
			container = 'page_container';
		}
		new Effect.SlideDown(container);
	}
	
	function AddToBasket( productID ) {
		if ( !productID || productID.length <= 0 ) {
			productID = 0;
		}
		var flavourID = 0;
		if ( document.getElementById('flavours_' + productID) ) {
			var flavourEl = document.getElementById('flavours_' + productID);
			flavourID = flavourEl.options[flavourEl.selectedIndex].value;
		}

		var opt = {
			method: 'get',
		    onSuccess:function(t) {
				document.getElementById('basket_container').style.display = 'none';
				document.getElementById('basket_container').innerHTML = t.responseText;
				new Effect.SlideDown('basket_container');
			},
		    onFailure: function(t) {
		        alert('Error ' + t.status + ' - ' + t.statusText);
		    }
		}
		var params = '?product_id=' + productID + '&flavour_id=' + flavourID;
		new Ajax.Request('/basket/add_product.php' + params, opt);
	}
	
    function getNumber( sText ) {
	    var ValidChars = "0123456789";
	    var dot = '.';
	    var comma = ',';
	    var newNumber = '';
	    var Char;

	    for (i = 0; i < sText.length; i++) { 
	        Char = sText.charAt(i); 
	        if (ValidChars.indexOf(Char) == -1) {
	        	if ( dot.indexOf(Char) > -1 ) {}
	        	if ( comma.indexOf(Char) > -1 ) {
	        		newNumber += '.';
	        	}
	        } else {
	        	newNumber += Char;
	        }
	    }
	    return newNumber;
    }

	function IsInteger(sText) {
	    var ValidChars = "0123456789";
	    var IsNumber = true;
	    var Char;

	    for (i = 0; i < sText.length && IsNumber == true; i++) { 
	        Char = sText.charAt(i); 
	        if (ValidChars.indexOf(Char) == -1) {
	        	IsNumber = false;
	        }
	    }
	    return IsNumber;
    }
