/* #################################################################
    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";
*/

var bScrollAmount = 20;

var navHistory = new Array( );
var curNavPoint = -1;

var globals = new Array( );

var ajaxEnabled = false;
var bgzDDEnabled = false;

function init( ){
    if(!document.getElementsByTagName){
        return;//if it doesn't support this, it doesn't support a whole lot.
    }

    //window.onbeforeunload = appUnload;

    if(ajaxEnabled){
        ajaxCheck( );
    }

    initTopMenuLinks( );//there is no top menu!
    initInputButtons( );
    initA( );
    initBlocks( );
    initBottomContent( );
    initObjects( );

    initImgRotator( );

    //appThink( );
}

function appUnload( ){

    /*
    if(confirm("The application is about to be unloaded.  If you click ok, you will leave or reset the site, if that is your intention, click ok.  Otherwise click cancel and use the navigation utilities provided.")){
        return true;
    }
    else{
        return false;
    }
    */
    return false;
}

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;
            }
        }
    }
}


function initBlocks( ){
    if(document.getElementsByTagName){
        var imgs = document.getElementsByTagName("img");
        var bcnt = 0;
        for(var i = 0; i < imgs.length; i++){
            var img = imgs[i];
            if(img.src.match(/\/minus\.gif/) || img.src.match(/\/plus.gif/) || img.src.match(/\/blank.gif/)){
                //get the parent
                var iparent = img.parentNode;
                while(iparent){
                    if(iparent.className == 'blockH'){
                        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 != 'block1'){ 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(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++){

            if(as[i].id == 'navBack' || as[i].id == 'navForward' || as[i].id == 'navRefresh'){

                switch(as[i].id){
                case 'navBack':
                    as[i].onclick = function( ){
                        if(!b_xml.isSupported){
                            history.go(-1);
                            return false;
                        }
                        if(curNavPoint == 0){
                            return false;
                        }
                        else{
                            curNavPoint -= 1;
                            b_xml.request(navHistory[curNavPoint]);
                            return false;
                        }
                    }
                    break;
                case 'navForward':
                    as[i].onclick = function( ){
                        if(!b_xml.isSupported){
                            history.go(1);
                            return false;
                        }
                        if(curNavPoint == navHistory.length - 1){
                            return false;
                        }
                        else{
                            curNavPoint += 1;
                            b_xml.request(navHistory[curNavPoint]);
                            return false;
                        }
                    }
                    break;
                case 'navRefresh':
                    as[i].onclick = function( ){
                        if(!b_xml.isSupported){
                            history.go( );
                            return false;
                        }
                        else{
                            b_xml.request(navHistory[curNavPoint]);
                            return false;
                        }
                    }
                    break;
                default:
                    break;
                }
                continue;
            }

            var hostnm = as[i].href.replace(/http(s)?\:\/\//, "");
            hostnm = hostnm.replace(/\/.*/, "");

            if(hostnm != window.location.hostname || as[i].href.match(/\/ad\.\php\?/)){
                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;
                    }
                }
            }
        }
    }
}

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) + "px";
        if(document.getElementById('sitemapButton')){
            var sitemapButton = document.getElementById('sitemapButton');
            sitemapButton.onclick = function( ){toggleBottomContent('sitemap');};
        }
        sitemap.style.display = 'none';
    }
    if(document.getElementById('pageInformation')){
        var pageInformation = document.getElementById('pageInformation');
        pageInformation.style.top = parseInt(pcontain.clientHeight) + "px";

        if(document.getElementById('pageInformationButton')){
            var pageInformationButton = document.getElementById('pageInformationButton');
            pageInformationButton.onclick = function( ){toggleBottomContent('pageInformation');};
        }
        pageInformation.style.display = 'none';
    }
}

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 captionBoxRun( ){
    var gDisplayImageCaption = document.getElementById('gDisplayImageCaption');
    var alpha = parseInt(gDisplayImageCaption.style.opacity * 100)

    if(alpha > 0 && globals['dImageDir'] < 0){
        var newAlpha = alpha - 5;
        gDisplayImageCaption.style.opacity = (newAlpha)/100;

        if(document.all){
            gDisplayImageCaption.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + newAlpha + ")";
        }
        setTimeout('captionBoxRun( )', 50);
    }
    else if(alpha < 65 && globals['dImageDir'] > 0){
        var newAlpha = alpha + 5;
        gDisplayImageCaption.style.opacity = (newAlpha)/100;

         gDisplayImageCaption.style.display = 'block';

        if(document.all){
            gDisplayImageCaption.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + newAlpha + ")";
        }
        setTimeout('captionBoxRun( )', 50);
    }
    else if(alpha <= 0){
        gDisplayImageCaption.style.display = 'none';
    }
}

