/*
 * Baynote Observer for att.com
 * Last updated: Jul 7, 2009
 */
var bn_searchEnabled = true;
var bn_policyLoaded = false;
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,c_value,c_domain,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	if (c_domain != null && c_domain != "") {
		document.cookie = c_name+"="+escape(c_value)+";domain="+c_domain+";path=/"+((expiredays==null)?"":";expires="+exdate.toGMTString());
	} else {
		document.cookie = c_name+"="+escape(c_value)+";path=/"+((expiredays==null)?"":";expires="+exdate.toGMTString());
	}
}
function bn_getOrderInfo() {
	if (typeof(bnOrderId) != "undefined" && bn_isNotEmpty(bnOrderId)) {
		baynote_tag.attrs.purchaseId = bnOrderId;
		if (typeof(bnOrderTotal) != "undefined" && bn_isNotEmpty(bnOrderTotal)) {
			baynote_tag.attrs.totalPurchases = parseFloat(bnOrderTotal);
			baynote_tag.specialTarget = true;
		}
		if (typeof(bnOrderDetails) != "undefined" && bn_isNotEmpty(bnOrderDetails)) {
			baynote_tag.attrs.purchaseDetails = bnOrderDetails;
		}
		if (typeof(bnOrderType) != "undefined" && bn_isNotEmpty(bnOrderType)) {
			baynote_tag.attrs.purchaseType = bnOrderType;
		}
	}
}
function bn_getCustomerInfo() {
	if (typeof(bnCustomerType) != "undefined" && bn_isNotEmpty(bnCustomerType))
		baynote_tag.attrs.customerType = bnCustomerType;
}
function bn_getMeta(meta_name) {
	var metas = document.getElementsByTagName("meta");
	if (!metas) return;
	for (var i = 0; i < metas.length; i++) {
		if (!metas[i]) return;
		if (metas[i].name.toLowerCase() == meta_name.toLowerCase()) {
			return metas[i].content;
		}
	}
}
function bn_removeHtml(raw) {
	raw = raw.replace(/\<[^>]*\>/g, "");
	raw = raw.replace(/\<.*/, "");
	raw = raw.replace(/\ /g, " ");
	raw = raw.replace(/^\s+/, "");
	raw = raw.replace(/\s+$/, "");
	raw = raw.replace(/\n/g, " ");
	raw = raw.replace(/\s+/m, ' ') ;
	return raw;
}
function bn_getAnsCtrSummary() {
	var paragraphs = document.getElementsByTagName("dt");
	if (!paragraphs) return;
	for (var i=0; i<paragraphs.length; i++) {
		if (!paragraphs[i]) return;
		if (paragraphs[i].innerHTML != "") {
			var summary = bn_removeHtml(paragraphs[i].innerHTML);
			if (summary.indexOf("Answer") >= 0 || summary.indexOf("Fix") >= 0) {
				if (summary.length > 180) summary = summary.substring(0,180) + "...";
				if (summary != "") return summary;
			}
		}
	}
}
function bn_getSummary() {
	var bn_locHref = window.location.href;
	var bn_metaDesc = bn_getMeta("description");
	if (bn_isNotEmpty(bn_metaDesc)) {
		baynote_tag.summary = bn_metaDesc; 
	} else if (bn_locHref.indexOf("/answer-center/") > 0 || bn_locHref.indexOf("/support/") > 0) {
		var bn_ansDesc = bn_getAnsCtrSummary();
		if (bn_isNotEmpty(bn_ansDesc)) {
			baynote_tag.summary = bn_ansDesc; 
		}
	}
}
function bn_getAttrs() {
    var cookie = bn_getCookie("attPersistantLocalization");
    var keys = cookie.split("|");
    for (var i = 0; i < keys.length; i++) {
    	var value = keys[i].substring(keys[i].indexOf("=")+1, keys[i].length);
    	if (keys[i].search("ltype") == 0) {
            baynote_tag.docAttrs.ltype = value;
        } else if (keys[i].search("segment") == 0) {
            baynote_tag.docAttrs.segment = value;
        } else if (keys[i].search("company") == 0) {
    	    baynote_tag.docAttrs.company = value;
   		} else if (keys[i].search("state") == 0) {
            baynote_tag.docAttrs.state = value;
    	}
    }
}
function bn_showObserver() {
	var bn_locHref = window.location.href;
	if (bn_locHref.indexOf("https://") == 0) {
		baynote_tag.server = "https://attwireless-www.baynote.net";
	} else {
		baynote_tag.server = "http://attwireless-www.baynote.net";
	}
	baynote_tag.customerId = "attwireless";
	baynote_tag.code = "www";
	baynote_tag.type = "baynoteObserver";
	if (bn_locHref.indexOf(".att.com") > 0) {
	    baynote_globals.cookieDomain = "att.com";
	} else if (bn_locHref.indexOf(".bellsouth.com") > 0) {
	    baynote_globals.cookieDomain = "bellsouth.com";
	} else if (bn_locHref.indexOf(".sbc.com") > 0) {
	    baynote_globals.cookieDomain = "sbc.com";
	}
	bn_getOrderInfo();
	bn_getCustomerInfo();
	bn_getSummary();
	if (bn_locHref.match(/^https?:\/\/www\.wireless\.att\.com\//)) { }
	else { bn_getAttrs(); }
	baynote_tag.show();
}
function bn_checkPolicy() {
	if (!bnPolicy.get("guide","ok")) {
		bn_searchEnabled = false;
		bn_setCookie('bn_search','false',baynote_globals.cookieDomain,90);
	} else {
		bn_setCookie('bn_search','true',baynote_globals.cookieDomain,90);
	}
	bn_policyLoaded = true;
}
function bn_waitForPolicy() {
	if(typeof(bnResourceManager) != "undefined" && bnResourceManager != null) {
		bnResourceManager.waitForResource("Policy", function() { bn_checkPolicy(); });
	}
}
if(typeof(baynote_tag)!="undefined") {
	bn_showObserver();
	bn_waitForPolicy();
}