/******** Interactive Functionalities for the new  IST Redesign *********/

/********global variables*********/

/*
NOTE: TAKE INTO ACCOUNT MULTIPE ISTs ON A SINGLE PAGE
*/
//CONSTANTS
var MODE_SHOW_ALL = "show_all";
var MODE_COMPARE = "compare";
var TXT_COMPARE = "";
var TXT_SHOW_ALL = "";
var PAGENAME = "subcat";
var SEGMENT = "segmentIst";
var SUBCAT = "subcat";
var gISTActionBlocked = false;
//9.3.2
var MasterISTList = new Array();

//9.3.2
//OBJECT TO INITIALIZES GLOBAL VARIABLES
function IST_GLOBAL()
{
    this.init = function() {
        this.compareFlag = false;
        this.genericArray = new Array();
        //THIS FLAG HELPS DETERMINE IF THE USER HAS APPLIED ANY SORTS OR IF WE'RE OPERATING WITH THE DEFAULT VIEW
        //dont want to add regional sorting for segment ISTs pages
        if(PAGENAME == SUBCAT){
            this.applyRegRecSort = true;
        }else{
            this.applyRegRecSort = false;
        }
    }
}
/********END: global variables*********/

/*************** Adding functions for blocking the user request*****************/
//CHECKS IF THERE IS ALREADY AN IST MODIFICATION REQUEST IN PROGRESS
function checkExistingISTRequest(){
    if (gISTActionBlocked==true){
        //alert("IST is still loading. Please wait.");
        bringToViewProgressMsg();
        return false;
    }
    return true;
}

function bringToViewProgressMsg(){
    //GRAB THE SCROLL POSITION
     var x = document.documentElement.scrollLeft;
     var y = document.documentElement.scrollTop;

     //GRAB THE TOP AND LEFT BOUNDARIES OF THE IST DIV
     //IF SCROLL POSITION IS LESS THAN THESE BOUNDARIES, USE THESE BOUNDARIES INSTEAD
     var istContainerTopBoundary = document.getElementById("ist_container").offsetTop;
     var istContainerLeftBoundary = document.getElementById("ist_container").offsetLeft;

     if (y < istContainerTopBoundary)
     {
         y = istContainerTopBoundary -20;
     }
     if (x < istContainerLeftBoundary)
     {
         x = istContainerLeftBoundary - 35;
     }

     if (x < 0 || isNaN(x)) x = 0;
     if (y < 0 || isNaN(y)) y = 0;

     //THIS IS THE TRANSPARENT DIV THAT BLOCKS THE PAGE
     //ADJUST THE LEFT AND TOP PROPERTIES OF THE DIV SO IT MOVES WITH WINDOW
     //SCROLL
     document.getElementById('blockpagediv').style.left=x + "px";
     document.getElementById('blockpagediv').style.top = y - 55 + "px";

     //THIS IS THE MSG DIV
     document.getElementById('msg').style.left=x + 350 + "px";
     document.getElementById('msg').style.top=y + "px";
}

function showProgressMsg() {
    //ADJUST THE HEIGHT AND WIDTH OF THE DIV TO BLOCK THE IST AREA
    document.getElementById('blockpagediv').style.height = screen.availHeight - 130 + "px";
    document.getElementById('blockpagediv').style.width = screen.availWidth - 144 + "px";

    bringToViewProgressMsg();
    $("#blockpagediv").show();
    $("#msg").show();

    //UNCOMMENT THIS TO MAKE THE MSG DIV SCROLL
    $(window).bind('scroll',bringToViewProgressMsg);
}

function hideProgressMsg(){
    //UNCOMMENT THIS TO MAKE THE MSG DIV SCROLL AND UNSCROLL
    $(window).unbind('scroll',bringToViewProgressMsg);
    $("#blockpagediv").hide();
    $("#msg").hide();
}
/*************** End of Adding functions for blocking the user request*****************/
/* Modified for Release 9.1.1 - "IST Scroll Msg" */
function adjustTableHeight(istRank){
    document.getElementById("seltable"+istRank).style.height = "auto";
    document.getElementById("istSelectionTable"+istRank).style.height ="auto";
    document.getElementById("selTableBody"+istRank).style.height= "auto";

    var tableHeight =document.getElementById("istSelectionTable"+istRank).scrollHeight;
    var tableOffSetHeight =document.getElementById("istSelectionTable"+istRank).offsetHeight;
    //alert("tableOffSetHeight:"+tableOffSetHeight);
    //alert(tableHeight);
    var headHeight = document.getElementById("istSelectionTable"+istRank).getElementsByTagName("thead")[0].offsetHeight;
    //alert("headHeight="+headHeight);
    var bodyHeight =document.getElementById("selTableBody"+istRank).offsetHeight;
    //alert("bodyHeight="+bodyHeight);

        var browserNonIE=document.layers?1:0
        var browserIE=document.all?1:0
        if (browserIE){

        if(tableHeight < 515){
            tableHeight = tableHeight+30;
            document.getElementById("istSelectionTable"+istRank).style.height = tableHeight+"px";
            tableHeight = tableHeight+20;
            document.getElementById("seltable"+istRank).style.height = tableHeight+"px";
        } else {
            document.getElementById("seltable"+istRank).style.height = 515+"px";
            $("div#scroll_msg" + istRank).show();                       /* Release 9.1.1 - "IST Scroll Msg" */
        }
    } else {

        if(tableHeight < 515){
            document.getElementById("istSelectionTable"+istRank).style.height = (tableHeight-20)+"px";
            tableHeight = tableHeight+20;
            document.getElementById("seltable"+istRank).style.height = "auto";
            document.getElementById("seltable"+istRank).style.overflowY="hidden";
        } else {
            var bodyHeight =document.getElementById("selTableBody"+istRank).offsetHeight;
            //alert("bodyHeight="+bodyHeight);
            var headHeight = document.getElementById("istSelectionTable"+istRank).getElementsByTagName("thead")[0].offsetHeight;
            //alert("headHeight="+headHeight);
            //document.getElementById("istSelectionTable"+istRank).style.height= 515+"px";
            //document.getElementById("istSelectionTable"+istRank).style.overflowY="hidden";
            document.getElementById("selTableBody"+istRank).style.height= 330+"px";
            document.getElementById("selTableBody"+istRank).style.overflowX="hidden";
            document.getElementById("selTableBody"+istRank).style.overflowY="auto";
            $("div#scroll_msg" + istRank).show();                       /* Release 9.1.1 - "IST Scroll Msg" */

        }
    }

}

