
/** function: getScrollingPosition
*  Determina la posizione di scrolling
*  all'interno della pagina.
*
*  parameter: none
*  return: array
*
**/
function getScrollingPosition() {
     //array per le coordinate X e Y della posiziozione di scrolling
     var position = [0, 0];
     
     // se la propriet� window.pageYOffset � supportata
     if (typeof window.pageYOffset != 'undefined') {
          //store position values
          position = [
               window.pageXOffset,
               window.pageYOffset
          ];
     }
     
     // se la propriet� documentElement.scrollTop � supportata
     // e il suo valore � maggiore di zero
     if (typeof document.documentElement.scrollTop != 'undefined'
          && document.documentElement.scrollTop > 0)
     {
          // memorizza il valore della posizione
          position = [
               document.documentElement.scrollLeft,
               document.documentElement.scrollTop
          ];
     }
     
     // se � supportata la propriet� body.scrollTop
     else if(typeof document.body.scrollTop != 'undefined') {
          // memorizza il valore della posizione
          position = [
               document.body.scrollLeft,
               document.body.scrollTop
          ];
     }
     
     // restituisci l'array con i valori di posizione
     return position;
}


/** function: getViewportSize
*  Determina le dimensioni della viewport
*  (area visibile all'interno della pagina
*
*  parameter: none
*  return: array
*
**/
function getViewportSize() {
     var size = [0,0];
     
     if (typeof window.innerWidth != 'undefined') {
          size = [
               window.innerWidth,
               window.innerHeight
          ];
     } else if (typeof document.documentElement != 'undefined'
          && typeof document.documentElement.clientWidth != 'undefined'
          && document.documentElement.clientWidth != 0)
     {
          size = [
               document.documentElement.clientWidth,
               document.documentElement.clientHeight
          ];
     } else {
     size = [
          document.getElementsByTagName('body')[0].clientWidth,
          document.getElementsByTagName('body')[0].clientHeight
     ];
}

return size;
}


/** function: getPageDimensions
*  Determina le dimensioni della pagina
*  restituendo un array.
*
*  parameter: none
*  return: array
*
**/
function getPageDimensions() {
     var body = document.getElementsByTagName("body")[0];
     var bodyOffsetWidth = 0;
     var bodyOffsetHeight = 0;
     var bodyScrollWidth = 0;
     var bodyScrollHeight = 0;
     var pageDimensions = [0, 0];
     
     if (typeof document.documentElement != "undefined" &&
          typeof document.documentElement.scrollWidth != "undefined")
     {
          pageDimensions[0] = document.documentElement.scrollWidth;
          pageDimensions[1] = document.documentElement.scrollHeight;
     }
     
     bodyOffsetWidth = body.offsetWidth;
     bodyOffsetHeight = body.offsetHeight;
     bodyScrollWidth = body.scrollWidth;
     bodyScrollHeight = body.scrollHeight;
     
     if (bodyOffsetWidth > pageDimensions[0]) {
          pageDimensions[0] = bodyOffsetWidth;
     }
     
     if (bodyOffsetHeight > pageDimensions[1]) {
          pageDimensions[1] = bodyOffsetHeight;
     }
     
     if (bodyScrollWidth > pageDimensions[0]) {
          pageDimensions[0] = bodyScrollWidth;
     }
     
     if (bodyScrollHeight > pageDimensions[1]) {
          pageDimensions[1] = bodyScrollHeight;
     }
     
     return pageDimensions;
}
