// переменная для хранения ссылки на объект div`a визуального калькулятора
var visualCalcDiv;
var visualCalcAppended=false;

function ShowVisualCalc(event)
{
   if(!visualCalcAppended) // калькулятор ещё не загружен
       {
       // получить код калькулятора
       visualCalcDiv = $("<div>")   .attr("id","visualCalculator-div")
				    .css("position","absolute")
				    .css("display","none")
				    .css("z-index","4");
       visualCalcDiv.load("crashdisk/tpl/returnCalculator.html");
       $("body").append(visualCalcDiv);
       visualCalcAppended=true;
       }

   // затемнить экран
    if(!jQuery("body").find("#TB_overlay").is("div")) /* если фон уже добавлен не добавляем повторно */
    {
       if(!jQuery.browser.msie) /* если браузер не ИЕ фоном будет div */
       jQuery("body").append("<div id='TB_overlay'></div>");
       else /* иначе добавляем iframe */
       jQuery("body").append("<div id='TB_overlay'><iframe scrolling='no' frameborder='0' style='position: absolute; top: 0; left: 0; width: 100%; height: 100%; filter:alpha(opacity=0)'></iframe></div>");
    }
    //$("#TB_overlay").css("display","block");
    $("#TB_overlay").fadeIn("fast");
    
   // обсчитать положение калькулятора на странице
   CountCalcPosition();
   /*visualCalcDiv.css("display","block");
   visualCalcDiv.css("display","none");*/
   visualCalcDiv.fadeIn("fast");

   // отмена перехода по ссылке
   event = event || window.event;
    if (event.preventDefault)
    {
	// Вариант стандарта W3C:
	event.preventDefault();
    }
    else
    {
	// Вариант Internet Explorer:
	event.returnValue = false
    }
   return false;
}

function HideVisualCalc()
{
    visualCalcDiv.fadeOut("fast");
    //$("#TB_overlay").fadeOut("fast");
	$("#TB_overlay").remove()
}

// определение позиции калькулятора - посередине окна (с учетом скроллинга)
function CountCalcPosition()
{
	var top=getBodyScrollTop();//+200;// 200 пискелей от верхней границы экрана с учетом скорллинга
        var left=getClientCenterX()-290;// 580 - ширина блока калькулятора
        visualCalcDiv.css("top",((top>0)?top:0) + "px"); // если вдруг окно маленькое, чтобы не выйти за его пределы
	visualCalcDiv.css("left",((left>0)?left:0)  + "px");
}

// ОБСЧЕТ ГЕОМЕТРИИ ОБЪЕКТА
function getClientWidth()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}

function getClientHeight()
{
  return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
}

function getBodyScrollTop()
{
  return window.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function getBodyScrollLeft()
{
  return window.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}

function getClientCenterX()
{
	return parseInt(getClientWidth()/2)+getBodyScrollLeft();
	//return parseInt(getDocumentWidth()/2)+getBodyScrollLeft();
}

function getClientCenterY()
{
	return parseInt(getClientHeight()/2)+getBodyScrollTop();
	//return parseInt(getDocumentHeight()/2)+getBodyScrollTop();
}

// РАЗМЕРЫ ДОКУМЕНТА С УЧЕТОМ СКРОЛЛИНГА
function getDocumentHeight()
{
	return (document.body.scrollHeight > document.body.offsetHeight)?document.body.scrollHeight:document.body.offsetHeight;
}

function getDocumentWidth()
{
	return (document.body.scrollWidth > document.body.offsetWidth)?document.body.scrollWidth:document.body.offsetWidth;
}
