treating dom objects as objects in jquery with boolian properties

treating dom objects as objects in jquery with boolian properties

my new website uses jquery! but its buggy and i need help!
[url]http://patrickallard.net63.net/[/url]
ive gotten to the point in this code where i realize i should have the divs that are opening and closing treated as objects (well, they are dom objects, but i need to have my own boolian properties for them)
here is my script so far, the windown[] array doesnt exist, i was just trying to do it with arrays
can anyone glance at my code and give me a tip please?
[CODE]<script>

    // store dimentions of windows into variables
    var sampleItemHeight=document.getElementById("experienceshadow").clientHeight;
    var experienceHeight=document.getElementById("experience").clientHeight;
    var educationHeight=document.getElementById("education").clientHeight;
    var softwareHeight=document.getElementById("software").clientHeight;
    var codesamplesHeight=document.getElementById("codesamples").clientHeight;
    var referencesHeight=document.getElementById("references").clientHeight;
    var linksHeight=document.getElementById("links").clientHeight;
   
    // when page initializes, all windows are open, before the initilization fucntion which closes them all
    //thus we have to set all to open so initilization function sets them to false when closing them
    var experienceOpen = true;
    var educationOpen = true;
    var softwareOpen = true;
    var codesamplesOpen = true;
    var referencesOpen = true;
    var linksOpen = true;
   
    // variable to refer to windows
    var experience = $('div#experience');
    var education = $('div#education');
    var software = $('div#software');
    var codesamples = $('div#codesamples');
    var references = $('div#references');
    var links = $('div#links');

(function() {
    // function to open or close a window
    $.fn.OpenToggle = function(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn)
    {
        //if its open close it
        if(window[binaryBool])
        {
            window[binaryBool]=false;
           
            var itemLeft=col*parseInt(itemWidth)
            var itemTop=row*parseInt(itemHeight)
           
            $(this).CloseHopin(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn);

        }
        // if its closed open it
        else
        {
            // close other windows if they are open, then open the clicked window
            // error here
            if(experienceOpen)
            {
                experience.CloseHopin("experienceOpen",0,0,300,sampleItemHeight,2,experienceHeight,500);
                $(this).OpenHopin(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn);
            }
            if(educationOpen)
            {
                education.CloseHopin("educationOpen",0,1,300,sampleItemHeight,2,educationHeight,500);
                $(this).OpenHopin(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn);
            }
            if(softwareOpen)
            {
                software.CloseHopin("softwareOpen",0,2,300,sampleItemHeight,2,softwareHeight,500);
                $(this).OpenHopin(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn);
            }
            if(codesamplesOpen)
            {
                codesamples.CloseHopin("codesamplesOpen",1,0,300,sampleItemHeight,2,codesamplesHeight,500);
                $(this).OpenHopin(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn);
            }
            if(referencesOpen)
            {
                references.CloseHopin("referencesOpen",1,1,300,sampleItemHeight,2,referencesHeight,500);
                $(this).OpenHopin(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn);
            }
            if(linksOpen)
            {
                links.CloseHopin("linksOpen",1,2,300,sampleItemHeight,2,linksHeight,500);
                $(this).OpenHopin(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn);
            }
        }
    };

    // close a window
    $.fn.CloseHopin = function(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn)
    {
        return $(this).animate({
            'height': itemHeight+'px',
        }, speed || 400, function() {
            $.isFunction(fn) && fn.call(this);
        }).animate({
            'left': itemLeft+'px',
            'width': itemWidth+'px',
        }, speed || 400, function() {
            $.isFunction(fn) && fn.call(this);
        }).animate({
            'top': itemTop+'px',
        }, speed || 400, function() {
            $.isFunction(fn) && fn.call(this);
        });
    }

   
    // open a window
    $.fn.OpenHopin = function(binaryBool,row,col,itemWidth,itemHeight,numRows,openHeight,speed,fn)
    {
        return $(this).animate({
            'top': (sampleItemHeight*numRows)+'px',
        }, speed || 400, function() {
            $.isFunction(fn) && fn.call(this);
        }).animate({
            'left': '0px',
            'width': '900px',
        }, speed || 400, function() {
            $.isFunction(fn) && fn.call(this);
        }).animate({
            'height': openHeight+'px',
        }, speed || 400, function() {
            $.isFunction(fn) && fn.call(this);
        });
    }
   

    // add functions to the windows
    experience.on('click', function() {
        experience.OpenToggle("experienceOpen",0,0,300,sampleItemHeight,2,experienceHeight,500);
    });   
    education.on('click', function() {
        education.OpenToggle("educationOpen",0,1,300,sampleItemHeight,2,educationHeight,500);
    });   
    software.on('click', function() {
        software.OpenToggle("softwareOpen",0,2,300,sampleItemHeight,2,softwareHeight,500);
    });   
    codesamples.on('click', function() {
        codesamples.OpenToggle("codesamplesOpen",1,0,300,sampleItemHeight,2,codesamplesHeight,500);
    });   
    references.on('click', function() {
        references.OpenToggle("referencesOpen",1,1,300,sampleItemHeight,2,referencesHeight,500);
    });   
    links.on('click', function() {
        links.OpenToggle("linksOpen",1,2,300,sampleItemHeight,2,linksHeight,500);
    });   
})();

// when page initializes, close all windows
(function() {
        experience.OpenToggle("experienceOpen",0,0,300,sampleItemHeight,2,experienceHeight,500);
        education.OpenToggle("educationOpen",0,1,300,sampleItemHeight,2,educationHeight,500);
        software.OpenToggle("softwareOpen",0,2,300,sampleItemHeight,2,softwareHeight,500);
        codesamples.OpenToggle("codesamplesOpen",1,0,300,sampleItemHeight,2,codesamplesHeight,500);
        references.OpenToggle("referencesOpen",1,1,300,sampleItemHeight,2,referencesHeight,500);
        links.OpenToggle("linksOpen",1,2,300,sampleItemHeight,2,linksHeight,500);
})();



</script>
[/CODE]