import { useEffect } from "react";

export function EngSide(){
    let nums = [ "del1"]
    useEffect(() => {
        window.addEventListener('scroll', handleScroll);
        return () => window.removeEventListener('scroll', handleScroll);
      }, []);
      const handleScroll = () => {
          for(let idx in nums){
            console.log("We are looking at 'item' = " + nums[idx])
              const item = nums[idx];
              let ind = nums.findIndex((e) => e == item)
              console.log("ind is: " + ind)
              let subdi = "subtitle" + ind 
              console.log("subdi is: " + subdi)
              console.log("we use " +  document.getElementById(item)?.id + " and " + document.getElementById(subdi)?.id)
              Highlight({el: document.getElementById(item)!}, {subtitle: document.getElementById(subdi)!});
          }       
          console.log("function HighlightCheck")
      }
      console.log(nums)


    return(
        <div className="col-2 d-none d-lg-block">
            <br/>
            <div className="sticky-top">
            <nav className="sidebar">
                <div> 
                    <a onClick={openThem({it: "our-cycle"})}>
                        <div className="detail-sideitem">
                            <div id="parent-our-cycle" className="sideitem">
                                <summary>Our Cycle</summary>
                                <span id="our-cycle" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                        <a href="#"><li>Iteration 1</li></a>
                                        <a href="#"><li>Iteration 2</li></a>
                                        <a href="#"><li>Iteration 3</li></a>
                                    </ul>
                                </span>
                            </div> 
                        </div>
                    </a>
                </div> 
                <div> 
                    <a onClick={openThem({it: "proof-of-concept"})}>
                        <div className="detail-sideitem">
                            <div id="parent-proof-of-concept" className="sideitem">
                                <summary>Proof Of Concept</summary>
                                <span id="proof-of-concept" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                        <a href="#"><li>Iteration 1</li></a>
                                        <a href="#"><li>Iteration 2</li></a>
                                        <a href="#"><li>Iteration 3</li></a>
                                    </ul>
                                </span>
                            </div> 
                        </div>
                    </a>
                </div> 
                <div> 
                    <a onClick={openThem({it: "pe-systems"})}>
                        <div className="detail-sideitem">
                            <div id="parent-pe-systems" className="sideitem">
                                <summary>PE Systems</summary>
                                <span id="pe-systems" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                        <a href="#"><li>Iteration 1</li></a>
                                        <a href="#"><li>Iteration 2</li></a>
                                        <a href="#"><li>Iteration 3</li></a>
                                    </ul>
                                </span>
                            </div> 
                        </div>
                    </a>
                </div> 
                <div> 
                    <a onClick={openThem({it: "nikase"})}>
                        <div className="detail-sideitem">
                            <div id="parent-nikase" className="sideitem">
                                <summary>Nikase</summary>
                                <span id="nikase" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                        <a href="#"><li>Iteration 1</li></a>
                                        <a href="#"><li>Iteration 2</li></a>
                                        <a href="#"><li>Iteration 3</li></a>
                                    </ul>
                                </span>
                            </div> 
                        </div>
                    </a>
                </div> 
                <div> 
                    <a onClick={openThem({it: "pegrna"})}>
                        <div className="detail-sideitem">
                            <div id="parent-pegrna" className="sideitem">
                                <summary>pegRNA</summary>
                                <span id="pegrna" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                        <a href="#"><li>Iteration 1</li></a>
                                        <a href="#"><li>Iteration 2</li></a>
                                        <a href="#"><li>Iteration 3</li></a>
                                    </ul>
                                </span>
                            </div> 
                        </div>
                    </a>
                </div> 
                <div> 
                    <a onClick={openThem({it: "delivery"})}>
                        <div className="detail-sideitem">
                            <div id="parent-delivery" className="sideitem">
                                <summary>Delivery</summary>
                                <span id="delivery" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                     <li><a href="#del1">
                                                <span id="subtitle0" className='sideitem'>Iteration 1</span>
                                        </a></li>
                                        <a href="#"><li>Iteration 2</li></a>
                                        <a href="#"><li>Iteration 3</li></a>
                                    </ul>
                                </span>
                            </div> 
                        </div>
                    </a>
                </div>   
                <div> 
                    <a onClick={openThem({it: "references"})}>
                        <div className="detail-sideitem">
                            <div id="parent-references" className="sideitem">
                                <summary>References</summary>
                                <span id="references" className="sidesubtab" style={{display: "none"}}>
                                     <ul>
                                        <li><a href="#subtitle1">
                                                <span id="" className='sideitem'>Iteration 1</span>
                                        </a></li>
                                        <a href="#"><li>Iteration 2</li></a>
                                        <a href="#"><li>Iteration 3</li></a>
                                    </ul>
                                </span>
                            </div> 
                        </div>
                    </a>
                </div>  
            </nav>   
        <br/>
        <div className="col" style={{display: "flex", alignItems: "right"}}>
            <a href='#' className="backtotop">
                Back to Top &#8593;
            </a>
        </div>  
            </div>
        </div>
        
    )
}




