﻿// JScript File

//alert("DomTools.js");

function DomTools(){
    this.nonMSDOMBrowser = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);
    this.clientWidth
}
DomTools.prototype.test = function() {
    alert("DomTools loaded.");
}
DomTools.prototype.getElementPosition = function(element) {
    var result = new Object();
    result.x = 0;
    result.y = 0;
    result.width = 0;
    result.height = 0;
    if (element.offsetParent) {
        result.x = element.offsetLeft;
        result.y = element.offsetTop;
        var parent = element.offsetParent;
        while (parent) {
            result.x += parent.offsetLeft;
            result.y += parent.offsetTop;
            var parentTagName = parent.tagName.toLowerCase();
            if (parentTagName != "table" &&
                parentTagName != "body" && 
                parentTagName != "html" && 
                parentTagName != "div" && 
                parent.clientTop && 
                parent.clientLeft) {
                result.x += parent.clientLeft;
                result.y += parent.clientTop;
            }
            parent = parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x = element.left;
        result.y = element.top;
    }
    else {
        if (element.x) {
            result.x = element.x;
        }
        if (element.y) {
            result.y = element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width = element.offsetWidth;
        result.height = element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
        result.width = element.style.pixelWidth;
        result.height = element.style.pixelHeight;
    }
    return result;
}
DomTools.prototype.setElementHeight = function(element, height) {
    if (element && element.style) {
        element.style.height = height + "px";
    }
}
DomTools.prototype.setElementWidth = function(element, width) {
    if (element && element.style) {
        element.style.width = width + "px";
    }
}
DomTools.prototype.setElementX = function(element, x) {
    if (element && element.style) {
        element.style.left = x + "px";
    }
}
DomTools.prototype.setElementY = function(element, y) {
    if (element && element.style) {
        element.style.top = y + "px";
    }
}
DomTools.prototype.getScrollX = function() {
    if (this.nonMSDOMBrowser) {
        return window.pageXOffset;
    }
    else {
        if (document.documentElement && document.documentElement.scrollLeft) {
            return document.documentElement.scrollLeft;
        }
        else if (document.body) {
            return document.body.scrollLeft;
        }
    }
    return 0;
}
DomTools.prototype.getScrollY = function() {
    if (this.nonMSDOMBrowser) {
        return window.pageYOffset;
    }
    else {
        if (document.documentElement && document.documentElement.scrollTop) {
            return document.documentElement.scrollTop;
        }
        else if (document.body) {
            return document.body.scrollTop;
        }
    }
    return 0;
}
DomTools.prototype.setScrollPosition = function() {
    if (this.nonMSDOMBrowser) {
        //window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, theForm.elements['__SCROLLPOSITIONY'].value);
    }
    else {
       //window.scrollTo(theForm.__SCROLLPOSITIONX.value, theForm.__SCROLLPOSITIONY.value);
    }
    return true;
}
DomTools.prototype.getAvailableClientSize = function() {
  var width = 0, height = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    width = window.innerWidth;
    height = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    width = document.documentElement.clientWidth;
    height = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    width = document.body.clientWidth;
    height = document.body.clientHeight;
  }
  //window.alert( 'Width = ' + width );
  //window.alert( 'Height = ' + height );
  return new Size(width, height);
}
