
function ReverseDisplay(d) 
{
    var elementToToggle = document.getElementById(d);   
    var leftArrow = document.getElementById(lftArrowUp);
    var rightArrow = document.getElementById(rtArrowUp);
    
    if(elementToToggle.className == "plusHide") 
    { 
        elementToToggle.className = "plusShow";    
        createCookie('AccountSummaryState','Open',0)
        leftArrow.className = "lftArrowUp";
        rightArrow.className = "rtArrowUp";
        swapZindex ('link_summary_container');
    }
    else 
    { 
        elementToToggle.className = "plusHide"; 
        createCookie('AccountSummaryState','Closed',0)
        leftArrow.className = "lftArrowDown";
        rightArrow.className = "rtArrowDown";
        swapZindex ('link_summary_containerClosed');
    }
} 

function swapZindex (zNum)
{
	var swapZ = document.getElementById("acContainer");
	
   for (var i = 0; i < swapZ.childNodes.length; i++) 
    {
        var element = swapZ.childNodes[i];
     
        if ((element.tagName == "SPAN" && element.className == "link_summary_container") || (element.tagName == "SPAN" && element.className == "link_summary_containerClosed"))
        {
           element.className = zNum;
        }
    }  
}

/* Acct Summary Tray State */

function createCookie(name,value,days) 
{
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function eraseCookie(name) 
{
	createCookie(name,"",-1);
}

/*  Site Map Tree */

function fixIE6() {
    //overwritten for IE 6 in unitpngfix.js
}

$(document).ready(function() {
fixIE6();
});
/* The border for this div on the Training page shows up in IE7 
    even without padding and content  */

 function testDiv() {
         
     if (document.getElementById("trainingStatus")!=null)
      {
        hasChildren("trainingStatus");
        }
        
        if (document.getElementById("listTrainingCompleted")!=null)
      {
        hasChildren("listTrainingCompleted");
        }
 }
 
function hasChildren(d)
{
   var ifNoChildren = document.getElementById(d);

   if (ifNoChildren.childNodes.length == 0) {
       ifNoChildren.className = "hide";
   } 
} 

 /* Overlay Flyout */  
function showFlyout(e)
{             
    var formPop = document.getElementById(e);   
    
     showOverlay()
     showContent()
     
     fadeIn(formPop,100, 10 );     
     formPop.className = "plusShow";
     adjust();
}     
// hide all the flyout and all it's children divs
function hideFlyout()
{
   var flyoutContent = document.getElementById('flyoutContent');
   
   for (var i = 0; i < flyoutContent.childNodes.length; i++) 
    {
        var element = flyoutContent.childNodes[i];
        
        if (element.tagName == "DIV" && element.className == "plusShow")
        {
            fadeOut( element, 0, 10 );
            element.className = "hide";
            hideflyoutContent()
            hideOverlay()
        }
    }      
} 

function showOverlay()
{
   var overlay = document.getElementById('overlay');
   overlay.style.height = pageHeight() + "px"; 
   overlay.style.width = pageWidth() + "px";
   fadeIn(overlay,50,10 );
   overlay.className = "show";  
}

function showContent()
{
    var flyoutContent = document.getElementById('flyoutContent');
    fadeIn( flyoutContent,100,10 );
    flyoutContent.className = "plusShow";
}   

function  hideflyoutContent()
{
    var flyoutContent = document.getElementById('flyoutContent');
    fadeOut( flyoutContent, 0, 10 );
    flyoutContent.className = "hide";
}

function hideOverlay()
{
    var overlay = document.getElementById('overlay'); 
    fadeOut( overlay, 0, 10 );
    overlay.className = "hide";
}
        
// Reposition the flyout to the center of the page
// even when the page has been scrolled
function adjust()
{
		var obj = document.getElementById('flyoutContent');
		
		// Make sure that the flyout exists
		if ( !obj ) return;
		
		// Find its current height and width
		var w = getWidth( obj );
		var h = getHeight( obj );
		
		// Position the box, vertically, in the middle of the window
		var t = scrollY() + ( windowHeight() / 2 ) - ( h / 2 );		
		// But no higher than the top of the page
		if ( t < 0 ) t = 0;		
		// Position the box, horizontally, in the middle of the window
		var l = scrollX() + ( windowWidth() / 2 ) - ( w / 2 );
		// But no less than the left of the page
		if ( l < 0 ) l = 0;
		// Set the adjusted position of the element
		setY( obj, t );
		setX( obj, l );
}


// Readjust the position of the flyout every time 
// the user scrolls the page or resizes the browser
window.onresize = document.onscroll = adjust;


function WindowOpen(url)
{
    window.open(url, "Pop_Up",'');
}
        
 //wrap text in HTML tags based on element
function wrapText(elem,openTag, closeTag) 
{
    var el = document.getElementById(elem);
    var textElement;
    var pElement;
    
    var url = "";
    var urllist = document.getElementsByName('txtUrl');
    for(var ii = 0;ii<urllist.length;ii++)
    {
        if(urllist[ii].value != "")
        {
           url = urllist[ii].value;
        }
    }       
    var urlBeginning = url.substring(0,4);
    
    var newwindow = document.getElementsByName('rdOpen');
    var newwindowvalue = "";
    for(var i = 0; i<newwindow.length; i++)
    {
       if(newwindow[i].checked)
       {
        newwindowvalue = newwindow[i].value;
       }    
    }
            
    if (document.selection && document.selection.createRange)
    {
       textElement = document.selection.createRange();
       el.focus();
       if(textElement.text.length == 0)
       {
           el.focus();
           return false;
       }
       if(openTag == "<a>")
       {
           if(urlBeginning != "http")
           {
               if (confirm(ExpertzoneJSLocalization.SpecifySchemeError))
               {
                   if(textElement.parentElement().id == el.id)
                   {
                       if (textElement.text.indexOf("<a") == -1) {
                           textElement.text = "<a href='" + url + "' target='" + newwindowvalue + "'>" + textElement.text + closeTag;
                           el.focus();
                           document.selection.empty()
                           return false;
                       }
                       else 
                       {
                           var firstquote = textElement.text.indexOf("'") + 1;
                           var lastquote = textElement.text.lastIndexOf("'");
                           var oldlink = textElement.text.substring(firstquote,lastquote);
                           textElement.text = textElement.text.replace(oldlink,url);
                           el.focus();
                           document.selection.empty()
                           return false;
                       }
                   }
               }
           }
           else
           {
               if(textElement.parentElement().id == el.id)
               {
                   if (textElement.text.indexOf("<a") == -1) {
                       textElement.text = "<a href='" + url + "' target='" + newwindowvalue + "'>" + textElement.text + closeTag;
                       el.focus();
                       document.selection.empty()
                       return false;
                   }
                   else {
                       var firstquote = textElement.text.indexOf("'") + 1;
                       var lastquote = textElement.text.lastIndexOf("'");
                       var oldlink = textElement.text.substring(firstquote, lastquote);
                       textElement.text = textElement.text.replace(oldlink, url);
                       el.focus();
                       document.selection.empty()
                       return false;
                   }
               }
           }
       }
       else
       {
           if(textElement.parentElement().id == el.id)
           {
            textElement.text = openTag + textElement.text + closeTag;
            el.focus();
            document.selection.empty()
           }
       }
    }
    else if(window.getSelection)
    {
        if(el.selectionEnd != el.selectionStart)
        {
            if(openTag == "<a>")
            {
                if (el.value.indexOf("<a") == -1) {
                    el.value = el.value.substring(0, el.selectionStart) + "<a href='" + url + "' target='" + newwindowvalue + "'>" + el.value.substring(el.selectionStart, el.selectionEnd) + closeTag + el.value.substring(el.selectionEnd, el.value.length);
                }
                else {
                    var firstquote1 = el.value.indexOf("'") + 1;
                    var lastquote1 = el.value.lastIndexOf("'");
                    var oldlink1 = el.value.substring(firstquote1, lastquote1);
                    el.value = el.value.replace(oldlink1, url);
                }
            }
            else
            {
                el.value = el.value.substring(0,el.selectionStart) + openTag + el.value.substring(el.selectionStart,el.selectionEnd) + closeTag + el.value.substring(el.selectionEnd,el.value.length);
            }
            
        }
        else
        {
            return false;
        }
    }
    el.focus();
}

/* Set and Restore Selection */

function GSel()
{
    var d=document;
    if(d.selection)
    return d.selection.type=="Text" ? d.selection : null;
    if(window.getSelection)
    return window.getSelection();
    return null;
}

function CRng()
{
    var sel=GSel();
    if(sel)
    {
        if(sel.createRange) return sel.createRange();
        if(sel.rangeCount && sel.getRangeAt) return sel.getRangeAt(0);
    }
    return null;
}

function Sel(rng)
{
    if(rng.select) rng.select();
    else 
    {
        var s=GSel();
        if(s.removeAllRanges && s.addRange)
        {
            s.removeAllRanges();
            s.addRange(rng);
        }
    }
}

function r(){ if(RNG) Sel(RNG); }
function s(){ RNG = CRng(); }

var RNG=null;

/* Select utils */


// return an array that contains only src items not listed in the removal list
function RemoveElements(srcArr, removalArr, srcCompareFieldStr, removalCompareFieldStr)
{
    if (! (srcArr && removalArr))
    {
        return srcArr;
    }
    
    var newArr = new Array();
    var count = srcArr.length;
    for (var i = 0; i < count; i++)
    {
        var innerCount = removalArr.length;
        var shouldAdd = true;
        for (var j = 0; j < innerCount; j++)
        {
            if (String(srcArr[i][srcCompareFieldStr]) == String(removalArr[j][removalCompareFieldStr]))
            {
                shouldAdd = false;
                break;
            }
        }
        
        if (shouldAdd)
        {
            newArr.push(srcArr[i]);
        }
    }
        
    return newArr;
}

function ClearSelectList(objSel)
{
    if (objSel)
    {
        var count = objSel.options.length;
        for(var i = 0; i < count; ++i)
        {
            objSel.remove(0); // keep removing first element
        }  
    }
}

function SetAllOptionsSelected(objSel, isSelected)
{
    if (objSel)
    {
        var count = objSel.options.length;
        for(var i = 0; i < count; ++i)
        {
            objSel[i].selected = isSelected;
        }  
    }
    
    // IE needs this
    objSel.selectedIndex = -1;
}

function AddToSelectList(objSel, arr, textStr, idStr)
{
    if (arr)
    {
        count = arr.length;
        for (var j = 0; j < count; j++)
        {
            var optn = document.createElement("OPTION");    
                    optn.text = arr[j][textStr];
                    optn.value = arr[j][idStr];
                    objSel.options.add(optn);
        }
    }
}
    
function SetSelectList(objSel, arr, textStr, idStr)
{  
    ClearSelectList(objSel);
    AddToSelectList(objSel, arr, textStr, idStr);
}

// -------------------------------------------------------------------
	// hasOptions(obj)
	//  Utility function to determine if a select object has an options array
	// -------------------------------------------------------------------
	function HasOptions(obj) 
	{
		if (obj!=null && obj.options!=null)
		{
			return true; 
		}
		else
		{
			return false;
		}
	}
	
	function MoveSelectedOptions(from,to,onlyOne) {
	//If onlyOne then move current selected back to the first list
	if(onlyOne)
	{
		MoveIt(to,from);
		RemoveIt(to);			
	}
	MoveIt(from,to);
	RemoveIt(from);
	to.selectedIndex = 0;	
	from.selectedIndex = -1;
	}
	
	function MoveIt(from,to)
	{
		// Move them over
		if (!HasOptions(from)) { return; }
		for (var i=0; i<from.options.length; i++) {
			var o = from.options[i];
			if (o.selected) {
				if (!HasOptions(to)) { var index = 0; } else { var index=to.options.length; }
				to.options[index] = new Option( o.text, o.value, false, false);
				}
			}
	}
	
	function RemoveIt(from)
	{
		// Delete them from original
		for (var i=(from.options.length-1); i>=0; i--) {
		var o = from.options[i];
		if (o.selected) {
			from.options[i] = null;
			}
		}
	}
	
	function SaveSelectionToHF(obj,hiddenField)
	{
		hiddenField.value = obj.options[0].value;
		
	}
	
	function SetSelectionText(obj,obj2)
	{
		var pObj =obj2.value
		var seltextoption = document.getElementById(pObj);
		seltextoption.innerHTML = obj.options[0].text; 
	}

/*
    FAQ related functions Begin
*/      
function SelectedSiteCategoryChanged(siteCategoryId, siteCategoryName)
{
    var req;
    
    var faqList = document.getElementById("FAQResults");
    var faqAnswer = document.getElementById("faqAnswers");
    
    var labelCntrl = document.getElementById(lblCategoryName);
    var catId = siteCategoryId;
    var url = "/sitepages/ExpertZone/services/FAQListing.ashx?ezsitecategoryid=" + catId + "&" + (new Date().valueOf());
    
    faqList.innerHTML = "";
    faqAnswer.innerHTML = "<span class='faqInlineHeader'>" + ExpertzoneJSLocalization.SpecifyQuestion1 + "</span> <p class='defaultTrScreen'>" + ExpertzoneJSLocalization.SpecifyQuestion2 + "</p>";
    
    if (typeof XMLHttpRequest != "undefined") 
    {
        req = new XMLHttpRequest();
    } 
    else if (window.ActiveXObject) 
    {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.open("GET", url, true);
    req.onreadystatechange = 
        function()
        {
            if (req.readyState == 4) 
            {
                if (req.status == 200) 
                {
                    var faqs = req.responseText;
                    faqList.innerHTML = faqs;
                }
            }
        };
    req.send(null);
}

function DisplayFAQAnswer(obj, faqId)
{
    var req;
    var faqAnswer = document.getElementById("faqAnswers");
    var selectedQuestion = false;
    var faqList = obj.parentNode;

    if (faqList.selected != undefined) {
        faqList.selected.removeAttribute("className");
        faqList.selected.removeAttribute("class");
    }
    obj.className = "selected";
    faqList.selected = obj;
    
    var url = "/sitepages/ExpertZone/services/FAQAnswer.ashx?faqId=" + faqId + "&" + (new Date().valueOf());
    
    faqAnswer.innerHTML = "";
    
    if (typeof XMLHttpRequest != "undefined") 
    {
        req = new XMLHttpRequest();
    } 
    else if (window.ActiveXObject) 
    {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.open("GET", url, true);
    req.onreadystatechange = 
        function()
        {
            if (req.readyState == 4) 
            {
                if (req.status == 200) 
                {
                    var answer = req.responseText;
                    faqAnswer.innerHTML = "<h3>" + ExpertzoneJSLocalization.Answer + "</h3>" + answer;
                }
            }
        };
    req.send(null);
}

/*
    FAQ related functions End
*/

0
/* Auto Tab  */
var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input,len, e) {
  var keyCode = (isNN) ? e.which : e.keyCode; 
  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
  if(input.value.length >= len && !containsElement(filter,keyCode)) {
    input.value = input.value.slice(0, len);
    input.form[(getIndex(input)+1) % input.form.length].focus();
  }

  function containsElement(arr, ele) {
    var found = false, index = 0;
    while(!found && index < arr.length)
    if(arr[index] == ele)
    found = true;
    else
    index++;
    return found;
  }

  function getIndex(input) {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)index = i;
    else i++;
    return index;
  }
  return true;
 }

 function BuildCommaList(arr, itemName, emptyText) {
 	var str = '';

 	if (arr != null && arr.length > 0) {

 		for (var i = 0; i < arr.length; i++) {
 			if (str.length > 0) {
 				str += ', ';
 			}
 			str += (arr[i])[itemName];
 		}
 	}
 	else {
 		str = emptyText
 	}

 	return str;
 }


 function ConfirmDelete(msg) {
     if (!confirm(msg)) {
         return false;
     }
 }

 function CheckUncheck() {

     var isAllChecked = true;
     var counter = 0;
     var checkall = document.getElementById('cbUpdateAll')
     var cbs = document.getElementsByTagName('input');
     for (i = 0; i < document.getElementsByTagName("input").length; i++) {
         if (document.getElementsByTagName("input")[i].type == "checkbox") {
             if (document.getElementsByTagName("input")[i].id.indexOf("UpdateStatus") > -1) {
                 counter++;
                 if (document.getElementsByTagName("input")[i].checked == false) {
                     isAllChecked = false;
                     break;
                 }
             }
         }
     }
     if (counter > 0) {
         checkall.checked = isAllChecked;
     }
 }

 function ToggleCheckboxes(obj) 
 {
     var hidSelectedIds = document.getElementById("ctl00_ContentPlaceHolderMainWindow_hidSelectedIds");
     var ischecked = true;
     if (!obj.checked)
     {
        ischecked = false;
     }
     var Ids = '';
     var cbs = document.getElementsByTagName('input');
     for (i = 0; i < document.getElementsByTagName("input").length; i++) {
         if (document.getElementsByTagName("input")[i].type == "checkbox") {
             //alert(document.getElementsByTagName("input")[i].checked)
             if (document.getElementsByTagName("input")[i].id.indexOf("UpdateStatus") > -1) {
                 document.getElementsByTagName("input")[i].checked = ischecked;
                 Ids += document.getElementsByTagName("input")[i].value;
                 Ids += ',';
             }
         }
     }
     if (Ids.length > 0)
         hidSelectedIds.value = AddRemoveItemFromHidden(hidSelectedIds.value, Ids.substring(0, Ids.length - 1), ischecked);

 }

 function UncheckCheckAllBox(obj, mastercb) 
 {
     var cbcheckall = document.getElementById(mastercb)
     var hidSelectedIds = document.getElementById("ctl00_ContentPlaceHolderMainWindow_hidSelectedIds");
     

     if (!obj.checked) {
         cbcheckall.checked = false;
     }
     hidSelectedIds.value = AddRemoveItemFromHidden(hidSelectedIds.value, obj.value, obj.checked);
     CheckUncheck();
 }

 function AddRemoveItemFromHidden(Ids, NewIds, add) {
     var result = '';
     
     if (Ids.length == 0) {
        if (add) {
            result += NewIds;
            return result;
        }
     }
     else {
         var myArray = Ids.split(',');
         var myNewArray = NewIds.split(',');

         for (i = 0; i < myArray.length; i++) {
             var IdExist = false;
             for (j = 0; j < myNewArray.length; j++) {
                 if (myArray[i] == myNewArray[j]) {
                     IdExist = true;
                     break;
                 }
             }
             if (!IdExist) {
                 result += myArray[i];
                 result += ',';
             }    
         }
         if (add) {
             result += NewIds;
             result += ',';       
         }
     }
     if (result.length > 0)
        return result.substring(0, result.length - 1); 
     return '';
 }

 function ValidateCheckboxes() {
     var isOneChecked = false;
     var hidSelectedIds = document.getElementById("ctl00_ContentPlaceHolderMainWindow_hidSelectedIds");
     var cbs = document.getElementsByTagName('input');
     for (i = 0; i < document.getElementsByTagName("input").length; i++) {
         if (document.getElementsByTagName("input")[i].type == "checkbox") {
             if (document.getElementsByTagName("input")[i].id.indexOf("UpdateStatus") > -1) {
                 if (document.getElementsByTagName("input")[i].checked == true) {
                     isOneChecked = true;
                     break;
                 }
             }
         }

     }
     if ((isOneChecked == false) && (hidSelectedIds.value.length == 0)) {
         alert(ExpertzoneJSLocalization.PleaseSelect);
         return isOneChecked;
     }
     return true;

 }