function adjustISTtableWidth(istRank)
{
    //RESET TABLE'S DIV TO DEFAULT WIDTH SO THE IST TABLE HAS A CHANCE TO EXPAND
    //WITHOUT BEING LIMITED BY ITS CONTAINER
    document.getElementById("istTableContainer"+istRank).style.width = "920px";
    document.getElementById("seltable"+istRank).style.width = "907px";

    //GET REFERENCE TO IST TABLE
    var objTab = document.getElementById("istSelectionTable"+istRank);

    //IT IS IMPORTANT TO GET THE OFFSET WIDTH EACH TIME BECAUSE IT CHANGES AS THE WIDTH OF THE CONTAINERS ARE CHANGING
    //SET THE WIDTH OF THE TABLE'S CONTAINER'S CONTAINER TO 40 PIXELS WIDER THAN THE TABLE ITSELF
    var newWidth = objTab.offsetWidth + 42;
    document.getElementById("istTableContainer"+istRank).style.width = newWidth + "px";

    //SET THE WIDTH OF THE PARENT CONTAINER OF ALL TABLES ON THE PAGE
    //TO 60 PIXELS WIDER THAN THE TABLE ITSELF
    //DON'T NEED THIS ANYMORE
    newWidth = objTab.offsetWidth + 42;
    document.getElementById("ist_container").style.width = newWidth + "px";


    //SET THE WIDTH OF THE TABLE'S CONTAINER TO 20 PIXELS WIDER THAN THE TABLE ITSELF
    newWidth = objTab.offsetWidth + 22;
    document.getElementById("seltable"+istRank).style.width = newWidth + "px";

    //RESET THE DIV SELTABLE'S CONTAINER BACK TO 920, IF IT IS SMALLER THAN THAT
    //BECAUSE IST NOTES ARE GETTING WRAPPED. CANNOT RELY ON objTab.offsetWidth AND CHECK IF
    //IT IS LESS THAN 825. KEEP THIS.
    if (document.getElementById("istTableContainer"+istRank).offsetWidth < 920)
    {
        document.getElementById("istTableContainer"+istRank).style.width = "920px";
    }
}
function adjustISTtablePos() {
    document.getElementById("ist_containerPH").style.height=document.getElementById("ist_container").scrollHeight + "px";
    /*NOT NECESSARY BECAUSE LEFT AND TOP ATTRIBUTES HAVE BEEN SET IN CSS
    var browserNonIE=document.layers?1:0
    var browserIE=document.all?1:0

    if (browserIE)
    {
        document.getElementById("ist_container").style.pixelTop =0;// document.getElementById("ist_containerPH").offsetTop + 30+60;
        document.getElementById("ist_container").style.pixelLeft =0;//  document.getElementById("ist_containerPH").offsetLeft + 150+10;
    }
    else
    {
        document.getElementById("ist_container").style.top = 0;// document.getElementById("ist_containerPH").offsetTop + "px";
        document.getElementById("ist_container").style.left =0;//  document.getElementById("ist_containerPH").offsetLeft + "px";
    }*/
}

function loadFinalIstTables(istInfo){
    if(istInfo != '') {
        var istRankAndIDs = istInfo.split('@#@');

        if(null != istRankAndIDs) {
            var showPricetext = 'no';
            $("div#producttab_intro_important").hide();
            $("div#ist_containerPH").show();

            for(var i = 0; i < istRankAndIDs.length; i++) {
                    var v = istRankAndIDs[i].split(':');
                    var istRank = v[0];
                    var istId = v[1];
                    
                    //9.3.2: Compare parts functionality
                    MasterISTList[istId]=new IST_GLOBAL();
                    MasterISTList[istId].init();
                    
                    var tid = istId;
                    
                    //UPDATE COMPARE BUTTON
                    //var compareVal = $("#compareText_"+tid).val().split("*");
                    
                    //retrieval of compare button text needs to happen only once.
                    /* 9.4.1 - CD: old code
                    if (TXT_COMPARE=="")
                    {
                        TXT_COMPARE = getCompareBtnTxt($("#compareText_"+tid));
                        TXT_SHOW_ALL = getCompareBtnTxt($("#restoreTable_"+tid));
                    }
                    var compareLiteral = TXT_COMPARE;//compareVal[0]+"\n"+compareVal[1];
                    */
                    var checkBoxArr = $("#selTableBody" + tid + " td.compareCol .istCheckbox:checked");
        
                    var compareBtn = $("#compare_" + tid);
                    if(compareBtn.length > 0){
                        //compareBtn.val(compareLiteral);
                        //THIS TAKES CARE OF THE BACK BUTTON
                        if (checkBoxArr.length > 0)
                        {
                            compareBtn[0].disabled = false;
                        }
                        else
                        {
                            compareBtn[0].disabled = true;
                        }
                        
                    }
                    var compareBtn1 = $("#compare1_" + tid);
                    if(compareBtn1.length > 0){
                        compareBtn1.val(compareLiteral);
                        //THIS TAKES CARE OF THE BACK BUTTON
                        if (checkBoxArr.length > 0)
                        {
                            compareBtn1[0].disabled = false;
                        }
                        else
                        {
                            compareBtn1[0].disabled = true;
                        }
                    }
                    //END: UPDATE COMPARE BUTTON
                    
                    if(istRankAndIDs.length >1){
                        var title = $("div#istTitle"+ istId).text();
                        title = trim(title);
                        var encTitle = title.replace(/\s+/g, '_');
                        // Start: Site-redesign modifications
                        var titleText="<a href=\"#"+ encTitle +"\">" + title + "</a>";
                        $("span#selectiontable_title" + istId).html(titleText);
                        // End: Site-redesign modifications
                    }
                    //Adjust the height and width of the IST table
                    adjustISTtableWidth(istId);
                    adjustTableHeight(istId);
                    if(showPricetext == 'no'){
                        var priceColRef = $(":input[@name=showPriceText" + istId + "]").val();
                        var showPricetext = (priceColRef != undefined && priceColRef != null) ? priceColRef : "no";
                        if(showPricetext == 'yes'){
                            $("div#price").show();
                        }
                    }
            }
            if(istRankAndIDs.length >1){
                // Site-redesign modified
                $("div#istSelection").show();
            }
            adjustISTtablePos();
        }
    }
}

