



try
{
	BrowserDetect.init();
}
catch(err)
{}

var nexumfeaturelabeltagstart;
var nexumfeaturelabeltagend;
var generalContent;
var featureLabelStrongSignStart = 'FEATURELABELSTRONGSTART';
var featureLabelStrongSignEnd = 'FEATURELABELSTRONGEND';
var featurePosition = false;
var ContinueToPassive = false;
var browserType = 'Explorer';

try
{
	browserType = BrowserDetect.browser;
}
catch(err)
{}

ApplyFeatureLabelIfNecessary();

function ApplyFeatureLabelIfNecessary(){
	nexumfeaturelabeltagstart = 'nexumfeaturelabeltagstart';
	nexumfeaturelabeltagend = 'nexumfeaturelabeltagend';

	if(document.getElementById('NC_mainContent') != null){
		var content = document.getElementById('NC_mainContent').innerHTML.toLowerCase();
	
		FeatureLabelStrong(document.getElementById('NC_mainContent'));
		
		if(content.indexOf(nexumfeaturelabeltagstart.toLowerCase()) > -1){
		
		if(typeof(FeatureLabel_keywordArray) === 'undefined') return false;
		
			for(var i=0;i<FeatureLabel_keywordArray.length;i++){
				if (content.indexOf(FeatureLabel_keywordArray[i].toLowerCase()) >= 0)
				{
					ApplyFeatureLabel(FeatureLabel_keywordArray[i], i, nexumfeaturelabeltagstart, nexumfeaturelabeltagend);
				}
			}
		}
		
		FeatureLabelStrongPassive(document.getElementById('NC_mainContent'),null);
	}
}

