﻿
if(typeof HTMLElement!="undefined" && ! 
HTMLElement.prototype.insertAdjacentElement){ 
HTMLElement.prototype.insertAdjacentElement = function 
(where,parsedNode) 
{ 
switch (where){ 
case 'beforeBegin': 
this.parentNode.insertBefore(parsedNode,this) 
break; 
case 'afterBegin': 
this.insertBefore(parsedNode,this.firstChild); 
break; 
case 'beforeEnd': 
this.appendChild(parsedNode); 
break; 
case 'afterEnd': 
if (this.nextSibling) 
this.parentNode.insertBefore(parsedNode,this.nextSibling); 
else this.parentNode.appendChild(parsedNode); 
break; 
} 
} 

HTMLElement.prototype.insertAdjacentHTML = function 
(where,htmlStr) 
{ 
var r = this.ownerDocument.createRange(); 
r.setStartBefore(this); 
var parsedHTML = r.createContextualFragment(htmlStr); 
this.insertAdjacentElement(where,parsedHTML) 
} 


HTMLElement.prototype.insertAdjacentText = function 
(where,txtStr) 
{ 
var parsedText = document.createTextNode(txtStr) 
this.insertAdjacentElement(where,parsedText) 
} 
}


function hideIframes()
{
    var iframes = document.getElementById("navmenu").getElementsByTagName("IFRAME");
    for(var i=0; i < iframes.length; i++)
    {
        iframes[i].style.display = "none";
    }
    
}

function showIframe(myElement)
{
    var div;
	var ul;
	var lists;
	var iframe;
	var iframes;
	lists = myElement.getElementsByTagName("UL");
	
	if(lists.length > 0)
	{
	    iframes = myElement.getElementsByTagName("IFRAME");
	    if(iframes.length > 0)
	    {
	        iframes[0].style.display = "block";
	    }
	    else
	    {
	        ul = lists[0];
	        iframe = document.createElement("IFRAME");
	        iframe.style.width = ul.offsetWidth;
	        iframe.style.height = ul.offsetHeight;
	        iframe.className = "dropdown";
	        iframe.setAttribute("scrolling","no");
	        iframe.setAttribute("frameborder","0");
    	    
	        if(ul.className == "middle")
	        {
	            iframe.style.left = "-30px";
	        }
	        else if (ul.className == "left")
	        {
	            iframe.style.left = "-96px";
	        }
    	    
	        myElement.appendChild(iframe,0);    
	    }
    }
}

navHover = function() 
{
	var lis = document.getElementById("navmenu").getElementsByTagName("LI");
	for (var i=0; i<lis.length; i++) {
		lis[i].onmouseover=function() {
			this.className+=" iehover";
			showIframe(this);
		} 
		lis[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" iehover\\b"), "");
			hideIframes();
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", navHover);







function mailpage()
{
    mail_str = "mailto:?subject=" + URLEncode(document.title.toString().replace("Knight","Knight\'s") + " webpage");
    mail_str += "&body=I thought you might be interested in " + URLEncode(document.title.toString().replace("Knight","Knight\'s") + " webpage");
    mail_str += ". You can view it at " + location.href + " ."; 
    location.href = mail_str;
}

function PDFUrl(id,parms)
{
    document.getElementById(id).href = "/default.aspx" + parms;
}

function printPage(printableArea)
{
    var printHeader;            
    var cssNode = document.getElementsByTagName("link")[1];  
    var logo;    
    
   
    
    if(printableArea == 'allcolumns')
    {
        cssNode.href = '/app_themes/cream/PrintAllColumns.css';
        printHeader = 'printHeader2';
    }
    else
    {
        cssNode.href = '/app_themes/cream/PrintMainColumn.css';
        printHeader = 'printHeader1';
    }    
    
    if(document.getElementById('LogoForPrint') == null)
    {
        var currentLogo = document.getElementById("logo").getElementsByTagName("img").item(0);
        logo = document.createElement('img');
        logo.id = 'LogoForPrint';
        logo.setAttribute("src", currentLogo.getAttribute("src"));
        document.getElementById(printHeader).appendChild(logo);        
    }
    else
    {
        logo = document.getElementById("LogoForPrint");
        logo.style.display = "block";        
    }            
              
    window.print(); 
    setTimeout ( "ResetPrintCSS()", 1000);
}

function ResetPrintCSS()
{
    document.getElementById("LogoForPrint").style.display = "none"; 
    document.getElementsByTagName("link")[1].href = '/app_themes/cream/PrintEmpty.css';
}


function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}









var tmrID;