function initImgRotator( ){
    var jsIR = document.getElementById('jsImgRotate');
    if(!jsIR || !imgRotatorA){
        return;
    }

    jsIR.innerHTML = "";
    jsIR.curImg = -1;
    jsIR.lastImg = null;

    for(var i = 0; i < imgRotatorA.length; i++){
        var iObj = imgRotatorA[i];
        var gid = iObj.gid;
        var imgName = iObj.imgName;

        var img = document.createElement('img');

        img.srcStr = imgName;
        img.src = "/uimages/" + imgName

        img.gid = gid;

        jsIR.appendChild(img);

        if(img.complete == null){
            //safari needs to fix these little issues.
            img.complete = true;
            img.style.width = "211px";
            img.style.height = "200px";
        }

        img.style.opacity = 0;
        if(document.all){
            img.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
        }

        img.onclick = function( ){
            var gHREF = "/content?gid=" + this.gid + "&img=" + this.srcStr;

            if(ajaxEnabled){
                gHREF += "&xmlOnly=1";
                b_xml.request(gHREF);
            }
            else{
                window.location = gHREF;
            }
        }
    }


    imgRotatorThink( );
}

function imgRotatorThink( ){
    var jsIR = document.getElementById('jsImgRotate');
    if(!jsIR || !imgRotatorA){
        return;
    }

    if(jsIR.curImg >= 0){
        jsIR.lastImg = jsIR.curImg;
    }
    jsIR.curImg ++;
    if(jsIR.curImg >= imgRotatorA.length){
        jsIR.curImg = 0;
    }

    var jsImages = jsIR.getElementsByTagName('img');
    var curImgObj = jsImages[jsIR.curImg];

    if(curImgObj.complete){

        /*
        if(confirm('die now?')){
            alert(jsIR.curImg);
            alert(jsIR.lastImg);
            alert(jsIR.innerHTML);
            return;
        }
        */
        curImgObj.style.opacity = 0;
        if(document.all){
            curImgObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
        }
        curImgObj.style.visibility = 'visible';
        imgRotatorChange( );
    }
    else{
       imgRotatorWait( );
    }
}

function imgRotatorChange( ){
    var jsIR = document.getElementById('jsImgRotate');
    var jsImages = jsIR.getElementsByTagName('img');
    var curImgObj = jsImages[jsIR.curImg];
    var lastImgObj = null;
    if(jsIR.lastImg){
        lastImgObj = jsImages[jsIR.lastImg];
    }

    var alphaInc = 5;
    var speed = 80;

    var curAlpha = parseInt(curImgObj.style.opacity * 100);
    var newAlpha = curAlpha + alphaInc;

    if(newAlpha >= 100){
        newAlpha = 100;
    }

    curImgObj.style.opacity = newAlpha / 100;

    if(document.all){
        curImgObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + newAlpha + ")";
    }


    if(lastImgObj){
        var lastAlpha = parseInt(lastImgObj.style.opacity * 100);
        var newLastAlpha = lastAlpha - alphaInc;

        if(lastAlpha <= 0){
            newLastAlpha = 0;
            lastImgObj.style.visibility = "hidden";
        }
        lastImgObj.style.opacity = newLastAlpha / 100;
        if(document.all){
            lastImgObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + newLastAlpha + ")";
        }
    }

    if(newAlpha >= 100){
        if(lastImgObj){
            lastImgObj.style.visibility = "hidden";
        }
        setTimeout('imgRotatorThink( )', 3000);
    }
    else{
        setTimeout('imgRotatorChange( )', speed);
    }
}
function imgRotatorWait( ){
    var jsIR = document.getElementById('jsImgRotate');
    var jsImages = jsIR.getElementsByTagName('img');
    var curImgObj = jsImages[jsIR.curImg];
    var lastImgObj = jsImages[jsIR.lastImg];

    if(curImgObj.complete){
        curImgObj.style.opacity = 0;
        if(document.all){
            curImgObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
        }
        curImgObj.style.visibility = 'visible';

        imgRotatorChange( );
    }
    else{
       setTimeout('imgRotatorWait( );', 50);
    }
}


