/* #################################################################
Copyright © 2008 BBB Systems, LLC, All rights reserved
################################################################## */

var navHistory = new Array( );
var curNavPoint = -1;

var globals = new Array( );

var ajaxEnabled = false;
var bgzDDEnabled = true;

var ajaxTabList = new Array( );//format: html_id > type

//don't forget to update the number in the loop
for(var i = 0; i < 1; i++){ ajaxTabList[i] = new Object( ); }
ajaxTabList[0].html_id = 'dirTabs';
ajaxTabList[0].ajax_type = 'dir';

window.js_initialized = false;

if(window.special_init){
    window.load_function = special_init;
}
else{
    window.load_function = function( ){ init( ); }
}
if(document.addEventListener){
    document.addEventListener('DOMContentLoaded', function( ){ window.load_function( ); }, false);
    document.addEventListener('load', function( ){ window.load_function( ); }, false);
}
else if(document.attachEvent){
    document.attachEvent('onreadystatechange', function( ){ window.load_function( ); });
}
else if(window.onload){
    window.onload = function( ){ window.load_function( ); }
}

if(window.load_maps && window.onunload){
    window.onunload = function( ){ GUnload( ); }
}

function init( ){
    if(window.js_initialized){ return; }
    window.js_initialized = true;
    if(!document.getElementsByTagName){ return; }
    initTopMenuLinks( );
    initInputButtons( );
    initA( );
    initObjects( );
    ieHacks( );
    if(window.load_maps){ loadGoogleMaps( ); }
}

window.xmlInit = function( ){
    initAjaxTabs( );
    if(window.load_maps){ loadGoogleMaps( ); }
}

function ieHacks( ){
    if(!window.ActiveXObject){ return; }
    var content = document.getElementById('content');
    var divs = content.getElementsByTagName('div');

    var dlist = new Array( );
    var dwidths = new Array( );

    var j = 0;
    for(var i = 0; i < divs.length; i++){
        if(divs[i].className && divs[i].className == 'content_block'){
            if(divs[i].clientWidth && divs[i].clientWidth > 0){ return; } //ie8 is fine... don't mess with it
            dlist[j] = divs[i];
            dwidths[j] = divs[i].offsetWidth;
            j++;
        }
    }
    for(var i = 0; i < dlist.length; i++){
        dlist[i].style.width = (dwidths[i] - 28) + 'px';
    }
}

function initInputButtons( ){
    if(document.getElementsByTagName){
        var inputs = document.getElementsByTagName("input");
        for(var i = 0; i < inputs.length; i++){
            if((inputs[i].type == "submit" || inputs[i].type == "reset" || inputs[i].type == "button") && inputs[i].className == "button"){
                inputs[i].onmouseover = inputOver;
                inputs[i].onmouseout = inputOut;
            }
            else if(window.ActiveXObject && (inputs[i].type == 'checkbox' || inputs[i].type == 'radio')){
                inputs[i].style.border = '0px solid #ffffff';
                inputs[i].style.backgroundColor = 'transparent';
            }
        }
        var buttons = document.getElementsByTagName("button");
        for(var i = 0; i < buttons.length; i++){
            if((buttons[i].type == "submit" || buttons[i].type == "reset" || buttons[i].type == "button") && buttons[i].className == "button"){
                buttons[i].onmouseover = inputOver;
                buttons[i].onmouseout = inputOut;
            }
        }
    }
}

