var SmWinCurElem = null;
var SmWinCurUrl = null;
var SmByClick = false;
var SmWinPermanent = false;

function tSmWin(el, url)
{
	if(window.SmWinEl == 'undefined' || window.SmWinEl != el)
	{
		window.SmWinEl = el;
	
		if(window.smTimer)
		{
			clearTimeout(window.smTimer);	
		}
		
		setCursorSatellite(RESOURCE_PATH + '/img/misc/indicator.gif');
		window.smTimer = setTimeout("SmWin('','"+url+"', 0)", 1000);
	}	
}


function SmWin(elem, contentUrl, byClick)
{
	if(!elem || elem == 'undefined')
	{
		if(!window.SmWinEl || window.SmWinEl == 'undefined')
		{
			return false;
		}
		
		elem = window.SmWinEl; 
	}
	
	if(byClick == 1)
	{
		SmByClick = true;
		SmWinPermanent = true;	
	}
	else
	{
		SmByClick = false;
	}
	
	//no need to open
	if(SmWinCurElem == elem && SmWinCurUrl == contentUrl)
	{
		return true;	
	}
	
	//URL not set? - return
	if(contentUrl == '')
		return false;
	
	SmWinCurElem = elem;
	SmWinCurUrl = contentUrl;
	
	//Closing other SwWin, if opened
	if($('#SmWin').length > 0)
	{
		$('#SmWin').remove();
	}
	
	var holder = null;
	//Getting SwWin holder...
	if(!SmByClick)
		holder = $(elem).next('#SmWinHolder');
	else
		holder = $(elem).next().next('#SmWinHolder');
	
	holder.html( '<div id="SmWin">'
						+ '<div id="SmWinDiv0"></div>'
						+ '<div id="SmWinDiv1">'
						+ '	<div id="SmWinContent" align="left"></div>'
						+ '</div>'
						+ '<div id="SmWinDiv2"></div>'
					+ '</div>');
	//Getting contents					
	$.ajax({
			  type: "GET",
			  url: contentUrl,
			  async: false,
			  dataType: "html",
			  beforeSend: function() {
			  	
			  },
			  success: function(html){
			    $("#SmWinContent").html(html);
				resetCursorSatellite();
			  },
			  error: function(XMLHttpRequest, textStatus, errorThrown){
			  	alert(textStatus + ' :: ' + errorThrown);
			  	resetCursorSatellite();
			  }
			});
	
	$('#SmWin #childAvatar a').lightBox(lightBoxOptions);
	
	//Make some noise :)
	$("#SmWin").fadeIn("fast");
	
	return true;
}

function closeSmWin()
{
	if(SmByClick)
	{
		SmByClick = false;
		return true;	
	}
	
	if(SmWinCurElem && SmWinCurElem != 'undefined')
	{
		if($('#SmWin').length > 0)
		{
			$("#SmWin").fadeOut("slow", function(){
					$('#SmWin').remove();
			});
		}
		
		SmWinCurElem = null;
		window.SmWinEl = 'undefined';
		SmWinPermanent = false;
	}
}

function resetTimer(el)
{
	if(window.smTimer)
	{
		clearTimeout(window.smTimer);	
	}
	
	if(window.SmWinEl == el)
	{
		window.SmWinEl = 'undefined';
	}
	
	resetCursorSatellite();
}