/* function SideItemEng({hesh, num}:{hesh: string; num: number}){
    let subdi = "subtitle" + num
    let openmore = stringToSlug(hesh) 
    console.log("openmore: " + openmore)
    return(
        <div> 
            <a onClick={openThem({it: openmore})}>
                <div className="detail-sideitem">
                <div id={subdi} className="sideitem">
                    <summary>{hesh}</summary>
                    <span id={openmore} className="sidesubtab" style={{display: "none"}}>
                        <ul>
                            <li>Other</li>
                        </ul>
                    </span>
                </div> 
                </div>
            </a>
        </div>   
    )
}
 */
function Highlight({el}: {el: HTMLElement | null}, {subtitle}:{subtitle: HTMLElement | null}){
    let TopDistance = 150; 
    console.log("Starting highlight check...")
    console.log("here come el...")
    console.log(el)
    console.log("here comes subtitle...")
    console.log(subtitle)
    if (el != null && subtitle != null){
/*         console.log("here comes el...")
        console.log(el)
        console.log(el.getBoundingClientRect()) */
        if (el.getBoundingClientRect().top < TopDistance + 1 && el.getBoundingClientRect().bottom > TopDistance){
            subtitle.style.color = "white";
            subtitle.style.backgroundColor = "rgb(133, 15, 120, 0.8)";
            subtitle.style.borderColor = "#850F78"; 
            subtitle.style.marginLeft = "10px"; 
            subtitle.style.paddingRight = "10px";;
            subtitle.style.fontWeight = "900";

/*                 console.log("subtitle: ",subtitle)
            console.log("style: ", subtitle.style)
            console.log("color: ",subtitle.style.color)
            console.log("backcolor: ",subtitle.style.backgroundColor)    */     
        }
        else{
            subtitle.style.color = "white";
            subtitle.style.marginLeft = "0"; 
            subtitle.style.backgroundColor = "";
        }
    }
    
  }

function openThem({it}: {it: string}){
    const gotoandopen =  (_event : React.MouseEvent<HTMLElement, MouseEvent>) => {

      console.log("it classname: " + document.getElementById(it)?.className)
      console.log("it: " + it)
      let contenttabid = "tab-" + it; 
      let parent = "parent-" + it; 
      console.log("we want to open " + it + " and " + contenttabid)
      let sideitems = document.getElementsByClassName("sideitem"); 
      let subtabs = document.getElementsByClassName("sidesubtab");
      let contenttabs = document.getElementsByClassName("enginneeringtab");
      for (let i = 0; i < subtabs.length; i++) {
         (subtabs[i] as HTMLElement).style.display = "none";
         console.log("Hiding sidebar subtab...")
       }
       for (let i = 0; i < contenttabs.length; i++) {
        (contenttabs[i] as HTMLElement).style.display = "none";
        console.log("Hiding content tab...")
      }
      for (let i = 0; i < sideitems.length; i++) {
        (sideitems[i] as HTMLElement)!.classList.remove("active-sideitem");
        console.log("Hiding sidebar subtab...")
      }
      
        document.getElementById(it)!.style.display = "block";
        document.getElementById(parent)!.classList.add("active-sideitem");
        document.getElementById(contenttabid)!.style.display = "block";
      
        
    }
    return gotoandopen; 
  }