document.addEvent('domready', function(e){
    //new Asset.javascript('scripts/json2.js');
    
    var req;
    var userInputTimer = 0;
    var canProcess = true;
    var canShowNoOrgs = false;
    var canShowNoItemTypes = false;
    var sort_up = new Asset.image('images/arrow_up.png');
    var sort_down = new Asset.image('images/arrow_down.png');
    var sort_off = new Asset.image('images/arrow_off.png');

    if($('showRealTimeResults')!=null){
        var noRealTimeSearchCookie = Cookie.read('skipRealTimeSearch');
        if(noRealTimeSearchCookie == '1'){
            canProcess = false;
            $('showRealTimeResults').checked = true;
        }
        $('showRealTimeResults').addEvent('click', function(e){
            if($('showRealTimeResults').checked){
                Cookie.write('skipRealTimeSearch', '1', {
                    duration: 365
                });
                canProcess = false;
            } else {
                Cookie.dispose('skipRealTimeSearch');
                canProcess = true;
            }
        });
    }

    var loaderBarImage = new Asset.image('images/green_loading_bar.gif');
    if($('searchFilterFormHouse')!=null){
        if($('searchFilterFormHouse')!=null){
            $('searchFilterFormHouse').setStyles({
                'opacity':'.92',
                'width':$('searchFilterFormHouse').getSize().x + 'px'
            });
        }
    }
    var shown = false;
    function showHideInnerFormHouse(){
        if($('searchFilterInnerFormHouse')!=null && $('searchFilterOptionsController')!=null){
            if(shown){
                $('searchFilterOptionsController').set('html', '[show]');
                $('searchFilterInnerFormHouse').setStyles({
                    'display':'none'
                });
                shown = false;
            } else {
                $('searchFilterOptionsController').set('html', '[hide]');
                $('searchFilterInnerFormHouse').setStyles({
                    'display':'block'
                });
                shown = true;
            }
        }
    }
    showHideInnerFormHouse();
    if($('searchFilterOptionsController')!=null){
        $('searchFilterOptionsController').addEvent('click', function(e){
            showHideInnerFormHouse();
        });
    }
    

    // ## Handle form-field highlighting: ######################################
    $$('input.search_input').each(function(item){
        $(item).addEvent('focus', function(e){
            $(item).addClass('searchInputFocus');
        });
        $(item).addEvent('blur', function(e){
            $(item).removeClass('searchInputFocus');
        });
    });

    // ## Handle form-field auto-submit: #######################################
    if($('searchForm') != null){
        $$('input.search_input').each(function(item){
            $(item).addEvent('keyup', function(e){
                clearTimeout(userInputTimer);
                userInputTimer = setTimeout(sendUpdateRequest,1000);
            });
        });
    }

    function sendUpdateRequest(){
        if(!canProcess){
            return;
        }
        if(req != null){
            try{
                req.cancel();
            } catch(err){}
        }
        var parameters = new Hash({
            'request_action': 'SearchUSHIK'
        });
        var canSend = false;
        for(var i=0; i<$$('input.search_input').length; i++){
            var el = $$('input.search_input')[i];
            parameters.set((el.name) , (el.value));
            if($(el).value.length >= 3){
                canSend = true;
            }
        }
        $('searchForm').getElements('input[type=checkbox]').each(function(item){
            if($(item).getProperty('checked') != ''){
                parameters.set($(item).id, $(item).value);
            }
        });
        parameters.set('system', $('searchPortal').value);
        parameters.set('sortField', $('sortField').value);
        parameters.set('sortDirection', $('sortDirection').value);
        parameters.set('canShowNoOrgs',(canShowNoOrgs?'1':'0'));
        parameters.set('canShowNoItemTypes',(canShowNoItemTypes?'1':'0'));
        canShowNoOrgs = false;
        canShowNoItemTypes = false;
        if(canSend){
            req = new Request({
                method: 'post',
                url: 'ajaxHandler',
                data: parameters,
                onRequest: function() {
                    buildLightBox();
                },
                onComplete: function(response) {
                    try{
                        var itemData = JSON.parse(response);
                        buildResultsTable(itemData);
                        fadeSearchLightBox();
                        updateContextHelp();
                    } catch(err){
                    
                    }
                }
            }
            ).send();
        } else {
            fadeSearchLightBox();
        }
    }

    function buildResultsTable(data){
        
        if($('noSearchResultsHouse')!=null){
            $('noSearchResultsHouse').destroy();
        }
        if($('search_all_ushik_link')!=null){
            $('search_all_ushik_link').href=data.searchAllUSHIKLink;
        }
        var resultsHouse = new Element('div');
        try{
            if($('searchSummaryHouse')!=null){
                try{
                    if($('comparisonMatrixSubmitter') == null){
                        if($('comparisonMatrixSubmitterHouse') != null){
                            $('comparisonMatrixSubmitterHouse').appendChild(new Element('input', {
                                'type':'submit',
                                'id':'comparisonMatrixSubmitter',
                                'value':'Run Matrix Report'
                            }));
                        }
                    }
                } catch(err){
                   
                //alert(err + "\n" + err.description + "\n" + err.message);
                }
                if(data.resultsCount == 0){
                    $('comparisonMatrixSubmitter').disabled = true;
                } else {
                    $('comparisonMatrixSubmitter').disabled = false;
                }
                var resultsMessage = 'This search was executed in ';
                resultsMessage += data.executionTime;
                resultsMessage += ' seconds and returned <span class="bold">';
                resultsMessage += data.resultsCount;
                resultsMessage += ' result' + (data.resultsCount == 1?'':'s');
                resultsMessage += '</span>. ';
                if(data.searchResults.length > 0){
                    var lastResult = ((data.page * data.page_size) + data.page_size);
                    var totalresults = data.resultsCount;
                    var throughSize = (( lastResult > totalresults) ? totalresults : lastResult);
                    resultsMessage += ' You are viewing results ';
                    resultsMessage += (1 + (data.page * data.page_size));
                    resultsMessage += ' through ';
                    resultsMessage += (throughSize);
                    resultsMessage += ' of ';
                    resultsMessage += data.resultsCount;
                    resultsMessage += '.';
                }
                $('searchSummaryHouse').innerHTML = resultsMessage;
            }
            if($$('.searchResultPaginationHouse')!=null){
                
                var el = new Element('div');
                if(data.pageCount > 1){
                    var maxPages = 10;
                    var firstPage = data.page - (Math.floor(maxPages / 2));
                    var lastPage = data.page + (Math.ceil(maxPages / 2)) + 1;
                    if (data.pageCount < maxPages) {
                        maxPages = data.pageCount;
                    }
                    var showFirstPageLink = true;
                    var showLastPageLink = true;
                    if (firstPage <= 0) {
                        firstPage = 1;
                        lastPage = maxPages;
                        if(data.page+1 == 1){
                            showFirstPageLink = false;
                        }
                    } else if (lastPage > data.pageCount) {
                        firstPage = firstPage - (lastPage - data.pageCount);
                        if(firstPage <= 0) {
                            firstPage = 1;
                        }
                        lastPage = data.pageCount;
                        if(data.page+1 == data.pageCount){
                            showLastPageLink = false;
                        }
                    }

                    el.appendChild(new Element('div', {
                        'html':'Page:',
                        'class':'pageWheelControlCell'
                    }));
                    if(showFirstPageLink){
                        var div = new Element('div', {
                            'class':'searchPageWheelCell mouseOverActionCell'
                        });
                        div.appendChild(new Element('a', {
                            'class':'searchPageWheelLink bold searchLink',
                            'html':'|&laquo;first',
                            'href':'SearchUSHIK?' + data.searchQueryString + '&page=1' + '&sortField=' + data.sortField + '&sortDirection=' + data.sortDirection,
                            'title':'Page 1 of ' + data.pageCount
                        }));
                        el.appendChild(div);
                    } else {
                        el.appendChild(new Element('div', {
                            'class':'searchPageWheelCell fadedText bold',
                            'html':'|&laquo;first',
                            'title':'You are currently viewing the first page of search results'
                        }));
                    }
                    if(data.page > 0){
                        div = new Element('div', {
                            'class':'searchPageWheelCell mouseOverActionCell'
                        });
                        div.appendChild(new Element('a', {
                            'class':'searchPageWheelLink bold searchLink',
                            'html':'&laquo;prev',
                            'href':'SearchUSHIK?' + data.searchQueryString + '&page=' + data.page + '&sortField=' + data.sortField + '&sortDirection=' + data.sortDirection,
                            'title':'Page ' + data.page + ' of ' + data.pageCount
                        }));
                        el.appendChild(div);
                    } else if(data.pageCount > 1){
                        el.appendChild(new Element('div', {
                            'class':'searchPageWheelCell fadedText bold',
                            'html':'&laquo;prev'
                        }));
                    }
                    for(var i=firstPage-1; i<lastPage; i++){
                        if(data.page != i){
                            div = new Element('div', {
                                'class':'searchPageWheelCell mouseOverActionCell'
                            });
                            div.appendChild(new Element('a', {
                                'class':'searchPageWheelLink bold searchLink',
                                'html':i+1,
                                'href':'SearchUSHIK?' + data.searchQueryString + '&page=' + (i+1) + '&sortField=' + data.sortField + '&sortDirection=' + data.sortDirection,
                                'title':'Page ' + (i+1) + ' of ' + data.pageCount
                            }));
                        } else {
                            div = new Element('div', {
                                'class':'searchPageWheelCell',
                                'html':i+1,
                                'title':'You are currently viewing page ' + (i+1)
                            });
                        }
                        el.appendChild(div);
                    }
                    if(data.page < data.pageCount - 1){
                        div = new Element('div', {
                            'class':'searchPageWheelCell mouseOverActionCell'
                        });
                        div.appendChild(new Element('a', {
                            'class':'searchPageWheelLink bold searchLink',
                            'html':'next&raquo;',
                            'href':'SearchUSHIK?' + data.searchQueryString + '&page=' + (data.page + 2) + '&sortField=' + data.sortField + '&sortDirection=' + data.sortDirection,
                            'title':'Page ' + (data.page + 2) + ' of ' + data.pageCount
                        }));
                        el.appendChild(div);
                    }
                    if(showLastPageLink){
                        div = new Element('div', {
                            'class':'searchPageWheelCell mouseOverActionCell'
                        });
                        div.appendChild(new Element('a', {
                            'class':'searchPageWheelLink bold searchLink',
                            'html':'last&raquo;|',
                            'href':'SearchUSHIK?' + data.searchQueryString + '&page=' + (data.pageCount) + '&sortField=' + data.sortField + '&sortDirection=' + data.sortDirection,
                            'title':'Page ' + (data.pageCount) + ' of ' + data.pageCount
                        }));
                        el.appendChild(div);
                    } else {
                        el.appendChild(new Element('div', {
                            'class':'searchPageWheelCell fadedText bold',
                            'html':'last&raquo;|',
                            'title':'You are currently viewing the last page of search results'
                        }));
                    }
                }
                $$('.searchResultPaginationHouse').each(function(h){
                $(h).innerHTML = '';
                $(h).appendChild(el.clone());
                $(h).appendChild(new Element('div', {'class':'clearing'}));
                });
                
            }

            if(data.searchResults.length > 0){
                $('sortDirection').value = data.sortDirection;
                $('sortField').value = data.sortField;
                var table = new Element('table', {
                    'class':'table_grayborder totalWidth',
                    'styles':{
                        'position':'static',
                        'z-index':'0'
                    }
                });
                var tHead = new Element('thead');
                var tHeadRow = new Element('tr', {
                    'class':'darkRow'
                });
                tHeadRow.appendChild(new Element('th', {
                    'class':'td_grayColumn listHeaderCell_noAction ',
                    'html':'Add To Comparison'
                }));
                //--------------------------------------------------------------
                var th = new Element('th', {
                    'class':'td_grayColumn listHeaderCell'
                });
                var th_a = new Element('a', {
                    'href':data.sort_link_item_name,
                    'class':'searchLink',
                    'html':'Item Name'
                });
                th.appendChild(th_a);
                if(data.sortField == 'sort_item_name'){
                    if(data.sortDirection == 'up') {
                        th.appendChild(sort_up.clone());
                    }
                    else if(data.sortDirection == 'down'){
                        th.appendChild(sort_down.clone());
                    }
                    else {
                        th.appendChild(sort_off.clone());
                    }
                }else {
                    th.appendChild(sort_off.clone());
                }
                tHeadRow.appendChild(th);
                //--------------------------------------------------------------
                th = new Element('th', {
                    'class':'td_grayColumn listHeaderCell'
                });
                th_a = new Element('a', {
                    'href':data.sort_link_mdr_id,
                    'class':'searchLink',
                    'html':'USHIK ID'
                });
                th.appendChild(th_a);
                if(data.sortField == 'sort_mdr_id'){
                    if(data.sortDirection == 'up') {
                        th.appendChild(sort_up.clone());
                    }
                    else if(data.sortDirection == 'down'){
                        th.appendChild(sort_down.clone());
                    }
                    else {
                        th.appendChild(sort_off.clone());
                    }
                }else {
                    th.appendChild(sort_off.clone());
                }
                tHeadRow.appendChild(th);
                //--------------------------------------------------------------
                th = new Element('th', {
                    'class':'td_grayColumn listHeaderCell'
                });
                th_a = new Element('a', {
                    'href':data.sort_link_item_type,
                    'class':'searchLink',
                    'html':'Item Type'
                });
                th.appendChild(th_a);
                if(data.sortField == 'sort_item_type_name'){
                    if(data.sortDirection == 'up') {
                        th.appendChild(sort_up.clone());
                    }
                    else if(data.sortDirection == 'down'){
                        th.appendChild(sort_down.clone());
                    }
                    else {
                        th.appendChild(sort_off.clone());
                    }
                }else {
                    th.appendChild(sort_off.clone());
                }
                tHeadRow.appendChild(th);
                //--------------------------------------------------------------
                th = new Element('th', {
                    'class':'td_grayColumn listHeaderCell'
                });
                th_a = new Element('a', {
                    'href':data.sort_link_search_field,
                    'class':'searchLink',
                    'html':'Search Field'
                });
                th.appendChild(th_a);
                if(data.sortField == 'sort_search_field'){
                    if(data.sortDirection == 'up') {
                        th.appendChild(sort_up.clone());
                    }
                    else if(data.sortDirection == 'down'){
                        th.appendChild(sort_down.clone());
                    }
                    else {
                        th.appendChild(sort_off.clone());
                    }
                }else {
                    th.appendChild(sort_off.clone());
                }
                tHeadRow.appendChild(th);
                //--------------------------------------------------------------
                th = new Element('th', {
                    'class':'td_grayColumn listHeaderCell'
                });
                th_a = new Element('a', {
                    'href':data.sort_link_search_text,
                    'class':'searchLink',
                    'html':'Search Text'
                });
                th.appendChild(th_a);
                if(data.sortField == 'sort_search_text'){
                    if(data.sortDirection == 'up') {
                        th.appendChild(sort_up.clone());
                    }
                    else if(data.sortDirection == 'down'){
                        th.appendChild(sort_down.clone());
                    }
                    else {
                        th.appendChild(sort_off.clone());
                    }
                }else {
                    th.appendChild(sort_off.clone());
                }
                tHeadRow.appendChild(th);
                //--------------------------------------------------------------
                tHead.appendChild(tHeadRow);
                table.appendChild(tHead);

                var tBody = new Element('tBody', {});
                for(i = 0; i<data.searchResults.length; i++){
                    var tr = new Element('tr', {
                        'class':'search_tr'
                    });
                    var cb = new Element('input', {
                        'type':'checkbox',
                        'name':'MatrixSelected',
                        'value':data.searchResults[i].ITEMKEY
                    });
                    var td = new Element('td', {
                        'class':'td_grayColumn center'
                    });
                    td.setStyles({
                        'width':'100px'
                    });
                    td.appendChild(cb);
                    tr.appendChild(td);

                    td = new Element('td', {
                        'class':'td_grayColumn',
                        'html':data.searchResults[i].DETAIL_PAGE_HYPERLINK
                    });
                    //var a = new Element('a', {
                    //    'html':data.searchResults[i].DETAIL_PAGE_HYPERLINK
                    //});
                    //td.appendChild(a);
                    tr.appendChild(td);
                    //tr.appendChild((new Element('td', {'class':'td_grayColumn'})).appendChild(new Element('i', {
                    //    'class':'td_grayColumn',
                    //    'html':data.searchResults[i].DETAIL_PAGE_HYPERLINK
                    //})));
                    tr.appendChild(new Element('td', {
                        'class':'td_grayColumn',
                        'html':data.searchResults[i].MDR_ID_HYPERLINK
                    }));
                    tr.appendChild(new Element('td', {
                        'class':'td_grayColumn',
                        'html':data.searchResults[i].ITEMTYPEBADGE+data.searchResults[i].ITEM_TYPE_NAME
                    }));
                    tr.appendChild(new Element('td', {
                        'class':'td_grayColumn',
                        'html':data.searchResults[i].FIELD_NAME
                    }));
                    tr.appendChild(new Element('td', {
                        'class':'td_grayColumn',
                        'html':data.searchResults[i].HIGHLIGHTED_RESULT_TEXT
                    }));
                    tBody.appendChild(tr);
                }
                table.appendChild(tBody);
                resultsHouse.appendChild(table);
            } else {
                resultsHouse.set('html','This search returned no results. Please expand or change your search criteria.');
            }
            $('searchResultsHouse').innerHTML = '';
            $('searchResultsHouse').appendChild(resultsHouse);
            $$('tr.search_tr:odd').each(function(item,index){
                $(item).addClass('ushik_Zebra_Row');
            });
            $$('tr.search_tr').each(function(item,index){
                $(item).addEvent('mouseover', function(e){
                    $(item).addClass('listRowMouseOver');
                });
                $(item).addEvent('mouseout', function(e){
                    $(item).removeClass('listRowMouseOver');
                });
            });

            new Asset.javascript('scripts/administeredItemExtraInformation.js',{});
            activatePageLinks();
            if($('searchFilterInnerFormHouse') != null){
                $('searchFilterInnerFormHouse').setStyles({
                    'display':'block'
                });
            }
            if($('searchOrganizations')!=null){
                $('searchOrganizations').set('html','');
                for(i=0; i<data.allOrganizations.length; i++){
                    var soDiv = new Element('div', {
                        'class':'formFilterRow'
                    });
                    var soCb = new Element('input', {
                        'type':'checkbox',
                        'name':'searchOrganization',
                        'id':'searchOrganization_' + data.allOrganizations[i].orgKey,
                        'class':'formFilterCheckBox',
                        'value':data.allOrganizations[i].orgKey
                    });
                    var soLabel = new Element('label', {
                        'for':soCb.getAttribute('id'),
                        'html':data.allOrganizations[i].name,
                        'id':'orgLabel_' + data.allOrganizations[i].orgKey
                    });
                    soDiv.appendChild(soCb);
                    soDiv.appendChild(soLabel);
                    soDiv.appendChild(new Element('span', {
                        'html':' (' + data.allOrganizations[i].resultCount + ')'
                    }));
                    $('searchOrganizations').appendChild(soDiv);
                    if(data.allOrganizations[i].included){
                        soCb.setAttribute('checked', 'checked');
                    }
                }
            }

            if($('searchItemTypes')!=null){
                $('searchItemTypes').set('html','');
                for(i=0; i<data.itemTypes.length; i++){
                    var itDiv = new Element('div', {
                        'class':'formFilterRow'
                    });
                    var itCb = new Element('input', {
                        'type':'checkbox',
                        'name':'searchItemType',
                        'id':'searchItemType_' + data.itemTypes[i].itemTypeKey,
                        'class':'formFilterCheckBox',
                        'value':data.itemTypes[i].itemTypeKey
                    });
                    var itLabel = new Element('label', {
                        'for':itCb.getAttribute('id'),
                        'html':data.itemTypes[i].name,
                        'id':'itemTypeLabel_' + data.itemTypes[i].itemTypeKey
                    });
                    itDiv.appendChild(itCb);
                    itDiv.appendChild(itLabel);
                    itDiv.appendChild(new Element('span', {
                        'html':' (' + data.itemTypes[i].resultCount + ')'
                    }));
                    $('searchItemTypes').appendChild(itDiv);
                    $(itCb).addEvent('click', function(e){
                        sendUpdateRequest();
                    });
                    if(data.itemTypes[i].included){
                        itCb.setAttribute('checked', 'checked');
                    }
                }
            }
            if(!shown && $('searchFilterInnerFormHouse') != null){
                $('searchFilterInnerFormHouse').setStyles({
                    'display':'none'
                });
            }
            if($('pageSizeWheelHouse') != null){
                var pageSizes = [10,25,50,100];
                $('pageSizeWheelHouse').innerHTML = '';
                for(i=0; i<pageSizes.length; i++){
                    if(pageSizes[i] == data.pageSize){
                        div = new Element('div', {
                            'class':'searchPageWheelCell fadedText',
                            'html':pageSizes[i]
                        });
                        $('pageSizeWheelHouse').appendChild(div);
                        $('page_size').value = pageSizes[i];
                    } else {
                        div = new Element('div', {
                            'class':'searchPageWheelCell mouseOverActionCell'
                        });
                        var link = new Element('a', {
                            'class':'searchPageWheelLink bold searchLink',
                            'href':'SearchUSHIK?' + data.searchQueryStringNoPageSize + '&page_size=' + pageSizes[i] + '&sortField=' + data.sortField + '&sortDirection=' + data.sortDirection,
                            'html':pageSizes[i]
                        });
                        div.appendChild(link);
                        $('pageSizeWheelHouse').appendChild(div);
                    }
                }
            }
            activateFilterBoxes();
            styleFilterRows();

        } catch(err){
        //alert(err + "\n" + err.description + "\n" + err.message);
        }
    }

    function styleFilterRows(){
        $$('div.formFilterRow:odd').each(function(item){
            $(item).addClass('formFilterRow_odd');
        });
        $$('div.formFilterRow:even').each(function(item){
            $(item).addClass('formFilterRow_even');
        });
    }
    styleFilterRows();
    function buildLightBox(){
        destroySearchLightBox();
        var loadingImageHouse = new Element('div', {
            'class':'loadingImageHouse',
            'id':'search_loadingImageHouse',
            'styles':{
                'height':'220px'
            }
        });
        $(loaderBarImage).setStyles({
            'width':'220px',
            'height':'19px'
        });

        loadingImageHouse.appendChild(loaderBarImage);

        $('searchResultsMainHouse').appendChild(loadingImageHouse);
    }


    function destroySearchLightBox(){
        if($('search_loadingImageHouse') != null){
            if($('search_loadingImageHouse') != null){
                $('search_loadingImageHouse').destroy();
            }
        }
    }
    function fadeSearchLightBox(){
        if($('search_loadingImageHouse') != null){
            $('search_loadingImageHouse').fade('out',{
                onComplete:function(){
                    destroySearchLightBox();
                }
            });
        }
    /*
        if($('search_loadingImageHouse') != null){
            $('search_loadingImageHouse').destroy();
        }
        if($('searchLightbox') != null){
            $('searchLightbox').fade('out',{
                onComplete:function(){
                    destroySearchLightBox();
                }
            });
        }
         */
    }

    function activateFilterBoxes(){
        $$('input.formFilterCheckBox').each(function(item){
            $(item).addEvent('click', function(e){

                if($(item).get('name') == 'searchOrganization'){
                    var allChecked = true;
                    var someChecked = false;
                    $$('input[type="checkbox"][name="searchOrganization"]').each(function(cbItem){
                        if(!$(cbItem).checked){
                            allChecked = false;
                        } else {
                            someChecked = true;
                        }
                        if(allChecked){
                            $('showAllOrganizations').checked = true;
                        } else if(someChecked){
                            $('showAllOrganizations').checked = false;
                        }
                    });

                /*
                    if($(item).get('id').indexOf('_') > -1){
                        var labelId = 'orgLabel_' + $(item).get('id').split('_')[1];
                        //searchOrganization_41
                        //orgLabel_29
                        if($(labelId)!=null){
                            alert(labelId);

                            $(labelId).addEvent('click', function(e){
                                e.stop();
                                $$('input[type="checkbox"][name="searchOrganization"]').each(function(cbItem){
                                    $(cbItem).checked = false;
                                });
                                $(item).checked = true;
                                sendUpdateRequest();

                            });
                        }
                    }
                    */
                } else if($(item).get('name') == 'searchItemType') {
                    allChecked = true;
                    someChecked = false;
                    $$('input[type="checkbox"][name="searchItemType"]').each(function(cbItem){
                        if(!$(cbItem).checked){
                            allChecked = false;
                        } else {
                            someChecked = true;
                        }
                        if(allChecked){
                            $('showAllItemTypes').checked = true;
                        } else if(someChecked){
                            $('showAllItemTypes').checked = false;
                        }
                    });
                }
                clearTimeout(userInputTimer);
                userInputTimer = setTimeout(sendUpdateRequest,500);
            //sendUpdateRequest();
            });
           
        });


    }
    activateFilterBoxes();
    function activatePageLinks(){
        $$('a.searchLink').each(function(item){
            $(item).addEvent('click', function(e){
                e.stop();

                var parameters = new Hash({
                    'request_action': 'SearchUSHIK'
                });
                var link = new URI($(item).href);
                for(var key in link.getData()){
                    if(key != ''){
                        parameters.set(key, link.getData()[key]);
                    }
                }
                if($('searchPortal')!=null){
                    parameters.set('system', $('searchPortal').value);
                }
                req = new Request({
                    method: 'post',
                    url: 'ajaxHandler',
                    data: parameters,
                    onRequest: function() {
                        buildLightBox();
                    },
                    onComplete: function(response) {
                        try{
                            var itemData = JSON.parse(response);
                            buildResultsTable(itemData);
                            fadeSearchLightBox();
                        } catch(err){

                        }
                    }
                }
                ).send();
            });
        });
    }
    activatePageLinks();

    if( $('showAllOrganizations') != null){
        $('showAllOrganizations').addEvent('click', function(e){
            var justChecked = false;
            if($('showAllOrganizations').get('checked')){
                justChecked = true;
            }
            if(justChecked){
                var allChecked = true;
                var someChecked = false;
                $$('input[type="checkbox"][name="searchOrganization"]').each(function(cbItem){
                    if(!$(cbItem).checked){
                        allChecked = false;
                    } else {
                        someChecked = true;
                    }
                });
                if(allChecked){
                //
                } else if(someChecked){
                    $$('input[type="checkbox"][name="searchOrganization"]').each(function(cbItem){
                        cbItem.checked = true;
                    });
                    sendUpdateRequest();
                }
            } else {
                $$('input[type="checkbox"][name="searchOrganization"]').each(function(cbItem){
                    cbItem.checked = false;
                });
                canShowNoOrgs = true;
                sendUpdateRequest();
            }
        });
    }
    if($('showAllItemTypes') != null){
        $('showAllItemTypes').addEvent('click', function(e){
            var justChecked = false;
            if($('showAllItemTypes').get('checked')){
                justChecked = true;
            }
            if(justChecked){
                var allChecked = true;
                var someChecked = false;
                $$('input[type="checkbox"][name="searchItemType"]').each(function(cbItem){
                    if(!$(cbItem).checked){
                        allChecked = false;
                    } else {
                        someChecked = true;
                    }
                });
                if(allChecked){
                //
                } else if(someChecked){
                    $$('input[type="checkbox"][name="searchItemType"]').each(function(cbItem){
                        cbItem.checked = true;
                    });
                    sendUpdateRequest();
                }
            } else {
                $$('input[type="checkbox"][name="searchItemType"]').each(function(cbItem){
                    cbItem.checked = false;
                });
                canShowNoItemTypes = true;
                sendUpdateRequest();
            }
        });
    }

});
