var current_image;
var req;
var preview;
var preview_content;

domTT_screenEdgeDetection = false;
domTT_activateDelay = 0;

function initPreview(topicID) {

	//create dummy parent
	var previewContainer = document.createElement('div');
	previewContainer.style.display = 'none';
	document.body.appendChild(previewContainer);

	//create preview div
	preview = document.createElement('div');
	preview.id = 'preview_' + topicID;
	previewContainer.appendChild(preview);

	//content
	preview_content = document.createElement('div');
	preview_content.id = 'preview_content_' + topicID;
	preview.appendChild(preview_content);

	domTT_addPredefined('domTTpreview_' + topicID, 'content', preview, 'width', '600', 'offsetX', '20', 'direction', 'northwest', 'closeAction', 'hide');
	return preview;
}

function loadingXML() {
	return '<div class="tb_full_item div_center center" style="width: 600px;"><span class="bold">Loading preview...</span></div>';
}

function errorXML(err_code) {
	return '<div class="tb_full_item div_center center" style="width: 600px;"><span class="bold">Error loading data (' + err_code + ')</span></div>';
}

function showPreview(sender, ev, topicID, area) {
    var a;
	preview = document.getElementById('preview_' + topicID);
	if (!preview) {
        if (area == 'groups')
        {
            a = '_g';
            area  = '\&area=groups';
        }
        else
        {
            a = '';
            area = '';
        }
		initPreview(topicID);
		preview_content = document.getElementById('preview_content_' + topicID + a);
		preview_content.innerHTML = loadingXML();

		domTT_activate(sender, ev, 'predefined', 'domTTpreview_' + topicID);

		req = false;
	    try
	    {
	        req=new XMLHttpRequest();
	    }
	    catch (e)
	    {
	        try
	        {
	            req=new ActiveXObject("Msxml2.XMLHTTP");
	        }
	        catch (e)
	        {
	            try
	            {
	                req=new ActiveXObject("Microsoft.XMLHTTP");
	            }
	            catch (e)
	            {
	                alert("Your browser does not support AJAX!");
	                return false;
	            }
	        }
	    }

		req.onreadystatechange = reqChange;
		req.open("GET", url_root + "/index.php?page=std_topic_preview\&t=" + topicID + area, true);
		req.send("");
	} else {
		//reshow preview
		domTT_activate(sender, ev, 'predefined', 'domTTpreview_' + topicID);
	}

}

function showEvents(sender, ev, cday) {

	preview = document.getElementById('preview_' + cday);
	if (!preview) {
		initPreview(cday);

		preview_content = document.getElementById('preview_content_' + cday);
		preview_content.innerHTML = loadingXML();

		domTT_activate(sender, ev, 'predefined', 'domTTpreview_' + cday);

		req = false;
	    try
	    {
	        req=new XMLHttpRequest();
	    }
	    catch (e)
	    {
	        try
	        {
	            req=new ActiveXObject("Msxml2.XMLHTTP");
	        }
	        catch (e)
	        {
	            try
	            {
	                req=new ActiveXObject("Microsoft.XMLHTTP");
	            }
	            catch (e)
	            {
	                alert("Your browser does not support AJAX!");
	                return false;
	            }
	        }
	    }

		req.onreadystatechange = reqChange;
		req.open("GET", url_root + "/index.php?page=std_calendar_preview\&c_day=" + cday, true);
		req.send("");
	} else {
		//reshow preview
		domTT_activate(sender, ev, 'predefined', 'domTTpreview_' + cday);
	}
}

function reqChange() {
	if (req.readyState == 4) {
		if (preview_content) {
			if (req.status == 200) {
				preview_content.innerHTML = req.responseText;
				if ( self.ResizeUserImages ) {
					ResizeUserImages(450, preview_content);
				}
			} else {
				preview_content.innerHTML = errorXML(req.status);
			}
		}
	}
}

function image_preview(url, id)
{
    if (document.getElementById('img_' + current_image))
    {
        document.getElementById('img_' + current_image).style.borderWidth = '0px';
        document.getElementById('img_' + current_image).style.borderStyle = 'none';
    }
    document.getElementById('image_preview').innerHTML = '<a href="' + url + '" target="_blank"><img alt="user_image" class="user_image" src="' + url + '" /></a>';
    if (document.getElementById('img_' + id))
    {
        document.getElementById('img_' + id).style.borderWidth = '3px';
        document.getElementById('img_' + id).style.borderStyle = 'solid';
    }
    current_image = id;
}
