/*
this is the VSD part of the certona logic. This uses the API defined by the certona.js file.
*/
var current_location = (window.top.location).toString();
var landing	= (current_location.indexOf("/landing")!=-1);
var collection	= (current_location.indexOf("/collection")!=-1);
var addToBag	= (current_location.indexOf("/addToBag")!=-1);
var viewbag	= (current_location.indexOf("/viewBag")!=-1);
var thanks	= (current_location.indexOf("/checkout-submitOrde")!=-1);
var search = ((current_location.indexOf("search.")!=-1) || (current_location.indexOf("stage.")!=-1) || isdefined("local_search"));

var product	= false;
// need to test multiple URL parameters
if ((current_location.indexOf("/onlineProductDisplay")!=-1) || 
    (current_location.indexOf("namespace=productDisplay")!=-1) 
    //|| (current_location.indexOf("/shoppingbag-editProduct")!=-1) ){ // add in case of wanting this on edit pages too.
    ){
	product = true;
}

function isdefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}


var resx = new Object();
resx.appid="vsd01";
resx.top1=50000;
resx.top2=100000;
//resx.top2=50000;
//resx.top3=100000;

resx.lkmatch=/prnbr%3D[\w\-]+/i;
if (location.host.indexOf("limited.com") != -1){
	resx.host="staging.res-x.com"; // turn off dev before going to production. 
}
resx.rrcat="vsdC01";

/* Gets the customer ID */
resx.customerid = hex_md5(getCustomerNumber()+""); // only enable after 8/20
//alert("cust="+getCustomerNumber());
// sending a blank in case the customer number is actually empty.
if (getCustomerNumber() == "") {
	resx.customerid = "";
	
}
//resx.customerid = getCustomerNumber();
var VSCCBAR_TEST = getVSCookie("VSCCBAR_TEST").toString();
if (VSCCBAR_TEST == "1") {
	alert("customer id = " + resx.customerid);
}

//default
resx.rrec = false; 

/* sIFR Implementation */
// already defined on landing
//var hoefler_roman = {
//  src: '/html/includes/personalization/hoefler_roman.swf'
//};


sIFR.useStyleCheck = true;
sIFR.activate(hoefler_roman);

sIFR.replace(hoefler_roman, {
  selector: 'div.recommend-container div.tagline h3',
  ratios: [9, 1.16, 16, 1.09, 24, 1.06, 37, 1.04, 74, 1.02, 1.01],
  css:
    [
      '.sIFR-root {  color:#333333; letter-spacing: 0;}'
      ,'a { text-decoration: none; }'
      ,'a:link { color:#333333; }'
      ,'a:hover { color:#333333; }'

    ],
  // leading: -50,
  tuneHeight: -3,//-5
  offsetTop: -1,
  wmode: 'transparent'
});

/*
to enable for different pages 
--------------------------------------
by adding the parameter you get images for the sub-directory
http://www2.victoriassecret.com/images/tmblg4/V285769_1.jpg

the default image size will be the subdirectory: tmblg2
*/

var sertona_coremetrics_tag = "";

//logic for each page
var rr_template = "";
var rr_title = "";
//recommend-container margin-right
var ie6	= (navigator.appVersion.indexOf("MSIE 6.")!=-1);
var ie7	= (navigator.appVersion.indexOf("MSIE 7.")!=-1);
var ie8	= (navigator.appVersion.indexOf("MSIE 8.")!=-1);
var marginRight = "44px;";
var cm_suffix = "";
var timeout = 1000; // default 1 second.

if (landing) {
	rr_title="pensamos que tambi\351n le gustar\341";
	rr_template="landing";
	resx.rrec=true;
	resx.rrnum="5";
	resx.event="test-landing";
	resx.rrqs = "imagesubdir=tmblg4";
	cm_suffix =  "LAND";
	if(ie6) marginRight = "21px;";
	//else if(ie7 || ie8) marginRight = "42px;";
}