function setHelpPosition(divId, tableId)
{
    $("div#" + divId).show();
    var helpDiv = $("div#" + divId)[0];
    var helpDivHeight = helpDiv.clientHeight;
    var istdiv=$("div#ist_containerPH");
    var istDivOffset=istdiv.offset();
    var istDivTop=istDivOffset.top;
    //var tableNo = tableId.substr(tableId.length-1,1);
    var idArray = tableId.split('istSelectionTable');
    var tableNo=idArray[1];
    var subCatDivId = "subcat_table" + tableNo;
    var $helpBtn = $("#helpbtn", $("div#" + subCatDivId));
    var objOffset = $helpBtn.offset();
    var divTop;
    //9.4.1 change - positioning the helptext over the table for segment pages, 
    //remains the same for subcat pages
    if(PAGENAME == SUBCAT){
        divTop = objOffset.top -helpDivHeight -istDivTop;
        if($.browser.msie) {divTop = objOffset.top-helpDivHeight-istDivTop;}
    }else{
        divTop = istDivTop;
    }
    
    var divLeft =0;
    var cssObj = { left: divLeft + "px", top: divTop + "px" };
    $("div#" + divId).css(cssObj);


    /** setting iframewidth dynamically **/
    if($.browser.msie) {
        if($.browser.version == "6.0") {
            var helpDiv = $("div#" + divId)[0];
            var iframeWidth = helpDiv.clientWidth;
            var iframeHeight = helpDiv.clientHeight;
            $("div#" + divId).find("iframe").eq(0).css({width: iframeWidth, height: iframeHeight});
        }
    }
    $('html,body').animate({scrollTop: $("div#" + divId).offset().top}, 1000);
}

function setAddRemovePosition(divId, tableId){
    $("div#" + divId).show();
    var addremoveDiv = $("div#" + divId)[0];
    var addremoveDivHeight = addremoveDiv.clientHeight;
    var istdiv=$("div#ist_containerPH");
    var istDivOffset=istdiv.offset();
    var istDivTop=istDivOffset.top;
    //var tableNo = tableId.substr(tableId.length-1,1);
    var idArray = tableId.split('istSelectionTable');
    var tableNo=idArray[1];
    var subCatDivId = "subcat_table" + tableNo;
    var $addRemoveBtn = $("#addparambtn", $("div#" + subCatDivId));
    var objOffset = $addRemoveBtn.offset();
    var divTop;
    if(PAGENAME == SUBCAT){
        divTop = objOffset.top-(addremoveDivHeight)-istDivTop-6;
        if($.browser.msie) {divTop = objOffset.top-(addremoveDivHeight)-istDivTop-6;}
    }else{
        divTop = istDivTop;
    }
    //var divTop = objOffset.top - $addRemoveBtn[0].clientHeight -addremoveDivHeight+13;
    //var divTop = objOffset.top + $addRemoveBtn[0].clientHeight + 3; // 3 is for positioning the div a bit below the button
    //var divLeft = objOffset.left;
    var divLeft = 0;
    var cssObj = { left: divLeft + "px", top: divTop + "px" };
    $("div#" + divId).css(cssObj);

    /** setting iframewidth dynamically **/
    if($.browser.msie) {
        if($.browser.version == "6.0") {
            var addremoveDiv = $("div#" + divId)[0];
            var iframeWidth = addremoveDiv.clientWidth;
            var iframeHeight = addremoveDiv.clientHeight;
            $("div#" + divId).find("iframe").eq(0).css({width: iframeWidth+5, height: iframeHeight+5});
        }
    }
    $('html,body').animate({scrollTop: $("div#" + divId).offset().top}, 1000);
}

function displayColumnString(tableId){
     var dp = null;
    $("table#" + tableId).find("thead > tr > th.headerinfo").each(function() {
           var paramId = this.attributes["paramId"].value;
            if(dp == null) {
                dp = "" + paramId;
            } else {
                dp += "," + paramId;
            }
    });
    return dp;
}

function filterString(tableId){
    var filterStr="";
    $("table#" + tableId).find('thead > tr > td.enterval').each(function() {
            var keywordToFilter = "";
            var magnitude = 1;
            var operator = "=";
            // var magType = "not_sel";
            //var defaultMagType = "not_sel";


            var paramId = this.attributes["paramId"].value;
            var selBox = $(":input[@name^=" + tableId + "_s]", this)[0];
            var txtBox = $(":input[@name^=" + tableId + "_p]", this)[0];
            var filterOperSel = $(":input[@name^=" + tableId + "_fOp]", this)[0];
            operator = (filterOperSel != null) ? filterOperSel[filterOperSel.selectedIndex].value : "eq";

            if(txtBox != undefined && txtBox != null) {
                keywordToFilter = txtBox.value;
                keywordToFilter = (isStringEmpty(keywordToFilter)) ? "" : keywordToFilter;

                var defMag = $(":input[@name^=" + tableId + "_defMag]", this)[0];
                var defaultMagnitude = (defMag != undefined && defMag != null) ? (defMag.value) : 1;
                defaultMagnitude = (isStringEmpty(defaultMagnitude)) ? 1 : parseFloat(defaultMagnitude);

                var magChoice = $(":input[@name^=" + tableId + "_fMag]", this)[0];
                magnitude = (magChoice != undefined && magChoice != null) ? parseFloat(magChoice[magChoice.selectedIndex].value) : defaultMagnitude;
            } else if((selBox != undefined && selBox != null) && (selBox.selectedIndex != 0)) {
                keywordToFilter = selBox[selBox.selectedIndex].value
            }

            if (keywordToFilter != "") {
                    keywordToFilter = keywordToFilter.replace(/[&]/g, 'amp;').replace(/[+]/g, 'plus;');
                    if (filterStr == "") {
                        filterStr +=paramId + '~@~' + keywordToFilter + '~@~' + operator + '~@~' + magnitude;
                    } else {
                        filterStr += '#@#' + paramId + '~@~' + keywordToFilter + '~@~' + operator + '~@~' + magnitude;
                    }
            }
    });
    return filterStr;
}

