// overwrite values in config.js here ga_trackingKey = "GA_NOT_ENABLED"; _debugMode = true; // configurable javascript parameters to drive the gs search var ga_trackingKey = "changeme"; var ga_clientLabel = "demo"; // google analytics var ga_trackName = "kraftUS/recipe"; var ga_actionLoad = "load"; var ga_actionSetZip = "change-zip"; var ga_actionClickIng = "load-gs-pop"; var _months = ["January","February","March","April","May","June","July","August","September","October","November","December"]; function dateToStr(date) { if(!date) return "null"; return _months[date.getMonth()] + " " + date.getDate() + ", "+ date.getFullYear(); } function dateToTiny(date) { if(!date) return "null"; var m = (date.getMonth()+1) + ''; if(m.length < 2) m = '0'+m; var d = date.getDate()+''; if(d.length < 2) d = '0'+d; return (m + "/" + d); } function dateToShort(date) { if(!date) return "null"; var y = ('' + date.getFullYear()).substr(2,2); var m = (date.getMonth()+1) + ''; if(m.length < 2) m = '0'+m; var d = date.getDate()+''; if(d.length < 2) d = '0'+d; return (m + "/" + d + "/" + y); } function dateFromServer(dateStr) { if(dateStr && dateStr.indexOf("/") > 0) { return dateFromShort(dateStr); } var dt = new Date(0); var d = trimTime(''+dateStr); var da = d.split('-'); if(dateStr && da.length == 3) { dt.setFullYear(da[0], da[1]-1, da[2]); return dt; } return null; } function dateFromShort(dateStr) { if(dateStr && dateStr.indexOf("-") > 0) { return dateFromServer(dateStr); } var dt = new Date(0); var d = ''+dateStr; var da = d.split('/'); if(dateStr && da.length == 3) { dt.setFullYear("20"+da[2], da[0]-1, da[1]); return dt; } return null; } function trimTime(date) { var d = trim("" + date); if(d && d.indexOf('T') > 0) return d.substr(0,d.indexOf('T')); else if(d && d.indexOf(' ') > 0) return d.substr(0,d.indexOf(' ')); else return d; } function trimGMT(s) { var d = trim("" + s); if(d && d.indexOf('MT') > 0) return d.substr(0,d.indexOf('MT')-1); else return d; } function checkPageLoaded(){ var cont = s3.$('zlrecipe-container'); var rdIngreds = []; $('.deals-headline').remove(); var items = s3.getElementsByClassName('what-you-need check-all-wrapper', undefined, cont); rdIngreds = $(items).children('ul.clearfix'); if(rdIngreds[0]==null || rdIngreds[0]===undefined || rdIngreds[0]=="" || rdIngreds==null || rdIngreds===undefined || rdIngreds==""){ setTimeout(kraken.parseRecipe1(),350); return "Not Loaded"; } } function setDivs(change_div, mayWeSuggest_div,location_Div){ var dottedLine = s3.getElementsByClassName('hidden-xs hidden-modal divider dotted'); $(dottedLine).before(location_Div); $(dottedLine).after(change_div); $('.what-you-need').after(mayWeSuggest_div); } function getDomainName(){ var domainName = (document.domain.indexOf("kraftrecipes.com") > -1? "kraftrecipes.com":null); return domainName; } function getRecipeingredientsDiv(cont){ var items = s3.getElementsByClassName('what-you-need check-all-wrapper', undefined, cont); var rdIngreds = $(items).children('ul.clearfix'); if(rdIngreds[0]==null || rdIngreds[0]===undefined || rdIngreds[0]=="" || rdIngreds=="" || rdIngreds==null || rdIngreds==undefined){ setTimeout(kraken.parseRecipeContd(),350); return "Not Loaded"; } return rdIngreds; } function getRecipeIngredientsList(rdIngreds){ return rdIngreds.getElementsByTagName("li"); } function getIngName(ing){ var ingredient = ""; var spans = ing.getElementsByTagName('span'); for (var i = 0; i < spans.length; i++) { var ingredients = spans[i].getAttribute("itemprop"); if(ingredients == "recipeIngredient") { ingredient = spans[i].innerHTML; break; } } return ingredient; } function getRecipeUrl(url){ var recipeurl=url; if(recipeurl.indexOf("kraftrecipesdotcom/recipe/") > -1) recipeurl = "http://dev-new.kraftrecipes.com/recipes/garlic-mashed-potatoes-56592.aspx"; return recipeurl; } function getRecipeExternalId(){ var externId = ""; var cont = s3.$('zlrecipe-container'); var tags = s3.getElementsByClassName('row recipe-id-container', undefined, cont); for (var j=0; j= 0 && (idx-sub) < len) idx2 = s.indexOf(";",idx); if(idx>=0 && idx2>=0 && idx2-idx<=5 && idx2-idx>2) { sub+=(idx2-idx); } p=idx2>=0? idx2+1 : -1; } s = s.substr(0,len+sub); if(s.length < s1.length) s+= "..."; return s; } function getLocalshoppingText(){ return "Local Shopping"; } _globalResponseHandler = null; var s3 = { elemCache: new Object(), $:function(id, reload) {if(!s3.elemCache[id]||reload){var e = document.getElementById(id);s3.elemCache[id] = e;return e;} else return s3.elemCache[id];}, x$:function(id){s3.elemCache[id]=null;}, $$:function(id){return s3.$(id,true)}, pos:function(e,m){e=s3.c(e);if(!m)m={x:0,y:0};var x=0,y=0;while(e){x+=e.offsetLeft;y+=e.offsetTop;try{e=e.offsetParent;}catch(ex){e=null;}}return{x:x+m.x,y:y+m.y};}, vp: function() { var w=window,d=document; var ox=0,oy=0; if(typeof(w.pageYOffset)=='number') { oy = w.pageYOffset; ox = w.pageXOffset; } else if( d.body && ( d.body.scrollLeft || d.body.scrollTop ) ) { oy = d.body.scrollTop; ox = d.body.scrollLeft; } else if( d.documentElement && ( d.documentElement.scrollLeft || d.documentElement.scrollTop ) ) { oy = d.documentElement.scrollTop; ox = d.documentElement.scrollLeft; } return {w:(w.innerWidth || (d.documentElement.clientWidth || d.body.clientWidth)), h:(w.innerHeight || (d.documentElement.clientHeight || d.body.clientHeight)), x:ox,y:oy}; }, modpos:function(p,t) {return {x:p.x+t.x,y:p.y+t.y};}, cpos:function(d) {var vp = s3.vp();return {x:((vp.w/2)-((d.w)/2)+vp.x), y:((vp.h/2)-((d.h)/2)+vp.y),w:d.w,h:d.h};}, dim:function(e){e=s3.c(e);return (!e||!e.offsetWidth)?{w:0,h:0}:{w:e.offsetWidth,h:e.offsetHeight};}, absolute:function(e){e=s3.c(e);if(e.style.position=='absolute')return;var p=s3.pos(e);var w=e.clientWidth;var h=e.clientHeight;e.style.position='absolute';e.style.left=(document.all?p.x+1:p.x)+'px';e.style.top=(document.all?p.y+1:p.y)+'px';}, inject:function (d,s){for(var p in s)d[p]=s[p];return d;}, extend:function (d,s){for(var p in s)if(!d[p])d[p]=s[p];return d;}, create:function(id, cname) { var e = document.createElement('div'); s3.absolute(e); s3.hide(e); if (cname) {e.className = cname;} if (id) {e.id = id;} document.body.insertBefore(e,document.body.childNodes[0]); return e; }, img:function(id, src, cname) { var e = document.createElement('img'); e.src = src;s3.absolute(e);s3.hide(e);if (cname) {e.className = cname;}if (id) {e.id = id;}document.body.insertBefore(e,document.body.childNodes[0]); return e; }, trim: function (str){return (''+str).replace(/^(\s)*/,'').replace(/(\s)*$/,'');}, empty:function(s) {return s==null||s3.trim(s)=="";}, replaceAll:function(str,s1,s2) {return (''+str).split(s1).join(s2);}, escapeURI:function(s) { var s2 = ''+s; try {s2 = encodeURIComponent(s2);} catch(ex) {s2 = escape(s2);} return s2.replace(/%20/g,"+");}, getElementsByClassName: function(className, tag, elm) {var tc = new RegExp("(^|\\s)" + className + "(\\s|$)");tag = tag || "*";elm = elm || document;var es = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);var re = [];var l = es.length;for(var i=0; i=b){s=this.chrs.charAt(n%b)+s;n=Math.floor(n/b);}return this.chrs.charAt(n)+s;}, from: function(s,b){if(!this.revc){this.revc=new Object();for(var i=0;i0?Math.pow(b,i):1);return r; }, guid: function(){return this.base(new Date().getTime(),62)+s3.rnd.str(8);} }); s3.rnd = s3.inject(new Object(),{ num: function(x,y){return(Math.floor(Math.random()*(y-x)))+x;}, str: function(len){var s='';while(s.lengtha.length)p=a.length;for(var i=a.length;i>p;i--)a[i]=a[i-1];a[p]=o;}, removeAt: function(a,p) {if(p==-1||!a||a.length<=0)return null;var tmp=a[p];for(var i=p+1;i0)for(var i in a)f(a[i]);}, runAll: function(a,f) {for(var i=0;i>2;e2=((c1&3)<<4)|(c2>>4);e3=((c2&15)<<2)|(c3>>6);e4=c3&63;if(isNaN(c2))e3=e4=64;else if(isNaN(c3))e4=64;o+=s3.b64.charAt(e1)+s3.b64.charAt(e2)+s3.b64.charAt(e3)+s3.b64.charAt(e4);}return o;}, dec:function(s){var o="";var c1,c2,c3;var e1,e2,e3,e4;var i=0;s=s.replace(/[^A-Za-z0-9\_\-\~]/g,"");while(i>4);c2=((e2&15)<<4)|(e3>>2);c3=((e3&3)<<6)|e4;o+=s3.cc(c1);if(e3!=64)o+=s3.cc(c2);if(e4!=64)o+=s3.cc(c3);}o=s3.crypto.utf8dnc(o);return o;}, utf8enc:function(s){s=s.replace(/\r\n/g,"\n");var u="";for(var n=0;n127)&&(c<2048)){u+=s3.cc((c>>6)|192);u+=s3.cc((c&63)|128);}else{u+=s3.cc((c>>12)|224);u+=s3.cc(((c>>6)&63)|128);u+=s3.cc((c&63)|128);}}return u;}, utf8dnc:function(u){var s="";var i=0;var c,c1,c2,c3;c=c1=c2=c3=0;while(i191)&&(c<224)){c2=u.charCodeAt(i+1);s+=s3.cc(((c & 31) << 6) | (c2 & 63));i+=2;}else{c2= u.charCodeAt(i+1);c3= u.charCodeAt(i+2);s+= s3.cc(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));i+=3;}}return s;}, rc4:function(key,text){var i,x,y,t,x2;var s={};for(i=0;i<256;i++)s[i]=i;y=0;for(x=0;x<256;x++){y=(key.charCodeAt(x%key.length)+s[x]+y)%256;t=s[x];s[x]=s[y];s[y]=t;}x=0;y=0;var z="";for(x=0;x130 || p>0)) { var sml=(s.substr(0, p>0 && p<130? p:130) + (p>0? "":"...")); console.groupCollapsed(sml); s=s.replace("request: ","").replace("response:",""); console.log(s); if(console.groupEnd) console.groupEnd(); } else console.log(" " + s); } //else alert(s); } } catch(ex) {} } s3.cookie = { get: function(n){var a = document.cookie.split(';');for(var i=0;i 0) s3.create(id, cls + ' component'); else s3.create(id, 'component'); s3.comp.register(c, id); if (cls && typeof(cls) != 'string' && (cls.x != undefined || cls.y != undefined)) s3.fondl(c, cls); return c; }, register: function(c, id) { this.r(c, id); c.start(); return c; }, child: function(p,c,id) { if(!p.kids)p.kids=new Array(); s3.a.add(p.kids,c); c.parent=p; this.r(c,id); c.start(); }, clearChildren: function(c){if(c.kids&&c.kids.length>0)s3.a.call(c.kids,function(o){s3.x$(o.id)});}, repaint: function(c){if(c.drawHtml&&c.callRepaint()&&c.container()!=null){var h=c.drawHtml();if(h)c.container().innerHTML=h;}}, foundation: function(c){ s3.extend(c,{ s3:true, container: function(){return s3.$(this.id);}, start:function(){this.repaint();}, callRepaint: function(){return true;}, repaint: function(){if(this.kids)s3.comp.clearChildren(this);s3.comp.repaint(this);}, hide: function(){if(!this.doHide||this.doHide()){var cx=this.container();if(cx){cx.style.visibility='hidden';this.showing=false;}}}, show: function(){if(!this.doShow||this.doShow()){var cx=this.container();if(cx){cx.style.visibility='visible';this.showing=true;}}}, visible: function(){return (this.container())?this.showing:false;}, deleteKid: function(n){if(this.kids&&this.kids.length>0)for(var i in this.kids){if(this.kids.id==n)s3.a.removeAt(i);this.deleteKid(n);}} }); if (c.handleDrop) { s3.a.add(s3.drag.drops,c); if(!c.dropTarget)c.dropTarget=function(){var c=this.container();var p=s3.pos(c);return [p.x,p.y,parseInt(c.style.width),parseInt(c.style.height),this]} } } }); /* DOM walker */ s3.bubble = function(e,h){if(!e)return;var cid=null;while(e){if(e.className&&e.className.indexOf("component")>-1){cid=e.id;break;}e=e.parentNode;}if(!cid)return;var c=s3.c$(cid);if(c==null||h.pop(e,c))s3.bubble(e.parentNode,h);} s3.owner = function(e){if(!e)return null;var cid=null;while(e){if(e.className&&e.className.indexOf("component")>-1){cid=e.id;break;}e=e.parentNode;}if(!cid)return null;return s3.c$(cid);} /* event helpers */ s3.events = ["Click","MouseOver","MouseOut","MouseDown","MouseUp","Blur","Change","Submit","Keyup","Keydown"]; //for(var i in s3.events)eval('function do'+s3.events[i]+'(e,extra){s3.event("'+s3.events[i]+'",e,extra);}'); function doClick(e,extra){s3.event("Click",e,extra);} function doMouseOver(e,extra){s3.event("MouseOver",e,extra);} function doMouseOut(e,extra){s3.event("MouseOut",e,extra);} function doMouseDown(e,extra){s3.event("MouseDown",e,extra);} function doMouseUp(e,extra){s3.event("MouseUp",e,extra);} function doBlur(e,extra){s3.event("Blur",e,extra);} function doChange(e,extra){s3.event("Change",e,extra);} function doSubmit(e,extra){s3.event("Submit",e,extra);} function doKeyup(e,extra){s3.event("Keyup",e,extra);} function doKeydown(e,extra){s3.event("Keydown",e,extra);} s3.event = function(t,e,ext) {s3.bubble(e,{t:t, e:ext, o:e,pop:function(e,c){ var r=false;var m=t;if(c[m='handle'+m])return c[m](this.o,this.e);else if(c['handleEvent'])return c['handleEvent'](this.t,this.o,this.e);return true;}});} /* listen/channel calling */ s3.listen = s3.inject(new Object(),{ c:new Object(), call:function(c,f){s3.a.call(s3.listen.c[c],f);}, listen: function(e,f){if(!this.c[e])this.c[e]=new Array();s3.a.add(this.c[e],f);}, stop: function(e,f){s3.a.remove(this.c[e],f);} }); // ANIMATION AND FUN... s3.animClock = 30; s3.c = function(e) {if(!e)return;if((typeof e) == 'string')return s3.$(e);return (e && e.s3)?e.container():e;} s3.hide = function(e){if(!e)return e;e=s3.c(e);if(e){e.style.display='none';e.style.visibility='hidden';};return e} s3.show = function(e){if(!e)return e;e=s3.c(e);e.style.visibility='visible';e.style.display='block';return e} s3.moveTo = function(e,p){if(!e)return e;e=s3.c(e);if((typeof p) == 'string')p=s3.$(p);if(p.x==null&&p.y==null)p=s3.pos(p);if(p.x!=null)e.style.left=p.x+'px';if(p.y!=null)e.style.top=p.y+'px';;return e} s3.moveBy = function(e,t){if(!e)return e;e=s3.c(e);var p=s3.pos(e);e.style.left=(t.x+p.x)+'px';e.style.top=(t.y+p.y)+'px';;return e} s3.resize = function(e,d){if(!e)return e;e=s3.c(e);if(d.w!=null)e.style.width=d.w+'px';if(d.h!=null)e.style.height=d.h+'px';;return e} s3.mimic = function(e,t,s){if(!e)return e;s3.moveTo(t,e);s3.resize(t,s3.dim(e));if(s)s3.show(e);return e} s3.fondl = function(e,t,s){if(!e||!t)return e;if(t.x!=undefined)s3.moveTo(e,t);if(t.w!=undefined)s3.resize(e,t);if(s)s3.show(e);return e} s3.amove = function(e, tgt, t, fu) { e=s3.c(e); s3.show(e); var p = s3.pos(e); var q = s3.dim(e); p.w = q.w; p.h = q.h; new _am(e,p,tgt, t, fu); } // element, position (with dimension), target, time, function function _am(e, p, g, t, f) { this.e = e;this.p = p;this.g = g;this.t = t;this.f = f;this.d = {}; for (i in g) this.d[i] = g[i]-p[i]; this.q = 3.1/(2*t); this.s = s3.time(); this.tock = function() { var et,o={}; if ((et=s3.time()-this.s) -1 ? posIndex : this.index); this.slide(this.index, 0); }, repack: function(posIndex) { this.setup((posIndex != undefined && posIndex > -1 ? posIndex : this.index)); }, slide: function(index, duration) { var s = this.slider.style; duration = duration||this.speed; s.webkitTransitionDuration = s.MozTransitionDuration = s.msTransitionDuration = s.OTransitionDuration = s.transitionDuration = duration + 'ms'; s.MozTransform = s.webkitTransform = 'translate3d(' + -(index * this.width) + 'px,0,0)'; s.msTransform = s.OTransform = 'translateX(' + -(index * this.width) + 'px)'; this.index = parseInt(index); }, prev: function() { if (typeof this.index != 'number') this.index = parseInt(this.index+''); if (this.index) this.slide(this.index - 1, this.speed); }, next: function() { if (typeof this.index != 'number') this.index = parseInt(this.index+''); if (this.index < this.handler.pageCount() - 1) this.slide(this.index + 1, this.speed); else this.slide(0, this.speed); }, handleEvent: function(e) { switch (e.type) { case 'touchstart': this.touchStart(e); break; case 'touchmove': this.touchMove(e); break; case 'touchend': this.touchEnd(e); break; case 'webkitTransitionEnd': case 'msTransitionEnd': case 'oTransitionEnd': case 'transitionend': this.transEnd(e); break; case 'resize': this.setup(); break; } }, transEnd: function(e) { if (this.index != this.cpage && this.handler.callback) this.handler.callback(this.index); this.cpage = this.index; }, touchStart: function(e) { this.start = { pageX: e.touches[0].pageX, pageY: e.touches[0].pageY, time: Number(new Date()) }; this.isScrolling = undefined; this.deltaX = 0; this.slider.style.MozTransitionDuration = this.slider.style.webkitTransitionDuration = 0; }, touchMove: function(e) { if (e.touches.length > 1 || e.scale && e.scale !== 1) return; this.deltaX = e.touches[0].pageX - this.start.pageX; if (typeof this.isScrolling == 'undefined') this.isScrolling = !!( this.isScrolling || Math.abs(this.deltaX) < Math.abs(e.touches[0].pageY - this.start.pageY) ); if (!this.isScrolling) { e.preventDefault(); this.deltaX = this.deltaX/((!this.index&&this.deltaX>0||this.index==this.handler.pageCount()-1&&this.deltaX<0)?(Math.abs(this.deltaX)/this.width+1):1); this.slider.style.MozTransform = this.slider.style.webkitTransform = 'translate3d(' + (this.deltaX - this.index * this.width) + 'px,0,0)'; } }, touchEnd: function(e) { var isValidSlide = Number(new Date())-this.start.time<250&&Math.abs(this.deltaX)>20||Math.abs(this.deltaX)>this.width/2; var isPastBounds = !this.index && this.deltaX > 0 || this.index == this.handler.pageCount()-1 && this.deltaX < 0; if (!this.isScrolling) this.slide(this.index + ( isValidSlide && !isPastBounds ? (this.deltaX < 0 ? 1 : -1) : 0 ), this.speed); } } }); /* drag and drop */ s3.drag=s3.inject(new Object(),{drops:new Array(),zones:null,coff:null,item:null, dragThis:function(i,x){this.stage=i;this.stagex=x;s3.listen.listen('document.onmouseup',s3.dndup);s3.listen.listen('document.onmousemove',s3.dndmov);}, stop:function(){s3.listen.stop('document.onmousemove',s3.dndmov);s3.listen.stop('document.onmouseup',s3.dndup);} }); s3.doDrag = function(e,x){e.unselectable="on"; s3.drag.dragThis(e,x); return false;} s3.initDrag = function(){if(!s3.drag.staging){document.body.onselectstart=function(){return false;};s3.drag.staging=true;var e=s3.drag.stage;s3.bubble(e,{o:e,pop:function(e,c){if(!c['doDrag'])return true;var el=c['doDrag'](this.o,s3.drag.stagex);if(el && el.s3)el=el.container();if(el)s3.drag.item={elem:el,comp:c};else{s3.drag.abort=true;s3.drag.stop()};s3.drag.stage=null;s3.drag.stagex=null;return false;}});s3.drag.staging=false;} document.body.ondrag=function(){return false;}; } s3.dndmov = function(e){ if(s3.drag.stage) s3.initDrag(); if(s3.drag.abort){ s3.drag.abort=false; s3.drag.item=null; return; } var i = s3.drag.item; if(!i){s3.drag.stop();return;} if(!s3.drag.moved){ s3.drag.moved=true; s3.drag.vp=s3.vp(); var a=[]; var d,p; for(var j in s3.drag.drops)if((d=s3.drag.drops[j].dropTarget(i.elem,i.comp)))s3.a.add(a,[s3.drag.drops[j], d]); if(!i.comp.dragPos){i.comp._rdp=true;i.comp.dragPos=function(x,y){return x;};} var z=new Array(); for(var k in a){p=_pos(a[k][1]);d=_dim(a[k][1]);a[k][0].dndz={x:p.x,y:p.y,w:d.w,h:d.h};z[z.length]=a[k][0]}; s3.drag.zones=z; s3.drag.coff={x:e.clientX-parseInt(i.elem.style.left),y:e.clientY-parseInt(i.elem.style.top)}; i.elem.style.visibility='visible'; } var x=e.clientX+s3.drag.vp.x; var y=e.clientY+s3.drag.vp.y; var t={x:(x-s3.drag.coff.x),y:(y-s3.drag.coff.y)}; t=i.comp.dragPos({x:x,y:y},{x:s3.drag.coff.x,y:s3.drag.coff.y}); // t=i.comp.dragPos({x:t.x,y:t.y},{x:s3.drag.coff.x,y:s3.drag.coff.y}); i.elem.style.left=t.x+'px'; i.elem.style.top=t.y+'px'; a=s3.drag.zones; for(j in a){ var q,c=a[j];q=c.dndz; if(q.x<=x && q.y<=y && x<=q.x+q.w && y<=q.y+q.h){ if(!c._dragover){c._dragover=true;if(c.handleDragOver)c.handleDragOver();} }else if(c._dragover){c._dragover = false;if(c.handleDragOut)c.handleDragOut();} } } s3.dndup = function(e){ if (s3.drag.stage){s3.drag.stage=null;return;} if(!s3.drag.moved){s3.drag.abort=true;return;} var a=s3.drag.zones;var i=s3.drag.item;s3.drag.moved=false;s3.drag.item=null;s3.drag.zones=null;var t=null;var d=null; for(var j in a){t=a[j];if(t._dragover){d=t;if(t.handleDrop)t.handleDrop(i.elem,i.comp);t._dragover=false;}if(t.dragComplete)t.dragComplete();a[j]=null;} if(i.comp.dragComplete)i.comp.dragComplete(d,{x:(e.clientX-s3.drag.coff.x),y:(e.clientY-s3.drag.coff.y)}); if(i.comp._rdp)i.comp.dragPos=null; document.body.onselectstart=function(){return true;}; } var gs_api = { cid: 'b522f25ab110f2aa0cb25cb489327484', ip:'138.197.218.29' } var loadZipCode = "null"; var loadLaunch = "null"; var loadRadius = "null"; var loadAgent = "true"; _debugMode= true; var kraken = { parsedPage: null, localOffers: null, pos: null, location: null, server:'http://gs.kraftrecipes.com/groceryserver/', promoApp:"http://groceryserver.tasteofhome.com/groceryserver/gs-pop/toh/index.jsp", recipeSourceId:"124", gallery:"http://groceryserver.tasteofhome.com/groceryserver/gs-toh/test_iFrame.jsp", zipCode:(loadZipCode && loadZipCode != "null" && loadZipCode != "undefined"? loadZipCode : null), radius:"20", loc:null, launch:(loadLaunch && loadLaunch != "null" && loadLaunch != "undefined"? loadLaunch : null), keyword:null, loadAgent :loadAgent, externId :null, imgIndex:0, toggleswitch_value:"ON", gsrecipeid : null, mwsrlids : null, mwsPromo : null, reciperlIds : [] }; gs_api.call = function (req, handler) { var r = { path: req.path, post: req.post, server: req.server }; s3.ajax.encOD(kraken.server + '/service/' + s3.crypto.encode("obfuscate", s3.json.toString(r)), handler); } gs_api.getZipAndLocation = function(handler) { if (typeof handler == 'function') handler = { callback: handler }; gs_api.call({ path: '/service/location/rest/v10/getLocation/clientId/' + gs_api.cid + '/ipAddress/' + gs_api.ip }, { callback:function(r){ this.cb.callback((r && r.GetLocationResponse) ? r.GetLocationResponse : null); }, cb: handler }); } gs_api.getRetailerLocation = function(req, handler) { if (typeof handler == 'function') handler = { callback: handler }; gs_api.call({ path: '/service/chainservice/rest/v10/clientId/' + gs_api.cid + '/getRetailerLocation', post: req }, { callback:function(r){ this.cb.callback((r && r.getRetailersResponse) ? r.getRetailersResponse : null); }, cb: handler }); } gs_api.getLocationByZip = function(zip, handler) { if (typeof handler == 'function') handler = { callback: handler }; gs_api.call({ path: '/service/location/rest/v10/getLocationByZip/clientId/' + gs_api.cid + '/zipCode/' + zip }, { callback:function(r){ this.cb.callback((r && r.GetLocationResponse) ? r.GetLocationResponse : null); }, cb: handler }); } gs_api.search = {}; gs_api.search.getContentPairings = function(params, handler) { if (typeof handler == 'function') handler = { callback: handler }; var req = {GetContentPairingsRequest:params}; gs_api.call({ path: '/service/retailerservice/rest/v10/clientId/'+ gs_api.cid+'/getContentPairings', post: req }, { callback:function(r){ this.cb.callback((r && r.PromotionSearchResponse) ? r.PromotionSearchResponse : null); }, cb: handler }); } gs_api.recipe = {}; gs_api.recipe.getRecipeInformationByExternalId = function(params, handler) { if (typeof handler == 'function') handler = { callback: handler }; var req = {request:params}; gs_api.call({ path: '/service/recipe/rest/v10/clientId/' + gs_api.cid +'/getRecipeInformationByExternalId', post: req }, { callback:function(r){ this.cb.callback((r && r.getRecipeDetailsResponse) ? r.getRecipeDetailsResponse : null); }, cb: handler }); } // use only if s.prop4 is loaded late kraken.xIdIsGood = false; kraken.start = function() { kraken.parseRecipe(); if(kraken.xid && kraken.xid != null) setTimeout(kraken.start,350); } kraken.parseRecipe1 = function() { var ing = []; var xid = kraken.xid; var check = checkPageLoaded(); if(check == "Not Loaded"){ return ""; } var change_div = document.createElement("div"); change_div.className = 'rd_changezib'; var mayWeSuggest_div = document.createElement("div"); mayWeSuggest_div.className = 'rd_mayWeSuggestDiv'; var location_Div = document.createElement("div"); location_Div.className = 'rd_locationDiv'; //for setting divs in there positions. setDivs(change_div, mayWeSuggest_div,location_Div); //get the recipe external id kraken.externId = getRecipeExternalId(); kraken.parseRecipe(); } kraken.parseRecipe = function(topId) { kraken.xid = null; try {kraken.xid = s.prop4} catch(ex) {} if(kraken.zipCode == null) { kraken.zipCode = s3.cookie.getRaw("zipCode"); } if(kraken.radius == null) { kraken.radius = s3.cookie.getRaw("radius"); } if (!kraken.zipCode || !kraken.loc) { var u = document.location + ''; var pos = -1; if (!kraken.zipCode && (pos = u.indexOf('gs2ZipCode')) > -1) { kraken.zipCode = u.substring(pos+11,pos+16); } if(kraken.zipCode!=null && kraken.zipCode!="" && kraken.zipCode!=undefined && kraken.zipCode!="undefined") { gs_api.getLocationByZip(kraken.zipCode,function(d){ if(d && d.location) { var e2 = s3.$$('krakenRoot'); if(e2) e2.innerHTML = kraken.originalHTML; if(d.location.zipCode != "-1"){ kraken.zipCode = d.location.zipCode; var cDom = getDomainName(); s3.cookie.setRaw("zipCode",kraken.zipCode, null, null, cDom); kraken.loc = d.location; } kraken.parseRecipeContd(topId); } else { showMessageBox("Please enter valid US ZIP code."); kraken.zipCode = ""; var e2 = s3.$$('krakenRoot'); if(e2) e2.innerHTML = kraken.originalHTML; kraken.parseRecipeContd(topId); } }); } else { gs_api.getZipAndLocation(function(d){ if(d) { var e2 = s3.$$('krakenRoot'); if(e2) e2.innerHTML = kraken.originalHTML; if(d.location.zipCode != "-1" && d.location.zipCode !=undefined){ kraken.zipCode = d.location.zipCode; var cDom = getDomainName(); s3.cookie.setRaw("zipCode",kraken.zipCode, null, null, cDom); kraken.loc = d.location; } kraken.parseRecipeContd(topId); } }); } } else { kraken.parseRecipeContd(topId); } } kraken.parseRecipeContd = function(topId) { if (!topId) topId = 'zlrecipe-container'; var ing = []; var xid = kraken.xid; var cont = s3.$('zlrecipe-container'); var rdIngreds = getRecipeingredientsDiv(cont); if(rdIngreds == "Not Loaded"){ return ""; } rdIngreds[0].id="krakenRoot";var rdIng = []; var items = getRecipeIngredientsList(rdIngreds[0]); kraken.originalHTML = rdIngreds[0].innerHTML; for (var i = 0; i < items.length; i++) { ing[ing.length] = items[i]; } var changeZipDiv = s3.getElementsByClassName('rd_changezib', undefined, cont); changeZipDiv[0].setAttribute("id", "changeZipDiv"); var locationDiv = s3.getElementsByClassName('rd_locationDiv', undefined, cont); locationDiv[0].setAttribute("id", "locationDiv"); var pp =s3.$('popPromotionsComponent'); var terms = []; var pi = []; kraken.parsedIngredients = pi; kraken.parsedHead = null; for (var i = 0; i < ing.length; i++) { var showIngName = getIngName(ing[i]); showIngName = showIngName.replace(/^\s+|\s+$/g, ''); var o = ""+showIngName+''+""; var t = s3.trim(o).replace(/(<([^>]+)>)/ig,""); if (t.length > 0) { pi[pi.length] = { elem: ing[i], orig: o, orIng:ing[i].innerHTML, trim: t, proms:[], gsIngId :'', hasProms: false }; terms[terms.length] = t; } } var stamp = "1"; var url = ''+document.location; url = getRecipeUrl(url); kraken.keyword = "0"; if(kraken.zipCode == "" || kraken.zipCode ==null || kraken.zipCode ==undefined || kraken.zipCode =="undefined") { var locHtml = getEmptyLocationHTML(); document.getElementById("locationDiv").innerHTML=locHtml; var ss = ''; kraken.zipOpen = false; document.getElementById("changeZipDiv").style.display="flex"; document.getElementById("changeZipDiv").innerHTML=ss; /*document.getElementById("changeZipDiv").style.height="0px"; document.getElementById("changeZipDiv").style.marginTop="0px";*/ }else{ var lr = kraken.radius == '0' || kraken.radius == undefined ? "" : kraken.radius; var cDom = getDomainName(); s3.cookie.setRaw("radius",lr, null, null, cDom); var req ={'GetRetailerRequest':{'radius':kraken.radius,'zipCode':kraken.zipCode}}; var ee = s3.$('sc_storeSel'); if(ee) ee.innerHTML = buildChoiceSelect([],"id",["name","promotionsCount"],"storeSel",null,false,"loading stores...",1,false,170); gs_api.getRetailerLocation(req,{callback:function(r) { if(r){ var locationsArray = _ary(r.retailers); var retailerLocationIds =[]; for(var i=0;i 0) kraken.pilePromotion(sTerm, ps, k); } } kraken.updateIngredients(locationsArray); kraken.mayWeSuggest(kraken.externId,kraken.zipCode); //loadingDropdown(); } }); } }}); } // smidge of param pokage var pageParams = kraken.splitQstring(); for (var i = 0; i < pageParams.length; i++) { if (pageParams[i].n == 'launch') { kraken.launch = pageParams[i].v; break; } } } kraken.splitQstring = function() { var qs = null; var loc = document.location + ''; if (loc.indexOf('?') > -1) { qs = loc.substring(loc.indexOf('?') + 1); } if (!qs || qs.length <= 0) return []; var p = []; var qs = qs.split('&'); for (var i = 0; i < qs.length; i++) if (qs[i].length > 0) { var t = qs[i].split('='); p[p.length] = {n: t[0], v: t[1]}; } return p; } kraken.pilePromotion = function(s, p, ln) { if (!p || p.length <= 0) return; var pi = kraken.parsedIngredients; for (var i = 0; i < pi.length;i++) { var ts = pi[i].trim.replace(/[&\/\#,+()$~%.'":*?<>{}]/g,""); var ss = s.replace(/[&\/\#,+()$~%.'":*?<>{}]/g,""); ts = ts.replace(/\s{2,}/g, ' '); ss = ss.replace(/\s{2,}/g, ' '); if (ss == ts) { pi[i].hasProms = true; var ps = pi[i].proms; for (var j = 0; j < p.length; j++) { ps[ps.length] = p[j]; } return; } } } kraken.updateIngredients = function(retailerResponse) { var ch = []; var promoRetailerIds = []; var retailerPromotionCnt = []; var ingData = kraken.parsedIngredients; for (var i = 0; i< ingData.length; i++) { var ing = ingData[i]; if (ing.hasProms) { for(var p = 0; p0){ var new_temp_arr = []; for(var i in retailerPromotionCnt){ for(var j in promoRetailerIds){ if(retailerPromotionCnt[i].id == promoRetailerIds[j].id){ new_temp_arr.push(promoRetailerIds[j]); } } } promoRetailerIds = new_temp_arr; } for(var j = 0;j 0) { s = s + '
' + buildChoiceSelect(ch,"id",["name","promotionsCount"],"sc_storeSel","all","",false,1,false,"170",'onChange="ingClick(this)"') + '
'; } else { s = s + '
' + '
' + '
For this recipe there are no local offers in your area. Please try another ZIP code.
'; } for (var i = 0; i< ingData.length; i++) { var ing = ingData[i]; replaceRDCAttr(ing); } var locHtml = getLocationHTML(); document.getElementById("locationDiv").innerHTML=locHtml; var lr = kraken.radius == '0' || kraken.radius == undefined ? "" : kraken.radius; var cDom = getDomainName(); s3.cookie.setRaw("radius",lr, null, null, cDom); document.getElementById("changeZipDiv").style.display="flex"; kraken.zipOpen = false; document.getElementById("changeZipDiv").innerHTML=s; } function isDuplicateRetailer(retailerId,ch){ if(ch.length == 0){ return false; } var isDuplicate = false; for(var i=0;i{}]/g,""); var ss = desc.replace(/[&\/\#,+()$~%.'":*?<>{}]/g,""); ts = ts.replace(/\s{2,}/g, ' '); ss = ss.replace(/\s{2,}/g, ' '); if (ss == ts) { pi[i].gsIngId = recipeIngredientId; break; } } } function getLocationHTML() { var ss = '
Showing ' + ' deals in '+kraken.getLocation()+'
' + '
' + '
' + '' + '' + '' + '
' + 'Change Zip
' + '
' + 'Hide Deals
' + '
'; return ss; } function getEmptyLocationHTML() { var ss = '
' + '
' + '
Please enter valid US ZIP code
' + '' + '' + '
' + 'Change Zip
'; return ss; } function removeduplicate(arr, prop) { if(arr.length >0){ var new_arr = []; new_arr.push(arr[0]); var flag=true; for(var i=1; i 0) { kraken.mwsPromo = promos[0]; var p = null; kraken.mwsrlids = kraken.mwsPromo.retailerLocationIdList; if (kraken.mwsrlids == null || kraken.mwsrlids == 'undefined'){ p = kraken.mwsPromo; } else { for (var l = 0; l < kraken.mwsrlids.length; l++) { if (kraken.mwsrlids[l] == kraken.reciperlIds[0]){ p = kraken.mwsPromo; break; } } } kraken.redrawMWS(p); } } } else {} }); } kraken.redrawMWS = function(p) { if (p != null) { var promoPixel = p.promotionPixel; var clickPixel = []; var num=0; for (var i = 0; i " ; ss += "
"+safeTrunc(cleanDat(p.defaultDisplayDescription),60)+"
" + "
"+p.title+"
" + //"
"+p.chain.chainName+"
" + "" ; //var pixel = p.trackingPixel; //dotTrackUrl(pixel); document.getElementById("mayWeSuggestDiv").innerHTML=ss; } else document.getElementById("mayWeSuggestDiv").innerHTML=""; } kraken.getProms = function(cats) { var p = []; for(var i=0; i< cats.length; i++) { var sr = _ary(cats[i].searchResult); for(var l=0; l 0) { var umi = {id:"",description:"Unmapped",category:{id:""},promotions:um}; s3.a.addAll(ings, umi); } for(var j=0; j -1? "recipe.com":null); s3.cookie.setRaw("radius",rad.value, null, null, cDom); } if(isZip(zip)) { if(document.getElementById("storeHead")){ document.getElementById("storeHead").innerHTML=""; document.getElementById("krakenZipLink").style.marginLeft="20px"; } if(rad && rad.value == 0){ showMessageBox("Please select distance."); return; } kraken.zipCode = zip; kraken.radius = lrad; kraken.loc = null; kraken.imgIndex = 0; trackEvent(ga_actionSetZip, zip); kraken.parseRecipe(); } else{ var locInfo = document.getElementById("locInfo").innerHTML; if(locInfo == "Please enter valid US ZIP code"){ var message = getErrorMessage(); document.getElementById("locInfo").innerHTML= message; } showMessageBox('Please enter 5-digit U.S zip code.'); } } kraken.getLocation = function() { var city = kraken.loc? (''+kraken.loc.city).toLowerCase() : null; city = truncateString(city , "city"); var state = kraken.loc? kraken.loc.state : null; var loc = (city? ("" + city + "") : "") + (city && state? ", ":"") + (state? state : ""); return loc + " " + kraken.zipCode + ""; } function getKeyCode(e) { if(!e) e = window.event; return (e? (e.keyCode? e.keyCode : (e.which? e.which : (e.charCode? e.charCode : 0))) : 0); } function isZip(s) { reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/); return (reZip.test(s)); } function showMessageBox(message){ kraken.showLightbox(); var view = s3.vp(); var ppnl = s3.$('powerpanel'); if(kraken.loadAgent == "true") { if (!ppnl) { ppnl = s3.create('powerpanel'); ppnl.style.position = 'absolute'; ppnl.style.zIndex = 2000000; } kraken.pos = {x:(view.w/2-120), y:(view.h/2)+1200}; s3.moveTo(ppnl, kraken.pos); s3.resize(ppnl,{w:280, h:400}); } else { if (!ppnl) { ppnl = s3.create('powerpanel'); ppnl.style.position = 'fixed'; ppnl.style.zIndex = 2000000; } kraken.pos = {x:(view.w/2-300), y:(view.h/2)}; s3.moveTo(ppnl, kraken.pos); s3.resize(ppnl,{w:800, h:400}); } var h = '
 