if (collection) {
	resx.rrec=true;
	rr_title="Recomendado para usted";
	rr_template="collection";
	resx.rrnum="5";
	resx.rrqs = "imagesubdir=tmblg4";
	resx.event="test-collection";
	cm_suffix = "COLL";
	marginRight = "84px";
	if(ie6) marginRight = "44px;";
}
if(addToBag){
	rr_title="pensamos que tambi\351n le gustar\341";
	rr_template="cart";
	resx.rrec=true;
	resx.event="shopping+cart";
	resx.rrnum="6";
	resx.rrqs = "imagesubdir=tmblg2";//thumbnail
	resx.itemid=certItemList;
	cm_suffix="SHOPPING CART:ADD BAG CERTONA";
	resx.lkmatch=/prnbr%3D[\w\-]+/i;
	product =false;
	
}
if (product) {
	rr_title="Tambi\351n le encantar\341";
	rr_template="product";
	resx.rrec=true;	
	resx.rrnum="5";
	resx.rrqs = "imagesubdir=tmblg4";
	//resx.event="test-product";
	resx.event="page_items";
	resx.itemid=getPrnbrs(); // removed from product page
	cm_suffix = "PROD";
	if(ie6) marginRight = "34px;";
	else {marginRight = "68px;";}
}
if (viewbag) {
	rr_title="Tambi\351n le encantar\341";
	rr_template="viewbag";
	resx.rrec=true;	
	resx.rrnum="6";
	resx.rrqs = "imagesubdir=tmblg4";
	resx.event="test-bag";
	resx.event="page_items";
	resx.itemid=certItemList; // removed from product page
	cm_suffix = "SHOPPING CART: View Bag";
	marginRight = "68px;";
	if(ie6) marginRight = "36px;";
}

if (thanks) {
	rr_title="Tambi\351n le encantar\341";
	rr_template="thankyou";
	resx.rrec=false;	
	resx.rrnum="6";
	resx.rrqs = "imagesubdir=tmblg2";
	resx.event="page_items";
	resx.itemid= certItemList; //variable from jsp
	cm_suffix = "CHECKOUT: ORDER COMPLETE";
	timeout = 3000; // set to 3 seconds for this template
}

if (search) {
	rr_title="Tambi\351n le encantar\341";
	rr_template="search";
	resx.rrec=true;	
	resx.rrnum="5";
	resx.rrqs = "imagesubdir=tmblg4";
	resx.event="page_items";
	cm_suffix = "KEYWORD SEARCH RESULTS";
	marginRight = "5px";
}

if (getCertonaBucket() == 1 && resx.rrec) {
	sertona_coremetrics_tag = " CERT1";
} else {
	// added in the case of no cookie, need to test...
	if (getVSCookie("RES_TRACKINGID") == "") {
		sertona_coremetrics_tag = " NC";
	} else {
		sertona_coremetrics_tag = " VSD";
	}
}
sertona_coremetrics_tag = sertona_coremetrics_tag + cm_suffix;
//alert(sertona_coremetrics_tag);

resx.rrelem = rr_template + "_rr";

var certonaSuggSell = '';

if (resx.rrec && getCertonaBucket() != 0) {
	
	// actually creates the DIV element
	document.write('<link href="http://espanol2.victoriassecret.com/enes/sdwww2/html/includes/personalization/vsd_certona.css" rel="stylesheet" type="text/css" />');
	
	// from template provided from ICS
	//Added 'recommend-contentContainer' class to template_rr div - fix for bottom padding
	if (!addToBag) {
		document.write('<div id="personal-' + rr_template + '" class="recommend-container" style="margin-right:' + marginRight + '" ><div id="content"><div class="tagline"><h3>' + rr_title + '</h3></div><div id="' + rr_template + '_rr" class="recommend-contentContainer"></div></div><div class="clear"></div></div>');
		document.write('<br style="clear: both;"/>');
	}
}

function changeClassCertona(){
	var l = document.getElementById('personal-viewbag').getElementsByTagName('li');
	if(l.length > 5){
		for (var k = 0; k < l.length; k++) {
			if(k != 2 && k != 5){
				l[k].className="non-middle-rec";
			}
		}
	} 
}

// if 1 = true, 0 = false
function getCertonaBucket() {
	var certona_cookie = getVSCookie("RES_TRACKINGID").toString();
	var certona_number = certona_cookie.substring(1,6);
	// don't auto place into bucket, always put in no cookie bucket.
	//if (certona_cookie == "") {
	//	certona_number = Math.floor(Math.random() * 100000);
	//}
	if (certona_number != "" && certona_number <= resx.top1) {
		return 1;
	//} else if (certona_number > resx.top1 && certona_number <= resx.top2) {
	//	return 2;
	} else {
		return 0;
	}
}

//Gets the product numbers which are displayed in the Product Detail Page
function getPrnbrs() {

	var forms = document.forms;
	var prnbrs = "";
	for (var i=0;i<forms.length;i++) {
		var thisformelts = forms[i].elements;	
		for (var j=0;j<thisformelts.length;j++) {
			var fieldtype = thisformelts[j].type.toString();
			if (fieldtype.toLowerCase() == "hidden") {
				var name = thisformelts[j].name.toString();
				var names = name.split("_");
				if (names[0] == "COREMTYPE") {
					prnbrs = prnbrs + names[1] + ";";
				}
			}
		}	
	}
	return prnbrs;
}

