var fitzClass = new Class({

	initialize: function() {
	
		this.ValidateInitialize();

		window.addEvent("domready",function(){
			this.searchInit();
			this.dropdownsInit();	
			this.ClearText();
			//this.ajaxLoaderIconInit();
			//this.productShippingInit();
			//this.SubMenuInit();
		}.bind(this));

	},
	
	searchInit : function()  {
		
		var searchForm = $('search_form');
		
		if(searchForm) {
			var searchFormQuery = searchForm.getElement('input[name=q]');
			var searchFormValue = searchFormQuery.value;
			searchFormQuery.addEvent('focus', function() {
				if(searchFormQuery.value==searchFormValue) {
					searchFormQuery.value='';
				}
			});		
		}
		
	},
	
	/* **********************************************************
	// Dropdown functions - specifically for fitz
	// and is designed for only a two tier system
	************************************************************ */
	dropdownsInit : function() {
		
		var HoverUlElement = $$('#menu_container ul li');
		
		HoverUlElement.each(function(el){
			
			var MouseOutFuncElements = el.getElements('div');
			
			el.addEvents({
				'mouseover': function(){
					if (MouseOutFuncElements != null){
						MouseOutFuncElements.each(function(el2){
							if (el2.get('class') == 'dropdown') {
								el2.setStyles({
									display: 'block',
									visibility: 'visible'
								})
							}
						})
					}
				},
				'mouseout': function(){
					if (MouseOutFuncElements != null){
						MouseOutFuncElements.each(function(el2){
							if (el2.get('class') == 'dropdown') {
								el2.setStyles({
									display: 'none',
									visibility: 'hidden'
								})
							}
						})
					}
				}
			})
		})
		/*
		this.dropdowns = $$('.dropdown');
		this.lastdropDown = null;
		this.lastdropDownTier2 = null;

		this.hideIntervalCount = 2;	
		this.hideInterval = 500;

		this.dropdownHideTimer();	
	
		this.dropdowns.each(function(dropdown) {
		
			dropdown.setStyle('opacity', 0);
			dropdown.setStyle('display', 'block');
			
			// Change offset location for right side menu dropdowns
			//if (dropdown.id == 'main_dropdown6') {
			//	dropdown.setStyle('');
			//} else if (dropdown.id == 'main_dropdown7')) {
			//				
			//}
	
			var orginalHeight = dropdown.getSize().y;
			
			//console.log(orginalHeight, dropdown.innerHTML);
	
			dropdown.setStyle('overflow-y', 'hidden');
			dropdown.setStyle('height', 0);
		
			if(!dropdown.hasClass('tier2')) {
		
				var dropdownParent = dropdown.getParent();
				dropdown.store('active', false);
							
				// Parent mouse overs
				dropdownParent.addEvent('mouseenter', function() {
					
					this.dropdownHideCount = 0;
					
					var dropEffect = new Fx.Morph(dropdown, {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
			
					if(!dropdown.retrieve('active')) {
						
						if(this.lastdropDown != dropdown) {
							dropEffect.start({
								'height': orginalHeight,
								'opacity': 1
							});
							dropdown.store('active', true);
							
							if(!dropdown.hasClass('tier2')) {
								this.dropdownHide(null);
								this.lastdropDown = dropdown;
							}
						}
				
					}
				
				}.bind(this));		
				
				dropdownParent.addEvent('mouseleave', function() {
					this.dropdownHideCount = this.hideIntervalCount;				
				}.bind(this));
				
				dropdownParent.addEvent('mousemove', function() {
					this.dropdownHideCount = 0;
				}.bind(this));
				
				// Item mouseovers
				dropdown.getElements('li').addEvents({
					'mouseenter' : function() {
						this.setStyle('background-color', '#DCDDDF');
						
						// Child tiers
						if (this.retrieve('child')) {
						
							fitz.dropdownHideCount = 0;
							
							var dropEffect = new Fx.Morph(this.retrieve('child'), {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
							
							if ((this.getParent('div').id=='main_dropdown4') || 
								(this.getParent('div').id=='main_dropdown5') || 
								(this.getParent('div').id=='main_dropdown6') || 
								(this.getParent('div').id=='main_dropdown7')) {
								
								//this.retrieve('child').setStyle('left', this.getPosition().x-203);
								this.retrieve('child').setStyle('left', this.getPosition().x+201);
								this.retrieve('child').setStyle('top', this.getPosition().y);
								
							} else {
		
								this.retrieve('child').setStyle('left', this.getPosition().x+201);
								this.retrieve('child').setStyle('top', this.getPosition().y);
								
							}
							
							fitz.lastdropDownTier2 = this.retrieve('child');
							
							dropEffect.start({
								'height': this.retrieve('child').getElements('li').length*25,
								'opacity': 1
							});
						
						} else {
						
							if ((fitz.lastdropDownTier2!=null) && (fitz.lastdropDownTier2!=this.getParent('div'))) {
								
								fitz.dropdownHide(fitz.lastdropDownTier2);
								fitz.lastdropDownTier2 = null;
							
							}
							
						}
						
					},
					'mouseleave' : function() {
						this.setStyle('background-color', 'transparent');
					}
				});
				
			} else {
				
				var parentLi = dropdown.getParent('li');
				
				dropdown.setStyle('top', 0);
				dropdown.setStyle('left', 0);
				dropdown.injectBottom($('menu_container'));
				
				parentLi.store('child', dropdown);
				
				/*parentLi.addEvent('mouseenter', function() {
				
					this.dropdownHideCount = 0;
			
					var dropEffect = new Fx.Morph(dropdown, {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
					
					dropdown.setStyle('left', parentLi.getPosition().x+201);
					dropdown.setStyle('top', parentLi.getPosition().y);
					
					dropEffect.start({
						'height': dropdown.getElements('li').length*25,
						'opacity': 1
					});
			
				});
				*
			
			}
			
			dropdown.addEvent('mousemove', function() {
				this.dropdownHideCount = 0;
			}.bind(this));
				
			dropdown.addEvent('mouseleave', function() {
				this.dropdownHideCount = this.hideIntervalCount;
			}.bind(this));
		
		}.bind(this));	
		*/
	},
	
	dropdownHide : function(dropdown2Hide) {
	
		if(dropdown2Hide) {
			var dropEffect = new Fx.Morph(dropdown2Hide, {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
			dropEffect.start({
				'height': 0,
				'opacity': 0
			});
		} else if(this.lastdropDown) {
			this.lastdropDown.store('active', false);
			var dropEffect = new Fx.Morph(this.lastdropDown, {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
			dropEffect.start({
				'height': 0,
				'opacity': 0
			});
			this.lastdropDown = null;
			
			if (this.lastdropDownTier2) {
				this.lastdropDownTier2.store('active', false);
				var dropEffect = new Fx.Morph(this.lastdropDownTier2, {duration: 'short', transition: Fx.Transitions.Sine.easeOut});
				dropEffect.start({
					'height': 0,
					'opacity': 0
				});
			}

		}
	
	},
	
	dropdownHideTimer : function() {
		
		this.dropdownHideCount = 0;
		
		(function() {
			
			//console.log(this.dropdownHideCount);
			
			if(this.dropdownHideCount!=0) {
				if(this.dropdownHideCount == 1) {
					//console.log('hide');
					this.dropdownHide(null);
					this.dropdownHideCount = 0;
				} else {
					this.dropdownHideCount=this.dropdownHideCount-1;
				}
			}
					
		}.bind(this)).periodical(this.hideInterval);
		
	
	},
		
	ajaxLoaderIconInit : function() {
				
		var ajaxLoaderIcon = new Element('div', { 'styles' : {
			'background' : 'url(/img/ajax_load.gif)',
			'width' : '43px',
			'height' : '11px',
			'top' : '0',
			'left' : '0',
			'display' : 'none',
			'opacity' : 0,
			'position' : 'absolute'
		}});
			
		ajaxLoaderIcon.injectInside($$('body')[0]);
		
		this.ajaxLoaderShow = function(x, y, z) {
			if(z!=0)ajaxLoaderIcon.setStyle('z-index', z);
			if(x!=0)ajaxLoaderIcon.setStyle('left', x+'px');
			if(y!=0)ajaxLoaderIcon.setStyle('top', y+'px');
			ajaxLoaderIcon.setStyle('display', 'block');
			ajaxLoaderIcon.fade(1);
		};
		
		this.ajaxLoaderHide = function() {
			ajaxLoaderIcon.fade(0);
			(function() { ajaxLoaderIcon.setStyle('display', 'block'); }).delay(1500);
		};
	
	},
	
	ClearText : function() {
	
		var ClearTextFields = $$('.cleartext');
	
		ClearTextFields.each(function(Field) {
			
			var ParentForm = Field.getParent("form");			
			var InitValue = Field.value;
			Field.addEvent('focus', function() {
				if (Field.value==InitValue) {
					Field.value='';
				}
			});	
			if (ParentForm) {
				ParentForm.addEvent('focus', function() {
					if (Field.value==InitValue) {
						Field.value='';
					}
				});	
			}
		
		
		});	
	
	},
	
	getScrollAmount : function() {
		
		var xScroll, yScroll;
	
		if (window.innerHeight && window.scrollMaxY) {	
			xScroll = document.body.scrollWidth;
			yScroll = window.innerHeight + window.scrollMaxY;
		// all but Explorer Mac
		} else if (document.body.scrollHeight > document.body.offsetHeight){
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		// Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		} else {
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
		
		var windowWidth, windowHeight;
		// all except Explorer
		if (self.innerHeight) {
			windowWidth = self.innerWidth;
			windowHeight = self.innerHeight;
		// Explorer 6 Strict Mode
		} else if (document.documentElement && document.documentElement.clientHeight) {
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		// other Explorers
		} else if (document.body) {
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}	
		
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
			pageHeight = windowHeight;
		} else { 
			pageHeight = yScroll;
		}
	
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){	
			pageWidth = windowWidth;
		} else {
			pageWidth = xScroll;
		}
	
		this.WindowWidth = windowWidth;
		this.WindowHeight = windowHeight;
		this.PageHeight = pageHeight;
		this.PageWidth = pageWidth;
		
		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
		} else if (document.documentElement && document.documentElement.scrollTop){
			yScroll = document.documentElement.scrollTop;
		} else if (document.body) {
			yScroll = document.body.scrollTop;
		}
		
		return { "x" : xScroll, "y" : yScroll };
	
	},
	
	// ************************************************************************
	// Validator
	// ************************************************************************
	ValidateMessageInject : function(obj, where, message) {
		
		var msgContainer = new Element('div', { 'class' : 'ValidateMessage'})
			.setStyle("padding-top", 3)
			.setStyle("color", "#9E0000")
			.setStyle("font-weight", "bold");
		msgContainer.innerHTML = message;
		msgContainer.inject(obj, where);
		
	},
	
	ValidateURL : function(url) {
	    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
	    if(RegExp.test(url)){
	        return true;
	    }else{
	        return false;
	    }
	},
	
	ValidateInitialize : function() {	
	
		this.Validator = new Class({
		
			options: {
				
				msgContainerTag: "div",
				msgClass: "SCN.Validator-msg",
		
				styleNeutral: {"background-color": "#ffffff"},
				styleInvalid: {"background-color": "#ffffff"},
				styleValid: {"background-color": "#ffffff"},
		
				onValid: Class.empty,
				onInvalid: Class.empty,
				
				GlobalMessage : ''
				
			},
		
			initialize: function(form, options) {
				this.form = $(form);
				this.setOptions(options);
		
				this.fields = this.form.getElements("*[class^=fValidate]");
				this.validations = [];
		
				this.fields.each(function(element) {
					if(!this._isChildType(element)) element.setStyles(this.options.styleNeutral);
					element.cbErr = 0;
					var classes = element.getProperty("class").split(' ');
					classes.each(function(klass) {
						if(klass.match(/^fValidate(\[.+\])$/)) {
							var aFilters = eval(klass.match(/^fValidate(\[.+\])$/)[1]);
							for(var i = 0; i < aFilters.length; i++) {
								if(this.options[aFilters[i]]) this.register(element, this.options[aFilters[i]]);
								if(aFilters[i].charAt(0) == '=') this.register(element, $extend(this.options.confirm, {idField: aFilters[i].substr(1)}));
							}
						}
					}.bind(this));
				}.bind(this));
		
				this.form.addEvents({
					"submit": this._onSubmit.bind(this),
					"reset": this._onReset.bind(this)
				});
			},
		
			register: function(field, options) {
				field = $(field);
				this.validations.push([field, options]);
				
				if (options.type!='checkboxes') {
					field.addEvent("blur", function() {
						this._validate(field, options);
					}.bind(this));
				} else {
				
					var Checkboxes = $$('input[name='+options.id+']');
					
					Checkboxes.each(function(Checkbox) {
						Checkbox.addEvent('change', function() {
							
							var CheckedNumber = 0;
							Checkboxes.each(function(CheckboxChecked) {
								if(CheckboxChecked.checked){CheckedNumber++;}
							}.bind(this));
							
							if(CheckedNumber==options.maxchecks) {
								
								Checkboxes.each(function(CheckboxChecked) {
									if(CheckboxChecked.checked==false) {
										CheckboxChecked.disabled=true;
									}
								}.bind(this));
								
							} else if(CheckedNumber>options.maxchecks) {
								Checkbox.checked=false;
							} else {
								
								Checkboxes.each(function(CheckboxChecked) {
									if(CheckboxChecked.disabled==true) {
										CheckboxChecked.disabled=false;
									}
								}.bind(this));
							
							}
										
						}.bind(this));
					}.bind(this));
					
				}
			},
		
			_isChildType: function(el) {
				if (el) {
					var elType = el.type.toLowerCase();
				}
				//if((elType == "radio") || (elType == "checkbox") || (elType == "select")) return true;
				return false;
			},
		
			_validate: function(field, options) {
			
				switch(options.type) {
				
					case "terms":
						
						if (field.checked) {
							this._msgRemove(field, options);	
						} else {
							this._msgInject(field, options);			
						}			
					
						break;
						
					case "datamatch":
					
						if (field.value != '') {
						
							var jsonRequest = new Request.JSON({url: "/ajax/validate?type="+options.datatype+"&value="+field.value, onComplete: function(Results){
							  	if (Results.match==true) { this._msgInject(field, options); } else { this._msgRemove(field, options); }							
							}.bind(this)}).get();

						}
						break;
						
					case "age":
					
						objAgeFieldDay = $(options.dobday);
						objAgeFieldMonth = $(options.dobmonth);
						objAgeFieldYear = $(options.dobyear);
		
						intAgeFieldDay = objAgeFieldDay.value;
						intAgeFieldMonth = objAgeFieldMonth.value;
						intAgeFieldYear = objAgeFieldYear.value;
						
						if ((intAgeFieldDay=='') || (intAgeFieldMonth=='') || (intAgeFieldYear=='')){
							this._msgInject(field, options);
						} else {
							var min_age = 16;
							var year = parseInt(objAgeFieldYear.value);
							var month = parseInt(objAgeFieldMonth.value) - 1;
							var day = parseInt(objAgeFieldDay.value);
		
							var theirDate = new Date((year + min_age), month, day);
							var today = new Date;
				
							if ((today.getTime() - theirDate.getTime()) < 0) {
								this._msgInject(field, options);
							} else {
								this._msgRemove(field, options);
							}
						}
						
						break;
				
					case "confirm":
						
						if($(options.idField).value.toLowerCase() == field.value.toLowerCase()) {
							this._msgRemove(field, options); 
						} else {
							this._msgInject(field, options);
						}
						
						break;
						
					case "url":
					
						if (
							(field.value.contains(' ')) || 
							(!field.value.contains('http://')) || 
							(field.value == '')
							) {
							this._msgInject(field, options);
						} else {
							this._msgRemove(field, options);
						}
						
						break;
						
					case "checkboxes":
						
						var Checkboxes = $$('input[name='+options.id+']');
						var iCheckCount = 0;
						
						Checkboxes.each(function(Checkbox) {
							if(Checkbox.checked) {
								iCheckCount++;
							}
						});
						
						if ((iCheckCount==0)||(iCheckCount>options.maxchecks)) {
							this._msgInject(field, options);						
						} else {
							this._msgRemove(field, options);
						}
							
						break;
				
					default:
						
						if(options.re.test(field.value)) this._msgRemove(field, options);
						else this._msgInject(field, options);
						
				}
			},
		
			_validateChild: function(child, options) {
				var nlButtonGroup = this.form[child.getProperty("name")];
				var cbCheckeds = 0;
				var isValid = true;
		 		for(var i = 0; i < nlButtonGroup.length; i++) {
					if(nlButtonGroup[i].checked) {
						cbCheckeds++;
						if(!options.re.test(nlButtonGroup[i].getValue())) {
							isValid = false;
							break;
						}
					}
				}
				if(cbCheckeds == 0 && options.type == "required") isValid = false;
				if(isValid) this._msgRemove(child, options);
				else this._msgInject(child, options);
			},
		
			_msgInject: function(owner, options) {
			
				if(options.type!='checkboxes') {				
			
					var ownerelType = owner.type.toLowerCase();
					//alert(ownerelType);
			
					if(!$(owner.getProperty("id") + options.type +"_msg")) {
					
						if(ownerelType == 'checkbox') {
							
							var msgContainer = new Element(this.options.msgContainerTag, {"id": owner.getProperty("id") + options.type +"_msg", "class": "validate_popmsg"})
								.setStyle("opacity", 0)
								.setStyle("margin-bottom", 10)
								.setStyle("color", "#9E0000")
								.setStyle("font-weight", "bold")
								.injectBefore(owner)
								.fade(1);
							msgContainer.innerHTML = options.msg;
							
						} else if ((ownerelType == 'select-one') && (Browser.Engine.trident)) {
							
							var msgContainer = new Element(this.options.msgContainerTag, {"id": owner.getProperty("id") + options.type +"_msg", "class": "validate_popmsg"})
								.setStyle("opacity", 0)
								.setStyle("margin-left", 10)
								.setStyle("padding-top", 3)
								.setStyle("padding-left", 10)
								.setStyle("color", "#9E0000")
								.setStyle("font-weight", "bold")
								.injectAfter(owner.getParent().getParent())
								.fade(1);		
							msgContainer.innerText = options.msg;		
										
						} else {
						
							var msgContainer = new Element(this.options.msgContainerTag, {"id": owner.getProperty("id") + options.type +"_msg", "class":"validate_popmsg"})
								.setStyle("opacity", 0)
								.setStyle("padding-top", 3)
								.setStyle("margin-left", 0)
								.setStyle("margin-bottom", 10)
								.setStyle("color", "#9E0000")
								.setStyle("font-weight", "bold")
								.injectAfter(owner)
								.fade(1);		
							msgContainer.innerHTML = options.msg;
							
						}
						
						if(owner.cbErr) {
						
							var ValidatorMessage = $('ValidatorMessage');
							
							if(ValidatorMessage) {
								if(ValidatorMessage.getStyle('display') == 'none') {
									ValidatorMessage.getFirst().getFirst().innerHTML = this.options.GlobalMessage;
									ValidatorMessage.setStyle('display', 'block');
									window.scroll(0,ValidatorMessage.getTop() - 20);
								}
							}
							
							owner.cbErr++;
							
						} else {
						
							owner.cbErr=1;
						
						}
						this._chkStatus(owner, options);
					}
					
				} else {
				
					var InjectInsideObject = $(options.injectintoid);
				
					var msgContainer = new Element(this.options.msgContainerTag, {"id": options.injectintoid + options.type +"_msg", "class": "validate_popmsg"})
						.setStyle("opacity", 0)
						.setStyle("margin-bottom", 10)
						.setStyle("color", "#9E0000")
						.setStyle("font-weight", "bold")
						.injectTop(InjectInsideObject)
						.fade(1);
					msgContainer.innerHTML = options.msg;
								
					//this._chkStatus(owner, options);
					
				}
				
				var ValidatorMessage = $('validate_msg');
				
				if(ValidatorMessage) {
					//if(ValidatorMessage.getStyle('display') == 'none') {
						ValidatorMessage.getFirst().getFirst().innerHTML = this.options.GlobalMessage;
						ValidatorMessage.setStyle('display', 'block');
					//	window.scroll(0,ValidatorMessage.getTop() - 20);
					//}
				}
				
			},
		
			_msgRemove: function(owner, options, isReset) {
				isReset = isReset || false;
				
				if(options.type!='checkboxes') {		
				
					if($(owner.getProperty("id") + options.type +"_msg")) {
						
						var el = $(owner.getProperty("id") + options.type +"_msg");
						
						var myEffect = new Fx.Tween(el, {duration:1000, wait:false, onComplete: function() {el.dispose()}});
						myEffect.start('opacity', 0);
										
						if(!isReset) {
							owner.cbErr--;
							this._chkStatus(owner, options);
						}
					}
					
				} else {
				
					if($(options.injectintoid + options.type +"_msg")) {
					
						var el = $(options.injectintoid + options.type +"_msg");
							
						var myEffect = new Fx.Tween(el, {duration:SCN.GlabalFadeDuration, wait:false, onComplete: function() {el.dispose()}});
						myEffect.start('opacity', 0);
					
					}

				
					//$(injectintoid)
				
				}
			},
		
			_chkStatus: function(field, options) {
				var myEffect = new Fx.Tween(field);
			
				if(field.cbErr == 0) {
					//field.tween({duration: 400, transition: Fx.Transitions.linear}).start(this.options.styleValid);
					this.fireEvent("onValid", [field, options], 50);
				} else {
					//field.tween({duration: 400, transition: Fx.Transitions.linear}).start(this.options.styleInvalid);
					this.fireEvent("onInvalid", [field, options], 50);
				}
			},
		
			_onSubmit: function(event) {
				event = new Event(event);
				var isValid = true;
		
				this.validations.each(function(array) {
					if(this._isChildType(array[0])) this._validateChild(array[0], array[1]);
					else this._validate(array[0], array[1]);
					
					
					if (array[0]) {
						if(array[0].cbErr > 0) { isValid = false; }
					}
				}.bind(this));
		
				if(!isValid) event.stop();
				
				//alert(isValid);
				///event.stop();
				
				return isValid;
			},
		
			_onReset: function() {
				this.validations.each(function(array) {
					if(!this._isChildType(array[0])) array[0].setStyles(this.options.styleNeutral);
					array[0].cbErr = 0;
					this._msgRemove(array[0], array[1], true);
				}.bind(this));
			}
		});

		this.Validator.implement(new Events); // Implements addEvent(type, fn), fireEvent(type, [args], delay) and removeEvent(type, fn)
		this.Validator.implement(new Options);// Implements setOptions(defaults, options)

	}/*,
	
	SubMenuInit : function() {
		
		var SubMenuLI = $$('#side_menu .menu li a');
		var SubMenuULHidden = $$('#side_menu .menu li.no_subs div ul');
		
		SubMenuLI.each(function(el) {
			
			var SubMenuDiv = el.getParent().getChildren('div');
			var SubMenuDivOriginalHeight = 0;
			
			SubMenuDiv.each(function(el4) {
				SubMenuDivOriginalHeight = el4.getSize().y;
			})
			
			el.addEvent('mouseenter', function(e) {
				
				var SubMenuli = el.getParent();
				
				var SubMenuUL = el.getParent().getChildren('div').getFirst('ul');
				var SubMenuDivHeight = 0; 
				var SubSubMenuUL = el.getParent().getChildren('div').getChildren('ul');
				
				SubMenuDiv.each(function(el2) {
					SubMenuDivHeight = el2.getSize().y;
				})
				
				if (SubMenuDivOriginalHeight != 0) {
					
					if (SubMenuDiv.get('class') == 'current') {
						
						SubSubMenuUL.each(function(el3) {
							el3.tween('margin-top', '0px');
							el3.setStyle('display', 'none');
							el3.setStyle('visibility', 'hidden');
						})
						
						SubMenuUL.setStyle('display', 'none');
						SubMenuUL.setStyle('visibility', 'hidden');
						SubMenuUL.tween('margin-top', '0px');
						
					} else {
						
						SubSubMenuUL.each(function(el3) {
							el3.tween('margin-top', '0px');
							el3.setStyle('display', 'none');
							el3.setStyle('visibility', 'hidden');
						})
						
						SubMenuUL.tween('margin-top', ((0 - parseInt(SubMenuDivHeight))) + 'px');
						SubMenuUL.setStyle('display', 'block');
						SubMenuUL.setStyle('visibility', 'visible');
						
					}
					
				}
			})
		})
		
		SubMenuULHidden.each(function(el) {
			var SubMenuParent = el.getParent();
			var SubMenuHeightHidden = SubMenuParent.getSize().y;
			
			el.setStyle('margin-top', (0 - parseInt(SubMenuHeightHidden)));
			el.setStyle('display', 'block');
			el.setStyle('visibility', 'visible');
		})
		
	}*/
	
});

var fitz = new fitzClass();