function nonDisplayableColFilterString(tableId) {
    var paramIds = new Array();
    var operators = new Array();
    var keywordToFilterArr = new Array();
    var magnitudes = new Array();
    var idx = 0;

    $("table#" + tableId).find('thead > tr > td.enterval').each(function() {
        var keywordToFilter = "";
        var magnitude = 1;
        var operator = "=";
        paramIds[idx] = this.attributes["paramId"].value;

        var selBox = $(":input[@name^=" + tableId + "_s]", this)[0];
        var txtBox = $(":input[@name^=" + tableId + "_p]", this)[0];
        var filterOperSel = $(":input[@name^=" + tableId + "_fOp]", this)[0];
        operators[idx] = (filterOperSel != null) ? filterOperSel[filterOperSel.selectedIndex].value : "eq";

        if(txtBox != undefined && txtBox != null) {
            keywordToFilter = txtBox.value;
            keywordToFilter = (isStringEmpty(keywordToFilter)) ? "" : keywordToFilter;

            var defMag = $(":input[@name^=" + tableId + "_defMag]", this)[0];
            var defaultMagnitude = (defMag != undefined && defMag != null) ? (defMag.value) : 1;
            defaultMagnitude = (isStringEmpty(defaultMagnitude)) ? 1 : parseFloat(defaultMagnitude);

            var magChoice = $(":input[@name^=" + tableId + "_fMag]", this)[0];
            magnitude = (magChoice != undefined && magChoice != null) ? parseFloat(magChoice[magChoice.selectedIndex].value) : defaultMagnitude;
        } else if((selBox != undefined && selBox != null) && (selBox.selectedIndex != 0)) {
            keywordToFilter = selBox[selBox.selectedIndex].value
        }
        keywordToFilterArr[idx] = keywordToFilter;
        magnitudes[idx] = magnitude;
        idx++;
    });

    var ndcfp = "";
    $(":input[@name^=" + tableId + "_check]").each(function() {
        if (!this.checked) {
            var pId = this.value;
            if (paramIds.contains(pId)) {
                var i = paramIds.indexOf(pId);
                var keywordToFilter = keywordToFilterArr[i];

                if (keywordToFilter != "") {
                    keywordToFilter = keywordToFilter.replace(/[&]/g, 'amp;').replace(/[+]/g, 'plus;');
                    if (ndcfp == "") {
                        ndcfp += pId + '~@~' + keywordToFilter + '~@~' + operators[i] + '~@~' + magnitudes[i];
                    } else {
                        ndcfp += '#@#' + pId + '~@~' + keywordToFilter + '~@~' + operators[i] + '~@~' + magnitudes[i];
                    }
                }
            }
        }
    });

    if (ndcfp == "") {
        ndcfp = "none";
    }
    return ndcfp;
}

function sortString(tableId){
    var idArray = tableId.split('istSelectionTable');
    var tableNo=idArray[1];
    var sortString ="";
    var pspValue ="";
    var psoValue ="";
    var sspValue ="";
    var ssoValue ="";
    if (document.getElementById("psp"+tableNo) != null && typeof(document.getElementById("psp"+tableNo)) == 'object') {
            pspValue = document.getElementById("psp"+tableNo).value;
    }
    sortString+='psp='+pspValue+'&';

    if (document.getElementById("pso"+tableNo) != null && typeof(document.getElementById("pso"+tableNo)) == 'object') {
            psoValue = document.getElementById("pso"+tableNo).value;
    }
    sortString+='pso='+psoValue+'&';

    if (document.getElementById("ssp"+tableNo) != null && typeof(document.getElementById("ssp"+tableNo)) == 'object') {
            sspValue = document.getElementById("ssp"+tableNo).value;
    }
    sortString+='ssp='+sspValue+'&';

    if (document.getElementById("sso"+tableNo) != null && typeof(document.getElementById("sso"+tableNo)) == 'object') {
            ssoValue = document.getElementById("sso"+tableNo).value;
    }
    sortString+='sso='+ssoValue;
    return sortString;
}

/* Modified for Release 9.1.2 - "Download to Excel" request.
   Added the parameter 'dwnldXl' */
function updateIstTable(tableId, cat, subcat, locale, dwnldXl,isDefaultView){
    var idArray = tableId.split('istSelectionTable');
    var istId =  idArray[1];
    var appRegSort;
    if(PAGENAME == SUBCAT){
        appRegSort = MasterISTList[istId].applyRegRecSort;
    }else{
        appRegSort = false;
    }
    if (dwnldXl == "false") {
        //9.3.2/
        appRegSort = false;//If anything else but "download to excel" was clicked, it is no longer a default view
        //end:9.3.2
        if(!checkExistingISTRequest()) return;
        showProgressMsg();
        //BLOCK ANY FURTHER IST MODIFICATION REQUESTS
        gISTActionBlocked=true;
    }
    
    $("div#ist_ajax_req" + istId).hide().html(" ");
    adjustISTtablePos();

    var showPartColumnFlag = "false";
    if(document.getElementById(tableId+"_extraPartColumn") != null && document.getElementById(tableId+"_extraPartColumn") != undefined) {
    var displayPartFlag = document.getElementById(tableId+"_extraPartColumn").style.display;
    if(displayPartFlag == ""){
        showPartColumnFlag = "true";
        }
    }

    var displayString = displayColumnString(tableId);
    var filterStr = filterString(tableId);
    var sortStr = sortString(tableId);

    var postStringData = 'cat=' + cat;
    if (subcat != '') {
        postStringData += '&subcat=' + subcat + '&istId='+ istId + '&locale=' + locale
                        + '&dp='+ displayString +'&fparam='+ filterStr +'&'+ sortStr + '&spFlag='
                        + showPartColumnFlag +'&pageName='+PAGENAME+ '&dwnldXl=' + dwnldXl + '&regsort=' + appRegSort ; /* Release 9.1.1 - "Download to Excel" request. */
    } else {
        postStringData += '&istId='+ istId + '&locale=' + locale
                        + '&dp='+ displayString +'&fparam='+ filterStr +'&'+ sortStr + '&spFlag='
                        + showPartColumnFlag + '&pageName='+PAGENAME+ '&dwnldXl=' + dwnldXl + '&regsort=' + appRegSort; /* Release 9.1.2 - "Download to Excel" request. */
    }
    var ajaxPath = "/ist.html";

    $.ajax({
        type:"POST",
        url: ajaxPath,
        processData: false,
        cache:false,
        data: postStringData,
        success: function(html) {
            if (dwnldXl == "false") {
                //9.3.2
                var SuccessIDArray = tableId.split(tableId);
                var SuccessTid =  idArray[1];
                MasterISTList[SuccessTid].applyRegRecSort = false;//IST WAS UPDATED, TURN OFF REGIONAL RECOMMENDATION SORTING
                
                //END:9.3.2
                loadIST(html,tableId);
            } else {                                /* Release 9.1.2 - "Download to Excel" request. */
                submitExcelForm(html,istId);
            }
        },
        dataType: "html",
        error: function(x,s,e) {
            if (dwnldXl == "false") {
                selectionTableError(x, s, e, istId)
            } else {                                /* Release 9.1.1 - "Download to Excel" request. */
                excelError(x, s, e, istId);
            }
        }
    });
}

function selectionTableError(xhr, status, e, istId) {
    hideProgressMsg();
    gISTActionBlocked=false;
    $("div#ist_ajax_req" + istId).show().html("Error in processing request. Please try again.");
    $('html,body').animate({scrollTop: $("#ist_ajax_req" + istId).offset().top}, 1000);
    adjustISTtablePos();
}