//Gets the customer number from VSCCBAR cookie
function getCustomerNumber() {
	var cc_cookie = getVSCookie('VSCCBAR');
	var ccArray = cc_cookie.split("-");
	var customer_number = "";
	if (ccArray.length > 2) {
		customer_number = (ccArray[ccArray.length - 1] / 6);
	}
	return customer_number;
}

var t = setTimeout("autoHideCertona("+resx.rrec+")",timeout);

function autoHideCertona(val){
	if (val) {
		if (document.getElementById(rr_template + "_rr") != null) {
			var content = document.getElementById(rr_template + "_rr").innerHTML;
			if (content == ""){
				document.getElementById("personal-" + rr_template).style.display = 'none';
				cmCreatePageviewTag("CERT1" + cm_suffix + "_AUTOHIDE",null,"Autohide"); // add pageview for auto hide
				if (rr_template == "landing") {
					document.getElementById("landing_spacer").style.display = 'block';
				}
				if (rr_template == "viewbag") {
					document.getElementById("viewbag_spacer").style.display = 'block';
				}
				if (rr_template == "product") {
					var elt = getElementsByClassName("scott_main");
					if (elt != "null") {
						elt.style.marginBottom = "40px";
					}
				}
			} else { // since content is valid, then there's something to modify
				if (rr_template == "viewbag") { // if on viewbag then change the classnames to position things.
					changeClassCertona();
				}
			}
			
			if (rr_template == "cart") {
				document.getElementById(rr_template + "_rr").style.display = 'block';
			}
		}
	}
}

function getElementsByClassName(classname) {
    var divs = document.getElementsByTagName("div");
    for(var i=0;i<divs.length; i++) {
		if (divs[i].className == classname) {
			return divs[i];
		}
	}
	return "null";
}
//sets and overwrites values for thank you page based on current page.
function call_certona_thankyou(itemNbrs,itemQtys,itemTotals,orderTotal,customerNumber,orderNumber) {
	resx.event="purchase+confirmation";
	resx.itemid = itemNbrs;
	resx.qty = itemQtys;
	resx.price = itemTotals;
	resx.total = orderTotal;
	resx.customerid = hex_md5(customerNumber);
	resx.transactionid = orderNumber;
}