function appThink( ){
    if(document.getElementById('bottomBaseContainer')){
        var bbc = document.getElementById('bottomBase');

        var bLeftArrow = document.getElementById('bLeftArrow');
        var bRightArrow = document.getElementById('bRightArrow');

        //alert(bbc.offsetWidth);
        //alert(bbc.clientWidth);
        //alert(bbc.scrollWidth);

        if(bbc.clientWidth < bbc.scrollWidth && bLeftArrow.style.display != "block"){
            bLeftArrow.style.display = "block";
            bRightArrow.style.display = "block";
        }
        else if(bbc.clientWidth == bbc.scrollWidth){
            bLeftArrow.style.display = "none";
            bRightArrow.style.display = "none";
        }
        else if(bbc.style.left != "0px"){
            bbc.style.left = "0px";
        }

    }


    //make the program think every 10th of a second
    setTimeout('appThink( )', 100);
}

//bottomBase scroll (-n goes left, +n goes right)
//(to the user it's the other way around -1 pushes <---, 1 pushes ---->)
function bottomBaseScroll(direction){

    var bbc = document.getElementById('bottomBase');
    var clientW = bbc.clientWidth;
    var scrollW = bbc.scrollWidth;
    var currentPos = bbc.scrollLeft;


    if(isNaN(currentPos)){
        currentPos = 0;
    }

    var newPos = currentPos;

    if(direction > 0){
        if(currentPos + direction > (scrollW - clientW)){
            newPos = scrollW - clientW;
        }
        else{
            newPos += direction;
        }
    }
    else if(direction < 0){
        if(scrollW + direction < 0){
            newPos = 0
        }
        else{
            newPos += direction;
        }
    }

    bbc.scrollLeft = newPos;
}

function captureScroll(e){
    //alert(e.detail);
    var direction = e.detail;
    if(direction < 0){
        bottomBaseScroll(-1 * bScrollAmount * 2);
    }
    else{
        bottomBaseScroll(bScrollAmount * 2);
    }

    e.stopPropagation( );
    e.preventDefault( );
}

function bScrollLeft( ){
    var bLeftArrow = document.getElementById('bLeftArrow');

    if(bLeftArrow.isScrolling){
        bottomBaseScroll(-1 * bScrollAmount);
        setTimeout('bScrollLeft( );', 50);
    }
}
function bScrollRight( ){
    var bRightArrow = document.getElementById('bRightArrow');

    if(bRightArrow.isScrolling){
        bottomBaseScroll(bScrollAmount);
        setTimeout('bScrollRight( );', 50);
    }

}

//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=1, status=no,toolbar=no,resizable=yes");
    gPopUp.focus( );
}

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 fileSelectPopUp(pwinvar){
    imgSelectPopUp = window.open("./fileselect.php?mode=1&fieldID=" + pwinvar, "FileSelector", "width=780,height=480, scrollbars=0, status=no,toolbar=no,resizable=no");
    imgSelectPopUp.focus( );
}


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 initTopMenuLinks( ){
    var tmenu = document.getElementById('tmenu');
    var liA = tmenu.getElementsByTagName('li')
    var len = liA.length;

    for(var i = 0; i < len; i++){
        var li = liA[i];
        if(bgzDDEnabled){
            li.bgzdd = new bgzDropDown( );
            var ul = li.getElementsByTagName('ul')[0];
            if(ul){
                li.bgzdd.init(li, ul, 'down');
            }
        }
        else{
            li.onmouseover = pageON;
            li.onmouseout = pageOFF;
        }
    }
}
function initLeftMenuLinks( ){
    var dleftmenu = document.getElementById('dleftmenu');
    var liA = dleftmenu.getElementsByTagName('li')
    var len = liA.length;

    for(var i = 0; i < len; i++){
        var li = liA[i];
        if(bgzDDEnabled){
            li.bgzdd = new bgzDropDown( );
            var ul = li.getElementsByTagName('ul')[0];
            if(ul){
                li.bgzdd.init(li, ul, 'right');
            }
        }
        else{
            li.onmouseover = pageON;
            li.onmouseout = pageOFF;
        }
    }
}
function pageON(index){
    var uls = this.getElementsByTagName('ul');
    if(uls.length > 0){
        show(uls[0]);
    }

}
function pageOFF(index){
    if(document.getElementById){
        if(!isHideCheck) hideMenu( );
    }
}
function show(menu){
    if(CurMenu)
        CurMenu.style.display = "none";
    menu.style.display = "block";
    isDropped = true;
    CurMenu = menu;
}
function hideMenu( ){
    if(CurMenu){
        isDropped = false;
        isHideCheck = true;
        setTimeout('checkDropped( );', 500);
        isHideCheck = false;
    }
}
function checkDropped( ){
    if(!isDropped) CurMenu.style.display = "none";
}
//############################################################

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();
}

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;
}

