﻿//Generic
function expandcollapse(obj, pageName){
    
    var pObj = document.getElementById(obj);
    
    if(!pObj)return true;
           
    if(pObj.style.display=="none"){
        pObj.style.display="block";        
    } else {
        pObj.style.display="none";
    }
    
    //Set div display value *not used by all pages
    //setCookie([object], [object display property], [# of days for cookie to expire]
    setCookie(obj + '_' + pageName, pObj.style.display);
    
    return true;
}

/* Hide all items with a specific class contained in a specific object */
/* This can be used in conjunction with expandcollapse to only allow one div open at a time */
function collapseAllExpandOne(obj, styleClass, expandObj){
    
    var pObj = document.getElementById(obj);
    var divCollection = pObj.getElementsByTagName("div")
    var divImage = document.getElementById(expandObj + 'Image');         
    var objToExpand = document.getElementById(expandObj);
    
    //Get current state of objects display style
    var objToExpandState = objToExpand.style.display;
    
    //alert(objToExpandState);
    //alert('Go');
    
    if(!pObj)return true;
    if(!objToExpand)return true;
            
    //Start by closing all objs regaurdless of current state
    for (var i=0; i<divCollection.length; i++) {
        if(divCollection[i].className == styleClass) {
            divCollection[i].style.display = "none";
            if (document.getElementById(divCollection[i].id + 'Image')) {
                document.getElementById(divCollection[i].id + 'Image').src = 'graphics/expand.jpg';
            }
        } 
    }
    
    //Expand/Collapse requested obj depending on previous state.
    if (objToExpandState=="none"){
        objToExpand.style.display="block";
        if (divImage) {
            divImage.src = 'graphics/collapse.jpg';
        }
    } else {
        objToExpand.style.display="none";
    }
        
    return true;
}


//When using cookies
function preExpandCollapse(obj, pageName) {
    
    var pObj = document.getElementById(obj);
            
    if(!pObj)return true;
    
    //First hide full and show collapsed (this is done as a javascript check), then process saved settings
    pObj.style.display = 'none';
        
    //Get cookie
    mendisp = getCookie(obj + '_' + pageName);
    
    if (mendisp != null && mendisp != "" && mendisp != undefined) {
        pObj.style.display = mendisp;
    } else {
        pObj.style.display = 'none';
    }
        
    return true;
}

// Expand tables, 2 tables are used to account for FF incompatibility of hiding table row / row size
function expandcollapseTable(obj, partID){
    var pObj = document.getElementById(obj);
    var pObj_Full = document.getElementById(obj + '_full');
    
    if(!pObj)return true;
    if(!pObj_Full)return true;
    
    if(pObj.style.display=="none"){
        pObj.style.display="block";
        pObj_Full.style.display="none";
    } else {
        pObj.style.display="none";
        pObj_Full.style.display="block";
    }
    
    //Set div display value *not used by all pages
    //setCookie([object], [object display property], [# of days for cookie to expire]
    setCookie(obj + '_' + partID, pObj.style.display);
    
    return true;
}

function preExpandCollapseTable(obj, partID){
    var pObj = document.getElementById(obj);
    var pObj_Full = document.getElementById(obj + '_full');
    
    if(!pObj)return true;
    if(!pObj_Full)return true;
    
    //First hide full and show collapsed (this is done as a javascript check), then process saved settings
    pObj.style.display = 'block';
    pObj_Full.style.display = 'none';
    
    //Get cookie
    mendisp = getCookie(obj + '_' + partID);
    
    //alert('obj: ' + obj + ' | cookie:' + mendisp);
    
    //Set collapsed table
    if (mendisp != null && mendisp != "" && mendisp != undefined) {
        pObj.style.display = mendisp;
    } else {
        pObj.style.display = 'block';
    }
    
    //Set full table
    if(pObj.style.display=="none"){
        pObj_Full.style.display="block";
    } else {
        pObj_Full.style.display="none";
    }
    
    return true;
}

//Special case for Partners page
function partnerexpandcollapse(obj){
    var pInfo = document.getElementById('div' + obj);
    var pCompany = document.getElementById('company' + obj);
    var pType = document.getElementById('type' + obj);
    var pLocation = document.getElementById('location' + obj);
    var pCountry = document.getElementById('country' + obj);
    var pImage = document.getElementById('imgExpandCollapse' + obj);
        
    if(!pInfo)return true;
    if(!pLocation) return true;
    if(!pCountry) return true;
    if(pInfo.style.display=="none"){
        pInfo.style.display="block";
        pCompany.style.overflow="visible";
        pCompany.style.position="absolute";
        pType.style.display="none";
        pLocation.style.display="none";
        pCountry.style.display="none";
        pImage.src = "/graphics/downarrow_gray.gif";
    } else {
        pInfo.style.display="none";
        pCompany.style.overflow="hidden";
        pCompany.style.position="relative";
        pType.style.display="block";
        pLocation.style.display="block";
        pCountry.style.display="block";
        pImage.src = "/graphics/rightarrow_gray.gif";
    }
    return true;
}

//Product Finder
function productFinderMoreOptions(){
    var pMoreOptions = document.getElementById('ctl00_cplhGeneral_divMoreOptions');
    var pProdFinderSearch = document.getElementById('ctl00_cplhGeneral_lbtnProdFinderSearch');
    
    if(!pMoreOptions)return true;
    if(pMoreOptions.style.display=="none"){
        pMoreOptions.style.display="block";
        pProdFinderSearch.style.display="none";
    } else {
        pMoreOptions.style.display="none";
        pProdFinderSearch.style.display="block";
    }
    return true;
}

//===================================================================================================
//Start Cookies for viewstate (c is short for cookie)
//===================================================================================================
//Get cookie value
function getCookie(c_name) {
    
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start!=-1) { 
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length
                return unescape(document.cookie.substring(c_start,c_end));
        } 
    }
    return ""
}

//Set cookie value
function setCookie(c_name,value) {
    
    //Session cookie
    document.cookie = c_name + "=" + escape(value) + "; path=/";
    
    return true;
    
}

function delCookie(c_name) {
    document.cookie = name + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}
//===================================================================================================
//End Cookie display viewstate
//===================================================================================================
