var TransLayerClass = new Class({
	initialize: function(popupID, zIndex) {
		if (!zIndex || zIndex == null) {
			var zIndex = 1000;
		}
		
		// disable select box (fix IE)
		this.iframe = new Element('iframe');
		this.iframe.setStyles({
			filter:'alpha(opacity=70)',
			opacity: 0.7,
			position: 'absolute',
			border: "none",
			"z-index": zIndex,
			top: 0,
			left: 0
		});
		
		// create transparent layer , include color (if needed)
		this.overlayDiv = new Element('div');
		this.overlayDiv.setStyles({
			filter:'alpha(opacity=70)',
			opacity: 0.7,
			"background-color": '#1d2e58',
			position: 'absolute',
			border: "none",
			"z-index": zIndex + 1,
			top: 0,
			left: 0
		});
		
		// change some style values of popup, make it movable
		this.popup = $(popupID);
		this.popup.setStyles({
			position: 'absolute',
			"z-index": zIndex + 2
			//top: -1000
		});
	},
	
	changeSize: function() {
		var width = window.getWidth();
		var height = window.getHeight();
		
		if (height < document.body.clientHeight) {
			height = document.body.clientHeight;
		}
		
		this.iframe.setStyles({
			width: width,
			height: height
		});
		
		this.overlayDiv.setStyles({
			width: width,
			height: height
		});		
		
		var divWidth, divHeight;
		divWidth = parseFloat(this.popup.getStyle('width'));
		divHeight = parseFloat(this.popup.getStyle('height'));
		
		this.popup.setStyles({
			left: (window.getWidth() - divWidth) / 2 + window.getScrollLeft(),
			top:  window.getScrollTop() + (window.getHeight() - divHeight)/2
		});
	},
	
	hide: function() {
		window.transLayer = null;
		window.removeEvents('resize');
		window.removeEvents('scroll');
		
		try {
			if (window.ie) {
				this.iframe.remove();
			}
			
			this.overlayDiv.remove();

			//this.popup.remove();	
		} catch (e) {};
	},
	
	show: function() {
		window.transLayer = this;
		window.addEvent('resize', function(){window.transLayer.changeSize()});
		window.addEvent('scroll', function(){window.transLayer.changeSize()});
		
		var body = $$('body')[0];
		if (window.ie) {
			this.iframe.injectInside(body);
		}
		
		this.overlayDiv.injectInside(body);
		this.popup.injectInside(body);
		$$('img', this.popup).each(function(el, index) {
			el.setStyles({
				width: "",
				height: ""
			});
		});
		
		this.changeSize();
	}
});

///////////////////
/////////////layer///////////
function initShowLayer(thisObj){
	if(!$(thisObj)) return;
	var transLayer;
	$(thisObj).setStyles({
		'display':'block'
	});
	$(thisObj).getElement('a').addEvent('click', function(e){
		new Event(e).stop();
		$(thisObj).setStyles({
			'display':'none'			
		});
		transLayer.hide();
	});
	transLayer = new TransLayerClass($(thisObj));	
	transLayer.show();	
}
function initPatSliders() {
	var slide = $("patslider");
	if (!slide) return;
	var togglers = slide.getElements("dt");
	var elements = slide.getElements("dd").setStyle("display", "none");

	slide.selectedToggle = null;//togglers[0];
	slide.selectedElement = null;//elements[0];
	slide.selectedToggleOpened = false;
	
	var itemClick=-1;
	var	isOpen = 0;
	var curOpen;
	togglers.each(function(el, i) {
		el.removeEvents().addEvent('click', function(e) {
			new Event(e).stop();
			
			if(curOpen == i)
				isOpen = (isOpen == 1)? 0:1;
			else
				isOpen = 1;
			if(slide.selectedToggle == null){
				this.addClass("active");
				elements[i].setStyle("display", "block");
				slide.selectedToggleOpened = true;
				slide.selectedToggle = this;
				slide.selectedElement = elements[i];
				itemClick=i;
			}else if(slide.selectedToggle == this){
				if(slide.selectedToggle.hasClass('active')){
					slide.selectedToggle.removeClass("active");
					slide.selectedElement.setStyle("display", "none");															
				} else {
					this.addClass("active");
					elements[i].setStyle("display", "block");				
				}				
				slide.selectedToggle = this;
				slide.selectedElement = elements[i];
				itemClick=i;
			} else {
				slide.selectedToggle.removeClass("active");
				slide.selectedElement.setStyle("display", "none");										
				this.addClass("active");
				elements[i].setStyle("display", "block");				
				slide.selectedToggle = this;
				slide.selectedElement = elements[i];
				itemClick=i;
			}			
			var scrolldiv_content = $('scrolldiv_content');
			scrolldiv_initScroll(null,isOpen);
			curOpen = i;			
		});
	});
}