/* #################################################################
    Copyright 2005 BBB Systems, LLC, All rights reserved
################################################################## */
/*
var plusImg = new Image( );
plusImg.src = "/images/plus.gif";
var minusImg = new Image( );
minusImg.src = "/images/minus.gif";
*/
function init( ){
    initInputButtons( );
    initA( );
    initBlocks( );
    initBottomContent( );
    initObjects( );
}

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;
            }
        }
        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;
            }
        }
        var uls = document.getElementsByTagName("UL");
        for(var i = 0; i < uls.length; i++){
            if(uls[i].id.match(/tdiv_\d/)){
                var tmp = uls[i].id.replace(/tdiv_/, "");
                tmp = tmp * 100;
                uls[i].style.left = tmp + "px";
            }
        }
    }
}

function initBlocks( ){
    if(document.getElementsByTagName){
        SetCookie('domSupport','1');
        var imgs = document.getElementsByTagName("img");
        var bcnt = 0;
        for(var i = 0; i < imgs.length; i++){
            var img = imgs[i];
            if(img.src.match(/\/images\/minus\.gif/) || img.src.match(/\/images\/plus.gif/) || img.src.match(/\/images\/blank.gif/)){
                //get the parent
                var iparent = img.parentNode;
                while(iparent){
                    if(iparent.tagName == 'div' || iparent.tagName == 'DIV'){
                        break;
                    }
                    iparent = iparent.parentNode;
                }
                if(!iparent){ continue };
                var iblock = iparent.nextSibling;
                while(iblock){
                    if(iblock.tagName == 'div' || iblock.tagName == 'DIV'){
                        break;
                    }
                    iblock = iblock.nextSibling;
                }
                if(!iblock){ continue; }
                if(iblock.className != 'blockA'){ continue; }

                var atags = iblock.getElementsByTagName('a');
                var doBlock = false;
                for(var j = 0; j < atags.length; j++){
                    var a = atags[j];
                    if(window.location == a.href){
                        doBlock = true;
                    }
                }
                //if(bcnt == 0 || doBlock){
                //    iblock.style.display = "block";
                //    bcnt++;
                //}
                //else{
                //    iblock.style.display = "none";
                //}

                if(iblock.style.display == "none"){
                    img.src = plusImg.src;
                }
                else{
                    img.src = minusImg.src;
                }

                iparent.onclick = function( ){
                    var iblock = this.nextSibling;
                    while(iblock.tagName != 'div' && iblock.tagName != 'DIV'){
                        iblock = iblock.nextSibling;
                    }

                    var img = this.getElementsByTagName('img')[0];
                    //alert(imgStr);
                    if(img){
                        var imgStr = img.src.toString( );
                        if(iblock.style.display == "none" || iblock.style.display == "NONE"){
                            iblock.style.display = 'block';
                            img.src = img.src = minusImg.src;
                        }
                        else{
                            iblock.style.display = 'none';
                            img.src = img.src = plusImg.src;
                        }
                    }
                }

                iparent.onmouseover = function( ){
                    this.style.textDecoration = 'underline';
                }

                iparent.onmouseout = function( ){
                    this.style.textDecoration = 'none';
                }

                if(document.all){
                    //the ie way
                    iparent.style.cursor = 'hand';
                }
                else{
                    //every other way
                    iparent.style.cursor = 'pointer';
                }
            }
        }
    }
    else{

    }
}

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\:\/\//, "");
            hostnm = hostnm.replace(/\/.*/, "");

            if(hostnm != window.location.hostname){
                as[i].target = "_blank";
            }
        }
    }
}

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' && !document.all){
                        //     isWindows = false;
                        //}else if(o_type == 'wmv' || navigator.userAgent.match(/windows/i)){
                        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';
                //alert(objStr + paramStr + embedStr + '</object>');
                obj.innerHTML = objStr + paramStr + embedStr + '</object>\n';
                //alert(obj.innerHTML);
                obj.style.display = 'block';
            }//end if bgzobject
        }
    }
}

function initBottomContent( ){
    if(!document.getElementById('pageContainer')){
        return;
    }
    var pcontain = document.getElementById('pageContainer');
    if(document.getElementById('siteMap')){
        var siteMap = document.getElementById('siteMap');
        siteMap.style.top = parseInt(pcontain.clientHeight + 24) + "px";
        if(document.getElementById('siteMapButton')){
            var siteMapButton = document.getElementById('siteMapButton');
            siteMapButton.onclick = function( ){toggleBottomContent('siteMap');};
        }
    }
    if(document.getElementById('pageInformation')){
        var pageInformation = document.getElementById('pageInformation');
        pageInformation.style.top = parseInt(pcontain.clientHeight + 24) + "px";

        if(document.getElementById('pageInformationButton')){
            var pageInformationButton = document.getElementById('pageInformationButton');
            pageInformationButton.onclick = function( ){toggleBottomContent('pageInformation');};
        }
    }
}