function ActiveTreeInitialize()
{
    if(document.body.getElementsByTagName)
    {        
        var ulTags = document.body.getElementsByTagName("ul");        
        for(var i=0;i<ulTags.length;i++)
        {            
            if(ulTags[i].className == "active-tree")
            {
                ActiveTreeGenerate(ulTags[i],i,0,"collapsed");
            }
            else if(ulTags[i].className == "active-tree-expanded")
            {
                ActiveTreeGenerate(ulTags[i],i,0,"expanded");
            }
            else if(ulTags[i].className == "active-tree-first-expanded")
            {
                ActiveTreeGenerate(ulTags[i],i,0,"firstexpanded");
            }
        }
    }
}

function ActiveTreeNotProcessed(item)
{
    var notProcessed = true;
    if(item.getElementsByTagName("img").length > 0)
    {
        if(item.getElementsByTagName("img")[0].className == "active-tree-icon")
        {
            notProcessed = false;
        }
    }
    return notProcessed;
}

function ActiveTreeGenerate(list,TreeIndex,ListIndex,expandtype)
{    
    var items = list.getElementsByTagName("li");
    var imgPlus; 
    var collapsed=false;   
    
    for(var i=0;i<items.length;i++)
    {
        if(ActiveTreeNotProcessed(items[i]) && items[i].getElementsByTagName("ul").length > 0)
        {
            if(expandtype == "collapsed")
            {
                collapsed = true;
            }
            else if(expandtype == "firstexpanded")
            {
                if(i > 0)
                {
                    collapsed = true;
                }
                else
                {
                    collapsed = false;
                }
            }            
            
            imgPlus = document.createElement("img");
            if(collapsed)
            {
                imgPlus.src = "/images/expand2.gif";
                imgPlus.alt = "Display Associated Links";
            }
            else
            {
                imgPlus.src = "/images/collapse2.gif";
                imgPlus.alt = "Hide Associated Links";
            }
            
            imgPlus.className = "active-tree-icon";
            imgPlus.id = "treeIcon" + TreeIndex + "n" + ListIndex + "n" + i;
            
            if (window.addEventListener)
            {
                imgPlus.addEventListener('click', ActiveTreeIconClick, false);                
            }
            else if (window.attachEvent)
            {
                imgPlus.attachEvent('onclick',ActiveTreeIconClick);
            }
            else if (document.getElementById)
            {
                imgPlus.onclick=ActiveTreeIconClick;
            }                     

            var link = items[i].firstChild;
            if(link)
            {
                if (window.addEventListener)
                {
                    link.addEventListener("mouseover", ActiveTreeDelayedExpand, false);
                    link.addEventListener("mouseout", ActiveTreeCancelDelayedExpand, false);
                }
                else if (window.attachEvent)
                {
                    link.attachEvent('onmouseover',ActiveTreeDelayedExpand);
                    link.attachEvent('onmouseout',ActiveTreeCancelDelayedExpand);
                }
                else if (document.getElementById)
                {                                 
                    link.onmouseover=ActiveTreeDelayedExpand;
                    link.onmouseout=ActiveTreeCancelDelayedExpand;
                }
                
                
                link.id = "treeLink" + TreeIndex + "n" + ListIndex + "n" + i;
            }                        
            
            if(collapsed)
            {
                items[i].getElementsByTagName("ul")[0].style.display = "none";
            }            
            
            items[i].insertAdjacentElement("afterBegin",imgPlus);
            items[i].getElementsByTagName("ul")[0].id = "treeList" + TreeIndex + "n" + ListIndex + "n" + i;            

            ListIndex ++;
            ActiveTreeGenerate(items[i].getElementsByTagName("ul")[0],TreeIndex,ListIndex,expandtype);
        }        
    } 
}

function ActiveTreeIconClick(evt)
{
    
    var imgIcon;
    
    if(evt.srcElement)
    {
        imgIcon = evt.srcElement;
    }
    else if(evt.target)
    {
        imgIcon = evt.target;
    }
    
    window.clearTimeout(tmrID);
    ActiveTreeToggle(imgIcon.id);
}

function ActiveTreeToggle(iconID)
{
    var imgIcon = document.getElementById(iconID);
    if(imgIcon.alt == "Display Associated Links")
    {
        document.getElementById(imgIcon.id.replace("treeIcon","treeList")).style.display = "block";
        imgIcon.src = "/images/collapse2.gif"
        imgIcon.alt = "Hide Associated Links"
    }
    else
    {
        document.getElementById(imgIcon.id.replace("treeIcon","treeList")).style.display = "none";
        imgIcon.src = "/images/expand2.gif"
        imgIcon.alt = "Display Associated Links"
    }
}

