
if (!this.Toolkit){
	
	var Toolkit = function(){
		
		return {
			
			Fades : new Array(),
			Animations : new Array(),
			
			get : function (element){ 
				if (typeof element != 'string'){ 
					return element; 
				}
				
				return document.getElementById(element);

			},
			
			getElements : function (tag, att, element){
				
				if (!element){ var element = document; }

				var elem = Toolkit.get(element).getElementsByTagName(tag);

				if (att != ''){
					
					var arr = new Array();
					var attArray = att.split(',');
					if (attArray.length > 1){
						var attKeys = new Array();
						var attValues = new Array();
						for (var i = 0; i < attArray.length; i++){
							attKeys[i]   = Toolkit.trim(attArray[i].substr(0, attArray[i].indexOf(':')));
							attValues[i] = Toolkit.trim(attArray[i].substr((attArray[i].indexOf(':')+1)));
						}
						
						for(var i = 0; i < elem.length; i++){
						
							var obj = Toolkit.getAttributes(elem[i], attKeys.join(','), true);
							var match = true;
							
							for (var j = 0; j < attKeys.length; j++){
								if (attValues[j] != obj[attKeys[j]]){
									match = false;
									break;
								}
							}
							if (!match){ continue; }
							arr[arr.length] = elem[i];
						
						}
						
					}
					
					return arr;
				}
				return elem;
				
			},
			
			kill : function(element){
				element = Toolkit.get(element);
				if(element){ 
					element.parentNode.removeChild(element); 
				}
			},
			
			getAttributes : function (el, attributes, obj){
				
				el = Toolkit.get(el);
				var forceObject = false;
				if (obj){ forceObject = true; }
				
				var object = new Object();
				
				var parts = attributes.split(',');
				
				for (var i = 0; i < parts.length; i++){
					var att = parts[i];
					if (browser.isIE){
						
						switch (att){
							case "class":
								var val = el.className;
							break;
							case "id":
							case "href":
							case "name":
							case "src":
							case "alt":
							case "rel":
							case "target":
								var val = el.getAttribute(att);
								break;
							
							case "onMouseDown":
							case "onclick":
							case "onmouseup":
							case "onmousemove":
							case "onmouseover":
							case "onmouseout":
								var val = el.getAttribute(att);		//	ie 8, 7
								break;
							
							case "opacity":
								var val = el.style.Opacity;
								break;
							case "display":
								var val = el.style.display;
								break;
							case "top":
								var val = el.style.top;
								break;
							case "left":
								var val = el.style.left;
								break;
							case "width":
								var val = el.style.width;
								break;
							case "height":
								var val = el.style.height;
								break;
							case "margin":
								var val = el.style.margin;
								break;
							case "padding":
								var val = el.style.padding;
								break;
							case "clear":			
								var val = el.style.clear;
								break;
							case "float":
								var val = el.style.float;
								break;
							case "min-height":			
								var val = el.style.minHeight;
								break;
							case "overflow":	
								var val = el.style.overflow;
								break;
							case "visibility":
								var val = el.style.visibility;
								break;
							case "color":
								var val = el.style.color;
								break;			
							case "font-family":	
							case "font":	
								var val = el.style.fontFamily;
								break;
							case "font-size":	
								var val = el.style.fontSize;
								break;
							case "size":		
								var val = el.style.size;
								break;
							case "font-style":		
								var val = el.style.fontStyle;
								break;
							case "font-weight":		
								var val = el.style.fontWeight;
								break;
							case "line-height":		
								var val = el.style.lineHeight;
								break;
							case "text-align":		
								var val = el.style.textAlign;
								break;
							case "min-width":		
								var val = el.style.minWidth;
								break;
							case "background":
							case "background-image":
								var val = el.style.backgroundImage;
								break;
							case "background-color":		
								var val = el.style.backgroundColor;
								break;
							case "background-position":		
								var val = el.style.backgroundPosition;
								break;
							case "background-repeat":	
								var val = el.style.backgroundRepeat;
								break;
							case "background-attachment":	
								var val = el.style.backgroundAttachment;
								break;
								
							case "border":	
								var val = el.style.border;
								break;
							case "border-color":	
								var val = el.style.borderColor;
								break;
							case "border-style":	
								var val = el.style.borderStyle;
								break;
							case "border-width":	
								var val = el.style.borderWidth;
								break;	
							case "border-spacing":	
								var val = el.style.borderSpacing;
								break;
							case "border-collapse":	
								var val = el.style.borderCollapse;
								break;
								
							case "border-bottom":	
								var val = el.style.borderBottom;
								break;
							case "border-bottom-color":	
								var val = el.style.borderBottomColor;
								break;
							case "border-bottom-style":	
								var val = el.style.borderBottomStyle;
								break;
							case "border-bottom-width":	
								var val = el.style.borderBottomWidth;
								break;
							case "border-left":	
								var val = el.style.borderLeft;
								break;
							case "border-left-color":	
								var val = el.style.borderLeftColor;
								break;
							case "border-left-style":	
								var val = el.style.borderLeftStyle;
								break;
							case "border-left-width":	
								var val = el.style.borderLeftWidth;
								break;
							case "border-right":	
								var val = el.style.borderRight;
								break;
							case "border-right-color":	
								var val = el.style.borderRightColor;
								break;
							case "border-right-style":	
								var val = el.style.borderRightStyle;
								break;
							case "border-right-width":	
								var val = el.style.borderRightWidth;
								break;
							case "border-top":	
								var val = el.style.borderTop;
								break;
							case "border-top-color":	
								var val = el.style.borderTopColor;
								break;
							case "border-top-style":	
								var val = el.style.borderTopStyle;
								break;
							case "border-top-width":	
								var val = el.style.borderTopWidth;
								break;
								
							default:
								Shout.alertOnce(att + ' not yet supported? tell greg: getAttributes + '+att);
								break;
						}
						//	alert('attibute = ' + att + ', value = ' + val);
					}
					else {
						switch (att){
							case "opacity":
								var val = el.style.opacity;
								break;
							case "display":
								var val = el.style.display;
								break;
							case "top":
								var val = el.style.top;
								break;
							case "left":
								var val = el.style.left;
								break;
							case "width":
								var val = el.style.width;
								break;
							case "height":
								var val = el.style.height;
								break;
							case "margin":
								var val = el.style.margin;
								break;
							case "padding":
								var val = el.style.padding;
								break;
							case "clear":
								var val = el.style.clear;
								break;
							case "float":
								var val = el.style.float;
								break;
							case "min-height":			
								var val = el.style.minHeight;
								break;
							case "overflow":		
								var val = el.style.overflow;
								break;
							case "visibility":
								var val = el.style.visibility;
								break;
							case "color":
								var val = el.style.color;
								break;
							case "font-family":	
							case "font":
								var val = el.style.fontFamily;
								break;
							case "font-size":	
								var val = el.style.fontSize;
								break;
							case "size":		
								var val = el.style.size;
								break;
							case "font-style":		
								var val = el.style.fontStyle;
								break;
							case "font-weight":		
								var val = el.style.fontWeight;
								break;
							case "line-height":		
								var val = el.style.lineHeight;
								break;
							case "text-align":		
								var val = el.style.textAlign;
								break;
							case "min-width":		
								var val = el.style.minWidth;
								break;
							case "background":	
							case "background-image":
								var val = el.style.backgroundImage;
								break;
							case "background-color":		
								var val = el.style.backgroundColor;
								break;
							case "background-position":		
								var val = el.style.backgroundPosition;
								break;
							case "background-repeat":	
								var val = el.style.backgroundRepeat;
								break;
							case "background-attachment":	
								var val = el.style.backgroundAttachment;
								break;
							case "border":	
								var val = el.style.border;
								break;
							case "border-color":	
								var val = el.style.borderColor;
								break;
							case "border-style":	
								var val = el.style.borderStyle;
								break;
							case "border-width":	
								var val = el.style.borderWidth;
								break;	
							case "border-spacing":	
								var val = el.style.borderSpacing;
								break;
								
							case "border-bottom":	
								var val = el.style.borderBottom;
								break;
							case "border-bottom-color":	
								var val = el.style.borderBottomColor;
								break;
							case "border-bottom-style":	
								var val = el.style.borderBottomStyle;
								break;
							case "border-bottom-width":	
								var val = el.style.borderBottomWidth;
								break;
							case "border-left":	
								var val = el.style.borderLeft;
								break;
							case "border-left-color":	
								var val = el.style.borderLeftColor;
								break;
							case "border-left-style":	
								var val = el.style.borderLeftStyle;
								break;
							case "border-left-width":	
								var val = el.style.borderLeftWidth;
								break;
							case "border-right":	
								var val = el.style.borderRight;
								break;
							case "border-right-color":	
								var val = el.style.borderRightColor;
								break;
							case "border-right-style":	
								var val = el.style.borderRightStyle;
								break;
							case "border-right-width":	
								var val = el.style.borderRightWidth;
								break;
							case "border-top":	
								var val = el.style.borderTop;
								break;
							case "border-top-color":	
								var val = el.style.borderTopColor;
								break;
							case "border-top-style":	
								var val = el.style.borderTopStyle;
								break;
							case "border-top-width":	
								var val = el.style.borderTopWidth;
								break;
							
							default:
								var val = el.getAttribute(att);
								break;
						}
						//	alert('attibute = ' + att + ', value = ' + val);
					}
					object[att] = val;
				}
				
				if (parts.length == 1 && !forceObject){ return val; }
				return object;
			},
			
			setAttributes : function (element, attributes){
				
				element = Toolkit.get(element);
				
				var parts = attributes.split(',');
				for (var i = 0; i < parts.length; i++){
				
					var theseparts = parts[i].split(':');
					var att = Toolkit.trim(theseparts[0]);
					theseparts = theseparts.slice(1);
					var val = Toolkit.trim(theseparts.join(':'));
					
					if (browser.isIE){
						switch (att){
							
							case "class":
								element.setAttribute('className', val);
							break;
							case "id":
							case "href":
							case "name":
							case "src":
							case "alt":
							case "rel":
							case "target":
								element.setAttribute(att, val);
							break;
							
							//	------------------	modified by Ruban. want to confirm with Des -------------------
							case "onmousedown":
								element.setAttribute('onmousedown',"alert('mousedown test !')");		// ie 8 ok
								//	element.addListener('onmousedown',"alert('mousedown test !')",false);	
								// ie 6,7 not working
								//	element.addEventListener('onmousedown',"alert('mousedown test !')",false);	
								// ie 6,7 not working
								break;
							case "onclick":
								element.setAttribute('onclick',"alert('onclick test !')");			// ie 8
								break;
							case "onmouseup":
								element.setAttribute('onmouseup',"alert('onmouseup test !')");		// ie 8
								break;
							case "onmousemove":
								element.setAttribute('onmousemove',"alert('onmousemove test !')");	// ie 8
								break;
							case "onmouseover":
								element.setAttribute('onmouseover',"alert('onmouseover test !')");	// ie 8
								break;
							case "onmouseout":
								element.setAttribute('onmouseout',"alert('onmouseout test !')");	// ie 8
								break;
							case "onkeyup":	
								element.setAttribute('onkeyup',"alert('onkeyup test !')");			// ie 8
								break;  
							case "onkeydown":
								element.setAttribute('onkeydown',"alert('onkeydown test !')");		// ie 8
								break;
							case "onkeypress":
								element.setAttribute('onkeypress',"alert('onkeypress test !')");	// ie 8
								break;
							case "ondblclick":
								element.setAttribute('ondblclick',"alert('ondblclick test !')");	// ie 8
								break;
							//	-------------------------------------- Finished ----------------------------------------
							
							case "position":
							case "opacity":
								/*var line = 'element.style.filter = "alpha(opacity = '+(val*100)+')"';
								eval(line);*/
								element.style[att] = val;
								break;
							break;
							case "innerHTML":
								element[att] = val;
							break;
							case "display":
							case "top":
							case "left":
							case "width":
							case "height":
							case "zIndex":
							case "margin":
							
							case "padding":				//	req spec 09 june 2009
							case "overflow":
							case "visibility":
							case "clear":
							case "color":
							case "size":
								element.style[att] = val;
								break;
							
							case "float":	
								element.style.styleFloat = val;
								break;
							case "font-weight":
								element.style['fontWeight'] = val;
								break;
							case "font-style":
								element.style['fontStyle'] = val;
								break;
							case "font-family":
							case "font":
								element.style['fontFamily'] = val;
								break;
							case "font-size":
								element.style['fontSize'] = val;
								break;
							case "min-width":
								element.style['minWidth'] = val;
								break;
							case "min-height":
								element.style['minHeight'] = val;
								break;
							case "line-height":
								element.style['lineHeight'] = val;
								break;
							case "text-align":
								element.style['textAlign'] = val;
								break;
							case "background":	
							case "background-image":
								element.style['backgroundImage'] = val;
								break;
							case "background-color":	
								element.style['backgroundColor'] = val;
								break;
							case "background-position":	
								element.style['backgroundPosition'] = val;
								break;
							case "background-repeat":	
								element.style['backgroundRepeat'] = val;
								break;
							case "background-attachment":	
								element.style['backgroundAttachment'] = val;
								break;
							case "border":	
								element.style['border'] = val;
								break;
							case "border-color":	
								element.style['borderColor'] = val;
								break;
							case "border-style":	
								element.style['borderStyle'] = val;
								break;
							case "border-width":	
								element.style['borderWidth'] = val;
								break;	
							case "border-spacing":	
								element.style['borderSpacing'] = val;
								break;
							case "border-collapse":	
								element.style['borderCollapse'] = val;
								break;
								
							case "border-bottom":	
								element.style['borderBottom'] = val;
								break;
							case "border-bottom-color":	
								element.style['borderBottomColor'] = val;
								break;
							case "border-bottom-style":	
								element.style['borderBottomStyle'] = val;
								break;
							case "border-bottom-width":	
								element.style['borderBottomWidth'] = val;
								break;
							case "border-left":	
								element.style['borderLeft'] = val;
								break;
							case "border-left-color":	
								element.style['borderLeftColor'] = val;
								break;
							case "border-left-style":	
								element.style['borderLeftStyle'] = val;
								break;
							case "border-left-width":	
								element.style['borderLeftWidth'] = val;
								break;
							case "border-right":	
								element.style['borderRight'] = val;
								break;
							case "border-right-color":	
								element.style['borderRightColor'] = val;
								break;
							case "border-right-style":	
								element.style['borderRightStyle'] = val;
								break;
							case "border-right-width":	
								element.style['borderRightWidth'] = val;
								break;
							case "border-top":	
								element.style['borderTop'] = val;
								break;
							case "border-top-color":	
								element.style['borderTopColor'] = val;
								break;
							case "border-top-style":	
								element.style['borderTopStyle'] = val;
								break;
							case "border-top-width":	
								element.style['borderTopWidth'] = val;
								break;
								
							default:
								alert(att+' not yet supported? tell greg: setAttributes + '+att);
							break;
						}
					}
					else {
						switch (att){
							case "position":
							case "opacity":
							case "display":
							case "top":
							case "left":
							case "width":
							case "height":
							case "zIndex":
							case "margin":
							
							case "padding":				//	******** req spec 09 june 2009
							case "overflow":
							case "visibility":
							case "clear":
							case "color":
							case "size":
								element.style[att] = val;
								break;
							
							case "float":
								element.setAttribute("style","float:"+val);
								break;
							case "font-weight":
								element.style['fontWeight'] = val;
								break;
							case "font-style":
								element.style['fontStyle'] = val;
								break;
							case "font-family":
							case "font":
								element.style['fontFamily'] = val;
								break;
							case "font-size":
								element.style['fontSize'] = val;
								break;
							case "min-width":
								element.style['minWidth'] = val;
								break;
							case "min-height":
								element.style['minHeight'] = val;
								break;
							case "line-height":
								element.style['lineHeight'] = val;
								break;
							case "text-align":
								element.style['textAlign'] = val;
								break;
							case "background":	
							case "background-image":
								element.style['backgroundImage'] = val;
								break;
							case "background-color":	
								element.style['backgroundColor'] = val;
								break;
							case "background-position":	
								element.style['backgroundPosition'] = val;
								break;
							case "background-repeat":	
								element.style['backgroundRepeat'] = val;
								break;
							case "background-attachment":	
								element.style['backgroundAttachment'] = val;
								break;
								
							case "border":	
								element.style['border'] = val;
								break;
							case "border-color":	
								element.style['borderColor'] = val;
								break;
							case "border-style":	
								element.style['borderStyle'] = val;
								break;
							case "border-width":	
								element.style['borderWidth'] = val;
								break;	
							case "border-spacing":	
								element.style['borderSpacing'] = val;
								break;
								
							case "border-bottom":	
								element.style['borderBottom'] = val;
								break;
							case "border-bottom-color":	
								element.style['borderBottomColor'] = val;
								break;
							case "border-bottom-style":	
								element.style['borderBottomStyle'] = val;
								break;
							case "border-bottom-width":	
								element.style['borderBottomWidth'] = val;
								break;
							case "border-left":	
								element.style['borderLeft'] = val;
								break;
							case "border-left-color":	
								element.style['borderLeftColor'] = val;
								break;
							case "border-left-style":	
								element.style['borderLeftStyle'] = val;
								break;
							case "border-left-width":	
								element.style['borderLeftWidth'] = val;
								break;
							case "border-right":	
								element.style['borderRight'] = val;
								break;
							case "border-right-color":	
								element.style['borderRightColor'] = val;
								break;
							case "border-right-style":	
								element.style['borderRightStyle'] = val;
								break;
							case "border-right-width":	
								element.style['borderRightWidth'] = val;
								break;
							case "border-top":	
								element.style['borderTop'] = val;
								break;
							case "border-top-color":	
								element.style['borderTopColor'] = val;
								break;
							case "border-top-style":	
								element.style['borderTopStyle'] = val;
								break;
							case "border-top-width":	
								element.style['borderTopWidth'] = val;
								break;
								
							case "innerHTML":
								element[att] = val;
							break;
							default:
								element.setAttribute(att, val);
							break;
						}
					}
					
				}
				
			},
			
			getDimensions : function(element, specific) {
				
				element = Toolkit.get(element);
				
				var object = new Object();
							
				var curwidth = element.offsetWidth;
				var curheight = element.offsetHeight;	
				var curleft = curtop = 0;
				if (element.offsetParent) {
					curleft = element.offsetLeft;
					curtop = element.offsetTop;
					while (element = element.offsetParent) {
						curleft += element.offsetLeft;
						curtop += element.offsetTop;
					}
				}
				
				object['width'] = curwidth;
				object['height'] = curheight;
				object['left'] = curleft;
				object['top'] = curtop;
				object['boundaryRight'] = curleft+curwidth;
				object['boundaryBottom'] = curtop+curheight;
				
				switch (specific){
					
					case 'width':
					case 'height':
					case 'left':
					case 'top':
					case 'boundaryRight':
					case 'boundaryBottom':
						return object[specific];
					break;					
					default:
						return object;
					break;
				}
				
			},
			
			trim : function (value){
				
				if (value){
					value = value.replace(/^\s+/,'').replace(/\s+$/,'');
				}		
				return value;	
			},
			
			restrictInputPattern : function(element, pattern, maxLength, lengthAlert, inputEvent){
				
				var keycode = Toolkit.getKeycode(inputEvent);
				if(keycode == 13){ return false; }

				element = Toolkit.get(element);
				if (element.value.length > maxLength){
					alert( lengthAlert );
					element.value = element.value.substring(0, maxLength);
				}

				var fieldValue = element.value.substring(element.value.length - 1, element.value.length);

				var regex = new RegExp( pattern );
				if (!fieldValue.match( regex )){
					element.value = element.value.substring( 0, element.value.length - 1 );
					return false;
				}
				return true;
				
			},
			
			restrictInputInteger : function(element, maxLength, lengthAlert, inputEvent){
			
				Toolkit.restrictInputPattern(element, /[0-9]+/, maxLength, lengthAlert, inputEvent);
			
			},
			
			getKeycode : function (e){
				
				if (!window.event){ 
					return e.keyCode; 	
				}
				return event.keyCode; 
				
			},
			
			getViewport : function(){
				
				var obj = new Object;				
				obj.scrollTop = document.documentElement.scrollTop;
				obj.scrollHeight = document.documentElement.scrollHeight;
				if (browser.isIE){
					obj.width 	  = document.documentElement.clientWidth;
					obj.height 	  = document.documentElement.clientHeight;
				}
				else {
					obj.width 	  = window.innerWidth;
					obj.height 	  = window.innerHeight;
				}
				return obj;
				
			},
			
			getFirstChild : function(element){
			
				if (!element){ var element = document.body; }
				for (var i = 0; i < element.childNodes.length; i++){
					if (element.childNodes[i].nodeType == 1){
						return element.childNodes[i];
					}
				}
				
			},
			
			build : function(element, attributes){
				
				var el = document.createElement(element)
				if (attributes){
					Toolkit.setAttributes(el, attributes);
				}
				return el;
			},
			
			clearSelection : function(){
				
				if (document.selection){ 		document.selection.empty(); 			 } 
				else if (window.getSelection){  window.getSelection().removeAllRanges(); }
				
			},
			
			fadeIn : function(element, effectSpeed, fadeID, stopValue){
				element = Toolkit.get(element);
				if (!stopValue){ stopValue = 1; }
				
				if (fadeID != undefined){
					var currentOpacity = parseFloat(Toolkit.getAttributes(element, 'opacity'));
					if (currentOpacity == ''){ Toolkit.setAttributes(element, 'opacity:0'); }
					Toolkit.setAttributes(element, 'opacity:'+(currentOpacity+0.1));
					if (currentOpacity >= (stopValue - 0.1)){ 
						clearInterval(this.Fades[fadeID]); 
						Toolkit.setAttributes(element, 'opacity:'+stopValue);
					}
				}
				else if (!element && fadeID){ clearInterval(this.Fades[fadeID]); }
				else if (effectSpeed == 0){ Toolkit.setAttributes(element, 'opacity:1'); } 
				else {
					var fadeID = this.Fades.length;
					var fadeSpeed = effectSpeed / 10;
					this.Fades[fadeID] = setInterval('Toolkit.fadeIn("'+Toolkit.getAttributes(element, 'id')+'", "", "'+fadeID+'", "'+stopValue+'")', fadeSpeed);
				}
			},
			
			fadeOut : function(element, effectSpeed, fadeID){
				element = Toolkit.get(element);
				if (fadeID != undefined && element){
					var currentOpacity = parseFloat(Toolkit.getAttributes(element, 'opacity'));
					if (currentOpacity === ''){ Toolkit.setAttributes(element, 'opacity:1'); }
					Toolkit.setAttributes(element, 'opacity:'+(currentOpacity-0.1));
					if (currentOpacity <= 0.1){ clearInterval(this.Fades[fadeID]); }
				}
				else if (!element && fadeID){ clearInterval(this.Fades[fadeID]); }
				else if (effectSpeed == 0){ Toolkit.setAttributes(element, 'opacity:0'); } 
				else {
					var fadeID = this.Fades.length;
					var fadeSpeed = effectSpeed / 10;
					this.Fades[fadeID] = setInterval('Toolkit.fadeOut("'+Toolkit.getAttributes(element, 'id')+'", "", "'+fadeID+'")', fadeSpeed);
				}
			},
			
			hover : function(element, type, color, bgcolor){
								
				switch (type){
					case false:
						if (!color){ color = ''; }
						if (!bgcolor){ bgcolor = ''; }
					break;
					default:
						if (!color){ color = '#ffffff'; }
						if (!bgcolor){ bgcolor = '#0099ff'; }
					break;					
				}
				element.style.color = color;
				element.style.backgroundColor = bgcolor;
				
			},
			
			animate : function(element, effectSpeed, width, height, top, left, animationID){

				element = Toolkit.get(element);
				if (animationID){

					var confirmations = new Array();
					var parts = effectSpeed.split(',');
					for (var i = 0; i < parts.length; i++){
						
						var theseparts = parts[i].split(':');
						if (theseparts[1] == '' || theseparts[1] == 'false'){
							confirmations[confirmations.length] = true;
							continue;
						}
						
						var value = parseInt(theseparts[1]);
						switch (i){
							
							case 0:
								if (width == parseInt(element.style.width)){
									confirmations[confirmations.length] = true;
									continue;
								}
								var next = parseInt(element.style.width)+value;
								if ((value > 0 && width < next) || (value < 0 && width > next)){



									element.style.width = width+'px';
									confirmations[confirmations.length] = true;
									continue;
								}
								element.style.width = next+'px';
							break;
							case 1:
								if (height == parseInt(element.style.height)){
									confirmations[confirmations.length] = true;
									continue;
								}
								var next = parseInt(element.style.height)+value;
								if ((value > 0 && height < next) || (value < 0 && height > next)){
									element.style.height = height+'px';
									confirmations[confirmations.length] = true;
									continue;
								}
								element.style.height = next+'px';
							break;
							case 2:
								if (top == parseInt(element.style.top)){
									confirmations[confirmations.length] = true;
									continue;
								}
								var next = parseInt(element.style.top)+value;
								if ((value > 0 && top < next) || (value < 0 && top > next)){
									element.style.top = top+'px';
									confirmations[confirmations.length] = true;
									continue;
								}
								element.style.top = next+'px'
							break;
							case 3:
								if (left == parseInt(element.style.left)){
									confirmations[confirmations.length] = true;
									continue;
								}
								var next = parseInt(element.style.left)+value;
								if ((value > 0 && left < next) || (value < 0 && left > next)){
									element.style.left = left+'px';
									confirmations[confirmations.length] = true;
									continue;
								} 
								
								element.style.left = next+'px';
							break;
							
						}
						confirmations[confirmations.length] = false;
						
					}
					if (confirmations[0] && confirmations[1] && confirmations[2] && confirmations[3]){
						clearInterval(this.Animations[animationID]);
					}
					
				}
				else if (!element && animationID){ clearInterval(this.Animations[animationID]); }
				else if (effectSpeed == 0){
					Toolkit.setAttributes(element, 'width:'+width+',height:'+height+',top:'+top+',left:'+left);
				}
				else {
					
					var obj = element.style;
					
					var widthspeed = false;
					if (width && (parseInt(obj.width) > parseInt(width) || parseInt(obj.width) < parseInt(width))){
						widthspeed = (parseInt(width) - parseInt(obj.width)) / 20; 
					}
					
					var heightspeed = false;
					if (height && (parseInt(obj.height) > parseInt(height) || parseInt(obj.height) < parseInt(height))){
						heightspeed = (parseInt(height) - parseInt(obj.height)) / 20;
					}
					
					var topspeed = false;
					if (top && (parseInt(obj.top) > parseInt(top) || parseInt(obj.top) < parseInt(top))){
						topspeed = (parseInt(top) - parseInt(obj.top)) / 20;
					}
					
					var leftspeed = false;
					if (left && (parseInt(obj.left) > parseInt(left) || parseInt(obj.left) < parseInt(left))){
						leftspeed = (parseInt(left) - parseInt(obj.left)) / 20;
					}
					
					animationSpeed = effectSpeed / 20;
					effectSpeed = 'width:'+widthspeed+',height:'+heightspeed+',top:'+topspeed+',left:'+leftspeed;					
					var obj = Toolkit.getAttributes(element, 'id', true);
					var animationID = this.Animations.length;
					this.Animations[animationID] = setInterval('Toolkit.animate("'+obj['id']+'", "'+effectSpeed+'", "'+width+'","'+height+'","'+top+'","'+left+'", "'+animationID+'")', animationSpeed);
					
				}
				
			}
			
		};		
	}();	
}
