var ypsIframeHeight = 0;

function ypsAttachEvent(o, e, f){
    if (o.addEventListener) {
		o.addEventListener(e, f, false);
		return true;
	} else if (o.attachEvent) {
        return o.attachEvent('on'+e, f);
    } else {
        return false;
    }
}

function getOffsetTop(objId){
    var obj = document.getElementById(objId);
    var offsetTop = 0;
    while (obj){
    	offsetTop += obj.offsetTop;
    	obj = obj.offsetParent;
    }
    return offsetTop;
}

function ypsMakeFrame(link){
    ifrm = document.createElement("IFRAME");
    ifrm.setAttribute("src", link);
    ifrm.setAttribute("id", "resize_iframe");
    ifrm.style.width = 10+"px";
    ifrm.style.height = 10+"px";
    ifrm.style.top = "-100px";
    ifrm.style.position = "absolute";
    document.body.appendChild(ifrm);
}

function ypsServer(){
    var body_obj = document.body;
    var newh = 0;
    if ( body_obj.scrollHeight){
        newh = body_obj.scrollHeight;
        if (document.getElementById("endPage")){
            var offset = getOffsetTop("endPage");
            if (offset != 0 && offset < newh){
                newh = offset + 40;
            }
        }
    } else if( body_obj.height){
        newh = body_obj.height;
    }

    if (ypsIframeHeight != newh){
        var link = window.name;
        if ( link != '' && link.substr(0,4) == 'http'){
            ypsIframeHeight = newh;
            parent.location.href = link + "#" + parseInt(newh);
        } else if (link != '' && link.substr(0,5) == '@http') {
            ypsIframeHeight = newh;
            ypsMakeFrame(link.substring(1) + '?height='+newh);
        }
    }
    setTimeout('ypsServer()', 500);
}

ypsAttachEvent(window, 'load', ypsServer);
