﻿var _UrlService = "iframeprocess.aspx";
var _UIDF = _generatenewId (); 

function _generatenewId () 
{
  var auxDate = new Date(); 
  return auxDate.getTime();
}

function _GetXmlHttpObject()
{
var xmlHttp=null;try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 // Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

function _setFrameSize(uidf, fvalue)
{
    var _url = _UrlService+"?fop=set&uidf="+uidf+"&fvalue="+fvalue;    
	try{
		client = _GetXmlHttpObject();
		client.open("GET",_url,false);
        client.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1"); 
        client.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); 
        client.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); 
        client.setRequestHeader("Pragma", "no-cache");		
		client.send(null);
	} catch (e) {
		alert(e);
	}
}

function _getFrameSize(f)
{
    var _url = _UrlService+"?fop=get&uidf="+_UIDF;
	try{
		client = _GetXmlHttpObject();
		client.open("GET", _url, false);
        client.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1"); 
        client.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); 
        client.setRequestHeader("Cache-Control", "post-check=0, pre-check=0"); 
        client.setRequestHeader("Pragma", "no-cache");		
        client.send(null);
        //f.style.height = client.responseText+"px";
        f.style.height = parseInt(client.responseText) + 50 + "px";
	} catch (e) {
		alert(e.description );
	}
}

function InitFrame(f, src, parameters)
{
    _setFrameSize(_UIDF, "1");
   
  if(parameters ==null)
    src += "?uidf="+_UIDF;
  else
    src += "?uidf="+_UIDF+"&"+parameters;
    f.src = src;
}

function getBodyHeight(d)
{
    var height;
    var scrollHeight;
    var offsetHeight;

    if (d.height)
    {
        height = d.height;
    }
    else if (d.body)
    {
        if (d.body.scrollHeight)
        {
            height = scrollHeight = d.body.scrollHeight;
        }
        if (d.body.offsetHeight)
        {
            height = offsetHeight = d.body.offsetHeight;
        }

        if (scrollHeight && offsetHeight)
        {
            height = Math.max(scrollHeight, offsetHeight);
        }
    }

    return height;
}

function getViewPortHeight(d)
{
    var height = 0;
/*
    if (window.innerHeight)
    {
        height = window.innerHeight - 18;
    }*/
    if ((d.documentElement) && (d.documentElement.clientHeight))
    {
        height = d.documentElement.clientHeight;
    }
    else if ((d.body) && (d.body.clientHeight))
    {
        height = d.body.clientHeight;
    }

    return height;
}

function _getpublishHeight(d)
{
    var actualHeight = getBodyHeight(d);
    var currentHeight = getViewPortHeight(d);
    var newHeight = 0;

    if  (Math.abs(actualHeight - currentHeight) > 15)
	newHeight = actualHeight.toString();
    else
	newHeight = currentHeight.toString();
	
	return newHeight;
}	