' + message + '
'; ppnl.innerHTML = h; rdcShow(ppnl); } function hideMessageBox(div){ document.getElementById("showMessage").style.display = 'none'; kraken.close(); } function cleanDat(txt) { return trim(''+txt).replace(/\/(\S)/g, function(t){return t.replace("/","/ ");}); } function safeTrunc(str,len) { var s = s1 = ''+str; var p = 0; var sub = 0; while (p !=-1 && p < s.length && (p-sub) < len) { var idx = s.indexOf("&",p); var idx2 = -1; if(idx >= 0 && (idx-sub) < len) idx2 = s.indexOf(";",idx); if(idx>=0 && idx2>=0 && idx2-idx<=5 && idx2-idx>2) { sub+=(idx2-idx); } p=idx2>=0? idx2+1 : -1; } s = s.substr(0,len+sub); if(s.length < s1.length) s+= "..."; return s; } function trim(str){return (''+str).replace(/^(\s)*/,'').replace(/(\s)*$/,'');} function buildChoiceSelect(data,field,showFields,inputId,selected,all,none,size,multiple,width,extraHtml,lengthLimit,cssClass,inputName,allVal) { var ch = data; var retailerImages = "",retailerNames="",retailerIds = "",retailerAddress = "",retailerCity = "",retailerState = "",retailerZip = ""; for ( var i = 0; i < ch.length; i++) { retailerImages += ch[i].imageUrl + "~"; var rname = ch[i].name; rname = rname.replace(/'/g, "\\'"); retailerNames += rname + "~"; retailerIds += ch[i].id + "~"; retailerAddress += ch[i].address + "~"; retailerCity += ch[i].city + "~"; retailerState += ch[i].state + "~"; retailerZip += ch[i].zip + "~"; kraken.reciperlIds.push(ch[i].id); } retailerImages = retailerImages.substr(0,retailerImages.length-1); retailerIds= retailerIds.substr(0,retailerIds.length-1); retailerAddress = retailerAddress.substr(0,retailerAddress.length-1); retailerCity = retailerCity.substr(0,retailerCity.length-1); retailerState = retailerState.substr(0,retailerState.length-1); retailerZip = retailerZip.substr(0,retailerZip.length-1); retailerNames = retailerNames.substr(0,retailerNames.length-1); ingClick(ch[0].id); var mobStyle = "style='float:left;'"; if(kraken.loadAgent == "true") mobStyle =""; var s = ""+(ch.length > 1 ? "
" :" ")+""+ "
"+ch[0].name+"
"+ch[0].address+"
"+ch[0].city+", "+ch[0].state+"  "+ch[0].zip+"
"; s = s+""+(ch.length > 1 ?"
":" ")+""; return s; } function storeClick(retailerName,retailerImages, retailerIds, retailerAddress, retailerCity, retailerState, retailerZip) { retailerImages = retailerImages.replace(/^\s+|\s+$/g, ''); retailerIds = retailerIds.replace(/^\s+|\s+$/g, ''); retailerAddress = retailerAddress.replace(/^\s+|\s+$/g, ''); retailerCity = retailerCity.replace(/^\s+|\s+$/g, ''); retailerState = retailerState.replace(/^\s+|\s+$/g, ''); retailerZip = retailerZip.replace(/^\s+|\s+$/g, ''); retailerName = retailerName.replace(/^\s+|\s+$/g, ''); var imgList = retailerImages.split("~"); var idList = retailerIds.split("~"); var addressList = retailerAddress.split("~"); var cityList = retailerCity.split("~"); var stateList = retailerState.split("~"); var zipList = retailerZip.split("~"); var nameList = retailerName.split("~"); if (kraken.imgIndex < imgList.length-1) { kraken.imgIndex = kraken.imgIndex + 1; } else if (kraken.imgIndex == imgList.length-1) { kraken.imgIndex = 0; } ingClick(idList[kraken.imgIndex]); var mobStyle = "style='float:left;'"; if(kraken.loadAgent == "true") mobStyle = ""; document.getElementById("image_display").innerHTML = "
"+ "
"+nameList[kraken.imgIndex]+"
"+addressList[kraken.imgIndex]+"
"+cityList[kraken.imgIndex]+", "+stateList[kraken.imgIndex]+"  "+zipList[kraken.imgIndex]+"
"; if ((kraken.mwsPromo != null) && (kraken.mwsrlids != null && kraken.mwsrlids != 'undefined')) { var promo = null; for (var i = 0; i < kraken.mwsrlids.length; i++) { if (kraken.mwsrlids[i] == idList[kraken.imgIndex]){ promo = kraken.mwsPromo; break; } } kraken.redrawMWS(promo); } } function storePreviousClick(retailerName,retailerImages, retailerIds, retailerAddress, retailerCity, retailerState, retailerZip) { retailerImages = retailerImages.replace(/^\s+|\s+$/g, ''); retailerIds = retailerIds.replace(/^\s+|\s+$/g, ''); retailerAddress = retailerAddress.replace(/^\s+|\s+$/g, ''); retailerCity = retailerCity.replace(/^\s+|\s+$/g, ''); retailerState = retailerState.replace(/^\s+|\s+$/g, ''); retailerZip = retailerZip.replace(/^\s+|\s+$/g, ''); retailerName = retailerName.replace(/^\s+|\s+$/g, ''); var imgList = retailerImages.split("~"); var idList = retailerIds.split("~"); var addressList = retailerAddress.split("~"); var cityList = retailerCity.split("~"); var stateList = retailerState.split("~"); var zipList = retailerZip.split("~"); var nameList = retailerName.split("~"); if (kraken.imgIndex > 0) { kraken.imgIndex = kraken.imgIndex - 1; } else if(kraken.imgIndex == 0) { kraken.imgIndex = imgList.length-1; } ingClick(idList[kraken.imgIndex]); var mobStyle = "style='float:left;'"; if(kraken.loadAgent == "true") mobStyle = ""; document.getElementById("image_display").innerHTML = "
"+ "
"+nameList[kraken.imgIndex]+"
"+addressList[kraken.imgIndex]+"
"+cityList[kraken.imgIndex]+", "+stateList[kraken.imgIndex]+"  "+zipList[kraken.imgIndex]+"
"; if ((kraken.mwsPromo != null) && (kraken.mwsrlids != null && kraken.mwsrlids != 'undefined')) { var promo = null; for (var i = 0; i < kraken.mwsrlids.length; i++) { if (kraken.mwsrlids[i] == idList[kraken.imgIndex]){ promo = kraken.mwsPromo; break; } } kraken.redrawMWS(promo); } } function cleanup(arr, prop) { var new_arr = []; var lookup = {}; for (var i in arr) { lookup[arr[i][prop]] = arr[i]; } for (i in lookup) { new_arr.push(lookup[i]); } return new_arr; } function _ary(o){if(o==null)return [];return typeof(o)!='string'&&o.length!=null?o:[o];} kraken.Toggleswitch = function() { if(kraken.toggleswitch_value == "ON"){ //Condition for disable div's. kraken.toggleswitch_value = "OFF"; if(document.getElementById("image_display")) { document.getElementById("image_display").style.display='none'; } if(document.getElementById("mayWeSuggestDiv")) { document.getElementById("mayWeSuggestDiv").style.display='none'; } if(document.getElementById("showDeal")) { document.getElementById("showDeal").innerHTML='Show Deals'; } if(document.getElementById("storeHead")) { document.getElementById("storeHead").style.display='none'; } if(document.getElementById("krakenHead")) { document.getElementById("krakenHead").style.display='none'; } if(s3.getElementsByClassName("promotionDivclearfix")) { var promoDivs = document.querySelectorAll(".promotionDivclearfix"); for (var i = 0; i < promoDivs.length; i++) { promoDivs[i].style.display = "none"; } } document.getElementById("changeZipDiv").setAttribute("id", "changeZipDivOff"); }else{ //Condition for enable div's. kraken.toggleswitch_value = "ON"; if(document.getElementById("image_display")) { document.getElementById("image_display").style.display='block'; } if(document.getElementById("mayWeSuggestDiv")) { document.getElementById("mayWeSuggestDiv").style.display='block'; } if(document.getElementById("storeHead")) { document.getElementById("storeHead").style.display='block'; } if(document.getElementById("krakenHead")) { document.getElementById("krakenHead").style.display='block'; } if(document.getElementById("showDeal")) { document.getElementById("showDeal").innerHTML='Hide Deals'; } if(s3.getElementsByClassName("promotionDivclearfix")) { var promoDivs = document.querySelectorAll(".promotionDivclearfix"); for (var i = 0; i < promoDivs.length; i++) { promoDivs[i].style.display = "block"; } } document.getElementById("changeZipDivOff").setAttribute("id", "changeZipDiv"); } } function ingClick(retailerId) { if(retailerId == undefined) retailerId = parseInt(retailerId); var pi = kraken.parsedIngredients; var count=0; for(var j = 0; j< pi.length; j++) { if(pi[j].hasProms) count++; } for (var i = 0; i< pi.length; i++) { var ing = pi[i]; if (ing.hasProms) { var promotId =""; var pIds =[]; var flag =false ; var s = ""; for(var p = 0; p -1){ coupon3ImgClass = "customCoupon3ImgCls"; coupon3DealsDiv = "customCoupon3Deals"; } var throuhDate = " thru "+ dateToTiny(dateFromServer(ing.proms[p].expirationDate)); if (displayType.indexOf("CUSTOM_COUPON3") >=0) throuhDate = ""; s = s + '
' + '
'+safeTrunc(cleanDat(ing.proms[p].defaultDisplayDescription),100)+ '
'+safeTrunc(cleanDat(ing.proms[p].title),100)+''+ throuhDate+'
'; if(ing.proms[p].displayType.indexOf("CUSTOM_COUPON") > -1){ var promoPixel = ing.proms[p].promotionPixel; var clickPixel = []; var num=0; for (var j = 0; j "+ing.proms[p].clickThroughText+"
"; } s=s+'
'; } } } if(flag){ s = '
'+ s; } ing.elem.innerHTML = ing.orIng + '

' + s; }else{ if(count>0){ ing.elem.innerHTML = ing.orIng; } } //replaceRDCAttr(ing); } } function replaceRDCAttr(ings){ var newDiv = document.createElement("div"); newDiv.innerHTML = ings.orIng; var originalInputs = $(newDiv).find("input"); for(var i=0;i 0 && url != 'null') { trackUrl = url; } } catch(e) {} if (trackUrl == null || trackUrl == '' || trackUrl == 'null') return; /*if (!trackUrl) { var lastChar = url.substr(-1); if(lastChar != '/') url = url + '/'; trackUrl = url + '?click=%%CLICK_URL_UNESC%%' }*/ var e = document.createElement('script'); e.setAttribute('language', 'javascript'); e.setAttribute('type', 'text/javascript'); e.setAttribute('src', trackUrl); document.body.appendChild(e); } dotTrackUrl = function (url) { if (url == null || url == '') return; var t = new Date().getTime(); url = url.replace('[timestamp]', t); url = url.replace('[RANDOM]', t); var e = document.createElement('script'); e.setAttribute('language', 'javascript'); e.setAttribute('type', 'text/javascript'); e.setAttribute('src',url); document.body.appendChild(e); } loadCSS = function(href) { var cssLink = $(""); $("head").append(cssLink); //IE hack: append before setting href cssLink.attr({ rel: "stylesheet", type: "text/css", href: href }); }; jQuery(document).ready(function($) { // if(kraken.loadAgent == "true") document.getElementById("switchishere").style.display="inline"; // else document.getElementById("switchishere").style.display="inline-table"; kraken.parseRecipe1(); $('.toggleswitchhere').toggleSwitch(); }); (function ($) { 'use strict'; $.fn.toggleSwitch = function (options) { var settings = $.extend({ onClick: function () { return true; }, onChangeOn: function () { return true; }, onChangeOff: function () { return true; } }, options); $(this).each(function () { var obj = $(this), status = obj.is(':checked') ? '' : ' off'; if (!obj.parent('div.switch').length) { obj.wrap('

'); obj.parent('div.switch').prepend('').prepend('
'); } obj.parent('div.switch').add($('label[for=' + obj.prop('id') + ']')).click(function (e) { e.preventDefault(); if (!obj.prop('disabled')) { var value, check; settings.onClick.call(obj); if ($(this).is('label')) { value = $('#' + $(this).prop('for')).prev('span.switched'); check = $('#' + $(this).prop('for')); } else { value = $(this).children('span.switched'); check = $(this).children('input[type=checkbox]'); } if (value.is('.off')) { kraken.Toggleswitch(); value.stop().animate({left: 0}, 150, 'linear').removeClass('off'); check.prop('checked', 'checked'); settings.onChangeOn.call(obj); } else { kraken.Toggleswitch(); value.stop().animate({left: -21}, 150, 'linear').addClass('off'); check.prop('checked', ''); settings.onChangeOff.call(obj); } } }); }); }; }(jQuery)); //ga.js must be imported manually var pageTracker = null; function initTracker(){ try { pageTracker = _gat._getTracker(ga_trackingKey); pageTracker._initData(); } catch (e) { pageTracker = {'_trackPageview':function(x) {}}; } } // there are better ways to do this using the onload event - ping Dom //window.setTimeout(initTracker, 1500);//give some time for ga.js to load initTracker(); function trackEvent(act, val) { if(ga_trackingKey == "GA_CODE_NOT_SET" || ga_trackingKey == "GA_NOT_ENABLED") { var loc = (""+document.location).indexOf("http://localhost"); if(loc == -1 || loc > 15) return; } if(val != null) val = (""+val).toLowerCase().replace(/[\s!'"\*\^&%\?$#@~`:<>\\]+/g,""); var a = ""+act; var query = ga_trackName + '/' + a + (val? '/'+val:''); pageTracker._trackPageview(query); logEvent(query); } function logEvent(query) { if(typeof console !== 'undefined' && 'log' in console) console.log('GA:' + query); if(typeof event_debug_element !== 'undefined' && event_debug_element !== null) { try { var el = event_debug_element; el.innerHTML += 'GA: ' + query + "
"; el.scrollTop = el.scrollHeight; } catch(x) {} } return query; } loadCSS("http://gs.kraftrecipes.com/groceryserver/kraftrecipesdotcom/toggleswitch.css"); loadCSS("http://gs.kraftrecipes.com/groceryserver/kraftrecipesdotcom/css/decorator.css"); trackEvent(ga_actionLoad);