var Popup = Class.create();



Popup.prototype = {

	

	popupContentWidth: "200",

	popupContentHeight: "200",

	parameter: "",

	contentLink: "",

	

	initialize: function(control) {

		this.contentLink = control.href; 

		if(control.rel) {

			var stringParsed = control.rel.split(",");

			if(stringParsed[0] != null) {

				this.popupContentWidth = stringParsed[0]

			}

			if(stringParsed[1] != null) {

				this.popupContentHeight = stringParsed[1]

			}			

			if(stringParsed[2] != null) {

				this.parameter = stringParsed[2]

			}

		}

		Event.observe(control, 'click', this.activate.bindAsEventListener(this), false);

		control.onclick = function(){return false;};

	},

	

	activate: function(){

		this.loadInfo();

		this.show();

		return false;

	},

	

	show: function(){

		$('popup').style.display = "block";

		$('popupContent').style.width = this.popupContentWidth+"px";

		$('popupContent').style.height = this.popupContentHeight+"px";

		$('popupContent').style.margin = "-"+(this.popupContentHeight/2) +"px 0 0 -"+ (this.popupContentWidth/2) +"px";

		$('popupContent').style.display = "block";

		this.changeFlash('hidden');

		

		if (new BrowserDetect().getBrowserType() == 'Internet Explorer') {

			this.getScroll();

			this.ajusteForIE('100%', 'hidden');

			this.changeSelect('hidden');

			window.scrollTo(0, 0); 

		}

	},

	

	changeSelect: function(visibility) {

		selects = document.getElementsByTagName('select');

		for(i = 0; i < selects.length; i++) {

			selects[i].style.visibility = visibility;

		}

	},

	

	changeFlash: function(visibility) {

		flashs = document.getElementsByClassName('flash');

		for(i = 0; i < flashs.length; i++) {

			flashs[i].style.visibility = visibility;

		}

	},

	

	ajusteForIE: function(height, overflow) {

		bod = document.getElementsByTagName('body')[0];

		bod.style.height = height;

		bod.style.overflow = overflow;

  

		htm = document.getElementsByTagName('html')[0];

		htm.style.height = height;

		htm.style.overflow = overflow; 

		

	},

	

	hidden: function() {

		$('popup').style.display = "none";

		$('popupContent').style.display = "none";

		this.changeFlash('visible');



		if (new BrowserDetect().getBrowserType() == 'Internet Explorer') {

			this.ajusteForIE('auto', 'auto');

			this.changeSelect('visible');

			window.scrollTo(0,this.yPos); 

		}

	},

	

	getScroll: function(){

		if (self.pageYOffset) {

			this.yPos = self.pageYOffset;

		} else if (document.documentElement && document.documentElement.scrollTop){

			this.yPos = document.documentElement.scrollTop; 

		} else if (document.body) {

			this.yPos = document.body.scrollTop;

		}

	},

	

	loadInfo: function() {

		

		if (this.parameter == 'image') {

			$('popupContent').innerHTML = "<a class='popupAction' rel='deactive'><img src='" + this.contentLink + "' /></a>"

			this.actions();			

		} else {

			

			var myAjax = new Ajax.Request(

	        this.contentLink,

	        {method: 'post', onComplete: this.processInfo.bindAsEventListener(this)}

			);

		}

		

	},

	

	// Search through new links within the lightbox, and attach click event

	actions: function() {

		popupActions = document.getElementsByClassName('popupAction');



		for(i = 0; i < popupActions.length; i++) {

			Event.observe(popupActions[i], 'click', this[popupActions[i].rel].bindAsEventListener(this), false);

			popupActions[i].onclick = function(){return false;};

		}



	},

	

	deactive: function() {

		this.hidden();

		$('popupContent').innerHTML = "";

	},

	

	submit: function() {

		var formElement = $('popupContentForm');

		new Ajax.Request(formElement.action, {asynchronous:true, method: 'get', parameters: Form.serialize(formElement)});

		this.deactive();

	},

	

	processInfo: function(response){

		$('popupContent').innerHTML = response.responseText;	

		this.actions();			

	}

		

}



Event.observe(window, 'load', initialize, false);



function initialize() {

	popup = document.getElementsByClassName('popup');

	for(i = 0; i < popup.length; i++) {

		new Popup(popup[i]);

	}

	

	popupContent = document.createElement('div');

	popupContent.id = "popupContent";

	popupContent.style.overflow = "auto";

	

	popup = document.createElement('div');

	popup.id = "popup";

	

	bodyElement	= document.getElementsByTagName('body')[0];

	bodyElement.appendChild(popupContent);

	bodyElement.appendChild(popup);

}