//variable to store data from overlayed iframes
var iframe_result = null;
var iframe_callback = null;
var iframe_caller_data = null;
var iframe_url = null;
var iframe_class = '';
var window_height = 0;
var window_width = 0;
var overlay_opened = false;

$(window).resize(function() {
	window_height = $(window).height();
    window_width = $(window).width();
});

$(function() {
	window_height = $(window).height();
    window_width = $(window).width();
	
	$('#overlay-frame').overlay(
		{
			mask: '#000',
			top: 'top',
			onBeforeLoad: function() {
				
				$('.asset[asset_type="image"], .asset[asset_type="video"], .location-attachment[attachment_type="image"]').each(function(){
					if(typeof $(this).data('qtip') == 'object'){
						$(this).qtip('hide');
					}
				});

				$("#overlay-frame-inside").html('<iframe src="'+ iframe_url +'" frameborder="0" class="overlay-iframe '+iframe_class+'" id="overlay-iframe" name="overlay-iframe"></iframe>');
                
				$("#overlay-iframe").load(function(){

					$("#overlay-iframe").height($("#overlay-iframe").contents().find("#overlay-body").outerHeight(true));
					document.getElementById('overlay-iframe').contentWindow['caller_data'] = iframe_caller_data;	
                    iframe_class = '';
                    $(this).animate({opacity:1}, 'fast', function(){$("a.close").css("visibility", "visible");});
					
				});
				
			},
			onLoad: function() {
				overlay_opened = true;
			},
			onClose: function(){
				$("#overlay-frame-inside").html('');
				removeOverlayCloseAlert();
				overlay_opened = false;
				$("a.close").css("visibility", "hidden");
			}
		}
	);

	$('#message-box').overlay(
		{
			mask: '#000',
			top: 'center',
			closeOnClick: false
		}
	);

	$('#prompt-box').overlay(
		{
			mask: '#000',
			top: 'center',
			closeOnClick: false,
			oneInstance: false
		}
	);

});

//prepare url from data
function prepareIframeUrl(data) {
	return data.join('/');
}

//show overlay
function openOverlay(data) {
	setIframeUrl(data.url);
	setCallback(data.callback);
	setCallerData(data.data);
    setIframeClass(data.iframe_class);
	$('#overlay-frame').overlay().load();
}

//prepare iframe to be overlayed
function setIframeUrl(url) {
    iframe_url = url;	
}

function setIframeClass(name) {
    iframe_class = name;	
}

function setCallback(callback) {
	iframe_callback = callback;
}

function setCallerData(data) {
	iframe_caller_data = data;
}

//getting result from overlayed iframe, if callback is set and it's a function, load this function
function returnIframeResult(data) {
	//first close overlay
	$('#overlay-frame').data('overlay').close();

	//store result in variable
	iframe_result = data;

	//try to load callback if it was set
	if(typeof iframe_callback == 'function') {
		iframe_callback(iframe_result);
        iframe_callback = null;
	}
}

function displayPromptBox(message, callback) {
	$('.prompt-box-content').text(message);
	if(typeof callback == 'function') {
		$('#prompt-box-yes-button').one('click', callback);
	}
	$('#prompt-box').overlay().load();
}

function closeOverlay() {
	$('#overlay-frame').overlay().close();
}

function reloadOverlayContent() {
	var f = document.getElementById('overlay-iframe');
	f.src = f.src;
}