/* Start: Release 9.1.1 - "Download to Excel" request */
function excelError(xhr, status, e, istId) {
    $("div#ist_ajax_req" + istId).show().html("Error in downloading excel. Please try again.");
    $('html,body').animate({scrollTop: $("#ist_ajax_req" + istId).offset().top}, 1000);
}
/* End: Release 9.1.1 - "Download to Excel" request */

function loadIST(html, tableId){

    var idArray = tableId.split('istSelectionTable');
    var tid =  idArray[1];
    
    //9.3.2: Array for tracking checked parts
    var genericArray = MasterISTList[tid].genericArray;
    
    //$("div#ist_ajax_req" + tid).hide().html(" ");
    $("div#subcat_table" + tid).html(html);
    
    //check to see if number of results > 0
    var numberOfResults_html = $('#numberOfResults_istSelectionTable' +tid).html();
    var numberOfResults = numberOfResults_html.split('Results:')[1].trim();
    
    
    if(('null' != numberOfResults) && (0 == numberOfResults)){
        $('#noResultsHelpText')[0].style.background = 'orange';  
        $('#noResultsHelpText')[0].style.display = 'none'; 
        setHelpPosition('paramshelp_popup',tableId); 
        setTimeout(function(){$('#noResultsHelpText').fadeIn();}, 200);
        //if no results are returned, reset the generic array
        //JT:commented out: Don't want to reset array: genericArray.length = 0;
        //MasterISTList[tid].compareFlag = false;
    }   
    
    
    //compare functionality begin
    //JT:commented out: Don't want to reset array: var genericSpliceArray = new Array();
    //check if any checkboxes are checked, check them in the html and change its rows class
    
    if(genericArray.length > 0){
        for(var i=0; i<genericArray.length; i++){
            if($("#checkbox1_" + tid + "_" +genericArray[i]).length > 0){
                $("#checkbox1_" + tid + "_" +genericArray[i])[0].checked = true;
                if($("#checkbox2_" + tid + "_" +genericArray[i]).length > 0){
                    $("#checkbox2_" + tid + "_" +genericArray[i])[0].checked = true;
                }
                //$("#checkbox1_" + tid + "_" +genericArray[i])[0].parentNode.parentNode.className = "istRowChecked";
            }
        }
        
        
        var numofRes = $("#selTableBody" + tid + " td.compareCol .istCheckbox:checked").length;
        
        if(numofRes == 0 && MasterISTList[tid].compareFlag){
            setHelpPosition('paramshelp_popup',tableId); 
            setTimeout(function(){$('#noResultsHelpText').fadeIn();}, 200);
        }
        
        //check if the user was in compareMode before adding the filter, if yes then hide all the other rows
        if(MasterISTList[tid].compareFlag){
            
			doCompareGenerics(tid);
            var displayedRows = $("#selTableBody" + tid + " .istRow:visible");
            var numofRes = displayedRows.length//$("#selTableBody" + tid + " .istRowChecked").length;
            $('#numberOfResults_istSelectionTable' +tid).html("Results: " +numofRes);
            if($('#numberOfResults_extra_istSelectionTable' +tid).length > 0){
                $('#numberOfResults_extra_istSelectionTable' +tid).html("Results: " +numofRes);
            }
        
            if(numofRes == 0){
                setHelpPosition('paramshelp_popup',tableId); 
                setTimeout(function(){$('#noResultsHelpText').fadeIn();}, 200);
            }
        }
    }
    var checkBoxArr = $("#selTableBody" + tid + " td.compareCol .istCheckbox:checked");
    var compareMode = MODE_COMPARE;
    var compareLiteral = TXT_COMPARE;
    var btnCompareDisabled = true;
    
    
    if (MasterISTList[tid].compareFlag == true)
    {
        compareMode = MODE_SHOW_ALL;
        compareLiteral = TXT_SHOW_ALL;
        btnCompareDisabled =false;
    }
    else if (checkBoxArr.length > 0) {
        btnCompareDisabled = false;
    }
    
    var compareBtn = $("#compare_" + tid);
    var compareBtn1 = $("#compare1_" + tid);
    
    //if(genericArray.length > 0){
    
    if (checkBoxArr.length >0){
        //var compareVal = $("#restoreTable_"+tid).val().split("*");//$("#compareText_"+tid).val().split("*");
        //var compareLiteral = compareVal[0]+"\n"+compareVal[1];
        //var compareLiteral = TXT_SHOW_ALL;//getCompareBtnTxt($("#restoreTable_"+tid));
        
        //enable the compare button. JT: compare button could be missing if no params are selected in table
        
        if(compareBtn.length > 0){
            compareBtn[0].disabled = btnCompareDisabled;
            //compareBtn.attr("mode",MODE_SHOW_ALL);
            //compareBtn.val(compareLiteral);
        }
        
        if(compareBtn1.length > 0){
            compareBtn1[0].disabled = btnCompareDisabled;
            //compareBtn1.val(compareLiteral);
        }
    }
    /* CD: commented out
    else
    {
        //when nothing's been checked
        if(compareBtn.length > 0){
            compareBtn[0].disabled = btnCompareDisabled;
            compareBtn.attr("mode",compareMode);
            compareBtn.val(compareLiteral);
        }
        if(compareBtn1.length > 0){
            compareBtn1[0].disabled = btnCompareDisabled;
            compareBtn1.val(compareLiteral);
        }
    }*/
    
    //compare functionality end
    hideProgressMsg();
    gISTActionBlocked=false;
    adjustISTtableWidth(tid);
    adjustTableHeight(tid);
    adjustISTtablePos()

}


// 9.4.1 - not used anymore
//9.3.2: COMPARE GENERICS FUNCTIONALITY
/*function compareGenerics(tid){
    //toggle between compare mode and "show all" mode
    var comp = $("#compare_"+tid);
    if (comp.attr("mode") == MODE_COMPARE)
    {
        doCompareGenerics(tid);
    }
    else
    {
        undoCompare(tid);
    }
}*/