//category function
function lCategoryPopup(pwinvar){
    lCatPopUp = window.open("/include/category.php?lckey=" + pwinvar, "CategorySelect", "width=780,height=480, scrollbars=yes, status=yes,toolbar=no,resizable=yes");
    lCatPopUp.focus( );
}
function lCategoryPopupA(pwinvar){
    lCatPopUp = window.open("/include/category2.php?lckey=" + pwinvar, "CategorySelect", "width=780,height=480, scrollbars=yes, status=yes,toolbar=no,resizable=yes");
    lCatPopUp.focus( );
}
function lClassifiedPopup(pwinvar){
    lCatPopUp = window.open("/include/classified.php?lckey=" + pwinvar, "ClassifiedSelect", "width=780,height=480, scrollbars=yes, status=yes,toolbar=no,resizable=yes");
    lCatPopUp.focus( );
}
function wsbPopup(loc){
    lCatPopUp = window.open(loc, "wsb", "width=782,height=480, menubar=yes, location=yes, scrollbars=yes, status=yes,toolbar=yes,resizable=yes");
    lCatPopUp.focus( );
}

function whatisPopup(loc){
    whatisPopUp = window.open(loc, "whatis", "width=300,height=300, menubar=no, location=no, scrollbars=yes, status=no,toolbar=no,resizable=yes");
    whatisPopUp.focus( );
}

function disableBoxes(form, check){
    for(var i = 0; i < form.elements.length; i++){
        if(form.elements[i].type == 'checkbox' && form.elements[i].id != 'acheck'){
            form.elements[i].disabled = check;
            form.elements[i].checked = check;
        }
    }
}

function optionInfoPopUp(povar){
    poInfoPopUp = window.open("/view_poption.php?poid=" + povar, "ProductOptionInfo", "width=500,height=480, scrollbars=yes, status=yes,toolbar=no,resizable=yes");
    poInfoPopUp.focus( );

    var winX = screen.width/2 - 500/2;
    var winY = screen.height/2 - 480/2;

    poInfoPopUp.moveTo(winX, winY)
}

function priceChk(rID, rClass, poiID, poiClass, poiPrice, newImg){
    var poiID = document.getElementById(poiID);
    var poiSpan = poiID.getElementsByTagName("span");
    var mainPrice = poiPrice;

    //update subtotal
    var radioID = document.getElementById(rID);
    var oldTotal = document.getElementById("total_price").innerHTML;
    var diff = poiSpan[0].innerHTML.replace(/\$/, "");

    var newTotal = parseFloat(oldTotal) + parseFloat(diff);
    var newTotal = newTotal.toFixed(2);
    document.getElementById("total_price").innerHTML = newTotal;

    inputs = document.getElementsByTagName("input");
    for(var z = 0; z < inputs.length; z++){
        var tmpin = inputs[z];
        if(tmpin.className == rClass){
            if(tmpin.id != radioID.id){
                //enable radio where it needs to be
                tmpin.disabled = false;
            }
            else{
                //disable radio so they can't keep clicking on it
                radioID.disabled = true;
            }
        }
    }
    spans = document.getElementsByTagName("span");
    for(var j = 0; j < spans.length; j++){
        var pois = spans[j];
        if(pois.className == poiClass){
            if(pois.id != poiID.id){
                //make sure everything is visibile where it needs to be
                pois.style.visibility = "visible";
                poiprices = pois.getElementsByTagName("span");

                for(var k = 0; k < poiprices.length; k++){
                    var prices = poiprices[k];
                    var pricesC = prices.className;

                    var otherPrice = pricesC.replace(/poi\_/, "");
                    var otherPrice = otherPrice.replace(/\_/, ".");

                    var totalp = otherPrice - mainPrice;
                    var total = totalp.toFixed(2);

                    if(total.match(/\-/)){
                        prices.innerHTML = total.replace(/\-/, "-$");
                    }
                    else{
                        //update prices
                        prices.innerHTML = "+$" + total;
                    }
                }
            }
            else{
                //hide the price
                poiID.style.visibility = "hidden";
            }
        }
    }

    if(newImg){
        var rcl1 = rClass.replace(/po/, "");
        var tmpid = rcl1.replace(/_radio/, "");
        var imgid = "img_" + tmpid;
        var img = document.getElementById(imgid);
        img.src = newImg;
    }
}

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));
}

//******************
// FLash Functions *
//******************

//Requires javascript dom support, gracefully fails otherwise
//Loads flash movie in the specified location

//not done yet.
function loadFlashDocument(movieLocation){

}