/*Baynote New Observer for NokiaSeimens
 * 
 * Version 1.2
 * 
 * Updated 6/25
 * 
 * */

var bn_window_param_start = "unb~nsn~[";
var bn_window_param_end = "]~";
var bn_location_href= window.location.href;
var window_name = window.name;

function bn_isNotEmpty(name) {
	return (name != null) && (name != "");
}
function bn_getCookie(c_name) {
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1) { 
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length
				return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}
function bn_setCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays)
	document.cookie=c_name+ "=" +escape(value)+ ";path=/" +
		((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function bn_checkU(action) {	
	if(action == "setWU" ) { bn_setWU(); }
	else if (action == "getWU" ) { bn_getWU(); }
}

function bn_setWU(bn_iter) {
	var bn_iter_limit = 5;
	if(typeof(bn_iter) != 'undefined' && bn_iter > bn_iter_limit) { return; }
	var bn_u_val = bn_getCookie('bn_u');
	if(bn_isNotEmpty(bn_u_val)) {
		window.name = bn_window_param_start + bn_u_val + bn_window_param_end;
	} else {
		if(typeof(bn_iter) != 'undefined' && bn_iter > 0)
			setTimeout("bn_setWU("+(bn_iter+1)+");",500);
		else
			setTimeout("bn_setWU("+1+");",500);
	}
}

function bn_getWU() {	
	var bn_u_cookieval = bn_getCookie('bn_u');	
	var start_idx = bn_window_param_start.length;
	var end_idx = window_name.indexOf(bn_window_param_end);
	
	if(end_idx > start_idx && end_idx < window_name.length) {
		var bn_u_val = window_name.substring(start_idx, end_idx);
		
		if(bn_isNotEmpty(bn_u_val)) {
			bn_setCookie('bn_u',bn_u_val,365*3);
		} else {
			bn_setCookie('bn_u',4,365*3);
		}
	}
}
function baynote_getUrlParam(name) {
	  var regexS = "[\\?&]"+name+"=([^&#]*)";
	  var regex = new RegExp( regexS, "i" );
	  var pageUrl = baynote_getPageUrl();
	  var results = regex.exec(pageUrl);
	  if( results == null )
	    return "";
	  else
	    return results[1];
	}
	function baynote_getPageUrl() {
	   var pageUrl = bn_location_href;
	   if ( (typeof(pageUrl) == "undefined") || (pageUrl == null) || (pageUrl == ""))
	     pageUrl = window.location.href;
	   return pageUrl;
	}
	function get_cc(){
		var pageUrl = baynote_getPageUrl(); 
		var regex = RegExp ("^http://.*nokiasiemensnetworks.com/([^/]*)/.*","i");
		results = regex.exec(pageUrl);
		if( results == null )
		    return "";
		  else
		return results[1];
	}
function baynote_setAttrs() {
	/*alert('setAttrs');*/
	var lang = baynote_getUrlParam("languagecode");
	baynote_tag.attrs.pageLang = lang;
	
	var pageTitle = document.title;
	if(lang == "en"){
		baynote_tag.attrs.title_en = pageTitle;
	}else if(lang == "es"){
		baynote_tag.attrs.title_es = pageTitle;
	}else if(lang == "ja"){
		baynote_tag.attrs.title_ja = pageTitle;
	}else if(lang == "pt"){
		baynote_tag.attrs.title_pt = pageTitle;
	}else if(lang == "de"){
		baynote_tag.attrs.title_de = pageTitle;
	}else if(lang == "zh"){
		baynote_tag.attrs.title_zh = pageTitle;
	}else if(lang == "ru"){
		baynote_tag.attrs.title_ru = pageTitle;
	}else if(lang == "ko"){
		baynote_tag.attrs.title_ko = pageTitle;
	}
	var metas = document.getElementsByTagName("meta");
	if (!metas) return;
	
	for (var i = 0; i < metas.length; i++) {
		if (!metas[i]) return;
			if (metas[i].name == "Last-Modified") {
				var tempMetaContent = metas[i].content;
				if(bn_isNotEmpty(tempMetaContent)) {
					baynote_tag.docAttrs.last_modified = tempMetaContent;
				}
			} else if (metas[i].name == "DC.Date.Created") {
				var tempMetaContent = metas[i].content;
				if(bn_isNotEmpty(tempMetaContent)) {
					baynote_tag.docAttrs.dc_date_created = tempMetaContent;
				}
			} else if (metas[i].name == "DC.Date.Modified") {
				var tempMetaContent = metas[i].content;
				if(bn_isNotEmpty(tempMetaContent)) {
					baynote_tag.docAttrs.dc_date_modified = tempMetaContent;
				}
			}
	}
}
function bn_showObserver() {
 
	var code = get_cc();
	if(typeof (code)&&code!=""&&(code=="es"||code=="pt"||code=="zh"||code=="fr"||code=="de"||code=="ja"||code=="ru"))
	{
	if (bn_location_href.indexOf("https://") == 0) {
 baynote_tag.server = "https://nsn-"+code+".baynote.net";
 } else {
 baynote_tag.server = "http://nsn-"+code+".baynote.net";
 }
 
 baynote_tag.customerId="nsn";
 baynote_tag.code=code;
 baynote_tag.type="baynoteObserver";
 
 if(window.location.href.search(/www\.connectivityscorecard/i) != -1){
	baynote_tag.attrs.siteDomain = "connectivityscorecard";
 }else if(window.location.href.search(/unite\.nokiasiemensnetworks/i) != -1){
	baynote_tag.attrs.siteDomain = "unite";
 }else if(window.location.href.search(/blogs\.nokiasiemensnetworks\./i) != -1){
	baynote_tag.attrs.siteDomain = "blogs";
 }else{
	baynote_tag.attrs.siteDomain = "nokiasiemensnetworks";
	baynote_globals.cookieSubDomain= code;

 }
 baynote_setAttrs();
 baynote_tag.show();

}
	else{
		if (bn_location_href.indexOf("https://") == 0) {
			 baynote_tag.server = "https://nsn-www.baynote.net";
			 } else {
			 baynote_tag.server = "http://nsn-www.baynote.net";
			 }
			 
			 baynote_tag.customerId="nsn";
			 baynote_tag.code="www";
			 baynote_tag.type="baynoteObserver";
			 
			 if(window.location.href.search(/www\.connectivityscorecard/i) != -1){
				baynote_tag.attrs.siteDomain = "connectivityscorecard";
			 }else if(window.location.href.search(/unite\.nokiasiemensnetworks/i) != -1){
				baynote_tag.attrs.siteDomain = "unite";
			 }else if(window.location.href.search(/blogs\.nokiasiemensnetworks\./i) != -1){
				baynote_tag.attrs.siteDomain = "blogs";
			 }else{
				baynote_tag.attrs.siteDomain = "nokiasiemensnetworks";
				/*baynote_globals.cookieSubDomain= "www";*/

			 }
			 baynote_setAttrs();
			 baynote_tag.show();

			}
		
}

/*
If window.name has been initialized with the baynote pattern, then call getWU to set the bn_u cookie. 
Otherwise, call bn_showObserver(), then bn_setWU()
*/

if (bn_isNotEmpty(window_name) && window_name.indexOf(bn_window_param_start) == 0 && (typeof(baynote_tag)!="undefined")) {
	//alert("window.name had been set");
	bn_getWU();
	bn_showObserver();
} else{
	bn_showObserver();
	bn_setWU();
}

