
var popup_overlay_id;
var popup_content_id;
var popup_template;
var popup_element_clone;
var popup_element;
var popup_body_class;

function open_popup(div_id)
{
	var id = new Date().getTime();

	document.getElementById('html').className = 'html_no_scrll';
	popup_body_class = document.getElementById('body').className;
	document.getElementById('body').className = 'body_no_scrll ' + popup_body_class;

	popup_overlay_id = id +'_overlay';
	popup_content_id = id;

	var div_popup_overlay = document.getElementById('div_overlay');
	var div_popup = new Element("div", { "id": popup_content_id });

	document.body.appendChild(div_popup_overlay);
	document.body.appendChild(div_popup);

	popup_template = div_id + '_template';

	popup_element_clone = document.getElementById(div_id).cloneNode(true);
	popup_element = document.getElementById(div_id);

	div_popup.appendChild(document.getElementById(div_id));

	Event.observe(div_popup_overlay, "click", close_popup);
	//Event.observe(div_popup_overlay, "click", close_popup(e, {is_reset:1}));

	/*Event.observe(div_popup, "click", function(event){
		alert(event);
		Event.stop(event);
	});*/

	// display element
	display_element_by_tag('object', 'hidden');
	display_element_by_tag('select', 'hidden');
	if(document.getElementById('div_carousel'))
		document.getElementById('div_carousel').style.display = 'none';


	div_popup_overlay.style.display = '';
}

function close_popup(options)
{
	// display element
	display_element_by_tag('object', 'visible');
	display_element_by_tag('select', 'visible');
	if(document.getElementById('div_carousel'))
		document.getElementById('div_carousel').style.display = '';

	document.getElementById('div_overlay').style.display = 'none';
	document.getElementById('html').className = '';
	document.getElementById('body').className = popup_body_class;

	document.getElementById('div_overlay').style.display = 'none';

	if(!options) options = new Object();

	if(typeof options.is_reset == "undefined"){ is_reset = 1 } else { is_reset = options.is_reset };

	var el = document.getElementById(popup_content_id);
	if(el)
	{
		document.body.removeChild(el);
	}

	if(1 == is_reset)
	{
		document.getElementById(popup_template).appendChild(popup_element_clone);
	}
	else
	{
		document.getElementById(popup_template).appendChild(popup_element);
	}

	document.body.style.overflow = '';
}


function display_element_by_tag(tag_name, display)
{
	var t = document.getElementsByTagName(tag_name);
	for(x = 0; x < t.length; ++ x)
	{
		if('' != t[x].id)
		{
			//t[x].style.display = display;
			t[x].style.visibility = display;
		}
	}
}














