/*
 * Baynote Observer for dell.com
 * Last updated: Nov 13, 2009 v2
 */
function bn_isNotEmpty(name) {
	return (name != null) && (name != "");
}
function bn_sendOrderInfo(url) {
	var param = new Object() ;
	param.action = "visit";
	if (url) {
		param.d = url;
	} else {
		param.d = window.location;
	}
	param.attrs = new Object();
	if (typeof(bnOrderId) != "undefined" && bn_isNotEmpty(bnOrderId))
		param.attrs.purchaseId = bnOrderId;
	if (typeof(bnOrderTotal) != "undefined" && bn_isNotEmpty(bnOrderTotal))
		param.attrs.totalPurchases = parseFloat(bnOrderTotal);
	if (typeof(bnOrderDetails) != "undefined" && bn_isNotEmpty(bnOrderDetails))
		param.attrs.purchaseDetails = bnOrderDetails;
	param.pi = new Object();
	param.pi.pt = "content";
	if(typeof(bnCall) != "undefined") {
		bnCall("baynoteObserver","actionOccurred",param);
	}
}
var bn_onClickHandler = function(clickedElement, exitInfo) {
   var clickUrl = "";
   var sku = "";
   var exitResult = false;
   if(typeof(bnObserver) != 'undefined' && typeof(bnObserver.defaultExitConfirmation) != 'undefined') {
      exitResult = bnObserver.defaultExitConfirmation(clickedElement,exitInfo);
   }
   if(clickedElement) {
      if (bn_isNotEmpty(clickedElement.tagName)) {
         if((clickedElement.tagName == "A" && clickedElement.href.indexOf("AsyncAddToCart") > 0)) {
            clickUrl = clickedElement.href;
         } else if ((clickedElement.tagName == "IMG" && clickedElement.parentNode.tagName == "A" && clickedElement.parentNode.href.indexOf("AsyncAddToCart") > 0)) {
            clickUrl = clickedElement.parentNode.href;
         }
      }
      if (bn_isNotEmpty(clickUrl)) {

          var re1='.*?';	// Non-greedy match on filler
          var re2='sku=([^&]+).*';

          var p = new RegExp(re1+re2,["i"]);
          var m = p.exec(clickUrl);
          
          if (m != null)
          {
              sku = m[1];
          }
      
         if(exitInfo != null && typeof(exitInfo.attrs) == "undefined") {
            exitInfo.attrs = new Object();
         }
         exitInfo.attrs.action = "AddToCart";
         exitInfo.attrs.target = "http://accessories.us.dell.com/sna/productdetail.aspx?sku="+sku;
         exitResult = true;
      }
   }
   return exitResult;
}
function bn_showObserver() {
	bn_customerId = "dell";
	bn_code = "www";
	var bn_locHref = window.location.href;
	if (bn_locHref.indexOf("https://") == 0) {
		baynote_tag.server = "https://" + bn_customerId + "-" + bn_code + ".baynote.net";
	} else {
		baynote_tag.server = "http://" + bn_customerId + "-" + bn_code + ".baynote.net";
	}
	baynote_tag.customerId = bn_customerId;
	baynote_tag.code = bn_code;
	baynote_tag.type = "baynoteObserver";
	baynote_tag.metaKeys = "PRODCAT,SEGMENT,LANGUAGE,DOCUMENTCOUNTRYCODE";
	if (bn_locHref.indexOf("dell.com") > 0) {
		baynote_globals.cookieDomain = "dell.com";
	}
	if(typeof(bnOrderId) != "undefined") {
		baynote_tag.handler = "handler2f.js";  
	}
	baynote_tag.exitConfirmation = bn_onClickHandler;
	
	var cookie = bn_getCookie("StormPCookie");
	
	if (cookie != null && cookie != "") {
	    var penv = bn_getUrlParameter("penv", cookie);

	    if (penv != null && penv != "") {
	        var evbeta = penv.split("|")[0];
	        
	        baynote_tag.attrs.evbeta = evbeta;
	   }
	}
	
	var s = bn_getUrlParameter("s");
	
	if (s != null && s != "") {
	    baynote_tag.attrs.evseg = s;
	}
	
	var ref = document.referrer;
	
	if(bn_locHref.indexOf("&~ck") > 0) {
	} else if(ref.indexOf("category.aspx") > 0 && bn_locHref.indexOf("productdetail.aspx")) {
	    baynote_tag.url = bn_locHref + "&~ck=Featured";
	} else if (ref.indexOf("AddedToCart.aspx") > 0 && bn_locHref.indexOf("PopupProductDetail.aspx")) {
	    baynote_tag.url = bn_locHref + "&~ck=XYRelatedCart";
	}
	
	if(bn_locHref.indexOf("&~ck=mn") > 0) {
	} else if(bn_locHref.indexOf("&~ck=anav") > 0) {
	} else if((bn_locHref.indexOf("&~ck") > 0) || (bn_locHref.indexOf("&~bk") > 0) || (typeof(baynote_tag.url) != "undefined" && baynote_tag.url.indexOf("productdetail.aspx") > 0 && baynote_tag.url.indexOf("&~ck") > 0)) {
	    baynote_tag.specialTarget = "true";
	}
	
	baynote_tag.show();
}

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_getUrlParameter(name, source)
{
    if (source == null) {
        source = window.location.href;
    }
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec(source);
  if( results == null )
    return "";
  else
    return results[1];
}

if (typeof(baynote_tag)!="undefined") {
	bn_showObserver();
}