function doCompareGenerics(tid){
    var genericArray = MasterISTList[tid].genericArray;
    var checkBoxArr = $("#selTableBody" + tid + " td.compareCol .istCheckbox:checked");
    
    //CASE WHERE BACK BUTTON WAS HIT BUT CHECKBOXES REMAIN CHECKED
    if (genericArray.length ==0)
    {
        for (var i=0;i<checkBoxArr.length;i++)
        {
            checkboxEventHandler(checkBoxArr[i].id, true,tid);
        }
    }
    
    //END: CASE WHERE BACK BUTTON WAS HIT
    
    //HIDE ALL ROWS
    $("#selTableBody" + tid + " .istRow").hide();

    for (var i=0;i<checkBoxArr.length;i++)
    {
        var checkBoxID = checkBoxArr[i].id;
        if(checkBoxID.indexOf("checkbox1_") > -1)
        {
            genericId = checkBoxArr[i].id.replace("checkbox1_" + tid + "_", "");
            
            //CHECK IF THE GENERIC ALREADY EXISTS IN THE ARRAY. IF NOT, ADD IT.
            var genericArrayIndex = genericArray.indexOf(genericId);
            if(genericArrayIndex<0){
                genericArray.push(genericId);
            }
            
            $("#"+checkBoxArr[i].id)[0].parentNode.parentNode.style.display="";
        }
    }
    
    
    //9.4.1 change: this is take care of ICs which were unchecked, but are in the result set, we want to elimate them
    //for checkboxes not in the result set, we want to keep them
    for(var i=0; i<genericArray.length; i++){
    	var chkId = $("#checkbox1_"+tid+"_"+genericArray[i]);
    	
    	if(chkId.length >0){
    	//check if it is checked
    		if(!chkId[0].checked){
    			genericArray.splice(i,1);
    			//splicing will move the index, go one step back
    			i = i-1;
    		}
    	}
    }
    
    MasterISTList[tid].compareFlag = true;
    
    
    //9.4.2 - enabling the restore table when compare is clicked
    //CHECK IF "RESTORE/SHOWALL" BUTTON EXISTS BECAUSE IF NONE OF THE PARAMS ARE SELECTED, THIS BUTTON WOULD BE GONE.
    if($("#restoreTable_" + tid).length > 0){
        var restore = $("#restoreTable_" + tid)[0];
        restore.disabled = false;
    }
    if($("#restoreTable1_" + tid).length > 0){
        var restore1 = $("#restoreTable1_" + tid)[0];
        restore1.disabled = false;
    }
    

    var numofRes = $("#selTableBody" + tid + " td.compareCol .istCheckbox:checked").length;
    $('#numberOfResults_istSelectionTable' +tid).html("Results: " +numofRes);
    
    if($('#numberOfResults_extra_istSelectionTable' +tid).length > 0){
        $('#numberOfResults_extra_istSelectionTable' +tid).html("Results: " +numofRes);
    }
    
    //adjust the table height and width
    //adjustISTtableWidth(tid);
    adjustTableHeight(tid);
    adjustISTtablePos();
}

//9.3.2: COMPARE GENERICS FUNCTIONALITY
function undoCompare(tid){
    //var arr = $(".istRow");
    
    $("#selTableBody" + tid + " .istRow:hidden").show();
    //$("#selTableBody" + tid + " .istRowChecked").attr('class', "istRow");
    //MasterISTList[tid].compareFlag = false;
    MasterISTList[tid].init(); //reset
    $("#selTableBody" + tid + " .istCheckbox").attr('checked', false);
    
    var comp = $("#compare_"+tid);
    comp[0].disabled = true;
    
    var comp1 = $("#compare1_"+tid);
    if(comp1.length > 0){
        //comp1[0].setAttribute("onclick", "compareGenerics('"+tid+"')");   
        //9.4.2 - disabled
        //comp1.val(compareLiteral);
        comp1[0].disabled = true;
    }
    
    //var tid = $(".seltable")[0].id.split("seltable")[1];
    $('#numberOfResults_istSelectionTable' +tid).html("Results:" + $("#selTableBody" + tid).children().length);
    
    if($('#numberOfResults_extra_istSelectionTable' +tid).length > 0){
        $('#numberOfResults_extra_istSelectionTable' +tid).html("Results: " + $("#selTableBody" + tid).children().length);
    }
    //adjust the table height and width
    //adjustISTtableWidth(tid);
    adjustTableHeight(tid);
    adjustISTtablePos();
    
    if($("#restoreTable_" + tid).length > 0){
        var restore = $("#restoreTable_" + tid)[0];
        restore.disabled = true;
    }
    
    if($("#restoreTable1_" + tid).length > 0){
        var restore1 = $("#restoreTable1_" + tid)[0];
        restore1.disabled = true;
    }
}

//9.3.2 - utility function to wrap Compare button's text
function getCompareBtnTxt(txtSrcField)
{
    var compareLiteral = "";
    //change the compare button text and onclick function
    var compareVal = txtSrcField.val().split("*");
    for (var i=0;i<compareVal.length;i++)
    {
        if (i >0) compareLiteral = compareLiteral +"\n";
        compareLiteral = compareLiteral + compareVal[i];
    }
    
    return compareLiteral;
}
//9.3.2: COMPARE GENERICS FUNCTIONALITY
function checkboxEventHandler(checkboxId, flag,tid){
    
    var checkboxId2; 
    var checked =false;
    
    if(flag){
        checkboxId2 = checkboxId.replace("1", "2");
    }else{
        checkboxId2 = checkboxId.replace("2", "1");
    }
    
    if($("#"+checkboxId)[0].checked){
        checked=true;
    }
    
        
    if($("#"+checkboxId2).length > 0){
        $("#"+checkboxId2)[0].checked = $("#"+checkboxId)[0].checked;
    }

    var compareBtn = $("#compare_" + tid);
    
    //IF CHECKED, TURN ON COMPARE BUTTONS
    if (checked)
    {
        compareBtn[0].disabled = false;
        if($("#compare1_" + tid).length > 0){
            $("#compare1_" + tid)[0].disabled = false;
        }
    
    }
    else
    {
        //CHECK IF OTHER CHECKBOXES ARE ON BEFORE TURNING OFF
        var checkBoxArr = $("#selTableBody" + tid + " td.compareCol .istCheckbox:checked");
        if (checkBoxArr.length < 1){
            //enable the compare button
            compareBtn[0].disabled = true;

            if($("#compare1_" + tid).length > 0){
                $("#compare1_" + tid)[0].disabled = true;
            }
        }
    }
}


function hideNoResultsFormat(){
    $('#noResultsHelpText')[0].style.background = ''; 
}