function toggleBottomContent(contentId){
    if(!document.getElementById(contentId)){
        return;
    }

    contentObj = document.getElementById(contentId);

    if(document.getElementById('siteMap')){
        var siteMap = document.getElementById('siteMap');
        if(contentId != 'siteMap' && siteMap.style.display == 'block'){
            siteMap.style.display = 'none';
        }
    }
    if(document.getElementById('pageInformation')){
        var pageInformation = document.getElementById('pageInformation');
        if(contentId != 'pageInformation' && pageInformation.style.display == 'block'){
            pageInformation.style.display = 'none';
        }
    }

    if(contentObj.style.display != 'block'){
        contentObj.style.display = 'block';
    }
    else{
        contentObj.style.display = 'none';
    }
}


function inputOver(e){
    this.className = "buttonOver";
}

function inputOut(e){
    this.className = "button";
}

function imageSelectPopUp(pwinvar){
    imgSelectPopUp = window.open("./imageselect.php?mode=1&fieldID=" + pwinvar, "ImageSelector", "width=780,height=480, scrollbars=0, status=no,toolbar=no,resizable=no");
    imgSelectPopUp.focus( );
}

function openUploader( ){
    var imgSelectPopUp = window.open("./imageselect.php", "ImageSelector", "width=780,height=480, scrollbars=0, status=no,toolbar=no,resizable=no");
    imgSelectPopUp.focus( );

    return false;
}

function openFUploader( ){
    var imgSelectPopUp = window.open("./fileselect.php", "FileSelector", "width=780,height=480, scrollbars=0, status=no,toolbar=no,resizable=no");
    imgSelectPopUp.focus( );

    if(document.all){
        window.event.cancelBubble = true;
    }
    else{
        e.stopPropagation( );
        e.preventDefault( );
    }
    return false;
}

//drop down menus ##################################################
var CurMenu = null; var isDropped = false; var isHideCheck = false;
var subCurMenu = null; var subIsDropped = false; var subIsHideCheck = false;
function pageON(index){ if(document.getElementById){ show("tdiv_" + index, index); } }
function pageOFF(index){ if(document.getElementById){ if(!isHideCheck) hideMenu( ); } }
function show(menuID, ind){ if(CurMenu){ CurMenu.style.visibility = "hidden"; } var menu = document.getElementById(menuID); menu.style.visibility = "visible"; isDropped = true; CurMenu = menu; }
function hideMenu( ){ if(CurMenu){ isDropped = false; isHideCheck = true; setTimeout('checkDropped( );', 500); isHideCheck = false; } }
function checkDropped( ){ if(!isDropped) CurMenu.style.visibility = "hidden"; }
//############################################################

function printView(plink) {
    var plink2 = "/print/p/" + plink;
    window.open(plink2, "ShoppingList", "width=620,height=400,status=yes,toolbar=no,resizable=yes,raised=yes,scrollbars=yes");
}

function printPage(buttonID) {
    var printButton = document.getElementById(buttonID);
    printButton.style.visibility = "hidden";
    window.print();
    window.close();
}


function floor(number)
{
  return Math.floor(number*Math.pow(10,2))/Math.pow(10,2);
}
function dosum()
{
  var temps = document.getElementById("temps");
  var mi = temps.IR.value / 1200;
  var base = 1;
  var mbase = 1 + mi;
  for (i = 0; i < temps.YR.value * 12; i++)
  {
    base = base * mbase
  }

  temps.PI.value = floor(temps.LA.value * mi / ( 1 - (1/base)))
  temps.MT.value = floor(temps.AT.value / 12)
  temps.MI.value = floor(temps.AI.value / 12)

  var dasum = temps.LA.value * mi / ( 1 - (1/base)) +
	temps.AT.value / 12 +
	temps.AI.value / 12;
    temps.MP.value = floor(dasum);
}


function SetCookie(cookieName,cookieValue){
    var dateNow = new Date( );
    var expire = new Date();
    expire.setTime(dateNow.getTime() + 3600000);
    document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.toGMTString() + ";path=/";
}


