

	Request.HTML.implement({

		processHTML: function(text){
			var match = text.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
			text = (match) ? match[1] : text;
			
			var container = new Element('div');
			
			return $try(function(){
				var root = '<root>' + text + '</root>', doc;
				if (Browser.Engine.trident){
					doc = new ActiveXObject('Microsoft.XMLDOM');
					doc.async = false;
					doc.loadXML(root);
				} else {
					doc = new DOMParser().parseFromString(root, 'text/html');
				}
				root = doc.getElementsByTagName('root')[0];
				for (var i = 0, k = root.childNodes.length; i < k; i++){
					var child = Element.clone(root.childNodes[i], true, true);
					if (child) container.grab(child);
				}
				return container;
			}) || container.set('html', text);
		}
	
	});
	

	window.addEvent('domready', function() {
		//create our Accordion instance
		
		new SimpleTabs($('codes'), {
			selector: 'li a',
			show: -1,
			classMenu: 'tab-menuStruc clearfix',
			classWrapper: 'tab-wrapperStruc',
			classContainer: 'tab-containerStruc',			
			onSelect: function(toggle, container) {
				toggle.morph( { left: 11, top: 11 } ).get('morph').chain(function() {
					toggle.addClass('tabStruc-selected');
				});
				//container.get('tween', {property: 'opacity', duration: 'long'}).start(0, 1);
				container.setStyle('display', '');
				//console.log(container.getScrollSize().x);
				goHeight = (container.getScrollSize().x > 730) ? container.getScrollSize().y + 10 : container.getScrollSize().y;
				container.set('morph', {duration: 'long'}).morph( { height: goHeight, opacity: 1, padding: '10px 10px', 'border-width': '1px' });
			},
			onDeselect: function(toggle, container, index) {
				toggle.morph( { left: 0, top: 0 } ).get('morph').chain(function() {
					toggle.removeClass('tabStruc-selected');
				});
				container.set('morph', {duration: 'long'}).morph( { height: 0, opacity: 0, padding: '0 10px', 'border-width': 0 }).get('morph').chain(function() {
					container.setStyle('display', 'none');
				});
				
				// container.get('tween', {property: 'opacity', duration: 'short'}).start(1, 0).chain(function() {
					// container.setStyle('display', 'none');
				// });
			},
			onAdded: function(toggle, container, index) {
				hoverSpan = new Element('span', {
					'styles': { 'opacity': 0 },
					'events': {
						'mouseover': function() { (Browser.Engine.trident) ? this.setStyle('opacity', 1) : this.fade(1); },
						'mouseleave': function() { (Browser.Engine.trident) ? this.setStyle('opacity', 0) : this.fade(0);	}
					}
				});
				
				toggle.grab(hoverSpan);
				container.setStyle('height', 0);
			}
			
		});
		
    var accordionStruc = new Accordion($('menu'), 'h3.togglerStruc', 'div.elementStruc', {
			alwaysHide: true,
			show: window.actAcc,
			onActive: function(toggler, element){
				toggler.setStyle('color', '#FD5C01');
				toggler.setStyles( { 'border-width' : '1px 1px 0' } );
				toggler.getElement('span').setStyle('background-position', '-25px');
			},
			onBackground: function(toggler, element){
				toggler.setStyle('color', '#000');
				toggler.setStyles( { 'border-width' : '1px' } );
				toggler.getElement('span').setStyle('background-position', '0');
			}
    });		

		$$('#codes .tab-menuStruc li a').addEvents({
			'mouseenter': function() { this.getElement('span').fireEvent('mouseover'); },
			'mouseleave': function() { this.getElement('span').fireEvent('mouseleave'); }
		});
		
		
		$$('#menu .elementStruc a').addEvents({
			'mouseenter': function() { this.setStyles( {'margin-left': 35, color: '#E79D35', background: '#F9F9F9' } ); },
			'mouseleave': function() { this.set('morph', { duration: 250 }); this.morph( {'margin-left': 25, color: '#818181', 'background-color': '#ffffff'} ); }
		});
	
	});