function resetIstTable(tableId, cat, subcat, locale){
    if(!checkExistingISTRequest()) return;
    showProgressMsg();
    //BLOCK ANY FURTHER IST MODIFICATION REQUESTS
    gISTActionBlocked=true;
    
    
    var idArray = tableId.split('istSelectionTable');
    var tid =  idArray[1];
    
    
    $("div#quickfiltererror").hide().html(" ");
    $("div#ist_ajax_req" + tid).hide().html(" ");
    adjustISTtablePos();

    var ajaxPath = "/ist.html";
    if (subcat != '') {
        var postStringData="cat=" + cat + "&subcat=" + subcat + "&istId=" + tid + "&locale=" + locale + "&pageName=" + PAGENAME;
    }
    else {
        var postStringData="cat=" + cat + "&istId=" + tid + "&locale=" + locale +"&pageName=" + PAGENAME;
    }

    $.ajax({
        type:"POST",
        url: ajaxPath,
        processData: false,
        cache:false,
        data: postStringData,
        success: function(html) {
            //9.3.2: COMPARE GENERICS FUNCTIONALITY:RESET COMPARE
            MasterISTList[tid].init();//new IST_GLOBAL();
            //end
            
            loadIST(html, tableId);
        },
        dataType: "html",
        error: function(x,s,e) {
            selectionTableError(x, s, e, tid)
        }
    });
}
function showHideIstColumns(tableId, cat, subcat, locale){
    if(!checkExistingISTRequest()) return;
    showProgressMsg();
    //BLOCK ANY FURTHER IST MODIFICATION REQUESTS
    gISTActionBlocked=true;

    var idArray = tableId.split('istSelectionTable');
    var istId =  idArray[1];
    $("div#ist_ajax_req" + istId).hide().html(" ");
    adjustISTtablePos();

    var showPartColumnFlag = "true";
    var dp = null;
    $(":input[@name^=" + tableId + "_check]").each(function() {
        if (this.checked) {
            var paramId = this.value;
            if(dp == null) {
                dp = "" + paramId;
        } else {
                dp += "," + paramId;
            }
        }
    });

    var filterStr = filterString(tableId);
    var nonDispColFilterStr = nonDisplayableColFilterString(tableId);
    var sortStr = sortString(tableId);

    var postStringData = 'cat=' + cat;
    if (subcat != '') {
        postStringData += '&subcat=' + subcat + '&istId='+ istId + '&locale=' + locale + '&dp='+ dp
                    + '&ndcfp=' + nonDispColFilterStr + '&fparam=' + filterStr +'&'+ sortStr + '&spFlag='
                    + showPartColumnFlag + '&regsort=' + MasterISTList[istId].applyRegRecSort +'&pageName=' +PAGENAME;
    } else {
        postStringData += '&istId='+ istId + '&locale=' + locale + '&dp='+ dp + '&ndcfp='
                        + nonDispColFilterStr + '&fparam=' + filterStr +'&'+ sortStr + '&spFlag='
                        + showPartColumnFlag + '&regsort=' + MasterISTList[istId].applyRegRecSort + '&pageName=' +PAGENAME ;
    }
    show_hide_popup("addremoveparams-" + tableId,"hide");

    var ajaxPath = "/ist.html";

    $.ajax({
        type:"POST",
        url: ajaxPath,
        processData: false,
        cache:false,
        data: postStringData,
        success: function(html) {
            loadIST(html,tableId);
        },
        dataType: "html",
        error: function(x,s,e) {
            selectionTableError(x, s, e, istId)
        }
    });
}
function doSortOrder(tableId, paramID, sortOrder, cat, subcat, locale){
    if(!checkExistingISTRequest()) return;
    showProgressMsg();
    //BLOCK ANY FURTHER IST MODIFICATION REQUESTS
    gISTActionBlocked=true;

    var idArray = tableId.split('istSelectionTable');
    var tableNo=idArray[1];
    $("div#ist_ajax_req" + tableNo).hide().html(" ");
        adjustISTtablePos();

    var showPartColumnFlag = "false";
    if(document.getElementById(tableId+"_extraPartColumn") != null && document.getElementById(tableId+"_extraPartColumn") != undefined) {
    var displayPartFlag = document.getElementById(tableId+"_extraPartColumn").style.display;
    if(displayPartFlag == ""){
        showPartColumnFlag = "true";
        }
    }

    var displayString = displayColumnString(tableId);
    var filterStr = filterString(tableId);
    var sortStr = "";

    var pspValue="";
    var psoValue="";
    sortStr+='psp='+paramID+'&';
    sortStr+='pso='+sortOrder+'&';
    if (document.getElementById("psp"+tableNo) != null && typeof(document.getElementById("psp"+tableNo)) == 'object') {
            pspValue = document.getElementById("psp"+tableNo).value;
    }
    sortStr+='ssp='+pspValue+'&';

    if (document.getElementById("pso"+tableNo) != null && typeof(document.getElementById("pso"+tableNo)) == 'object') {
            psoValue = document.getElementById("pso"+tableNo).value;
    }
    sortStr+='sso='+psoValue;

    var postStringData = 'cat=' + cat;
    if (subcat != '') {
        postStringData += '&subcat=' + subcat + '&istId='+ tableNo + '&locale=' + locale
                        + '&dp='+ displayString +'&fparam='+ filterStr +'&'+ sortStr + '&spFlag=' + showPartColumnFlag + '&regsort=false' +'&pageName=' +PAGENAME;
    } else {
        postStringData += '&istId='+ tableNo + '&locale=' + locale
                        + '&dp='+ displayString +'&fparam='+ filterStr +'&'+ sortStr + '&spFlag=' + showPartColumnFlag + '&regsort=false' +'&pageName=' +PAGENAME;
    }
    var ajaxPath = "/ist.html";

    $.ajax({
        type:"POST",
        url: ajaxPath,
        processData: false,
        cache:false,
        data: postStringData,
        success: function(html) {
            //9.3.2
            var SuccessIDArray = tableId.split(tableId);
            var SuccessTid =  idArray[1];
            MasterISTList[SuccessTid].applyRegRecSort = false;//IST WAS UPDATED, TURN OFF REGIONAL RECOMMENDATION SORTING
            //END: 9.3.2
            loadIST(html,tableId);
        },
        dataType: "html",
        error: function(x,s,e) {
            selectionTableError(x, s, e, tableNo)
        }
    });
}
function loadQuickFilterIstTable(locale,cat , subcat,filterGroupID,istId,filterName) {
    $("div#quickfiltererror").hide().html("");

    if(!checkExistingISTRequest()) return;
    showProgressMsg();
    //BLOCK ANY FURTHER IST MODIFICATION REQUESTS
    gISTActionBlocked=true;

    $("div#ist_ajax_req" + istId).hide().html(" ");
    adjustISTtablePos();
    var showPartColumnFlag = "true";
    var tableId ="istSelectionTable"+istId ;
        var ajaxPath = "/quickfilter.html";
        if (subcat != '') {
            var postStringData = "cat=" + cat + "&subcat=" + subcat + "&filterId=" + filterGroupID + "&istId=" + istId + "&locale=" +locale + '&spFlag=' + showPartColumnFlag + '&filterName=' + filterName + '&regsort=false' +'&pageName=' +PAGENAME;
        } else {
            var postStringData = "cat=" + cat + "&filterId=" + filterGroupID + "&istId=" + istId + "&locale=" +locale + '&spFlag=' + showPartColumnFlag + '&filterName=' + filterName + '&regsort=false' +'&pageName=' +PAGENAME;
        }

        $.ajax({
            type:"POST",
            url: ajaxPath,
            processData: false,
            cache:false,
            data: postStringData,
        dataType: "html",
        success: function(html) {
            loadQfIST(html,tableId);
            },
            error: quickFilterError
        })

}
function loadQfIST(htmlRes,tableId){
    var idArray = tableId.split('istSelectionTable');
    var tid =  idArray[1];
    var myRegExp = /qfException/;
    var matchPos1 = htmlRes.search(myRegExp);

    hideProgressMsg();
    gISTActionBlocked=false;

    if(matchPos1 != -1){
        $("div#qfExceptionMsg").html(htmlRes);
        var expMsg = $("div#qfExceptionMsg").text();
        $("div#quickfiltererror").show().html(expMsg);
        //$("div#ist_ajax_req" + tid).hide().html(" ");
    }else{
        //$("div#ist_ajax_req" + tid).hide().html(" ");
        $("div#subcat_table" + tid).html(htmlRes);
        
        //****9.3.2: COMPARE functionality reset***
        MasterISTList[tid].init();
        MasterISTList[tid].applyRegRecSort=false;

        var compareLiteral = TXT_COMPARE;

        //RESET THE COMPARE BUTTON IN THE FIRST COLUMN
        var compareBtn = $("#compare_" + tid);
        if(compareBtn.length > 0){
            //compareBtn.val(compareLiteral);
            //compareBtn.attr("mode",MODE_COMPARE);
            compareBtn[0].disabled = true;
        }
        //RESET THE COMPARE BUTTON IN THE LAST COLUMN
        var compareBtn1 = $("#compare1_" + tid);
        if(compareBtn1.length > 0){
            //compareBtn1.val(compareLiteral);
            compareBtn1[0].disabled = true;
        }

        //RESET CHECKBOXES USED FOR COMPARISON
        var checkBoxArr = $("#selTableBody" + tid + " .istCheckbox");
        if (checkBoxArr.length > 0) $("#selTableBody" + tid + " .istCheckbox").attr('checked', false);
        //***END: compare functionality reset***
        
        
        adjustISTtableWidth(tid);
        adjustTableHeight(tid);
        adjustISTtablePos();
        $('html,body').animate({scrollTop: $("#istTitle" + tid).offset().top}, 1000);
    }
}
function quickFilterError(xhr, status, e) {
    $("div#quickfiltererror").show().html("Error in Quick Filter..");
    hideProgressMsg();
    gISTActionBlocked=false;
}

