﻿// JScript File

function publishHeight(){    if (window.location.hash.length == 0) return;    var frameId = getFrameId();    if (frameId == '') return;    var actualHeight = getBodyHeight();    var currentHeight = getViewPortHeight();    if  (Math.abs(actualHeight - currentHeight) > 15)    {        var hostUrl = window.location.hash.substring(1);        hostUrl += "#";        hostUrl += 'frameId=' + frameId;        hostUrl += '&';        hostUrl += 'height=' + actualHeight.toString();        window.top.location = hostUrl;    }}function getFrameId(){    var qs = parseQueryString(window.location.href);    var frameId = qs["frameId"];    var hashIndex = frameId.indexOf('#');    if (hashIndex > -1)    {        frameId = frameId.substring(0, hashIndex);    }    return frameId;}function getBodyHeight(){    var height;    var scrollHeight;    var offsetHeight;    if (document.height)    {        height = document.height;    }    else if (document.body)    {        if (document.body.scrollHeight)        {            height = scrollHeight = document.body.scrollHeight;        }        if (document.body.offsetHeight)        {            height = offsetHeight = document.body.offsetHeight;        }        if (scrollHeight && offsetHeight)        {            height = Math.max(scrollHeight, offsetHeight);        }    }    return height;}function getViewPortHeight(){    var height = 0;    if (window.innerHeight)    {        height = window.innerHeight - 18;    }    else if ((document.documentElement) && (document.documentElement.clientHeight))    {        height = document.documentElement.clientHeight;    }    else if ((document.body) && (document.body.clientHeight))    {        height = document.body.clientHeight;    }    return height;}function parseQueryString(url){    url = new String(url);    var queryStringValues = new Object();    var querystring = url.substring((url.indexOf('?') + 1), url.length);    var querystringSplit = querystring.split('&');    for (i = 0; i < querystringSplit.length; i++)    {        var pair = querystringSplit[i].split('=');        var name = pair[0];        var value = pair[1];        queryStringValues[name] = value;    }    return queryStringValues;}
