//Baynote Observer for trendmicro-jp
//Last Updated October 1, 2009
//Baynote prefix and suffix for custom window.name
var bn_window_param_start = "unb~tmjp~[";
var bn_window_param_end = "]~";
var bn_location_href = window.location.href;
var window_name = window.name;

//Grab information for the title and description from the meta tags, if available
function baynote_getMeta(name) {
	var metas=document.getElementsByTagName("meta");
	
	if (!metas) return;
        
	var summary="";
	
	for (var i=0; i < metas.length; i++) {
		if (!metas[i]) return;
		if (metas[i].name == name) {
        	return metas[i].content;    	
    	}
	}
}


//Get URL GET parameter such as familyId, documentCategoryId, etc. 
function getParam( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

//Check if a variable is null or is an empty string
function bn_isNotEmpty(name) {
	return (name != null) && (name != "");
}

//Get the value of cookie c_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 "";
}

//Set value for cookie c_name
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());
}

//Set window.name
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);
	}
}

//Get the window name and set bn_u cookie
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_getBaynoteTitle()
{ 
	var regexMatch = "\\s\\|";
	var docTitle = document.title;
	var index = docTitle.search(regexMatch);
	if(index > 0)
	{
		docTitle = docTitle.substring(0,index);
	}
    return docTitle;
}


function bn_showObserver() {
	//Determine appropriate tag server
	
	if (bn_location_href.indexOf("https://") == 0) {
		baynote_tag.server = "https://trendmicro-jp.baynote.net";
	} else {
		baynote_tag.server = "http://trendmicro-jp.baynote.net";
	}

	baynote_tag.customerId					= "trendmicro";
	baynote_tag.code						= "jp";
	baynote_tag.type						= "baynoteObserver";
	baynote_tag.title                       = baynote_getBaynoteTitle();
	
	if (typeof(search_query) != 'undefined' && bn_isNotEmpty(search_query)) {
	    baynote_tag.query                   = search_query;
	}
	
	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) {
		bn_getWU();
		bn_showObserver();
	} 
	else {
		bn_showObserver();
		bn_setWU();
	}