function trim(str) {
    return str.replace(/^\s+|\s+$/g,"");
}

function isStringEmpty(str) {
    var isEmpty = false;
    if(null != str && 0 < str.length) {
        isEmpty = false;
    } else {
        isEmpty = true;
    }

    return isEmpty;
}

/* Start: Release 9.1.2 - "Download to Excel" request */
function submitExcelForm(xmlToExport,id) {
      var genericArray = MasterISTList[id].genericArray;
      var form = document.getElementById("dwnldExcel" + id);
      form.dwnldTableXml.value = xmlToExport;
      form.istId.value = id;
      if(MasterISTList[id].compareFlag){
        form.compareICs.value = genericArray.join(",");
      }else{
        form.compareICs.value = "";
      }
      form.submit();
}
/* End: Release 9.1.2 - "Download to Excel" request */

/*Start: Release 9.1.1 - "Printer Friendly Html" */
function PrintISTTable(tid){
    var content = document.getElementById("seltable"+tid).innerHTML;
    src = content;
    var istTitle = document.getElementById("istTitle"+tid).innerHTML;
    var title =  document.getElementById("title"+tid).value;
    var pw = window.open("#", "_new", "toolbar=0,scrollbars=yes,location=0,statusbar=0,menubar=1,resizable=yes,width=650,height=400");
    pw.document.open();
    pw.document.write(makeIstPage(src, istTitle, tid, title));
    pw.document.close();
}

function makeIstPage(src, istTitle, tid, title) {
  return "<html>\n" +
    "<head>\n" +
    "<title>"+title+"</title>\n" +
    // Start: Site-redesign modified
    "<link rel='stylesheet' type='text/css' href='/static/site-redesign/includes/style/general.css' />\n" +
    "<style>\nbody{background-color:#FFFFFF;font-family:Arial,Helvetica,sans-serif;font-size:12px;text-align:left;margin:0 0 0 0;padding:0;}\n"+
    // End: Site-redesign modified
    ".istCheckbox{display:none}\ntable {empty-cells:show}\n.redrawtablebtn{display:none}\n.compareButton{display:none}</style>\n" +
    "<script>\n" +
    "function CallPrint() {\n" +
        "var browserNonIE = document.layers?1:0;\n"+
        "var browserIE = document.all?1:0;\n"+
        "if (!browserIE){\n"+
            "document.getElementById('selTableBody"+tid+"').style.height= 'auto';\n"+
            "document.getElementById('selTableBody"+tid+"').style.overflow= 'visible';\n"+
        "}\n"+
    "  setTimeout('PrintPage()', 2);\n" +
    "}\n" +
    "function PrintPage() {\n" +
    "  window.print();\n" +
    "}\n" +
    "</script>\n" +
    "<style type='text/css'>\n"+
        " .subcat_table_ist thead tr{ \n" +
            "position:static;\n"+
            "top:0px;\n"+
        "}\n"+
    "</style>\n"+
    "</head>\n" +
    "<body onLoad='CallPrint()'>\n" +

    "<div id='subcat_table"+tid+"' class='subcat_table_ist' style='width:auto;'>" +
    "<div id='istTitle"+tid+"'class='istTitle' style='margin-left:10px;'>" + istTitle + "</div>\n" +
    "<div class='div_clear'></div><br/>\n"+
    // Site-redesign modified
    "<div id='seltable"+tid+"' class='seltable' style='height:auto;'>" + src + "</div>\n" +
    "</div>\n" +
    "</body>\n" +
    "</html>\n";
}
/*End: Release 9.1.1 - "Printer Friendly Html" */
//touch 1
