﻿function Anchor()
{
    this.ElementName = ""; 
    this.OriginalHeight = 0;
}
/********************************************/
var AnchorElements = new Array()
//**************************************************
function addAnchorElement(elementName){
    var mAnchor = new Anchor()
    var element = document.getElementById(elementName)
    
    mAnchor.ElementName = elementName
    mAnchor.OriginalHeight = new Number(element.style.height.replace("px", ""))
    
    AnchorElements.push(mAnchor)
}
var mLastHeight = 0
//**************************************************
function startRecalculateHeight(){
    execRecalculateHeight()
    window.setTimeout("execRecalculateHeight()", 100);    
}
//**************************************************
function startCalculateSubForm(){
	execCalculateSubForm();
}
//**************************************************
function execCalculateSubForm(){
	var i = 0;
	var divHeader = Ext.get("header")
	
	for (i=0;i < AnchorElements.length; i++){
      var mAnchor = AnchorElements[i]
			var element = Ext.get(mAnchor.ElementName);
			
			element.setWidth(divHeader.getWidth());							
  }	
}
//**************************************************
function startRePaint(){
    window.setTimeout("rePaint()", 1);    
}
//**************************************************
function execRecalculateHeight(force){
    if (mLastHeight !== document.body.clientHeight || force){        
        recalculateHeight()        
        document.getElementById("formContainer").style.display = "block"
        document.getElementById("formContainer").style.width = "100%"
        startRePaint()
    }

    mLastHeight = document.body.clientHeight
    window.setTimeout("execRecalculateHeight()", 100);
}
//**************************************************
function calculateWithGridEx(grinName, with1, with2){
    document.getElementById(grinName + "_header").style.width = with1;
    document.getElementById(grinName + "_result").style.width = with1;
    if (document.getElementById(grinName) !== null){
        window.clearTimeout(idTI)
        document.getElementById(grinName).style.width = with2;
    }
}
/******************************/

function rePaint(){
    document.getElementById("formContainer").style.display = ""
}
//**************************************************
function recalculateHeight(){    
    
    var mScale = 50
    var mDone = false
    var i = 0
    
    while (!mDone){
        
        for (i=0;i < AnchorElements.length; i++){
            
            var mAnchor = AnchorElements[i]
            var element = document.getElementById(mAnchor.ElementName)
            
            var mNewHeight = new Number(element.style.height.replace("px", ""))
            
            mNewHeight += mScale
            element.style.height = mNewHeight
            
            var scrollheight = parseInt(document.body.scrollHeight); 
            var clientHeight = parseInt(document.body.clientHeight);
            if (scrollheight > clientHeight){
                mDone = true   }
         }          
    }    
    var mDiff = ((document.body.scrollHeight - document.body.clientHeight) / AnchorElements.length) + 1
    
    for (i=0;i < AnchorElements.length; i++){
        var mAnchor = AnchorElements[i]
        var element = document.getElementById(mAnchor.ElementName)
        var mNewHeight = new Number(element.style.height.replace("px", ""))
        
        mNewHeight -= mDiff
        
        if (mNewHeight > 0){
            element.style.height = mNewHeight
        }
    }    
}