function ActiveTreeDelayedExpand(evt)
{
    var link;
    
    if(evt.srcElement)
    {
        link = evt.srcElement;
    }
    else if(evt.target)
    {
        link = evt.target;
    }
    
    link.style.cursor = "pointer";
    var imgIcon = document.getElementById(link.id.replace("treeLink","treeIcon"));
    
    if(imgIcon)
    {
        if(imgIcon.alt == "Display Associated Links")
        {
            tmrID = window.setTimeout("ActiveTreeToggle('" + imgIcon.id + "')",1000);  
        }
    }
}

//Clear Timer and reset to default settings on Mouse Out//
function ActiveTreeCancelDelayedExpand(evt){
    var link;
    if(evt.srcElement)
    {
        link = evt.srcElement;
    }
    else if(evt.target)
    {
        link = evt.target;
    }

    link.style.cursor = "auto";
    window.clearTimeout(tmrID);
}








var currentBanner;
var aryBanners="";
var bannerID;
var bannerTimer;
var bannerDelay = 15000;

function BannersInitialize()
{            
    if(document.getElementsByTagName)
    {
        var banners;
        var divs = document.getElementsByTagName("div");
        for(var i=0;i<divs.length;i++)
        {                        
            if(divs[i].className == "banner")
            {                            
                currentBanner=1;
                aryBanners = divs[i].getElementsByTagName("input")[0].value;
                bannerID = divs[i].getElementsByTagName("input")[1].value;
                break;
            }
        }
    }
    
    if(aryBanners != "")
    {
        bannerTimer = window.setTimeout("BannersRotate()",bannerDelay);
        
    }
}

function BannersRotate()
{                
    var image;
    var height;
    
    image = aryBanners.split(",")[currentBanner].split("-")[0];
    height = aryBanners.split(",")[currentBanner].split("-")[1];
    
    document.getElementById(bannerID).style.background = "url(/Image.aspx?id=" + image + ")";
    document.getElementById(bannerID).style.height = height;
    
    if((aryBanners.split(",").length-1) == currentBanner)
    {
        currentBanner = 0;
    }
    else
    {
        currentBanner = currentBanner + 1;
    }                         
    
    bannerTimer = window.setTimeout("BannersRotate()",bannerDelay);
}
if (window.attachEvent) window.attachEvent("onload", BannersInitialize);


function Browser()
{
    if (navigator.appVersion.indexOf("MSIE") > 0)
    {
        return "IE";        
    }
    else
    {
        return "Other";
    }
}

function PlayAudio(file)
{        
    var objAudio;
    
    StopAudio();
    
    if(document.getElementById("objAudio") == null)
    {
        if(Browser() == "IE")
        {            
            objAudio = document.createElement("OBJECT");
            objAudio.id = "objAudio";
            objAudio.style.width = "0px";
            objAudio.style.height = "0px";
            objAudio.setAttribute("classid","clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");
            objAudio.setAttribute("codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0");
        }
        else
        {
            objAudio = document.createElement("EMBED");
            objAudio.id = "objAudio";
            objAudio.setAttribute("height","0");
            objAudio.setAttribute("width","0");
            objAudio.setAttribute("style","display:none;");
            objAudio.setAttribute("name","audio");
            objAudio.setAttribute("src",file);
            objAudio.setAttribute("type","application/x-shockwave-flash");
            objAudio.setAttribute("quality","high");
            objAudio.setAttribute("pluginspage","http://www.macromedia.com/go/getflashplayer");
        }
        
        document.getElementById("box1").insertAdjacentElement("beforeEnd",objAudio);
    }
    else
    {
        objAudio = document.getElementById("objAudio");    
    }    
    
    if(Browser() == "IE")
    {
        objAudio.Movie = file;
    }
    else
    {
        objAudio.style.display = "block";
    }    
}

function StopAudio()
{
    var objAudio;
    if(document.getElementById("objAudio") != null)
    {   
        objAudio = document.getElementById("objAudio");
        if(Browser() == "IE")
        {
            objAudio.Movie = "no_file.swf";
        }
        else
        {
            objAudio.style.display = "none";
        }  
    }
      
}


