// ##### LayerWindow Class #####
var origUrl = '';origEl = null;

var layerWindow = new Class({
	options: { openLinks: 'a.openWindow', closeLinks: 'a.closeWindow' },
	initialize: function(options){
		this.setOptions(options),
		this.effects = [],
		this.openLinks = $$(this.options.openLinks),
		this.closeLinks = $$(this.options.closeLinks),
    this.Safari = (window.webkit) ? true : false,
		this.setUpLinks(this.openLinks)
	},
	
	setUpLinks: function(links){
		links.each(function(l){ l.addEvent('click', this.getAttibutes.bind(this)); }, this);
	},
	
	getAttibutes: function(e){
		if (!e) var e = window.event; 
		new Event(e).stop(); 
		var el = (e.target) ? e.target : ((e.srcElement) ? e.srcElement : null);
		el = ($type(el).toLowerCase() == 'textnode' || el.tagName.toLowerCase() == 'img') ? el.parentNode: el;
		var url = el.href; 
		if (this.safari){
            origEl= el; 
    		if (origUrl == '') {origUrl = url};          
        }
		var title = el.title; var rel = el.rel; var iframe = false;
		if ($defined(rel) && rel.indexOf("iframe") >-1) iframe = true;  
		this.buildWindow(iframe,url, title); 
		this.setFrameSize(rel);
    if(this.Safari) el.href='javascript:void(0)';
		return false;
	},
	
	buildWindow: function(iframe, url, title){ 
		if (iframe){
			$('layerWin').innerHTML=this.iframeHtml;
			if (this.safari && url.indexOf('javascript')>-1) url = origUrl; 
			$('winFrame').src=url;
			this.showWindow();
		} else { this.getAjax(url);}
		if (title.length > 0 && $('winTitle')){ $('winTitle').innerHTML = title;}
		return false;
	},
	
	setFrameSize: function(rel){
		var winframe = $('winFrame');
		if (!winframe || this.getFrameSize(rel).length < 1) return;
		var h = (this.getFrameSize(rel)[1] * 1)  + 15; var w = (this.getFrameSize(rel)[2] * 1);
		winframe.style.height=h +"px"; winframe.style.width=w +"px"; return false;
	},
	
	getFrameSize: function(x){
		if(x.substring(0,4) == "size"){ el = x.split(" "); return el; } return;
	},
	
	showWindow: function(){
		$('layerWin').addClass('block'); $('overlay').addClass('block');
		(function(){ this.setWinHeight(); return false;}).bind(this).delay(300);
		this.closeLinks.each(function(l){ 
			l.addEvent('click', this.closeWindow);
		}, this);
		$('layerWin').addEvent('click', this.closeWindow.bind(this));
		$('overlay').addEvent('click', this.closeWindow.bind(this));
		return false;
	},
	
	setWinHeight: function (){ 
		$('overlay').style.height=window.getScrollHeight() + "px"; 
		$('overlay').style.width=window.getScrollWidth() + "px";
		  return false;
	},
	
	closeWindow: function(e){ 
		if (!e) var e = window.event; new Event(e).stop();
		this.closeLinks = [];
		$('layerWin').removeClass('block');
		$('overlay').removeClass('block');
        $('layerWin').innerHTML=this.layerHTML;
        if (this.safari){
        if (origEl.href.indexOf('javascript')>-1) origEl.setAttribute("href",origUrl)
	      	origUrl = '';
        }
		return false;
	},
	
	getAjax: function(url){
		var req = new Ajax(url, {	
					update: $('updateArea'),
					method: 'get',
					evalScripts: true
				});
			
			req.request();  
			this.showWindow();
			return false;
	},
	
	iframeHtml: '<table id="winTable"><tr><td>\
					<div id="winHeader">\
						<div id="winTitle"></div>\
						<div id="winClose"><a href="#" class="closeWindow"><img src="/lib/yhst-20804281831352/closeCorner.gif" alt="" /></a></div>\
					</div>\
					<iframe frameborder="0" id="winFrame" src=""></iframe>\
					</td></tr></table>'
});
layerWindow.implement(new Options, new Events); 
window.addEvent('domready', function(){
  new layerWindow({});
});

