
var isDOM=(document.getElementById?true:false);
var isIE4=((document.all&&!isDOM)?true:false);
var isNS4=(document.layers?true:false);
function getRef(id)
{
    if(isDOM)
        return document.getElementById(id);
    if(isIE4)
        return document.all[id];
    if(isNS4)
        return document.layers[id];
}

function limitText(limitField, limitMessageObject, limitNum) {
    
    var obj = getRef(limitField);
    
    var txtValue
    
    if (obj.value=='undefined')
    {
        txtValue = obj.innerText;
    }
    else
    {
        txtValue = obj.value;
    }
    var msgObj = getRef(limitMessageObject + '_validation');
    
    if (txtValue.length > limitNum) 
	{
        txtValue = txtValue.substring(0, limitNum);
        if (obj.value=='undefined')
        {
            obj.innerText =txtValue;
        }
        else
        {
            obj.value = txtValue;
        }
        getRef(limitMessageObject).className='validate';
        
        msgObj.className='lengthwarning';
    }
    else
    {
        msgObj.className='lengthwarning';
        getRef(limitMessageObject).className='lengthwarning';
	}
}


function ExpandCollapse(controlName, expand, shrink)
{
	var divToExpand = document.getElementById(controlName + "_Expanded");
	var divPlaceholder = document.getElementById(controlName + "_Placeholder");
	var divToggleType = document.getElementById(controlName + "_Toggle");
	expand = expand.toLowerCase();
	shrink = shrink.toLowerCase();
	
	if(divToggleType.innerHTML.toLowerCase() == expand){
	    divToExpand.style.visibility = "visible";
		divToggleType.innerHTML = shrink;
        divToExpand.innerHTML = divPlaceholder.innerHTML;
        divPlaceholder.innerHTML = "";
	} else {
	    divToExpand.style.visibility = "hidden";
	    divToggleType.innerHTML = expand;
        divPlaceholder.innerHTML = divToExpand.innerHTML;
	    divToExpand.innerHTML = "";
	}
  
	if(controlName == "SearchNarrowResults_Narrow" && divToggleType.innerHTML == shrink)	
	    document.searchform2.searchPostcode.focus();
}

function printpage()
{
    window.print();
} 

function checkForm()
{
//    setRadioSearchType();
    return true;
}

//function setRadioSearchType()
//{
//    if (document.searchform.SearchType[0].checked || (document.searchform.AnnotatedDropdown != null && document.searchform.AnnotatedDropdown.selectedIndex == 0))
//    {
//        document.searchform.radioButtonSearchType.value = "product";
//    }
//    else
//    {
//        document.searchform.radioButtonSearchType.value = "company";
//    }
//}   
       
function OAW() 
{
    win = window.open('','annotation','resizable=yes,scrollbars=yes,toolbar=no,status=no,width=225,height=400');
    win.focus();
}			
									

function keydown(e) {
	var keynum;
	if (window.event) 
	{
		keynum = window.event.keyCode; 
	}
	else
	{
		keynum = e.which;
	}
	if (keynum == 13) {
	  var divToggleType = document.getElementById("SearchNarrowResults_Narrow_Toggle");
	  if(divToggleType!=null){
	  	  if(divToggleType.innerHTML=="-")
	  	  {
				return document.searchform2.submit();
			}
	  	  else
         {
			return document.searchform.submit();
         }
	  }
	}
}

/* Used for hitbox */
function createCookie(name,value,days) {
	/*if (days) 
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires=" + date.toLocaleDateString();
	}
	else  */
	var expires = "";	
	document.cookie = name + "=" + value + expires + "; path=/";
}

function createTaxCookie(value)
{
    
    createCookie('kssearchTaxonomy', value,1 );
}

/* Used for hitbox */
function readCookie(name) {

	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length; i++) 
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
	}
	
	return null;
}

/* Used for hitbox */
function eraseCookie(name) 
{
	createCookie(name,"",-1);
}

/* Used for hitbox */
function CompanyProfileClicked(corporateKey, companyName, keyword, ranking)
{
	
	//createCookie('icissearchKeyword', keyword, 1);
	createCookie('kssearchRanking', ranking, 1);
	
	ClicksToCompanyProfile(corporateKey, companyName, keyword, ranking);
}

/* Used for hitbox */
function ClickToCompanyWebsite(corporateKey, companyName, keyword, ranking)
{
	/*if (keyword != null)
	{
		_hbSet('c4', 'Clicks to Company Website by Product|' + keyword);
		_hbSend();
	}*/
	if (companyName != null && companyName != '')
	{
		if (corporateKey == null)
			corporateKey = '';

		//only do one _hbSend at the end of this function. vcon does not get cleared after each send unlike other 
		//gateway variables so it will be sent twice if we do a _hbSend here as well.
		_hbSet('vcon',  '/Clicks+To+Company+WebSite/' + companyName + '+(' + corporateKey + ')/');
		//_hbSend();
		
		
	}

	if (ranking != null)
	{
		var rankingrange = "";
		if (ranking >=1 && ranking <= 10)
			rankingrange = ranking;
		else if(ranking >=11 && ranking <= 20)
			rankingrange = "11-20";
		else if(ranking >=21 && ranking <= 30)
			rankingrange = "21-30";
		else if(ranking >=31 && ranking <= 40)
			rankingrange = "31-40";
		else if(ranking >=41 && ranking <= 50)
			rankingrange = "41-50";
		else
			rankingrange = "50 and above";
		_hbSet('c4', 'Clicks to Company Website by Ranking|' + rankingrange);
		
	}
	_hbSend();
}