//MD5 Here vs. included
var hexcase=0;var b64pad="";function hex_md5(s){return rstr2hex(rstr_md5(str2rstr_utf8(s)));}function b64_md5(s){return rstr2b64(rstr_md5(str2rstr_utf8(s)));}function any_md5(s,e){return rstr2any(rstr_md5(str2rstr_utf8(s)),e);}function hex_hmac_md5(k,d){return rstr2hex(rstr_hmac_md5(str2rstr_utf8(k),str2rstr_utf8(d)));}function b64_hmac_md5(k,d){return rstr2b64(rstr_hmac_md5(str2rstr_utf8(k),str2rstr_utf8(d)));}function any_hmac_md5(k,d,e){return rstr2any(rstr_hmac_md5(str2rstr_utf8(k),str2rstr_utf8(d)),e);}function md5_vm_test(){return hex_md5("abc").toLowerCase()=="900150983cd24fb0d6963f7d28e17f72";}function rstr_md5(s){return binl2rstr(binl_md5(rstr2binl(s),s.length*8));}function rstr_hmac_md5(key,data){var bkey=rstr2binl(key);if(bkey.length>16)bkey=binl_md5(bkey,key.length*8);var ipad=Array(16),opad=Array(16);for(var i=0;i<16;i++){ipad[i]=bkey[i]^0x36363636;opad[i]=bkey[i]^0x5C5C5C5C;}var hash=binl_md5(ipad.concat(rstr2binl(data)),512+data.length*8);return binl2rstr(binl_md5(opad.concat(hash),512+128));}function rstr2hex(input){try{hexcase}catch(e){hexcase=0;}var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";var output="";var x;for(var i=0;i<input.length;i++){x=input.charCodeAt(i);output+=hex_tab.charAt((x>>>4)&0x0F)+hex_tab.charAt(x&0x0F);}return output;}function rstr2b64(input){try{b64pad}catch(e){b64pad='';}var tab="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var output="";var len=input.length;for(var i=0;i<len;i+=3){var triplet=(input.charCodeAt(i)<<16)|(i+1<len?input.charCodeAt(i+1)<<8:0)|(i+2<len?input.charCodeAt(i+2):0);for(var j=0;j<4;j++){if(i*8+j*6>input.length*8)output+=b64pad;else output+=tab.charAt((triplet>>>6*(3-j))&0x3F);}}return output;}function rstr2any(input,encoding){var divisor=encoding.length;var i,j,q,x,quotient;var dividend=Array(Math.ceil(input.length/2));for(i=0;i<dividend.length;i++){dividend[i]=(input.charCodeAt(i*2)<<8)|input.charCodeAt(i*2+1);}var full_length=Math.ceil(input.length*8/(Math.log(encoding.length)/Math.log(2)));var remainders=Array(full_length);for(j=0;j<full_length;j++){quotient=Array();x=0;for(i=0;i<dividend.length;i++){x=(x<<16)+dividend[i];q=Math.floor(x/divisor);x-=q*divisor;if(quotient.length>0||q>0)quotient[quotient.length]=q;}remainders[j]=x;dividend=quotient;}var output="";for(i=remainders.length-1;i>=0;i--)output+=encoding.charAt(remainders[i]);return output;}function str2rstr_utf8(input){var output="";var i=-1;var x,y;while(++i<input.length){x=input.charCodeAt(i);y=i+1<input.length?input.charCodeAt(i+1):0;if(0xD800<=x&&x<=0xDBFF&&0xDC00<=y&&y<=0xDFFF){x=0x10000+((x&0x03FF)<<10)+(y&0x03FF);i++;}if(x<=0x7F)output+=String.fromCharCode(x);else if(x<=0x7FF)output+=String.fromCharCode(0xC0|((x>>>6)&0x1F),0x80|(x&0x3F));else if(x<=0xFFFF)output+=String.fromCharCode(0xE0|((x>>>12)&0x0F),0x80|((x>>>6)&0x3F),0x80|(x&0x3F));else if(x<=0x1FFFFF)output+=String.fromCharCode(0xF0|((x>>>18)&0x07),0x80|((x>>>12)&0x3F),0x80|((x>>>6)&0x3F),0x80|(x&0x3F));}return output;}function str2rstr_utf16le(input){var output="";for(var i=0;i<input.length;i++)output+=String.fromCharCode(input.charCodeAt(i)&0xFF,(input.charCodeAt(i)>>>8)&0xFF);return output;}function str2rstr_utf16be(input){var output="";for(var i=0;i<input.length;i++)output+=String.fromCharCode((input.charCodeAt(i)>>>8)&0xFF,input.charCodeAt(i)&0xFF);return output;}function rstr2binl(input){var output=Array(input.length>>2);for(var i=0;i<output.length;i++)output[i]=0;for(var i=0;i<input.length*8;i+=8)output[i>>5]|=(input.charCodeAt(i/8)&0xFF)<<(i%32);return output;}function binl2rstr(input){var output="";for(var i=0;i<input.length*32;i+=8)output+=String.fromCharCode((input[i>>5]>>>(i%32))&0xFF);return output;}function binl_md5(x,len){x[len>>5]|=0x80<<((len)%32);x[(((len+64)>>>9)<<4)+14]=len;var a=1732584193;var b=-271733879;var c=-1732584194;var d=271733878;for(var i=0;i<x.length;i+=16){var olda=a;var oldb=b;var oldc=c;var oldd=d;a=md5_ff(a,b,c,d,x[i+0],7,-680876936);d=md5_ff(d,a,b,c,x[i+1],12,-389564586);c=md5_ff(c,d,a,b,x[i+2],17,606105819);b=md5_ff(b,c,d,a,x[i+3],22,-1044525330);a=md5_ff(a,b,c,d,x[i+4],7,-176418897);d=md5_ff(d,a,b,c,x[i+5],12,1200080426);c=md5_ff(c,d,a,b,x[i+6],17,-1473231341);b=md5_ff(b,c,d,a,x[i+7],22,-45705983);a=md5_ff(a,b,c,d,x[i+8],7,1770035416);d=md5_ff(d,a,b,c,x[i+9],12,-1958414417);c=md5_ff(c,d,a,b,x[i+10],17,-42063);b=md5_ff(b,c,d,a,x[i+11],22,-1990404162);a=md5_ff(a,b,c,d,x[i+12],7,1804603682);d=md5_ff(d,a,b,c,x[i+13],12,-40341101);c=md5_ff(c,d,a,b,x[i+14],17,-1502002290);b=md5_ff(b,c,d,a,x[i+15],22,1236535329);a=md5_gg(a,b,c,d,x[i+1],5,-165796510);d=md5_gg(d,a,b,c,x[i+6],9,-1069501632);c=md5_gg(c,d,a,b,x[i+11],14,643717713);b=md5_gg(b,c,d,a,x[i+0],20,-373897302);a=md5_gg(a,b,c,d,x[i+5],5,-701558691);d=md5_gg(d,a,b,c,x[i+10],9,38016083);c=md5_gg(c,d,a,b,x[i+15],14,-660478335);b=md5_gg(b,c,d,a,x[i+4],20,-405537848);a=md5_gg(a,b,c,d,x[i+9],5,568446438);d=md5_gg(d,a,b,c,x[i+14],9,-1019803690);c=md5_gg(c,d,a,b,x[i+3],14,-187363961);b=md5_gg(b,c,d,a,x[i+8],20,1163531501);a=md5_gg(a,b,c,d,x[i+13],5,-1444681467);d=md5_gg(d,a,b,c,x[i+2],9,-51403784);c=md5_gg(c,d,a,b,x[i+7],14,1735328473);b=md5_gg(b,c,d,a,x[i+12],20,-1926607734);a=md5_hh(a,b,c,d,x[i+5],4,-378558);d=md5_hh(d,a,b,c,x[i+8],11,-2022574463);c=md5_hh(c,d,a,b,x[i+11],16,1839030562);b=md5_hh(b,c,d,a,x[i+14],23,-35309556);a=md5_hh(a,b,c,d,x[i+1],4,-1530992060);d=md5_hh(d,a,b,c,x[i+4],11,1272893353);c=md5_hh(c,d,a,b,x[i+7],16,-155497632);b=md5_hh(b,c,d,a,x[i+10],23,-1094730640);a=md5_hh(a,b,c,d,x[i+13],4,681279174);d=md5_hh(d,a,b,c,x[i+0],11,-358537222);c=md5_hh(c,d,a,b,x[i+3],16,-722521979);b=md5_hh(b,c,d,a,x[i+6],23,76029189);a=md5_hh(a,b,c,d,x[i+9],4,-640364487);d=md5_hh(d,a,b,c,x[i+12],11,-421815835);c=md5_hh(c,d,a,b,x[i+15],16,530742520);b=md5_hh(b,c,d,a,x[i+2],23,-995338651);a=md5_ii(a,b,c,d,x[i+0],6,-198630844);d=md5_ii(d,a,b,c,x[i+7],10,1126891415);c=md5_ii(c,d,a,b,x[i+14],15,-1416354905);b=md5_ii(b,c,d,a,x[i+5],21,-57434055);a=md5_ii(a,b,c,d,x[i+12],6,1700485571);d=md5_ii(d,a,b,c,x[i+3],10,-1894986606);c=md5_ii(c,d,a,b,x[i+10],15,-1051523);b=md5_ii(b,c,d,a,x[i+1],21,-2054922799);a=md5_ii(a,b,c,d,x[i+8],6,1873313359);d=md5_ii(d,a,b,c,x[i+15],10,-30611744);c=md5_ii(c,d,a,b,x[i+6],15,-1560198380);b=md5_ii(b,c,d,a,x[i+13],21,1309151649);a=md5_ii(a,b,c,d,x[i+4],6,-145523070);d=md5_ii(d,a,b,c,x[i+11],10,-1120210379);c=md5_ii(c,d,a,b,x[i+2],15,718787259);b=md5_ii(b,c,d,a,x[i+9],21,-343485551);a=safe_add(a,olda);b=safe_add(b,oldb);c=safe_add(c,oldc);d=safe_add(d,oldd);}return Array(a,b,c,d);}function md5_cmn(q,a,b,x,s,t){return safe_add(bit_rol(safe_add(safe_add(a,q),safe_add(x,t)),s),b);}function md5_ff(a,b,c,d,x,s,t){return md5_cmn((b&c)|((~b)&d),a,b,x,s,t);}function md5_gg(a,b,c,d,x,s,t){return md5_cmn((b&d)|(c&(~d)),a,b,x,s,t);}function md5_hh(a,b,c,d,x,s,t){return md5_cmn(b^c^d,a,b,x,s,t);}function md5_ii(a,b,c,d,x,s,t){return md5_cmn(c^(b|(~d)),a,b,x,s,t);}function safe_add(x,y){var lsw=(x&0xFFFF)+(y&0xFFFF);var msw=(x>>16)+(y>>16)+(lsw>>16);return(msw<<16)|(lsw&0xFFFF);}function bit_rol(num,cnt){return(num<<cnt)|(num>>>(32-cnt));}