function FormatEmailLinks()
{
    if(document.getElementsByTagName)
    {
        var hasLink=false;
        var email;
        var href;
        var anchors = document.getElementsByTagName("a");
        for(var i=0;i<anchors.length;i++)
        {   
            href = anchors[i].href;                  
            if(href.indexOf("mailto:") == 0)
            {                            
                email = href.substring(7);
                anchors[i].href = "javascript:DisplayEmailDisclaimer(\"" + email + "\")";  
                
                if(email.indexOf("?") > 0)
                {
                    email = email.substring(0,email.indexOf("?"));
                }                
                      
                anchors[i].innerHTML = email;   
                hasLink = true;
            }
        }
        
        if(hasLink)
        {
            var disclaimer = document.createElement("div");
            var title = document.createElement("h1");
            var text1 = document.createElement("p");
            var text2 = document.createElement("p");
            var buttons = document.createElement("p");
            var btnSend = document.createElement("input");
            var btnCancel = document.createElement("input");
            var hiddenEmail = document.createElement("input");
            
            disclaimer.style.display = "none";
            disclaimer.id = "email_disclaimer";
            
            title.innerHTML = "Email Disclaimer";
            
            text1.innerHTML = "This Web site presents general information about Holland & Knight LLP and is not intended as legal advice nor should you consider it as such. You should not act upon this information without seeking professional counsel. Please keep in mind that merely contacting Holland & Knight LLP will not establish an attorney-client relationship. Holland & Knight LLP cannot represent you until the firm knows there would not be a conflict of interest, and the firm determines that it is otherwise able to accept the engagement. Accordingly, please do not send Holland & Knight LLP any information or documents until a formal attorney-client relationship has been established through an interview with an attorney and you get authorization in the form of an engagement letter from Holland & Knight LLP. Any information or documents sent prior to your receipt of an engagement letter cannot be treated as confidences, secrets or protected information of any nature.";
            text2.innerHTML = 'Clicking "Continue" acknowledges that you understand and agree with this notice.';
            
            btnSend.type = "button";
            btnSend.value = "Continue";
            btnSend.className = "button";
            btnSend.id = "email_send_button";
            btnSend.style.marginRight = "20px";
            
            hiddenEmail.type = "hidden";
            hiddenEmail.id = "email_hidden_value";
            
            btnCancel.type = "button";
            btnCancel.value = "Cancel";
            btnCancel.className = "button";  
            
            if (window.addEventListener)
            {
                btnSend.addEventListener('click', SendEmailFromDisclaimer, false);  
                btnCancel.addEventListener('click', ToggleEmailDisclaimer, false);              
            }
            else if (window.attachEvent)
            {
                btnSend.attachEvent('onclick',SendEmailFromDisclaimer);
                btnCancel.attachEvent('onclick',ToggleEmailDisclaimer);
            }
            else if (document.getElementById)
            {
                btnSend.onclick=SendEmailFromDisclaimer;
                btnCancel.onclick=ToggleEmailDisclaimer;
            } 
                      
            
            buttons.appendChild(btnSend);
            buttons.appendChild(btnCancel);
            
            disclaimer.appendChild(title);            
            disclaimer.appendChild(text1);
            disclaimer.appendChild(text2);            
            disclaimer.appendChild(buttons);
            disclaimer.appendChild(hiddenEmail);            
            
            document.getElementById("box2").appendChild(disclaimer);
        }    
    }

}

function SendEmailFromDisclaimer()
{
    document.location = "mailto:" + document.getElementById("email_hidden_value").value;
    ToggleEmailDisclaimer();
}

function DisplayEmailDisclaimer(email)
{
    document.location = "#Xtop";
    document.getElementById("printHeader1").style.display = "none";
    document.getElementById("box5").style.display = "none";
    document.getElementById("email_disclaimer").style.display = "block";
    document.getElementById("email_hidden_value").value = email;
}

function ToggleEmailDisclaimer()
{
    if(document.getElementById("email_disclaimer").style.display == "block")
    {
        document.getElementById("printHeader1").style.display = "block";
        document.getElementById("box5").style.display = "block";
        document.getElementById("email_disclaimer").style.display = "none";
    }
    else
    {
        document.getElementById("printHeader1").style.display = "none";
        document.getElementById("box5").style.display = "none";
        document.getElementById("email_disclaimer").style.display = "block";
    }
}


if (window.addEventListener)
{
    window.addEventListener('load', FormatEmailLinks, false);                
}
else if (window.attachEvent)
{
    window.attachEvent('onload',FormatEmailLinks);
}
else if (document.getElementById)
{
    window.onload=FormatEmailLinks;
}     


function HideJobLinkColumn()
{
    document.getElementById("objFindJob1").style.width = "auto";
    document.getElementById("objFindJob2").style.display = "none";
}

function HideJobLink(linkNumber)
{
    document.getElementById("lnkFindJob" + linkNumber).style.display = "none";
}