function ApplyFeatureLabel(term, keywordIndex, nexumfeaturelabeltagstart, nexumfeaturelabeltagend){
	generalContent = document.getElementById('NC_mainContent').innerHTML;
	term = term.replace(/\"/g,"");
	HighlightFeatureLabels(term, document.getElementById('NC_mainContent'), keywordIndex);
}

function FeatureLabelStrong(container, counter){
	if(container.tagName == 'STRONG' && container.childNodes.length == 1){
		var parent = container.parentNode;
		if (parent != null)
		{
			for(i=0; i< parent.childNodes.length; i++)
			{
				if (parent.childNodes[i] == container)
				{
					counter = i;
					break;
				}
			}
		}
		if(parent.childNodes[counter].childNodes.length == 1 && parent.childNodes[counter].childNodes[0].nodeType == 3){
		
			if(counter > 0){
				var previousNode = parent.childNodes[counter-1];
			}
			
			var currentNode = parent.childNodes[counter].childNodes[0];
			var nextNode = parent.childNodes[counter+1];
			var newData = '';
			
			if(previousNode != null && previousNode.data != null){
			
				if(previousNode.data != null){
					newData += previousNode.data;
				}
				
				newData += featureLabelStrongSignStart + currentNode.data + featureLabelStrongSignEnd;
				
				if(nextNode != null && nextNode.data != null){
					newData += nextNode.data;
				}
				
				previousNode.data = newData;
				
				if(nextNode != null){
					parent.removeChild(parent.childNodes[counter+1]);
				}
				
				parent.removeChild(parent.childNodes[counter]);
			}else{
				if(previousNode == null){
				
				} else if(previousNode.data == null){
					
					newData += featureLabelStrongSignStart + currentNode.data + featureLabelStrongSignEnd;
					
					//if(nextNode != null && nextNode.data != null){
						//newData += nextNode.data;
					//}
					
					var newNode = document.createTextNode(newData);
					
					container.parentNode.replaceChild(newNode, parent.childNodes[counter]);
					
					//if(nextNode != null){
					//	parent.removeChild(parent.childNodes[counter+1]);
					//}
				}
			}
		}
	}else{
		for(var i=0; i<container.childNodes.length; i++){
			var node = container.childNodes[i];
			if (node.nodeType != 3){
				FeatureLabelStrong(node, i);
			}
		}
	}
}

function FeatureLabelStrongPassive(container){
	
	for(var i=0; i<container.childNodes.length; i++){
		
		var node = container.childNodes[i];
		if (node.nodeType == 3){
			var data = node.data;
			var result;
			
			if((result = data.indexOf(featureLabelStrongSignStart)) > -1){
				if(data.indexOf(featureLabelStrongSignEnd) > -1){
					
					var new_node = document.createElement('SPAN');
					node.parentNode.replaceChild(new_node, node);
					
					new_node.appendChild(document.createTextNode(data.substr(0,result)));
					
					var strongNode = document.createElement('STRONG');
					var nodeText = data.substring(result+featureLabelStrongSignStart.length, data.indexOf(featureLabelStrongSignEnd));
					strongNode.appendChild(document.createTextNode(nodeText));
					new_node.appendChild(strongNode);
					
					var lastText = data.substr(data.indexOf(featureLabelStrongSignEnd) + featureLabelStrongSignEnd.length);
					var lastNode = document.createTextNode(lastText);
					new_node.appendChild(lastNode);
									
					if(lastText.indexOf(featureLabelStrongSignStart) > -1){
						FeatureLabelStrongPassive(container);
					}
				} else {
					
					var searchNode = null
					var j;
					for (j=i; j<=container.childNodes.length; j++){
						searchNode = container.childNodes[j];
						if(searchNode.nodeType == 3 && searchNode.data.indexOf(featureLabelStrongSignEnd) > -1){
							break;
						}else{
							searchNode = null;
						}
					}
					
					if(searchNode != null){
						
						var strongNode = document.createElement('STRONG');
						node.parentNode.replaceChild(strongNode, node);
						
						strongNode.appendChild(document.createTextNode(data.replace(featureLabelStrongSignStart, ''))); //strong start oncesinde yazi varsa diye kontrol
						
						for(var k=i+1; k<j; k++){
							strongNode.appendChild(container.childNodes[k]);
						}
						
						var lastText = container.childNodes[j-1].data.substring(0, container.childNodes[j-1].data.indexOf(featureLabelStrongSignEnd));
						
						strongNode.appendChild(document.createTextNode(lastText));
						
						container.childNodes[j-1].data = container.childNodes[j-1].data.substring(container.childNodes[j-1].data.indexOf(featureLabelStrongSignEnd) + featureLabelStrongSignEnd.length);
					}
				}
			}
		}
		FeatureLabelStrongPassive(node, i);			
	}	

}

function HighlightFeatureLabels(term, container, keywordIndex){
	
	var term_low = term.toLowerCase().replace('<strong>', featureLabelStrongSignStart.toLowerCase()).replace('</strong>', featureLabelStrongSignEnd.toLowerCase());	
	
	for(var i=0; i<container.childNodes.length; i++){
		var node = container.childNodes[i];
		
		if(node.tagName != null && node.tagName.toUpperCase() == 'SPAN' && node.attributes['class'] != null && node.attributes['class'].value != null){
			if(node.attributes['class'].value.toLowerCase() == nexumfeaturelabeltagstart.toLowerCase()){
				featurePosition = true;
			}
			
			if(node.attributes['class'].value.toLowerCase() == nexumfeaturelabeltagend.toLowerCase()){
				featurePosition = false;
			}
		}
		
		if (node.nodeType == 3){
			
			var data = node.data;
			var data_low = data.toLowerCase();
			
			var index = data_low.indexOf(term_low);
			if (index != -1){
				
				var dataIndex = generalContent.toLowerCase().indexOf(data_low);

				if(featurePosition && node.parentNode.tagName != 'A'){
										
					var new_node = document.createElement('SPAN');
					node.parentNode.replaceChild(new_node, node);
					var result = 0;
					
					while((result = data_low.indexOf(term_low, result)) != -1){
						
						var initCheck = true;
						var endCheck = true;
						
						if(data_low.length > term_low.length)
						{
							if(result != 0) {
								var initialChar = data_low.substr(result-1, 1)
								if(initialChar != null && initialChar != '') {
									initCheck = CheckCharacter(initialChar);
								}
							}
							
							var endChar = data_low.substr(result+term_low.length, 1);
							if(endChar != null && endChar != '') {
								endCheck = CheckCharacter(endChar);
							}
						}
						
						if(initCheck && endCheck)
						{
							new_node.appendChild(document.createTextNode(data.substr(0,result)));
							new_node.appendChild(CreateFeatureLabel(document.createTextNode(data.substr(result,term_low.length)), keywordIndex));
							data = data.substr(result + term_low.length);
							data_low = data_low.substr(result + term_low.length).toLowerCase();
						}	
						
						result = result + term.length;
					}
					
					new_node.appendChild(document.createTextNode(data));
					generalContent = document.getElementById('NC_mainContent').innerHTML;
				}
			}
		}else{
			HighlightFeatureLabels(term, node, keywordIndex);
		}
	}
}

function CreateFeatureLabel(child, featureIndex){
	
	var descriptionText = escape(FeatureLabel_textArray[featureIndex]);
	
	var featureLabelStartTag;
	var node;
	
	if(browserType == 'Explorer'){
		featureLabelStartTag = "<a href=\"javascript:void(0);\" class=\"NC_featureLabel\" onmouseover=\"this.T_TITLE='" + FeatureLabel_titleArray[featureIndex] + "';this.T_STICKY=true;this.T_PATH='" + FeatureLabel_pathArray[featureIndex] + "';this.T_TARGET='" + FeatureLabel_targetArray[featureIndex] + "';this.T_POPUP='" + FeatureLabel_popupWindowArray[featureIndex] + "';this.T_TARGETTYPE='" + FeatureLabel_targetTypeArray[featureIndex] + "';return escape(unescape('" + descriptionText + "'));\">";
		node = document.createElement(featureLabelStartTag);
	}
	else if(browserType == 'Firefox'){
		featureLabelStartTag = "a";
		node = document.createElement(featureLabelStartTag);
		node.setAttribute('href', 'javascript:void(0);');
		node.setAttribute('class', 'NC_featureLabel');
		node.setAttribute('onmouseover', 'this.T_TITLE="' + FeatureLabel_titleArray[featureIndex] + '";this.T_STICKY=true;this.T_PATH="' + FeatureLabel_pathArray[featureIndex] + '";this.T_TARGET="' + FeatureLabel_targetArray[featureIndex] + '";this.T_POPUP="' + FeatureLabel_popupWindowArray[featureIndex] + '";this.T_TARGETTYPE="' + FeatureLabel_targetTypeArray[featureIndex] + '";return escape(unescape("' + descriptionText + '"));');
	}
	
	node.appendChild(child);
	return node;
}

function CheckCharacter(character){

	var list = "abcdefghijklmnoprstuvyzqwxABCDEFGHIJKLMNOPRSTUVYZQWX><";

	for (var i = 0; i < list.length; i++)
		if (character == list.charAt(i)) { return false; }

	return true;
}