function initA( ){
    if(document.getElementsByTagName){
        var as = document.getElementsByTagName("a");
        for(var i = 0; i < as.length; i++){

            var hostnm = as[i].href.replace(/http(s)?\:\/\//, "");
            hostnm = hostnm.replace(/\/.*/, "");

            if(hostnm != window.location.hostname || as[i].href.match(/\/ad\.\php\?/) || as[i].href.match(/\/ldir\.\php\?/)){
                if(!as[i].target){
                    as[i].target = "_blank";
                    continue;
                }
            }

            if(ajaxEnabled){
                if(b_xml){
                    as[i].onclick = function( ){
                        var newHREF = this.href;

                        if(newHREF.match(/\?/)){
                            newHREF += "&xmlOnly=1";
                        }
                        else{
                            newHREF += "?xmlOnly=1";
                        }

                        if(newHREF == navHistory[curNavPoint]){
                            return false;
                        }

                        for(var i = navHistory.length - 1; i > curNavPoint; i--){
                            navHistory.pop( );
                        }

                        curNavPoint += 1;
                        navHistory.push(newHREF);

                        b_xml.request(newHREF);

                        if(b_xml.isSupported){
                            return false;
                        }
                        return true;
                    }
                }
            }
        }
        initAjaxTabs( );
    }
}

function initObjects( ){
    if(document.getElementsByTagName){
        var objects = document.getElementsByTagName("div");
        var len = objects.length;

        for(var i = 0; i < len; i++){
            var obj = objects[i];
            if(obj.className && obj.className == 'bgzobject'){
                var paramStr = '';
                var objStr = '\n<object ';
                var embedStr = '\n<embed ';
                var params = obj.getElementsByTagName('param');
                var plen = params.length;
                var o_type = '';
                var o_filename = '';
                var o_width = '';
                var o_height = '';
                //need o_type, it will be first or second in the list, but just in case.
                for(j = 0; j < plen; j++){
                    var param = params[j];
                    var pn = param.name;
                    var pv = param.value;
                    if(pn == 'o_type'){
                        o_type = pv;

                        //do this here because we have to force video type for wmv files
                        var isWindows = false;
                        if(o_type == 'wmv' || navigator.userAgent.match(/windows/i)){
                            isWindows = true;
                        }

                        break;
                    }
                }
                for(j = 0; j < plen; j++){
                    var param = params[j];
                    var pn = param.name;
                    var pv = param.value;

                    switch(pn){
                    case 'o_type':
                        if(o_type == 'swf'){
                            embedStr += ' type="application/x-shockwave-flash" ';
                            objStr += ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ';
                            objStr += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ';
                        }
                        else if(isWindows && o_type != 'mov'){

                            embedStr += ' type="application/x-mplayer2" ';
                            embedStr += '  pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" ';
                            objStr += ' classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" ';
                            objStr += ' standby="Loading..." ';
                            objStr += ' type="application/x-oleobject" ';
                            objStr += ' codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" ';
                        }
                        else{
                            embedStr += ' pluginspage="http://www.apple.com/quicktime/download/" ';
                            objStr += ' classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" ';
                            objStr += ' codebase="http://www.apple.com/qtactivex/qtplugin.cab" ';
                        }
                        break;
                    case 'o_filename':
                        o_filename = pv;
                        if(o_type == 'swf'){
                            paramStr += ' <param name="movie" value="/docs/' + pv + '" /> \n';
                        }
                        else if(isWindows && o_type != 'mov'){
                            paramStr += ' <param name="filename" value="/docs/' + pv + '" /> \n';
                        }
                        else{
                            paramStr += ' <param name="src" value="/docs/' + pv + '" /> \n';
                        }
                        embedStr += ' src="/docs/' + pv + '" ';

                        break;
                    case 'o_width':
                        o_width = pv;
                        obj.width = pv;
                        embedStr += ' width="' + pv + '" ';
                        objStr += ' width="' + pv + '" ';
                        break;
                    case 'o_height':
                        o_height = pv;
                        obj.height = pv;
                        embedStr += ' height="' + pv + '" ';
                        objStr += ' height="' + pv + '" ';
                        break;
                    default:
                        pn = pn.replace(/^(o\_)/, '');

                        if(!isWindows && pn == 'showcontrols'){
                            pn = 'controller';
                        }

                        if(pn == 'transparency'){
                            pn = 'wmode';
                            pv = 'transparent';
                        }

                        paramStr += ' <param name="' + pn + '" value="' + pv + '" /> ';

                        if(pv.toLowerCase( ) == 'false'){
                            pv = '0';
                        }
                        else if(pv.toLowerCase( ) == 'true'){
                            pv = '1';
                        }

                        if(pn == 'showcontrols'){
                            if(pv == '0'){
                                paramStr += ' <param name="ShowStatusBar" value="false" /> \n';
                                embedStr += ' showstatusbar="0" ';
                            }
                            else{
                                paramStr += ' <param name="ShowStatusBar" value="true" /> \n';
                                embedStr += ' showstatusbar="1" ';
                            }
                        }

                        embedStr += ' ' + pn + '="' + pv + '" ';


                        break;
                    }
                }//end params

                embedStr += '></embed>\n';
                objStr += '>\n';
                obj.innerHTML = objStr + paramStr + embedStr + '</object>\n';
                obj.style.display = 'block';
            }//end if bgzobject
        }
    }
}

function appThink( ){
    setTimeout('appThink( )', 100);
}
//Cool input effects
function inputOver(e){
    this.className = "buttonOver";
}

function inputOut(e){
    this.className = "button";
}

//Popups
function generalPopUp(loc, w, h){
    gPopUp = window.open(loc, "gpopup", "width=" + w + ",height=" + h + ", scrollbars=0, status=no,toolbar=no,resizable=yes");
    gPopUp.focus( );
}

function generalPopUp2(loc, w, h){
    gPopUp = window.open(loc, "gpopup", "width=" + w + ",height=" + h + ", scrollbars=1, status=no,toolbar=no,resizable=yes");
    gPopUp.focus( );
}

function initTopMenuLinks( ){
    var hmenu = document.getElementById('tmenu');
    if(!hmenu){ return; }
    var tdA = hmenu.getElementsByTagName('td')
    var len = tdA.length;
    for(var i = 0; i < len; i++){
        var td = tdA[i];
        if(bgzDDEnabled){
            td.bgzdd = new bgzDropDown( );
            var ul = td.getElementsByTagName('ul')[0];
            if(ul){
                td.bgzdd.init(td, ul, 'down');
            }
        }
    }
}

var ipreviewWin = null;
function ipreview(lnk){
    ipreviewWin = window.open(lnk, "ipreviewWin", "width=780,height=480, menubar=yes, location=yes, scrollbars=yes, status=yes,toolbar=yes,resizable=yes");
    ipreviewWin.focus( );
    return false;
}

function setCookie(cookieName,cookieValue){
    var dateNow = new Date( );
    var expire = new Date();
    expire.setTime(dateNow.getTime() + 7200000);
    document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString( ) + ";path=/";
}

function getCookie(cname){
    var dc = document.cookie;
    var prefix = cname + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1){
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else{
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1){
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function convert2RGB(color) {
    var rgb1 = parseInt(color.substr(0, 2), 16);
    var rgb2 = parseInt(color.substr(2, 2), 16);
    var rgb3 = parseInt(color.substr(4, 2), 16);

    return "rgb(" + rgb1 + ", " + rgb2 + ", " + rgb3 + ")";
}

function addslashes(str){
    str = str.replace(/\'/g, '\\\'');
    str = str.replace(/\"/g, '\\"');
    str = str.replace(/\\/g, '\\\\');
    str = str.replace(/\0/g, '\\0');
    return str;
}

function stripslashes(str){
    str=str.replace(/\\'/g, '\'');
    str=str.replace(/\\"/g, '"');
    str=str.replace(/\\\\/g, '\\');
    str=str.replace(/\\0/g, '\0');
    return str;
}

function initAjaxTabs( ){

    var html_id;
    var ajax_type;
    var hObj = null;

    for(var cnt = 0; cnt < ajaxTabList.length; cnt++){

        html_id = ajaxTabList[cnt].html_id;
        ajax_type = ajaxTabList[cnt].ajax_type;

        hObj = document.getElementById(html_id);

        if(hObj){
            i = 0;
            as = hObj.getElementsByTagName("a");
            for(i = 0; i < as.length; i++){
                as[i].ajax_type = ajax_type;
                as[i].onclick = function( ){
                    if(this.ajax_type == 'dir' && window.is_ie && this.innerHTML == 'Reviews'){
                        return true;
                    }

                    if(b_xml.isCurrentRequest){ return false; }
                    //ul = a->li->ul (this->parent->parent)
                    //table = a->td->tr->table (this->parent->parent-parent)
                    var table = this.parentNode.parentNode.parentNode;
                    var p_as = table.getElementsByTagName('a');

                    for(var j = 0; j < p_as.length; j++){ p_as[j].className = ''; }
                    this.className = 'cur';
                    var newHREF = this.href;
                    newHREF = newHREF.replace(/(\#.*)$/, '');
                    newHREF = newHREF.replace(/(\/content\/)/, '/ajax.php/');
                    newHREF = newHREF + '/type/' + this.ajax_type;
                    //alert('here');
                    //alert(newHREF);

                    b_xml.request(newHREF);

                    if(b_xml.isSupported){ return false; }

                    return true;
                }//end onclick
            }//end foreach a in homeArticlesMenu
        }

    }//end for each ajaxTabList
}


/* GOOGLE MAPS */

function setDirections(toAddress, fromAddress){
    if(!fromAddress || !toAddress){
        return;
    }

    var mapObj = document.getElementById("google_map");
    if(!mapObj){
        return;
    }

    var directions = document.getElementById('directions');
    if(!directions){
        return;
    }

    var map = new GMap2(mapObj);
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());

    gdir = new GDirections(map, directions);
    GEvent.addListener(gdir, "load", onGDirectionsLoad);
    GEvent.addListener(gdir, "error", handleErrors);

    gdir.load("from: " + fromAddress + " to: " + toAddress);

}

function handleErrors( ){
    if (gdir.getStatus( ).code == G_GEO_UNKNOWN_ADDRESS)
        alert("No corresponding geographic location could be found for one of the specified addresses. This may be due to the fact that the address is relatively new, or it may be incorrect.\nError code: " + gdir.getStatus().code);

    else if (gdir.getStatus( ).code == G_GEO_SERVER_ERROR)
        alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);

    else if (gdir.getStatus( ).code == G_GEO_MISSING_QUERY)
        alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);

    else if (gdir.getStatus( ).code == G_GEO_BAD_KEY)
        alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);

    else if (gdir.getStatus( ).code == G_GEO_BAD_REQUEST)
        alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);

    else alert("An unknown error occurred.");
}

function onGDirectionsLoad( ){
    var directions = document.getElementById('directions');
    directions.style.display = 'block';
}

var map;
var myPano;
var panoClient;
function loadGoogleMaps( ){
    if(GBrowserIsCompatible( )){
        maps = document.getElementsByTagName("div");

        for(var i = 0; i < maps.length; i++){
            var curMap = maps[i];
            if(curMap.id == "google_map"){
                var map_inner = curMap.innerHTML;

                var address = map_inner.replace(/address\:/, '');

                var info = '';
                var eid = 0;
                if(address.match(/\|\|info\:/g)){
                    var addA = address.split('||');
                    address = addA[0];

                    var info = addA[1].replace(/info\:/, '');

                    if(addA[2]){
                        eid = addA[2].replace(/^\s*|\s*$/, '');;
                    }
                }

                if(map_inner.match(/address\:/g)){
                    markAddress(address, curMap, info, eid);
                }
                else{
                    var coords = address.split(",");
                    if(!coords[1]){
                        return;
                    }

                    var map = new GMap2(curMap);
                    var point = new GLatLng(coords[0], coords[1]);

                    map.setCenter(point, 13);
                    map.addControl(new GSmallMapControl());
                    map.addControl(new GMapTypeControl());

                    var marker = new GMarker(point);
                    map.addOverlay(marker);

                    var sv_container = document.getElementById("google_pano");
                    if(sv_container){
                        panoClient = new GStreetviewClient();

                        GEvent.addListener(map, "click", function(overlay,latlng) {
                            panoClient.getNearestPanorama(latlng, showPanoData);
                        });

                        myPano = new GStreetviewPanorama(sv_container);
                        svOverlay = new GStreetviewOverlay( );
                        map.addOverlay(svOverlay);
                        myPano.setLocationAndPOV(point);
                        GEvent.addListener(myPano, "error", handleNoFlash);
                        panoClient.getNearestPanorama(point, showPanoData);

                    }

                    GEvent.addListener(marker, "click", function(overlay,latlng){
                        map.openInfoWindowHtml(point, "<div style=\"line-height: 1.2em; font-size: .9em\">" + info + "</div>");
                    });

                    marker.openInfoWindowHtml("<div style=\"line-height: 1.2em; font-size: .9em\">" + info + "</div>");

                }
            }
        }
    }
}

function markAddress(address, curMap, info, eid){
    var map = new GMap2(curMap);
    var geocoder = new GClientGeocoder( );

    geocoder.getLatLng(address,
        function(point){
            if(!point){
                alert("Google was unable to find " + address + " at this time, please make sure the address provided, is correct.");
            }
            else{
                map.setCenter(point, 13);
                map.addControl(new GSmallMapControl());
                map.addControl(new GMapTypeControl());

                var marker = new GMarker(point);
                map.addOverlay(marker);

                var sv_container = document.getElementById("google_pano");
                if(sv_container){
                    panoClient = new GStreetviewClient();

                    GEvent.addListener(map, "click", function(overlay,latlng) {
                        panoClient.getNearestPanorama(latlng, showPanoData);
                    });

                    myPano = new GStreetviewPanorama(sv_container);
                    svOverlay = new GStreetviewOverlay( );
                    map.addOverlay(svOverlay);
                    myPano.setLocationAndPOV(point);
                    GEvent.addListener(myPano, "error", handleNoFlash);
                    panoClient.getNearestPanorama(point, showPanoData);

                }

                GEvent.addListener(marker, "click", function(overlay,latlng){
                    map.openInfoWindowHtml(point, "<div style=\"line-height: 1.2em; font-size: .9em\">" + info + "</div>");
                });

                marker.openInfoWindowHtml("<div style=\"line-height: 1.2em; font-size: .9em\">" + info + "</div>");

                var lat_long = new String(point);
                var lat_long = lat_long.replace(/\)|\(/g, '');
                var lat_longA = lat_long.split(/,/);

                var lat = lat_longA[0].replace(/^\s*|\s*$/, '');
                var lon = lat_longA[1].replace(/^\s*|\s*$/, '');;

                if(eid > 0){
                    b_xml.request('/ajax.php/type/set_coords/eid/' + eid + '/lat/' + lat + '/lon/' + lon);
                }
            }
        }
    );

}

function handleNoFlash(errorCode){
    if(errorCode == 603){
        //alert("Error: Flash doesn't appear to be supported by your browser");
        return;
    }
}

function showPanoData(panoData) {
    if (panoData.code != 200) {
        //GLog.write('showPanoData: Server rejected with code: ' + panoData.code);
        return;
    }

    var sv_container = document.getElementById("google_pano");
    sv_container.style.display = 'block';

    myPano.setLocationAndPOV(panoData.location.latlng);
}

/* END GOOGLE MAPS */

function refreshSImg(sImg){
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomStr = '';
	for (var i = 0; i < string_length; i++) {
		var rnum = Math.floor(Math.random( ) * chars.length);
		randomStr += chars.substring(rnum, rnum+1);
	}

	var sImgSrc = sImg.src;
	if(sImgSrc.match('&')){
	    sImgSrcA = sImgSrc.split('&');
	    sImgSrc = sImgSrcA[0];
	}

    sImg.src = sImgSrc + '&' + randomStr;
}

/*function toggleDiv(div_id){
    var div_obj = document.getElementById(div_id);
    if(!div_obj){ return; }

    var div_dstyle = div_obj.style.display;
    if(div_dstyle == 'none'){
        div_obj.style.display = 'block';

    }
    else{
        div_obj.style.display = 'none';

    }
}*/

function toggleDiv(div_id){
    var div_obj = document.getElementById(div_id);
    if(!div_obj){ return; }

    div_obj.slide_modifier = -1;
    if(div_obj.style.display != 'block'){
        div_obj.style.display = 'block';
        div_obj.style.opacity = 0;

        if(!div_obj.client_h){
            div_obj.client_h = div_obj.clientHeight;
        }
        if(!div_obj.scroll_h){
            div_obj.scroll_h = div_obj.scrollHeight;
        }

        div_obj.style.height = '0px';
        div_obj.slide_modifier = 1;
    }

    if(!div_obj.initiated){
        setTimeout("blockExpandThink('" + div_id + "')", 50);
    }
}

function blockExpandThink(div_id){
    var slide_inc = 20;
    var alpha_inc = .08;

    var div_obj = document.getElementById(div_id);
    div_obj.initiated = true;
    //alert(div_obj.slide_modifier);
    if(div_obj.slide_modifier != 0){

        var next_height;
        var cur_height = parseInt(div_obj.style.height);
        var scaleDone = false;

        if(div_obj.style.height == '' || cur_height == ''){
            if(div_obj.slide_modifier < 0 && div_obj.scrollHeight){
                cur_height = parseInt(div_obj.scrollHeight);
                div_obj.client_h = div_obj.clientHeight;
                div_obj.scroll_h = div_obj.scrollHeight;
            }
            else{
                cur_height = 0;
            }
        }

        var next_alpha;
        var cur_alpha = parseFloat(div_obj.style.opacity);
        var alphaDone = false;

        if(!cur_alpha){
            cur_alpha = .4;
        }

        var next_height = cur_height + div_obj.slide_modifier * slide_inc;
        //alert('cur_height: ' + cur_height);
        //alert('div_obj.slide_modifier: ' + div_obj.slide_modifier);
        //alert('slide_inc: ' + slide_inc);

        if(div_obj.slide_modifier > 0){
            if(div_obj.client_h && div_obj.scroll_h){
                if(next_height >= div_obj.scroll_h){
                    //fallback to something that should be supported
                    if(!window.opera){
                        div_obj.style.height = div_obj.scroll_h + "px";
                    }
                    else{
                        next_height = div_obj.scroll_h + 40;
                        div_obj.style.height = next_height + "px";
                    }
                    scaleDone = true;
                }
                else{
                    div_obj.style.height = next_height + "px";
                }
            }
            else if(next_height >= 250){
                div_obj.style.height = '250px';
                scaleDone = true;
            }
            else{
                div_obj.style.height = next_height + "px";
            }
        }
        else{
            if(next_height <= 0){
                div_obj.style.height = "1px";

                div_obj.style.opacity = 1;
                div_obj.style.display = 'none';

                if(window.ActiveXObject){
                    div_obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
                }
                scaleDone = true;
            }
            else{
                div_obj.style.height = next_height + "px";
            }
        }

        next_alpha = cur_alpha + div_obj.slide_modifier * alpha_inc;

        if(div_obj.slide_modifier > 0){
            if(next_alpha >= 1){
                div_obj.style.opacity = 1;
                if(document.all){
                    div_obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + parseInt(1 * 100) + ")";
                }

                alphaDone = true;
            }
            else{
                div_obj.style.opacity = next_alpha;
                if(document.all){
                    div_obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + parseInt(next_alpha * 100) + ")";
                }
            }
        }
        else{
            if(next_alpha <= .4){
                div_obj.style.opacity = .4;
                if(document.all){
                    div_obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
                }

                alphaDone = true;
            }
            else{
                div_obj.style.opacity = next_alpha;
                if(document.all){
                    div_obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + parseInt(next_alpha * 100) + ")";
                }
            }
        }

        if(scaleDone && alphaDone){
            div_obj.slide_modifier = 0;
        }
    }

    setTimeout("blockExpandThink('" + div_id + "')", 50);
}

function openLoginForm(hst){
    var referer = escape(window.location.href);

    var prot = 'http';
    if(window.location.href.match(/^https/)){
        prot = 'https';
    }
    var loginPopup = window.open("/members/login.php?prot=" + prot + "&referer=" + referer, "LoginForm", "width=325,height=325, scrollbars=1, status=yes, toolbar=no, resizable=yes");

    loginPopup.focus( );

    if(window.location.hostname != hst){
        var loc = window.location.href.replace(/^(https?\:\/\/[\w\d\-\.]+\/)/, '/');
        loc = 'https://' + hst + loc;
    }

    return true;
}

function submitComment(fieldID){
    var bgzFrame = document.getElementById('bgz');
    var hidField = document.getElementById(fieldID);
    var frameSrc = getDocHTML( );
    hidField.value = frameSrc;
}