/* Used for hitbox */
function ClicksToCompanyProfile(corporateKey, companyName, keyword, ranking)
{
	/*if (keyword != null)
	{
		_hbSet('c4', 'Clicks to Company Profile Page by Product|' + keyword);
		_hbSend();
	}*/
	
	/* Commented as this is now tracked by multi-level content heirarchy
	if (companyName != null && companyName != '' && keyword != null && keyword != '')
	{
		if (corporateKey == null)
			corporateKey = '';

		_hbSet('c2', companyName + '(' + corporateKey + ')|' + keyword);
		_hbSend();
		
	}*/
	
	if (ranking != null)
	{
		var rankingrange = "";
		if (ranking >=1 && ranking <= 10)
			rankingrange = ranking;
		else if(ranking >=11 && ranking <= 20)
			rankingrange = "11-20";
		else if(ranking >=21 && ranking <= 30)
			rankingrange = "21-30";
		else if(ranking >=31 && ranking <= 40)
			rankingrange = "31-40";
		else if(ranking >=41 && ranking <= 50)
			rankingrange = "41-50";
		else
			rankingrange = "50 and above";
		_hbSet('c4', 'Clicks to Company Profile Page by Ranking|' + rankingrange);
		_hbSend();
	}
}

/* Used for hitbox */
/* Used by  Jobs Search */
/*function  (pageName, contentGroups)
{
	_hbSet('n', pageName);
	_hbSet('vcon', contentGroups);
	_hbSend();
}*/

function AdvancedSearch_RepopulateRegions(changedDropdown, searchOption, searchText)
{
     window.location = '/AdvancedSearch.aspx?country=' + changedDropdown.value + '&searchType=' + searchOption + '&searchText=' + escape(searchText.value);
}

//GeoRefineSearch Tabs functions
function SwitchTo(tab, panel)
{
    nonSelectedTab = 'nonSelectedTab';
    selectedTab = 'selectedTab';
    nonSelectedPanel = 'nonSelectedPanel';
    selectedPanel = 'selectedPanel';
    
    targetTab = document.getElementById(tab);
    targetPanel = document.getElementById(panel);    
    if(targetTab != null && targetPanel != null)
    {
        //Clear all tabs and panels
        regionTab = document.getElementById('RegionTab');
        if(regionTab != null)
        {
            regionTab.className = nonSelectedTab;
        }

        stateTab = document.getElementById('StateTab');
        if(stateTab != null)
        {
            stateTab.className = nonSelectedTab;
        } 
        
        cityTab = document.getElementById('CityTab');
        if(cityTab != null)
        {
            cityTab.className = nonSelectedTab;
        }
        
        regionPanel = document.getElementById('RegionsPanel');
        if(regionPanel != null)
        {
            regionPanel.className = nonSelectedPanel;
        }
        
        statePanel = document.getElementById('StatesPanel');
        if(statePanel != null)
        {
            statePanel.className = nonSelectedPanel;
        } 
        
        cityPanel = document.getElementById('CitiesPanel');
        if(cityPanel != null)
        {
            cityPanel.className = nonSelectedPanel;
        }
        
        moreRegionPanel = document.getElementById('MoreRegionsPanel');
        if(moreRegionPanel != null)
        {
            moreRegionPanel.className = nonSelectedPanel;
        }
        
        moreStatePanel = document.getElementById('MoreStatesPanel');
        if(moreStatePanel != null)
        {
            moreStatePanel.className = nonSelectedPanel;
        } 
        
        moreCityPanel = document.getElementById('MoreCitiesPanel');
        if(moreCityPanel != null)
        {
            moreCityPanel.className = nonSelectedPanel;
        }
        
        //Then reselect desired ones
        targetTab.className = selectedTab;
        targetPanel.className = selectedPanel;
    }
}

function SetAdvancedSearchRadioButton(newSelectedValue)
{
    document.getElementById(newSelectedValue).checked = true;
}

function OpenRFQ()
{
    document.getElementById('rfqBox').style.height = '600px';
    document.getElementById('rfqBox').style.overflow = 'auto';
    document.getElementById('closeRFQButton').innerHTML = 'Collapse';
    document.getElementById('closeRFQButton').onclick = CloseRFQ;
    
    document.getElementById('sg_wrapper').className = 'sg_wrapper_narrow';
    document.getElementById('sg_header').className = 'sg_header_narrow';
}

function CloseRFQ()
{
    document.getElementById('rfqBox').style.height = '150px';
    document.getElementById('rfqBox').style.overflow = 'hidden';
    document.getElementById('closeRFQButton').innerHTML = 'Expand';
    document.getElementById('closeRFQButton').onclick = OpenRFQ;
    
    document.getElementById('sg_wrapper').className = 'sg_wrapper_wide';
    document.getElementById('sg_header').className = 'sg_header_wide';
}