var CF={};CF.version="1.2.5";CF.buildNum="h13";CF.buildDate="02/12/2010 01:52 PM";CF.toArray=function(c){if(!c){return[]}if(c.toArray){return c.toArray()}var b=c.length||0,a=new Array(b);while(b--){a[b]=c[b]}return a};CF.arrayClone=function(b){var c=[];jQuery.each(b,function(a,d){c.push(d)});return c};CF.extend=function(a,c){if(c){for(var b in c){a[b]=c[b]}}return a};CF.mixin=CF.extend;CF.keys=function(a){var b=[];for(var c in a){b.push(c)}return b};CF.vals=function(a){var b=CF.keys(a);return CF.collect(b,function(d,c){return a[c]})};CF.clean=function(b,c){if(!jQuery.isArray(c)){c=[c]}var a=CF.keys(b);jQuery.each(a,function(g,e){var h=b[e];var d=c.length;for(var f=0;f<d;f++){if(c[f]===h){delete b[e];break}}})};CF.arrayFind=function(b,d,c){var a=null;jQuery.each(b,function(e,f){if(d.call(c,e,f)){a=f;return false}});return a};CF.pluck=function(a,b){return CF.collect(a,function(c,d){return d[b]})};CF.arrayFindAll=function(a,d,c){var b=[];jQuery.each(a,function(e,f){if(d.call(c,e,f)){b.push(f)
}});return b};CF.arrayReject=function(a,d,c){var b=[];jQuery.each(a,function(e,f){if(!d.call(c,e,f)){b.push(f)}});return b};CF.arrayCompact=function(a){var b=a.length;var d,c;var e=[];for(d=0;d<b;d++){c=a[d];if(c){e.push(c)}}return e};CF.hasClass=function(c,b){if(c.jquery){c=c.get(0)}if(!c.className){return false}var a=" "+c.className+" ";return(a.indexOf(" "+b+" ")!=-1)};CF.collect=function(c,b){var a=[];jQuery.each(c,function(d,e){a.push(b(d,e))});return CF.arrayCompact(a)};CF.first=function(e,d){var a=e.length;for(var c=0;c<a;c++){var b=d(c,e[c]);if(b!=null&&b!=undefined){return b}}return null};CF.isIE=function(){return jQuery.browser.msie};CF.isIE6=function(){return CF.isIE()&&parseInt(jQuery.browser.version)==6};CF.isIE7=function(){return CF.isIE()&&parseInt(jQuery.browser.version)==7};CF.isIE8=function(){return CF.isIE()&&parseInt(jQuery.browser.version)==8};CF.isIE8Compat=function(){return CF.isIE7()&&window.postMessage};CF.isIE8Quirks=function(){return CF.isIE8()&&document.documentMode==5
};CF.isSafari=function(){var a=navigator.userAgent.toLowerCase();return(a.indexOf("safari")!=-1&&a.indexOf("chrome")==-1)};CF.isUndefined=function(a){return typeof a=="undefined"};CF.isNumber=function(a){return typeof a=="number"};CF.inList=function(b,d){var a=d.length;for(var c=0;c<a;c++){if(b===d[c]){return true}}return false};CF.error=function(b,a){if(window.console){console.log("ERROR: "+CF._logBuilder(CF.toArray(arguments)))}};CF._logBuilder=function(b,a){a=a||" arg";var c="";c+=b.shift();jQuery.each(b,function(d,e){if(typeof e=="string"){c+=" "+e}else{c+=a+d+1+" "+CF.toJSON(e)}});return c};CF.log=function(){if(window.console){console.log("INFO: "+CF._logBuilder(CF.toArray(arguments)))}};CF.enterPressed=function(a){var b=function(c){if(c.keyCode==13){a()}};return b};CF.focusLater=function(c,b){if(!b){b=200}var a=function(){try{c.get(0).focus()}catch(d){CF.focusLater(c)}};setTimeout(a,b);return c};CF.nl2br=function(a){return a.replace(/\n/g,"<br />")};CF.makeNamespace=function(a){var b=function(f,e,d){if(d<(e.length-1)){var g=e[d];
if(!f[g]){f[g]={}}d++;b(f[g],e,d)}};var c=a.split(".");b(window,c,0)};CF.evalFx=function(f,a,d,c){if(!a){a={}}try{return new Function("data","with (arguments[0]) return "+f)(a)}catch(b){if(!d){CF.error((c||"Error applying expression: ")+f,b.message)}}return undefined};CF.quoteString=function(){var a=/["\\\x00-\x1f\x7f-\x9f]/g;var c={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};var b=function(d){if(a.test(d)){return'"'+d.replace(a,function(e){var f=c[e];if(typeof f==="string"){return f}f=e.charCodeAt();return"\\u00"+Math.floor(f/16).toString(16)+(f%16).toString(16)})+'"'}return'"'+d+'"'};return b}();CF.toJSON=function(h){var f=typeof(h);if(f=="undefined"){return"undefined"}else{if(f=="number"||f=="boolean"){return h+""}else{if(h===null){return"null"}else{if(f=="function"){return CF.quoteString("function()")}else{if(f=="string"){return CF.quoteString(h)}else{if(f=="date"){return h.getTime()}else{if(f=="object"&&typeof h.toJSON=="function"){return h.toJSON()
}else{if(jQuery.isArray(h)){var d=[];for(var e=0;e<h.length;e++){d.push(CF.toJSON(h[e]))}return"["+d.join(",")+"]"}else{var c=[];for(var a in h){var b='"'+a+'"';var g=CF.toJSON(h[a]);if(typeof(g)!="string"){continue}c.push(b+":"+g)}return"{"+c.join(", ")+"}"}}}}}}}}};CF.curry=function(b){var a=CF.toArray(arguments);a.shift();return function(){return b.apply(null,a.concat(CF.toArray(arguments)))}};CF.once=function(c){var b=false;var a=function(){if(!b){b=true;return c.apply(null,CF.toArray(arguments))}return undefined};return a};CF.require=function(c){CF.makeNamespace(c);if(!CF.evalFx(c)){if(!CF.requireUrl){var b=jQuery("script");CF.requireUrl=CF.first(b,function(d,e){var f=jQuery(e).attr("src");if(f&&f.indexOf("CF.js")!=-1){return f.split("CF.js")[0]}})}var a=(CF.requireUrl||"")+c.replace(/\./g,"/")+".js";CF.appendScript(a)}};CF.appendScript=function(a){jQuery("head").append(CF.build("script",{type:"text/javascript",src:a}))};CF.docFrag=function(c){var b=function(k,l){if(l.indexOf("<")==-1){var h=l.replace(/&amp;/g,"&").replace(/&apos;/g,"'").replace(/&quot;/g,'"');
k.appendChild(document.createTextNode(h));return}var j=document.createElement("div");j.innerHTML=l.toString();var m=CF.arrayClone(j.childNodes);var e=m.length;for(var g=0;g<e;g++){k.appendChild(m[g])}};var a=function(g,e){if(e.jquery){g.appendChild(e.get(0))}else{if(e.nodeType==1||e.nodeType==3||e.nodeType==11){g.appendChild(e)}else{b(g,e)}}};var d=function(h){var j=document.createDocumentFragment();if(h){if(jQuery.isArray(h)){var g=0;var e=h.length;for(g=0;g<e;g++){a(j,d(h[g]))}}else{a(j,h)}}return j};return d}();CF.build=function(){var a=/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/;var b=/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/;var e=/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/g;var d=/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/g;var c=function(j,k,h){if(arguments.length==2&&k!=null&&(typeof k=="string"||jQuery.isArray(k)||k.tagName||k.jquery)){h=k;k={}}if(!k){k={}}if(!j){j=""}var n;n=j.match(a);if(n){n=n[0]}var g=j.match(b);var l=j.match(e);var o=j.match(d);if(!n){n="div"}if(g){k.id=g[1]
}if(o){jQuery.each(o,function(r,q){var s=q.replace(/[\[\]]/g,"").split("=");if(s&&s.length==2){k[s[0]]=s[1]}})}var i;if((n==="input"||n==="button")&&CF.isIE()){CF.log("Attribs",k);var m=k.type?'type="'+k.type+'"':"";var f=k.name?'name="'+k.name+'"':"";i=jQuery(document.createElement("<"+n+" "+m+" "+f+">"));delete k.type;delete k.name}else{i=jQuery(document.createElement(n))}i.attr(k);if(l){var p="";jQuery.each(l,function(q,r){p+=r.replace(".","")+" "});i.addClass(jQuery.trim(p))}if(h){if(h.nodeType==11){i.append(h)}else{i.append(CF.docFrag(h))}}return i};return c}();CF.EventPublisher=function(){var b=0;var a={};a.events=[];a.firedEvents={};a.fireCount=function(c){return a.firedEvents[c]||0};a._incFireCount=function(c){if(!a.firedEvents[c]){a.firedEvents[c]=1}else{a.firedEvents[c]++}};a.after=function(d,c){if(a.fireCount(d)>0){c(d)}else{a.listen(d,c,true)}};a.fire=function(c){a._incFireCount(c);var f=[];var e=[];var d=CF.toArray(arguments);jQuery.each(a.events,function(h,g){if(!g.name||g.name==c){CF.log("Firing event",c);
f.push(g.fx.apply(null,d))}if(g.once&&g.name==c){e.push(g.key)}});jQuery.each(e,function(h,g){a.unlisten(g)});return f};a.listen=function(d,c,e){if(!e){e=false}b++;CF.log("Listening for event",d);a.events.push({key:b,name:d,fx:c,once:e});return b};a.unlisten=function(d){var c=CF.isNumber(d)?"key":"name";a.events=CF.arrayReject(a.events,function(g,f){var e=f[c]==d;if(e){CF.log("Unlistening event",d)}return e})};a.unlistenAll=function(){a.events={}};return a};CF.cookie=function(){var a={};a.createCookie=function(c,h,i,g,j){var d="";var e=0;if(i){e+=i*24*60*60*1000}if(g){e+=g*60*60*1000}if(e>0){var f=new Date();f.setTime(f.getTime()+e);d="; expires="+f.toGMTString()}if(!j){j="/"}var b=c+"="+h+d+"; path="+j;document.cookie=b;return b};a.readCookie=function(d){var f=d+"=";var b=document.cookie.split(";");for(var e=0;e<b.length;e++){var g=b[e];while(g.charAt(0)==" "){g=g.substring(1,g.length)}if(g.indexOf(f)==0){return g.substring(f.length,g.length)}}return null};a.eraseCookie=function(b){a.createCookie(b,"",-1)
};return a}();CF.config=function(){var a={};a.events=CF.EventPublisher();a.defaults={b2cHost:location.protocol+"//"+location.host,b2cPath:"/rest/",rpxUrl:"https://cf-poc.rpxnow.com",scriptHost:"http://scripthost.crowdfactory.com/"+CF.version,cfKeys:{subscriber:"default",product:"default-product",topcommunity:1},use_cf_token:true,cf_token_timeout:null,loginReload:true,logoutReload:true,profileMode:"full",sessionCookieName:"CF_JSESSIONID",loginProviderParam:"cf_provider",loginTokenNameParam:"cf_token_name",xd_path:"/xd/"+CF.version+"/xd_host.html",xdr_loc:location.protocol+"//"+location.host+"/xd/"+CF.version+"/xd_host.html",use_xdr:false,extraRestParams:{}};a.set=function(b){a.current=CF.extend(a.defaults,b||{});return a};a.complete=function(){a.events.fire("config_beforeComplete",a.current);a.events.fire("config_complete",a.current);a.events.fire("config_afterComplete",a.current);return a};return a}();CF.ajax=function(){var a={};a.xd_receivers={};a.seq=1;a.xd_polltime=50;a.xd_queue=[];a.request=function(b,f,e){var d=CF.keys(f);
var c=a.ajax;if(f.redirect){c=a.formPost}else{if(!a.sameDomain(b,location.href)){c=a.jsonp;if(a.checkPostMessage()){c=a.winPostMessage}else{if(a.use_xdr){c=a.winName}}}}c(b,f,e)};a.ajax=function(b,d,c){jQuery.ajax({dataType:"json",url:b,data:d,type:"POST",success:c})};a.jsonp=function(b,d,c){jQuery.ajax({dataType:"jsonp",url:b,data:d,jsonp:"jsonp",success:c})};a.formPost=function(c,e){var b=[];jQuery.each(CF.keys(e),function(g,f){b.push(CF.build("input",{type:"hidden",name:f,value:e[f]}))});var d=CF.build("form",{method:"POST",action:c},b);jQuery("body").append(d);d.submit()};a.winPostMessage=function(b,e,c){if(!a.checkPostMessage()){CF.error("Browser does not support window.postMesage transport");return}var d={seq:"seq_"+a.seq++,url:b,params:e};a.xd_receivers[d.seq]=c;a.waitForXdHost(function(){a.xd_host.postMessage(CF.toJSON(d),"*")})};a.winName=function(b,e,c){var d={seq:a.seq++,url:b,params:e,returnUrl:a.xdr_loc};a.xd_receivers[d.seq]=c;a.xd_queue.push(d);a.xd_check()};a.checkPostMessage=function(){return window.postMessage&&!CF.isIE8Compat()&&!CF.isIE8Quirks()
};a.waitForXdHost=function(b){if(a.xd_host&&a.xd_hostReady){b()}else{setTimeout(function(){a.waitForXdHost(b)},a.xd_polltime)}};a.sameDomain=function(c,b){var d=function(e){return e.toLowerCase().replace("http://").replace("https://").split("/")[0]};return(c&&b)&&(d(c)==d(b))};a.xd_setup=function(c,e,d,b,f){a.xd_hostname=c;a.xdr_loc=f;a.use_xdr=b;a.xd_loc=c+d;if(!a.sameDomain(location.href,f)){CF.error("xdr_loc must match current hostname for cross domain communication to work",location.href,f);return}a.frameName="xd_frame"+Math.random().toString().replace(".","");jQuery(function(){var j=null,i=false;if(a.checkPostMessage()){j=a.xd_loc;if(CF.isSafari()&&!CF.config.current.use_cf_token){j=CF.url.addParam("safariFix",c+e+"no-op",j)}jQuery(window).bind("message",a.xd_msg_handler)}else{if(a.use_xdr){j=a.xdr_loc+"?ready=true";if("ActiveXObject" in window){i=true;var h=new ActiveXObject("htmlfile");h.open();h.write("<html><body><iframe id='iframe' src='"+j+"' name='"+a.frameName+"'></iframe></body></html>");
h.close();var g=h.getElementById("iframe");g.onload=function(){a.xd_host_elem=jQuery(g);a.xd_host=g.contentWindow};CF.log("xd_host iframe created inside htmlfile instance")}}}if(j&&!i){a.xd_host_elem=CF.build("iframe",{style:"display:none",name:a.frameName,src:j});jQuery("body").append(a.xd_host_elem);a.xd_host=window.frames[a.frameName];CF.log("xd_host iframe created")}})};a.xd_check=function(){var f=null;try{if(a.xd_host_elem){var h=a.xd_host_elem.get(0);var b=true;if(CF.isIE()&&h.readyState!="complete"){b=false}if(b){a.xd_host=a.xd_host_elem.get(0).contentWindow;f=a.xd_host.location.toString()}}}catch(d){}if(f&&f.indexOf(a.xdr_loc)==0){var g=a.xd_host.name;if(g=="ready"&&a.xd_queue.length>0){a.xd_host.name="request:"+CF.toJSON(a.xd_queue.pop());if(CF.isIE()){a.xd_host.location=a.xd_loc+"?request=true"}else{a.xd_host_elem.attr("src",a.xd_loc+"?request=true")}}if(g.indexOf("response:")==0){var c=CF.evalFx(g.replace("response:",""));a.xd_host.name="ready";a.xd_msg_dispatch(c)}}setTimeout(a.xd_check,a.xd_polltime)
};a.xd_msg_dispatch=function(b){CF.log("processing seq",b.seq);if(!b.seq||!a.xd_receivers[b.seq]){CF.error("Message with invalid sequence received",b);return}a.xd_receivers[b.seq](b.data);delete a.xd_receivers[b.seq]};a.xd_msg_handler=function(b){if(b.type!="message"){return}b=b.originalEvent;if(b.origin!=a.xd_hostname){return}if(!a.xd_hostReady&&b.data=="ready"){a.xd_hostReady=true}else{a.xd_msg_dispatch(CF.evalFx(b.data))}};return a}();CF.RestV1=function(){var b={};if(!CF.config.current){CF.error("CF.config.set must be called before creating a CF.RestV1 instance")}b.events=CF.EventPublisher();var a=CF.config.current;CF.ajax.xd_setup(a.b2cHost,a.b2cPath,a.xd_path,a.use_xdr,a.xdr_loc);b.restCall=function(e,d,g){var f=function(c){d(c);b.events.fire("request_completed",e,c)};g=b.safeParams(g);var h=CF.config.current;CF.extend(g,h.cfKeys);CF.extend(g,h.extraRestParams);CF.clean(g,[undefined,null]);b.events.fire("request_started",e,g);CF.ajax.request(h.b2cHost+h.b2cPath+e,g,f)};b.wrapHandleErrors=function(c,e){var d=function(f){if(f.error_code!=0){c(null,f)
}else{if(e){f=f[e]}c(f,false)}};return d};b.safeParams=function(c){return(c||{})};b.login=function(d,f,c,e){e=b.safeParams(e);e.j_username=f;e.j_password=c;d=b.wrapHandleErrors(d);b.restCall("auth/login",d,e)};b.logout=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c);b.restCall("auth/logout",c,d)};b.user_get=function(d,c,e){e=b.safeParams(e);if(c){e.user=c}d=b.wrapHandleErrors(d,"user");b.restCall("v1/user/get",d,e)};b.entity_get=function(d,c,e){e=b.safeParams(e);e.entity=c;d=b.wrapHandleErrors(d,"ExternalEntity");b.restCall("v1/entity/get",d,e)};b.entity_create=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"ExternalEntity");b.restCall("v1/entity/create",c,d)};b.entity_browse=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"entities");b.restCall("v1/entity/browse",c,d)};b.rating_entity_create=function(d,c,e,f,g){g=b.safeParams(g);g.entity=c;g.rating=e;g.value=f;d=b.wrapHandleErrors(d);b.restCall("v1/rating/entity/create",d,g)};b.comment_entity_create=function(e,d,c,f){f=b.safeParams(f);
f.entity=d;f.body=c;if(!f.subject){f.subject=""}e=b.wrapHandleErrors(e,"comment");b.restCall("v1/comment/entity/create",e,f)};b.comment_entity_get=function(d,c,e){e=b.safeParams(e);e.entity=c;d=b.wrapHandleErrors(d,"comments");b.restCall("v1/comment/entity/get",d,e)};b.user_create=function(d,c,e){e=b.safeParams(e);e.user=c;d=b.wrapHandleErrors(d,"user");b.restCall("v1/user/create",d,e)};b.comment_user_create=function(e,d,c,f){f=b.safeParams(f);f.user=d;f.body=c;if(!f.subject){f.subject=""}e=b.wrapHandleErrors(e,"comment");b.restCall("v1/comment/user/create",e,f)};b.rating_user_create=function(d,c,e,f,g){g=b.safeParams(g);g.user=c;g.rating=e;g.value=f;d=b.wrapHandleErrors(d);b.restCall("v1/rating/user/create",d,g)};b.comment_user_get=function(d,c,e){e=b.safeParams(e);e.user=c;d=b.wrapHandleErrors(d,"comments");b.restCall("v1/comment/user/get",d,e)};b.comment_board_create=function(d,e,c,f){f=b.safeParams(f);f.board=e;f.body=c;if(!f.subject){f.subject=""}d=b.wrapHandleErrors(d,"comment");b.restCall("v1/comment/board/create",d,f)
};b.comment_board_get=function(c,d,e){e=b.safeParams(e);e.board=d;c=b.wrapHandleErrors(c,"comments");b.restCall("v1/comment/board/get",c,e)};b.query_entity_most_rated=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"entities");b.restCall("v1/query/entity/most_rated",c,d)};b.query_entity_top_rated=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"entities");b.restCall("v1/query/entity/top_rated",c,d)};b.query_entity_most_commented=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"entities");b.restCall("v1/query/entity/most_commented",c,d)};b.query_entity_recently_commented=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"entities");b.restCall("v1/query/entity/recently_commented",c,d)};b.query_entity_highest_rated=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"entities");b.restCall("v1/query/entity/highest_rated",c,d)};b.query_entity_number_lists=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"entities");b.restCall("v1/query/entity/number_lists",c,d)
};b.query_user_most_active=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"users");b.restCall("v1/query/user/most_active",c,d)};b.list_get=function(d,e,c,f){f=b.safeParams(f);f.category=e;f.name=c;d=b.wrapHandleErrors(d,"userlist");b.restCall("v1/list/get",d,f)};b.list_entity_add=function(e,c,f,d,g){g=b.safeParams(g);g.entity=c;g.category=f;g.name=d;e=b.wrapHandleErrors(e);b.restCall("v1/list/entity/add",e,g)};b.list_entity_remove=function(e,c,f,d,g){g=b.safeParams(g);g.entity=c;g.category=f;g.name=d;e=b.wrapHandleErrors(e);b.restCall("v1/list/entity/remove",e,g)};b.list_entity_exists=function(e,c,f,d,g){g=b.safeParams(g);g.entity=c;g.category=f;g.name=d;e=b.wrapHandleErrors(e,"exists");b.restCall("v1/list/entity/exists",e,g)};b.list_create=function(d,e,c,f){f=b.safeParams(f);f.category=e;f.name=c;d=b.wrapHandleErrors(d);b.restCall("v1/list/create",d,f)};b.activityevent_create=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"ActivityEvent");b.restCall("v1/activityevent/create",c,d)
};b.activityevent_get=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"activityevents");b.restCall("v1/activityevent/get",c,d)};b.attribute_user_get=function(d,c,e){e=b.safeParams(e);e.user=c;d=b.wrapHandleErrors(d,"attributes");b.restCall("v1/attribute/user/get",d,e)};b.connection_exists=function(c,f,d,e){e=b.safeParams(e);e.to_user=f;e.category=d;c=b.wrapHandleErrors(c);b.restCall("v1/connection/exists",c,e)};b.connection_create=function(c,f,d,e){e=b.safeParams(e);e.to_user=f;e.category=d;c=b.wrapHandleErrors(c);b.restCall("v1/connection/create",c,e)};b.flag_activityevent=function(c,e,d){d=b.safeParams(d);d.activityevent=e;c=b.wrapHandleErrors(c);b.restCall("v1/flag/activityevent",c,d)};b.flag_board=function(c,d,e){e=b.safeParams(e);e.board=d;c=b.wrapHandleErrors(c);b.restCall("v1/flag/board",c,e)};b.flag_comment=function(c,e,d){d=b.safeParams(d);d.comment=e;c=b.wrapHandleErrors(c);b.restCall("v1/flag/comment",c,d)};b.flag_entity=function(d,c,e){e=b.safeParams(e);e.entity=c;d=b.wrapHandleErrors(d);
b.restCall("v1/flag/entity",d,e)};b.flag_user=function(d,c,e){e=b.safeParams(e);e.user=c;d=b.wrapHandleErrors(d);b.restCall("v1/flag/user",d,e)};b.loginreg_auth=function(c,d,f,e){e=b.safeParams(e);e.token=d;e.provider=f;e.use_cf_token=CF.config.current.use_cf_token;c=b.wrapHandleErrors(c);b.restCall("v1/loginreg/auth",c,e)};b.loginreg_auth2=function(c,d,f,e){e=b.safeParams(e);e.token=d;e.provider=f;e.use_cf_token=CF.config.current.use_cf_token;c=b.wrapHandleErrors(c);b.restCall("v1/loginreg/auth2",c,e)};b.loginreg_register=function(c,d){d=b.safeParams(d);d.use_cf_token=CF.config.current.use_cf_token;c=b.wrapHandleErrors(c);b.restCall("v1/loginreg/register",c,d)};b.loginreg_rpxforward_url=function(f){var e=CF.config.current;var d=CF.extend({redirect:f},e.cfKeys);return CF.url.build([e.b2cHost,e.b2cPath,"v1/loginreg/rpxforward"],d)};b.entity_comment_count=function(c,d){d=b.safeParams(d);c=b.wrapHandleErrors(c,"comment_count");b.restCall("v1/entity/comment/count",c,d)};b.syndication_create=function(h,m,e,j,d,i){i=b.safeParams(i);
i.provider=m;i.category=e;i.target=j;var k=CF.config.current;var f=[k.loginTokenNameParam,k.loginProviderParam,"cf_synd_id"];var g=CF.url.params(k.loginTokenNameParam,d);if(g){f.push(g)}i.url=CF.url.removeParam(f,d);var l=CF.url.removeParam(f);h=b.wrapHandleErrors(h,"syndication");b.restCall("v1/syndication/create",h,i)};b.alt_id_user_add=function(d,c,f,g,e){e=b.safeParams(e);e.user=c;e.provider=f;e.id=g;d=b.wrapHandleErrors(d);b.restCall("v1/alt_id/user/add",d,e)};b.alt_id_user_remove=function(d,c,f,g,e){e=b.safeParams(e);e.user=c;e.provider=f;e.id=g;d=b.wrapHandleErrors(d);b.restCall("v1/alt_id/user/remove",d,e)};b.external_profile_get=function(c,e,d){d=b.safeParams(d);d.provider=e;c=b.wrapHandleErrors(c,"external_profile");b.restCall("v1/external_profile/get",c,d)};b.auth_token_create=function(e,c,d,f){f=b.safeParams(f);f.user=c;f.password=d;e=b.wrapHandleErrors(e);b.restCall("v1/auth_token/create",e,f)};b.auth_token_delete=function(c,d,e){e=b.safeParams(e);
e.cf_token=d;c=b.wrapHandleErrors(c);b.restCall("v1/auth_token/delete",c,e)};b.conversionevent_create=function(c,d,e){e=b.safeParams(e);e.category=d;c=b.wrapHandleErrors(c);b.restCall("v1/conversionevent/create",c,e)};return b};CF.session={};CF.session.localStorageProvider=function(){var a;var b={};b.supported=function(){if(window.localStorage||window.globalStorage){return true}return false};b.start=function(d){var e=window.location.host.split(":")[0];a=window.localStorage||window.globalStorage[e];var c=a.CF_store;if(c){d(c)}else{d(null)}};b.persist=function(c){a.CF_store=c};return b};CF.session.msUserDataProvider=function(){var a={};a.start=function(b){jQuery(function(){jQuery("body").get(0).style.behavior="url('#default#userData')";var e=jQuery("body").get(0);var d=false;if(e){e.load("CF_Store");var c=e.getAttribute("sPersist");if(c){b(c);d=true}}if(!d){b(null)}})};a.supported=function(){return jQuery.browser.msie&&!window.localStorage};a.persist=function(c){var b=jQuery("body").get(0);
if(b){b.setAttribute("sPersist",c);b.save("CF_Store")}};return a};CF.session.gearsProvider=function(){var b={};var a;b.start=function(d){a=google.gears.factory.create("beta.database");a.open("CF_Store");a.execute("CREATE TABLE IF NOT EXISTS CF_Store (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)");var c=a.execute("SELECT v FROM CF_Store where k = ?",["CF_Store"]);if(c&&c.isValidRow()){d(c.field(0))}else{d(null)}c.close()};b.supported=function(){if(window.google&&google.gears){return true}return false};b.persist=function(c){a.execute("BEGIN");a.execute("INSERT OR REPLACE INTO CF_Store(k, v) VALUES (?, ?)",["CF_Store",c]);a.execute("COMMIT")};return b};CF.session.sqlLiteHtml5Provider=function(){var b;var a={};a.supported=function(){if(window.openDatabase){return true}return false};a.start=function(c){b=window.openDatabase("CF_store","1.0","CF_Store",1024*200);if(b){b.transaction(function(d){d.executeSql("CREATE TABLE IF NOT EXISTS CF_Store (k TEXT UNIQUE NOT NULL PRIMARY KEY, v TEXT NOT NULL)");
d.executeSql("SELECT k,v FROM CF_Store where k=?",["CF_store"],function(f,e){if(e.rows&&e.rows.length>0){c(e.rows.item(0).v)}else{c(null)}})})}};a.persist=function(c){b.transaction(function(d){d.executeSql("INSERT OR REPLACE INTO CF_Store(k, v) VALUES (?, ?)",["CF_store",c])})};a.forceAtomic=true;return a};CF.session.providers=[CF.session.localStorageProvider(),CF.session.gearsProvider(),CF.session.sqlLiteHtml5Provider(),CF.session.msUserDataProvider()];CF.session.currentProvider=function(){return CF.arrayFind(CF.session.providers,function(b,a){return a.supported()})}();CF.session.instance=function(){var d=64*1024;var c={};var b=CF.session.currentProvider;var a={};c.events=CF.EventPublisher();c.loadComplete=function(e){if(e){a=CF.evalFx(e)||{}}else{a={}}c.isLoaded=true;c.events.fire("session_loaded")};c.whenLoaded=function(f,e){if(c.isLoaded){f();if(!e){c.events.listen("session_loaded",f,e)}}else{c.events.listen("session_loaded",f,e)}};c.get=function(e){return a[e]};c.put=function(e,f){a[e]=f;
c.afterAction()};c.afterAction=function(){if(b&&b.forceAtomic){c.persist()}};c.remove=function(f){var e=a[f];a[f]=null;c.afterAction();return e};c.clear=function(){a={};c.afterAction()};c.persist=function(){var e=CF.toJSON(a);if(e.length>d){CF.error("Error persisting session.  Too much data")}else{if(b){b.persist(e)}}};c.hasSession=function(){var e=CF.cookie.readCookie("CF_cSess");if(!e){return false}var g=new Date();var f=parseInt(e,10);if(!f){return false}var h=new Date(f);if(g.getTime()>h.getTime()){return false}return true};c.ensureSession=function(){c.whenLoaded(function(){if(b&&!c.hasSession()){c.clear();c.extendSession()}})};c.extendSession=function(){var e=new Date();e.setMinutes(e.getMinutes()+c.timeoutLength);CF.cookie.createCookie("CF_cSess",e.getTime().toString())};c.start=function(){var e=CF.config.cf_token_timeout;e=Math.max((e||30),10)-5;c.timeoutLength=e;c.ensureSession();if(b){b.start(c.loadComplete)}else{c.noPersist=true;CF.error("No persistence provider found.");c.loadComplete(null)
}jQuery(window).unload(c.persist)};CF.config.events.listen("config_beforeComplete",c.start);return c}();CF.context=function(){var b={};var a=CF.session.instance;b.events=CF.EventPublisher();b.api_v1;b.whenLoaded=function(d,c){if(b.isLoaded){d(b);if(!c){b.events.listen("context_loaded",d,c)}}else{b.events.listen("context_loaded",d,c)}};b.userFetched=function(c,d){if(d){b._clearUser()}else{b._storeUser(c)}b.loadComplete()};b._storeUser=function(c){b.auth_user=c;a.put("auth_user",c);a.persist()};b._clearUser=function(){b.auth_user=null;a.remove("auth_user");a.persist()};b.loadComplete=function(){b.isLoaded=true;b.events.fire("context_loaded",b)};b.load=function(){if(!b.api_v1){b.waitingForApi=true;return}var c=a.get("auth_user");b.auth_user=c;if(!c){b.reload()}else{b.loadComplete()}};b.silentUpdateUser=function(d){var c=CF.context.auth_user;var e=function(f,g){if((g&&!c&&!f)||(!g&&f&&c)){b._storeUser(f)}else{b.userFetched(f,g)}if(d){d(f,g)}};b.api_v1.user_get(e)};b.invalidate=function(){b._clearUser();
b.events.fire("context_loaded")};b.reload=function(c){b.isLoaded=false;if(c&&jQuery.isFunction(c)){b.whenLoaded(c,true)}b.api_v1.user_get(b.userFetched)};b.setApi=function(c){b.api_v1=c;if(b.waitingForApi){b.waitingForApi=false;b.load()}};b.startPinger=function(){setTimeout(function(){b.silentUpdateUser(b.startPinger);a.extendSession()},a.timeoutLength*60*1000)};CF.config.events.listen("config_beforeComplete",function(d,c){var e=CF.cookie.readCookie("cf_token");if(e){if(!c.extraRestParams){cf.extraRestParams={}}c.extraRestParams.cf_token=e}b.setApi(CF.RestV1());a.whenLoaded(function(){b.load();b.startPinger()})});return b}();CF.url=function(){var a={};a.params=function(e,b){if(!b){b=location.href}var c=b.split("?");if(c.length>1){var d=a.fromQueryString(c[1]);if(d&&e){return d[e]}return d}if(e){return null}return{}};a.build=function(d,c){var e="";var b=function(f,g){g=g.toString();e+=g;if(!g.lastIndexOf("/")==g.length-1&&f<d.length-1){e+="/"}};if(d){jQuery.each(d,b)}return a.addParams(c||{},e)
};a.addParam=function(c,b,d){var e={};e[c]=b;return a.addParams(e,d)};a.addParams=function(g,c){c=c||location.href;var e=a.getHash(c,true);var f=c.split("#");c=f[0];var b=a.toQueryString(g);c=a._stripXtra(c);var d=c.indexOf("?");if(d==-1){c+="?"}else{b="&"+b}return c+b+e};a.getHash=function(b,d){b=b||location.href;var c=b.split("#");if(c.length>1){return d?"#"+c[1]:c[1]}return""};a.removeHash=function(b){b=b||location.href;return b.split("#")[0]};a.removeParam=function(e,b){b=b||location.href;var d=b.split("?")[0];var f=a.params(null,b);e=jQuery.isArray(e)?e:[e];jQuery.each(e,function(h,g){delete f[g]});var c=a.addParams(f,d+a.getHash(b,true));return a._stripXtra(c)};a._stripXtra=function(c){if(!c){return c}var b=c.charAt(c.length-1);if(b=="?"||b=="&"){c=c.substr(0,c.length-1)}return c};a.fromQueryString=function(c){var b={};jQuery.each(c.split("&"),function(f,j){var g=j.split("=");var e=g[0];if(g.length==2){var h=a.decUri(g[1]);var d=b[e];if(d){if(!jQuery.isArray(d)){b[e]=[d]}b[e].push(h)
}else{b[e]=h}}});return b};a.decUri=function(b){return decodeURIComponent(b).replace(/\+/g," ")};a.friendly=function(b){return b.toLowerCase().replace(/[_|\s]+/g,"-").replace(/[^a-z0-9-]+/g,"").replace(/[-]+/g,"-")};a.toQueryString=function(e){var d=[];var c=CF.keys(e);var b=function(f,g){d.push(f+"="+encodeURIComponent(g))};jQuery.each(c,function(g,f){var h=e[f];if(jQuery.isArray(h)){jQuery.each(h,function(k,j){b(f,j)})}else{b(f,h)}});return d.join("&")};return a}();CF.loginMixin={};CF.loginMixin.AuthLoginMixin=function(a){a.login=function(c,b){CF.context.api_v1.login(a.handleLogin,c,b)};a.tokenLogin=function(c,b){CF.cookie.createCookie(CF.config.current.sessionCookieName,c);if(!b){if(CF.config.current.loginReload){if(!a.cleanParams()){location.reload()}}else{CF.context.reload()}}};a.logout=function(){CF.context.api_v1.logout(a.handleLogout)};a.handleLogout=function(b){var d=CF.config.current;a.events.fire("logout_success");CF.cookie.eraseCookie(d.sessionCookieName);CF.context.invalidate();
if(d.logoutReload){if(!a.cleanParams()){location.reload()}}};a.handleLogin=function(b,d){var e=CF.config.current;if(!d){CF.context.reload(function(){a.events.fire("login_success",CF.context.auth_user);CF.cookie.createCookie(e.sessionCookieName);if(e.logoutReload){if(!a.cleanParams()){location.reload()}}})}else{a.events.fire("login_fail",d)}}};CF.loginMixin.AuthTokenCreateMixin=function(a){a.login=function(c,b){CF.context.api_v1.auth_token_create(a.handleLogin,c,b)};a.tokenLogin=function(c,b){CF.cookie.createCookie("cf_token",c);CF.config.current.extraRestParams.cf_token=c;a.cf_token=c;if(!b){if(CF.config.current.loginReload){if(!a.cleanParams()){location.reload()}}else{CF.context.reload()}}};a.logout=function(){CF.context.api_v1.auth_token_delete(a.handleLogout,a.cf_token)};a.handleLogout=function(b){var d=CF.config.current;a.events.fire("logout_success");CF.cookie.eraseCookie("cf_token");delete CF.config.current.extraRestParams.cf_token;a.cf_token=null;CF.context.invalidate();if(d.logoutReload){if(!a.cleanParams()){location.reload()
}}};a.handleLogin=function(b,d){var e=CF.config.current;if(!d){a.cf_token=cf_token;CF.cookie.createCookie("cf_token",a.cf_token);CF.config.current.extraRestParams.cf_token=a.cf_token;CF.context.userFetched(b.user);a.events.fire("login_success",b.user,a.cf_token,null);if(e.loginReload){if(!a.cleanParams()){location.reload()}}}else{a.events.fire("login_fail",d)}};return a};CF.login=function(){var a={};a.events=CF.EventPublisher();a.setRegForm=function(b){a.regForm=b};a.hideModalOnSuccess=function(b){if(a.modalHiddenEvt){CF.modal.events.unlisten(a.modalHiddenEvt)}a.tokenLogin(b);CF.modal.hide()};a.cleanParams=function(){var b=location.href;var e=CF.config.current;var d=CF.url.removeParam([e.loginProviderParam,e.loginTokenNameParam,CF.url.params(e.loginTokenNameParam)]);if(d!=b){location.href=d;return true}return false};a.showRegForm=function(c,b){if(c.user){a.tokenLogin(b,true);CF.context.auth_user=c.user}CF.modal.show(a.regForm||"<div class='cf_widgetLoader' widgettype='CF.widget.RegForm' options='{syndicate:true}'></div>",c);
a.modalHiddenEvt=CF.modal.events.listen("modal_hidden",a.logout,true);CF.widget.registry.listenType("CF.widget.RegForm","regform_complete",function(){a.hideModalOnSuccess(b)})};CF.config.events.listen("config_beforeComplete",function(){if(CF.config.current.use_cf_token){CF.loginMixin.AuthTokenCreateMixin(a)}else{CF.loginMixin.AuthLoginMixin(a)}});CF.config.events.listen("config_complete",function(){CF.context.api_v1.events.listen("request_completed",function(b,c,d){if(d.error_code===106&&c.toLowerCase().indexOf("auth_token/delete")==-1){a.logout()}})});return a}();CF.modal=function(){var a={};a.events=CF.EventPublisher();a.opts={opacity:0.8,fromTop:50,height:300,width:300,fadeTime:600,allowEsc:true,modalElemClass:null};a.show=function(e,f,d){a.events.fire("modal_show_started",a);CF.extend(a.opts,d);a.useFixed=!CF.isIE6();if(!a.built){var c=CF.build(".cf_modal_elem",[a.modalBg=CF.build(".cf_modal_bg").hide(),a.modalBody=CF.build(".cf_modal_body",[a.modalCloser=CF.build(".cf_modal_closer","x").click(a.hide),a.modalHeader=CF.build(".cf_modal_header"),a.modalLoad=CF.build(".cf_modal_load"),a.modalContent=CF.build(".cf_modal_content").hide(),]).hide(),]).hide();
a.modalElem=c;jQuery(document.body).append(a.modalElem);a.built=true}else{a.modalElem.attr("class","cf_modal_elem");a.modalContent.hide()}if(a.opts.modalElemClass){a.modalElem.addClass(a.opts.modalElemClass)}a.content=jQuery(e).show();a.modalContent.html(a.content);var g=CF.template.Engine();a.content=g.render(a.content,f,true);var b=g.startSubWidgets();if(!a.isShown){a.isShown=true;a._startAppear(e)}else{a.modalContent.show()}return b};a.hide=function(){a.modalElem.hide();a.events.fire("modal_hidden",a);a.isLoaded=false;a.isShown=false;jQuery(window).unbind("scroll resize",a._centerBox);jQuery(document).unbind("keypress",a._handleEsc)};a._handleEsc=function(b){if(b.keyCode==27&&a.isShown){a.hide()}};a._startAppear=function(e){a._ie6Hide();a.modalElem.show();var f=jQuery(window);var c=(f.height()/2)+f.scrollTop();var b=a.opts.width;var d=a.opts.height;var g=a.useFixed?"fixed":"absolute";a.modalBody.css({position:g,"z-index":"1001",overflow:"hidden",width:b,height:d});a.modalLoad.css({"margin-top":(d/3)-a.modalLoad.height()});
a.modalBg.css({opacity:a.opts.opacity,position:g});a._centerBox();a.modalBody.show();a.modalBg.fadeIn(a.opts.fadeTime);a._startContentLoad();if(a.opts.allowEsc){jQuery(document).keydown(a._handleEsc)}f.bind("scroll resize",a._centerBox)};a._startContentLoad=function(){var c=a.content.filter("img");if(c.length==0){c=a.content.find("img")}if(c.length>0){CF.log("starting image load");a.img=new Image();a.img.onload=a._contentLoaded;a.img.src=c.attr("src");var b=a.img.src;setTimeout(function(){if(a.img&&(b==a.img.src)&&!a.isLoaded){a._contentLoaded()}},5000)}else{a._contentLoaded()}};a._completeLoad=function(){a.modalLoad.hide();a.modalContent.slideDown(a.opts.fadeTime,function(){if(!a.opts.fixedHeight){a.modalBody.height("auto")}});a.events.fire("modal_show_complete",a)};a._centerBox=function(){var f=jQuery(window);var d=Math.max(a.modalContent.height()+a.modalHeader.height(),a.opts.height);var c=Math.max(a.modalContent.width(),a.opts.width);var e=a.useFixed?"0":f.scrollTop();var b=a.useFixed?a.opts.fromTop:a.opts.fromTop+f.scrollTop();
a.modalBg.css({top:e,height:f.height(),width:f.width()});a.modalBody.css({top:Math.max(0,b),marginLeft:(f.width()-c)/2})};a._contentLoaded=function(){if(!a.isLoaded){a.img=null;a.isLoaded=true;a.modalContent.html(a.content);var b=Math.max(a.modalContent.width(),a.opts.width);var c=Math.max(a.modalContent.height()+a.modalHeader.height(),a.opts.height);CF.log("width: "+b+" height"+c);var d=(jQuery(window).width()-b)/2;a.modalBody.animate({width:b,height:c,marginLeft:d},{complete:a._completeLoad})}};a._ie6Hide=function(){if(CF.isIE6()){jQuery("select").each(function(b,c){c=jQuery(c);if(c.css("visibility")!="hidden"){c.attr("cf_modal","hidden");c.css("visibility","hidden")}})}};a._ie6Show=function(){if(CF.isIE6()){jQuery("select[cf_modal]").each(function(b,c){c=jQuery(c);if(c.attr("cf_modal")=="hidden"){c.attr("cf_modal","");c.css("visibility","")}})}};return a}();CF.externalLogin=function(){var a={};a.showRegFormOrAddAltId=function(b,d){if(!CF.context.auth_user){jQuery(function(){var e=CF.build(".cf_login_in_progress",[CF.build("h2","We are processing your login request"),CF.build("p","Please wait...")]);
CF.modal.show(e,null,{width:500});CF.context.api_v1.loginreg_auth(a.tokenValidated,b,d)})}else{var c=function(f,e){if(!e){CF.context.api_v1.alt_id_user_add(a.altIdAddComplete,CF.context.auth_user.external_id,f.provider_name,f.alt_id)}else{a.altIdAddError()}};CF.context.api_v1.external_profile_get(c,d,{token:b})}};a.altIdAddError=function(){CF.modal.show(CF.build(".cf_login_in_progress",[CF.build("h2","Error linking account"),CF.build("p","We were unable to link your account.  Please try again."),CF.build("a","Close").click(function(){window.close()})]))};a.tokenValidated=function(b,d){var g=CF.config.current;if(d){CF.modal.show(CF.build(".cf_login_in_progress",[CF.build("h2","We were unable to log you in"),CF.build("p","Please try again"),CF.build("a","Close").click(CF.modal.hide)]))}else{if(b.loginSuccess){CF.login.hideModalOnSuccess(b.jsessionid||b.cf_token)}else{if(b.user){var f=CF.url.params();var e=f[g.loginProviderParam];if(e){CF.login.showRegForm({user:b.user,requirePass:false,provider:e},b.jsessionid||b.cf_token)
}}}}};a.processParameters=function(){var e=CF.url.params();var f=CF.config.current;var d=e[f.loginProviderParam];if(d){var b=e[e[f.loginTokenNameParam]];CF.context.whenLoaded(function(){a.showRegFormOrAddAltId(b,d)},true)}};a.closeWindowCallback=function(){var b=CF.url.params("cf_window_close");if(b){if(window.parent&&window.opener.CF&&window.opener.CF[b]){}if(CF.isIE()){window.opener.CF._evtQueue.push(CF.toJSON({fx:b,args:CF.toArray(arguments)}));window.open("","_self","")}else{window.opener.CF[b].apply(window.opener,CF.toArray(arguments))}window.close()}};a.altIdAddComplete=function(b,c){CF.log("added alt_id");if(c){a.altIdAddError()}else{a.closeWindowCallback()}};CF.config.events.listen("config_complete",a.processParameters);return a}();CF.md5=function(){var r=0;var z="";function q(C){return A(o(s(C)))}function p(C){return b(o(s(C)))}function i(C,D){return e(o(s(C)),D)}function x(C,D){return A(g(s(C),s(D)))}function m(C,D){return b(g(s(C),s(D)))}function h(C,E,D){return e(g(s(C),s(E)),D)
}function B(){return q("abc").toLowerCase()=="900150983cd24fb0d6963f7d28e17f72"}function o(C){return v(f(n(C),C.length*8))}function g(E,H){var G=n(E);if(G.length>16){G=f(G,E.length*8)}var C=Array(16),F=Array(16);for(var D=0;D<16;D++){C[D]=G[D]^909522486;F[D]=G[D]^1549556828}var I=f(C.concat(n(H)),512+H.length*8);return v(f(F.concat(I),512+128))}function A(E){try{r}catch(H){r=0}var G=r?"0123456789ABCDEF":"0123456789abcdef";var D="";var C;for(var F=0;F<E.length;F++){C=E.charCodeAt(F);D+=G.charAt((C>>>4)&15)+G.charAt(C&15)}return D}function b(E){try{z}catch(I){z=""}var H="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";var D="";var C=E.length;for(var G=0;G<C;G+=3){var J=(E.charCodeAt(G)<<16)|(G+1<C?E.charCodeAt(G+1)<<8:0)|(G+2<C?E.charCodeAt(G+2):0);for(var F=0;F<4;F++){if(G*8+F*6>E.length*8){D+=z}else{D+=H.charAt((J>>>6*(3-F))&63)}}}return D}function e(M,E){var D=E.length;var L,H,C,N,G;var K=Array(Math.ceil(M.length/2));for(L=0;L<K.length;L++){K[L]=(M.charCodeAt(L*2)<<8)|M.charCodeAt(L*2+1)
}var J=Math.ceil(M.length*8/(Math.log(E.length)/Math.log(2)));var I=Array(J);for(H=0;H<J;H++){G=Array();N=0;for(L=0;L<K.length;L++){N=(N<<16)+K[L];C=Math.floor(N/D);N-=C*D;if(G.length>0||C>0){G[G.length]=C}}I[H]=N;K=G}var F="";for(L=I.length-1;L>=0;L--){F+=E.charAt(I[L])}return F}function s(E){var D="";var F=-1;var C,G;while(++F<E.length){C=E.charCodeAt(F);G=F+1<E.length?E.charCodeAt(F+1):0;if(55296<=C&&C<=56319&&56320<=G&&G<=57343){C=65536+((C&1023)<<10)+(G&1023);F++}if(C<=127){D+=String.fromCharCode(C)}else{if(C<=2047){D+=String.fromCharCode(192|((C>>>6)&31),128|(C&63))}else{if(C<=65535){D+=String.fromCharCode(224|((C>>>12)&15),128|((C>>>6)&63),128|(C&63))}else{if(C<=2097151){D+=String.fromCharCode(240|((C>>>18)&7),128|((C>>>12)&63),128|((C>>>6)&63),128|(C&63))}}}}}return D}function w(D){var C="";for(var E=0;E<D.length;E++){C+=String.fromCharCode(D.charCodeAt(E)&255,(D.charCodeAt(E)>>>8)&255)}return C}function l(D){var C="";for(var E=0;E<D.length;E++){C+=String.fromCharCode((D.charCodeAt(E)>>>8)&255,D.charCodeAt(E)&255)
}return C}function n(D){var C=Array(D.length>>2);for(var E=0;E<C.length;E++){C[E]=0}for(var E=0;E<D.length*8;E+=8){C[E>>5]|=(D.charCodeAt(E/8)&255)<<(E%32)}return C}function v(D){var C="";for(var E=0;E<D.length*32;E+=8){C+=String.fromCharCode((D[E>>5]>>>(E%32))&255)}return C}function f(M,H){M[H>>5]|=128<<((H)%32);M[(((H+64)>>>9)<<4)+14]=H;var L=1732584193;var K=-271733879;var J=-1732584194;var I=271733878;for(var E=0;E<M.length;E+=16){var G=L;var F=K;var D=J;var C=I;L=c(L,K,J,I,M[E+0],7,-680876936);I=c(I,L,K,J,M[E+1],12,-389564586);J=c(J,I,L,K,M[E+2],17,606105819);K=c(K,J,I,L,M[E+3],22,-1044525330);L=c(L,K,J,I,M[E+4],7,-176418897);I=c(I,L,K,J,M[E+5],12,1200080426);J=c(J,I,L,K,M[E+6],17,-1473231341);K=c(K,J,I,L,M[E+7],22,-45705983);L=c(L,K,J,I,M[E+8],7,1770035416);I=c(I,L,K,J,M[E+9],12,-1958414417);J=c(J,I,L,K,M[E+10],17,-42063);K=c(K,J,I,L,M[E+11],22,-1990404162);L=c(L,K,J,I,M[E+12],7,1804603682);I=c(I,L,K,J,M[E+13],12,-40341101);J=c(J,I,L,K,M[E+14],17,-1502002290);K=c(K,J,I,L,M[E+15],22,1236535329);
L=k(L,K,J,I,M[E+1],5,-165796510);I=k(I,L,K,J,M[E+6],9,-1069501632);J=k(J,I,L,K,M[E+11],14,643717713);K=k(K,J,I,L,M[E+0],20,-373897302);L=k(L,K,J,I,M[E+5],5,-701558691);I=k(I,L,K,J,M[E+10],9,38016083);J=k(J,I,L,K,M[E+15],14,-660478335);K=k(K,J,I,L,M[E+4],20,-405537848);L=k(L,K,J,I,M[E+9],5,568446438);I=k(I,L,K,J,M[E+14],9,-1019803690);J=k(J,I,L,K,M[E+3],14,-187363961);K=k(K,J,I,L,M[E+8],20,1163531501);L=k(L,K,J,I,M[E+13],5,-1444681467);I=k(I,L,K,J,M[E+2],9,-51403784);J=k(J,I,L,K,M[E+7],14,1735328473);K=k(K,J,I,L,M[E+12],20,-1926607734);L=u(L,K,J,I,M[E+5],4,-378558);I=u(I,L,K,J,M[E+8],11,-2022574463);J=u(J,I,L,K,M[E+11],16,1839030562);K=u(K,J,I,L,M[E+14],23,-35309556);L=u(L,K,J,I,M[E+1],4,-1530992060);I=u(I,L,K,J,M[E+4],11,1272893353);J=u(J,I,L,K,M[E+7],16,-155497632);K=u(K,J,I,L,M[E+10],23,-1094730640);L=u(L,K,J,I,M[E+13],4,681279174);I=u(I,L,K,J,M[E+0],11,-358537222);J=u(J,I,L,K,M[E+3],16,-722521979);K=u(K,J,I,L,M[E+6],23,76029189);L=u(L,K,J,I,M[E+9],4,-640364487);I=u(I,L,K,J,M[E+12],11,-421815835);
J=u(J,I,L,K,M[E+15],16,530742520);K=u(K,J,I,L,M[E+2],23,-995338651);L=a(L,K,J,I,M[E+0],6,-198630844);I=a(I,L,K,J,M[E+7],10,1126891415);J=a(J,I,L,K,M[E+14],15,-1416354905);K=a(K,J,I,L,M[E+5],21,-57434055);L=a(L,K,J,I,M[E+12],6,1700485571);I=a(I,L,K,J,M[E+3],10,-1894986606);J=a(J,I,L,K,M[E+10],15,-1051523);K=a(K,J,I,L,M[E+1],21,-2054922799);L=a(L,K,J,I,M[E+8],6,1873313359);I=a(I,L,K,J,M[E+15],10,-30611744);J=a(J,I,L,K,M[E+6],15,-1560198380);K=a(K,J,I,L,M[E+13],21,1309151649);L=a(L,K,J,I,M[E+4],6,-145523070);I=a(I,L,K,J,M[E+11],10,-1120210379);J=a(J,I,L,K,M[E+2],15,718787259);K=a(K,J,I,L,M[E+9],21,-343485551);L=t(L,G);K=t(K,F);J=t(J,D);I=t(I,C)}return Array(L,K,J,I)}function d(H,E,D,C,G,F){return t(y(t(t(E,H),t(C,F)),G),D)}function c(E,D,I,H,C,G,F){return d((D&I)|((~D)&H),E,D,C,G,F)}function k(E,D,I,H,C,G,F){return d((D&H)|(I&(~H)),E,D,C,G,F)}function u(E,D,I,H,C,G,F){return d(D^I^H,E,D,C,G,F)}function a(E,D,I,H,C,G,F){return d(I^(D|(~H)),E,D,C,G,F)}function t(C,F){var E=(C&65535)+(F&65535);
var D=(C>>16)+(F>>16)+(E>>16);return(D<<16)|(E&65535)}function y(C,D){return(C<<D)|(C>>>(32-D))}var j={};j.hex_md5=q;j.b64_md5=p;j.any_md5=i;j.hex_hmac_md5=x;j.b64_hmac_md5=m;j.any_hmac_md5=h;return j}();CF.syndication=function(){var a={};a.getSyndId=function(){return CF.cookie.readCookie("cf_synd_id")};a.setupSyndId=function(){var b="cf_synd_id";var d=CF.url.params();var c=d[b];if(c){CF.cookie.createCookie(b,c)}else{c=a.getSyndId()}if(c){CF.config.current.extraRestParams[b]=c}};CF.config.events.listen("config_complete",a.setupSyndId);return a}();CF.insight=function(){var a={};a.cf_entities={};a.addEntity=function(b,c){a.cf_entities[b]=c};a.findEntityProperty=function(b,d){if(!b){return null}var c=a.cf_entities[b];if(c){return c[d]}return null};a.getMetaTagValue=function(b){var c=jQuery("meta[name="+b+"]");if(c){var d=c.attr("value");if(d){return d}}return null};a.getEntityId=function(c){var f=c;var d=a.getMetaTagValue("cf_entity_id");var b=CF.url.params("cf_entity_id");var e=location.href;
e=e.split("?")[0];return f||d||b||CF.md5.b64_md5(e.toLowerCase())};a.getEntityTitle=function(b){var e=a.findEntityProperty(b,"title");var c=a.getMetaTagValue("cf_entity_title");var d=jQuery("title").html();return e||c||d||""};a.getEntityCategory=function(b){var d=a.findEntityProperty(b,"category");var c=a.getMetaTagValue("cf_entity_category");return d||c||0};a.getEntityDescription=function(b){var e=a.findEntityProperty(b,"description");var d=a.getMetaTagValue("cf_entity_description");var c=a.getMetaTagValue("description");return e||d||c||""};a.getEntityUrl=function(b){var d=a.findEntityProperty(b,"url");var c=a.getMetaTagValue("cf_entity_url");return d||c||location.href};a.getEntityThumbnailUrl=function(b){var d=a.findEntityProperty(b,"thumbnail_url");var c=a.getMetaTagValue("cf_entity_thumbnail_url");return d||c||null};a.getEntityCreateParams=function(b){var c={};c.entity=a.getEntityId(b);c.category=a.getEntityCategory(b);c.title=a.getEntityTitle(b);c.desc=a.getEntityDescription(b);c.url=a.getEntityUrl(b);
c.thumbnail_url=a.getEntityThumbnailUrl(b);c.create_only=true;c.group=CF.config.current.cfKeys.product;return c};a.getInsightRpxUrl=function(f,b){if(!CF._syndCount){CF._syndCount=0}var e="_syndAuthComplete_"+CF._syndCount++;CF[e]=b;var h=CF.config.current;var d={};d[h.loginTokenNameParam]="token";d[h.loginProviderParam]=f.provider;d.cf_window_close=e;var g=CF.url.addParams(d);return CF.url.addParam("token_url",CF.context.api_v1.loginreg_rpxforward_url(g),f.rpxUrl)};a.conversion=function(b){if(CF.syndication.getSyndId()){CF.context.whenLoaded(function(){CF.context.api_v1.conversionevent_create(function(){},b||"conversion")},true)}};return a}();CF.externalLogin.showRegFormOrAddAltId=function(a,b){CF.externalLogin.closeWindowCallback(a,b)};CF.template={};CF.template.Engine=function(){var a={};a.getDefaultLoading=function(){return CF.build(".cf_loading","Loading...")};a.showLoadingMessage=function(e,c,b){var d=c.find(".cf_loading:first").remove();if(!d||d.length==0){if(b){d=b}else{d=a.getDefaultLoading()
}}e.html(d)};a._applyData=function(m,f){if(m.indexOf("[%")==-1){return m}var j=m.length;var d=-1;var k="";for(var g=0;g<j;g++){var l=m.charAt(g);var n="";if((g+1)<j){n=m.charAt(g+1)}var h=false;if(l=="["&&n=="%"){if(d!=-1){CF.error("Template: Cannot nest [% statements ")}d=g}else{if(l=="%"&&n=="]"){var b=m.substring(d+2,g);var e=CF.evalFx(b,f);if(e!==null&&e!==undefined){k+=e}h=true;g++}}if(d==-1){k+=l}if(h){d=-1}}return k};a.render=function(d,e,b){a._idOffset=0;a.subWidgets=[];var c=d;if(!b){if(d.jquery){d=d.get(0)}c=d.childNodes}return a._walkDom(e,c,true,false,true)};a.startSubWidgets=function(){jQuery.each(a.subWidgets,function(b,c){c.widget.start()});return a.subWidgets};a._processIf=function(j,d,e,f,g){var i=e.binding;if(i){var c=CF.evalFx(i,f,true);if(c){var k=e.assign==="true";if(k){f=c}var b=j.clone();b.children().remove(".cf_else");return a._walkDom(f,b,false,g,false,true)}else{var h=CF.arrayFind(j.get(0).childNodes,function(l,m){return CF.hasClass(m,"cf_else")});if(h){return a._walkDom(f,h,false,g,false)
}}}else{CF.error("No binding attribute on cf_if node")}return null};a._processChoice=function(j,d,e,f,g){var i=e.binding;if(i){var c=CF.evalFx(i,f,true);var h=CF.first(j.find(".cf_condition"),function(o,m){var q=jQuery(m);var p=false;var s=false;var r=q.attr("eq");var l=q.attr("eq_s");var n=q.attr("lt");var k=q.attr("gt");if(r!==undefined){s=true;r=CF.evalFx(r,f,true);if(r===c){p=true}}if(l!==undefined){s=true;if(l===c){p=true}}if(n!==undefined){s=true;n=CF.evalFx(n,f,true);if(c<n){p=true}}if(k!==undefined){s=true;k=CF.evalFx(k,f,true);if(c>k){p=true}}if(!s){CF.error("No eq, eq_s, lt, or gt attribute specified for cf_condition node")}if(p){return a._walkDom(f,m,false,g,false)}return undefined});if(h){return h}var b=j.find(".cf_otherwise");if(b&&b.length>0){return a._walkDom(f,b.get(0),false,g,false)}}else{CF.error("No binding attribute on choice ")}return null};a._processLoop=function(b,h,j,m,o){var r=[];var s=j.binding;if(s){var p=CF.evalFx(s,m,true);if(!p){CF.log("For loop binding failed or was undefined. Using empty array instead.",s);
p=[]}if(!jQuery.isArray(p)){p=[p]}var g=b.children(".cf_item");if(g.length==0){CF.error("For loop has no child node cf_item")}else{if(p.length==0){var f=b.children(".cf_item_empty");if(f.length>0){r.push(a._walkDom(m,f,false,true,true))}}else{var u=b.children(".cf_item_sep");var t=b.children(".cf_item_last");var n=b.children(".cf_item_alt");g=g.get(0);u=u.length==0?null:u.get(0);t=t.length==0?null:t.get(0);n=n.length==0?null:n.get(0);var e=p.length;for(var k=0;k<e;k++){var q={index:k,length:e,item:p[k],parent:m,idOffset:a._idOffset};if(n&&k%2==1){r.push(a._walkDom(q,n.cloneNode(true),false,true,true))}else{r.push(a._walkDom(q,g.cloneNode(true),false,true,true))}if(u&&k<e-1){r.push(a._walkDom(q,u.cloneNode(true),false,true,true))}if(t&&k==e-1){r.push(a._walkDom(q,t.cloneNode(true),false,true,true))}}}}}else{CF.error("No binding attribute on for loop")}var c=j.rendertag===undefined?true:j.rendertag==="true";return a._makeNode(b,h,j,r,o,c)};a._startTagRegEx=/^<(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/;
a._attrParseRegEx=/(\w+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g;a._ieOuterHTMLAttribParse=function(d,f){var e=jQuery.trim(d.outerHTML);var c=e.match(a._startTagRegEx);var b={};if(c&&c[2]){c[2].replace(a._attrParseRegEx,function(h,g){var i=arguments[2]||arguments[3]||arguments[4]||"";b[g]=a._applyData(i,f)})}return b};a._nodeAttributes=function(c,d){var b={};jQuery.each(c.attributes,function(e,f){var g=f.value;if(!g||!(typeof g=="string")){g=""}b[f.name]=a._applyData(g,d)});return b};a._getAttributes=function(c,d){var b={};if(CF.isIE()){b=a._ieOuterHTMLAttribParse(c,d)}else{b=a._nodeAttributes(c,d)}jQuery.each(CF.keys(b),function(g,f){if(f.indexOf("cf_")==0){var e=f.replace("cf_","");b[e]=b[f];delete b[f]}});return b};a._makeNode=function(f,c,b,e,d,g){if(g&&c&&b){if(d&&b.id){a._idOffset++;b.id+="_"+a._idOffset}return CF.build(c,b,e)}return e};a._walkDom=function(k,e,p,l,b,m){var f=null;var s=[];var d=null;var t=false;var h={};if(e.nodeType==3){return a._applyData(e.data,k)
}else{if(e.jquery){f=e;e=f.get(0);s=e.childNodes;t=true}else{if(e.nodeType==11){s=e.childNodes}else{if(e.tagName){s=e.childNodes;t=true}else{if(jQuery.isArray(e)){s=e}else{if(e.item){s=e}}}}}}if(t){if(!f){f=jQuery(e)}if(CF.hasClass(e,"cf_noprocess")){return f.clone()}var g=e.tagName.toLowerCase();h=a._getAttributes(e,k);if(h.rendertag!=undefined){b=h.rendertag==="true"}if(!m){if(CF.hasClass(e,"cf_widgetLoader")){CF.log("Found nested widget: "+f.attr("widgettype"),e.className);var r=CF.widget.process(f,k,h.id);if(r){a.subWidgets.push(CF.extend({},r));return r.targetElem}}else{if(CF.hasClass(e,"cf_for")){return a._processLoop(f,g,h,k,l)}else{if(CF.hasClass(e,"cf_choice")){return a._processChoice(f,g,h,k,l)}else{if(CF.hasClass(e,"cf_if")){return a._processIf(f,g,h,k,l)}}}}}}var o=s.length;var q=[];for(var j=0;j<o;j++){var c=s[j];q.push(a._walkDom(k,c,false,l,true))}return a._makeNode(e,g,h,CF.docFrag(q),l,b)};return a};CF.widget={};CF.widget.events=CF.EventPublisher();CF.widget.startAll=function(a){jQuery(function(){CF.context.whenLoaded(function(){var b=jQuery(".cf_widgetLoader:not(.cf_widgetLoader .cf_widgetLoader):not(.cf_noprocess .cf_widgetLoader)");
CF.widget.start(b);if(a){CF.context.events.listen("context_loaded",CF.widget.reloadAll)}CF.widget.events.fire("startall_complete")},true)})};CF.widget.reloadAll=function(){var a=jQuery(".cf_widget:not(.cf_widget .cf_widget)");CF.log("Reload all called",a.length);jQuery.each(a,function(c,d){var e=d.id;if(e){var b=CF.widget.registry.getId(e);if(b){b.widget.reload()}}})};CF.widget.start=function(a){jQuery(a).each(function(d,b){b=jQuery(b);if(!CF.hasClass(b,"cf_noprocess")){var c=CF.widget.process(b,null,b.attr("id"));if(c){c.widget.start()}}})};CF.widget.process=function(n,f,b){b=CF.widget.registry.nextWidgetId(b);n=jQuery(n);var h=n.get(0);var k="cf_widget "+h.className.replace("cf_widgetLoader","");var i=CF.build(h.tagName,{className:k,id:b});n=n.replaceWith(i);var a=n.attr("widgettype");if(!a){a="CF.widget.SimpleWidget"}i.attr("widgettype",a);var m=CF.template.Engine();if(a){var j=CF.evalFx(a);if(!j){CF.error("The widgetType "+a+"is not defined");return null}var o=n.attr("options");if(o){o=CF.evalFx(o,f)
}var d=n.attr("data");if(d){f=CF.evalFx(d,f)}var c=n.attr("alt_template_id");if(c){var g=jQuery("#"+c);if(g.length>0){n.html(g.html())}}var l=j.apply(null,[i,n,m,f,o]);if(!l){return null}if(jQuery.trim(n.html()).length==0){var e=l.getDefaultTemplateBody();if(e){n.html(e)}}m.showLoadingMessage(i,n,l.loadingMessage);CF.widget.registry.add(a,b,l);return{widget:l,id:b,type:a,targetElem:i}}else{CF.error("Missing widget type on top level widget")}return null};CF.widget.registry=function(){var b={};b._widgets=[];b.events=CF.EventPublisher();b.listenedEvents=[];var a=0;b.add=function(c,f,d){var e={type:c,id:f,widget:d};b._widgets.push(e);jQuery.each(b.listenedEvents,function(g,h){if(h.type===c&&d&&d.events){d.events.listen(h.event,h.fx)}});b.events.fire("widget_added",e)};b._getCurrentCount=function(){return a};b._usedIds={};b.nextWidgetId=function(c){a++;if(!c){return"cf_w_"+a}if(!b._usedIds[c]){b._usedIds[c]=true;return c}return c+a};b.remove=function(c){var d=[];b._widgets=CF.arrayReject(b._widgets,function(f,g){var e=(g.type===c||g.id===c||g.widget===c);
if(e){d.push(g)}return e});jQuery.each(d,function(e,f){b.events.fire("widget_removed",f)})};b.getId=function(c){return CF.arrayFind(b._widgets,function(d,e){return c===e.id})};b.getType=function(c){return CF.collect(b._widgets,function(d,e){if(c===e.type){return e}return null})};b.getWidget=function(c){return CF.arrayFind(b._widgets,function(d,e){return c===e.widget})};b.getByWidgetProperty=function(c,d){return CF.arrayFind(b._widgets,function(e,f){return(f.widget&&f.widget[c]==d)})};b.listenType=function(c,e,d){b.listenedEvents.push({type:c,event:e,fx:d});var f=b.getType(c);jQuery.each(f,function(g,h){if(h.widget&&h.widget.events){h.widget.events.listen(e,d)}})};return b}();CF.widget.SimpleWidget=function(e,b,f,d,a){if(!b){b=CF.build("div")}var c={};c.events=CF.EventPublisher();c.getDefaultTemplateBody=function(){return null};c.getData=function(){return d};c.start=function(){c.events.fire("widget_started",c);c.onStart();return c};c.onStart=function(){c.draw()};c.draw=function(){var g=c.render();
c.subWidgets=f.subWidgets;e.empty();e.append(g);c.subWidgets.find=function(h){return CF.collect(c.subWidgets,function(k,j){if(j.type===h){return j}})};c.bindEvents(e,c.subWidgets);f.startSubWidgets();c.events.fire("widget_drawn",c)};c.bindEvents=function(h,g){};c.render=function(){if(c.subWidgets){jQuery.each(c.subWidgets,function(h,j){j.widget.remove()})}var g=f.render(b.clone(),c.getData());return g};c.remove=function(){c.events.fire("widget_removed",c);CF.widget.registry.remove(c);if(c.events){c.events.unlistenAll()}if(c.subWidgets){jQuery.each(c.subWidgets,function(g,h){h.widget.remove()})}c.onRemove()};c.onRemove=function(){};c.reload=function(){c.events.fire("widget_reloaded",c);c.onReload();return c};c.onReload=function(){c.draw()};return c};CF.widget.SyndicationMixin=function(b){b=b||{};var a=CF.config.current.rpxUrl;b.syndProvs={facebook:{className:"cf_synd_icon_fb",provider:"facebook",title:"Facebook",rpxUrl:a+"/facebook/start?ext_perm=offline_access,publish_stream"},twitter:{className:"cf_synd_icon_tw",provider:"twitter",title:"Twitter",rpxUrl:a+"/twitter/start"},myspace:{className:"cf_synd_icon_ms",provider:"myspace",title:"MySpace",rpxUrl:a+"/myspace/start"},yahoo:{className:"cf_synd_icon_yh",provider:"yahoo",title:"Yahoo!",rpxUrl:a+"/openid/start?openid_identifier=yahoo.com"}};
b.getSyndProviders=function(){var c=b.getAltIdsProviders();var d={};jQuery.extend(true,d,b.syndProvs);if(d){jQuery.each(c,function(e,f){d[f].active=true})}return d};b.getSyndProvidersAsList=function(){return CF.vals(b.getSyndProviders())};b.setupRpxUrls=function(d,c){jQuery.each(d,function(h,g){if(!CF._syndCount){CF._syndCount=0}var f="_syndAuthComplete_"+CF._syndCount++;CF[f]=function(i){CF.context.silentUpdateUser(CF.curry(c,g))};var k=CF.config.current;var e={};e[k.loginTokenNameParam]="token";e[k.loginProviderParam]=g.provider;e.cf_window_close=f;var j=CF.url.addParams(e);g.rpxUrl=CF.url.addParam("token_url",CF.context.api_v1.loginreg_rpxforward_url(j),g.rpxUrl)});return d};b.getSyndProviderNames=function(){return CF.keys(b.syndProvs)};b.getActiveSyndProviderNames=function(){var c=b.getActiveSyndProviders();return CF.collect(c,function(d,e){return e.provider})};b.getAltIdsProviders=function(){var c=CF.context.auth_user;if(!c||!c.alt_ids){return[]}return CF.pluck(c.alt_ids,"provider")
};b.findAltId=function(d){var c=CF.context.auth_user;if(c){return CF.arrayFind(c.alt_ids,function(f,e){return e.provider===d})}return null};b.getActiveSyndProviders=function(){var c=b.getSyndProvidersAsList();return CF.collect(c,function(d,e){if(e.active===true){return e}})};b.canSyndicate=function(){return b.getActiveSyndProviders().length>0};b.syndicate=function(g,d,j,c,m,e){e=e||function(){};if(!jQuery.isArray(g)){g=[g]}var i=g.length;var h=[];var l=[];var k=function(n,o){i--;if(o){l.push(o)}else{h.push(n)}if(i<=0){l=l.length==0?null:l;e(h,l)}};var f={};if(m){f.value=m}jQuery.each(g,function(o,n){CF.context.api_v1.syndication_create(k,(n.provider||n),d,j,c,f)})};b.startIEEvtQueue=function(){if(CF.isIE()&&!CF._evtQueue){CF._evtQueue=[];var c=function(){if(CF._evtQueue&&CF._evtQueue.length>0){var e=CF._evtQueue.pop();CF.log("Item found in event queue",e);var d=CF.evalFx(e);if(d&&d.fx){CF.log("Firing event queue function");CF[d.fx].apply(null,d.args);CF.log("Event queue complete")}}};setInterval(c,1000)
}};return b};CF.dateFormat=function(){var a=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloZ]|"[^"]*"|'[^']*'/g;var b=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;var d=/[^-+\dA-Z]/g;var c=function(f,e){f=String(f);e=parseInt(e)||2;while(f.length<e){f="0"+f}return f};return function(i,t){if(arguments.length==1&&(typeof i=="string"||i instanceof String)&&!/\d/.test(i)){t=i;i=undefined}i=i?new Date(i):new Date();if(isNaN(i)){throw"invalid date"}var g=CF.dateFormat;t=String(g.masks[t]||t||g.masks["default"]);var l=i.getDate(),e=i.getDay(),j=i.getMonth(),p=i.getFullYear(),q=i.getHours(),k=i.getMinutes(),r=i.getSeconds(),n=i.getMilliseconds(),f=i.getTimezoneOffset(),h={d:l,dd:c(l),ddd:g.i18n.dayNames[e],dddd:g.i18n.dayNames[e+7],m:j+1,mm:c(j+1),mmm:g.i18n.monthNames[j],mmmm:g.i18n.monthNames[j+12],yy:String(p).slice(2),yyyy:p,h:q%12||12,hh:c(q%12||12),H:q,HH:c(q),M:k,MM:c(k),s:r,ss:c(r),l:c(n,3),L:c(n>99?Math.round(n/10):n),t:q<12?"a":"p",tt:q<12?"am":"pm",T:q<12?"A":"P",TT:q<12?"AM":"PM",Z:(String(i).match(b)||[""]).pop().replace(d,""),o:(f>0?"-":"+")+c(Math.floor(Math.abs(f)/60)*100+Math.abs(f)%60,4)};
return t.replace(a,function(m){return(m in h)?h[m]:m.slice(1,m.length-1)})}}();CF.dateFormat.masks={"default":"ddd mmm d yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoFullDateTime:"yyyy-mm-dd'T'HH:MM:ss.lo"};CF.dateFormat.i18n={dayNames:["Sun","Mon","Tue","Wed","Thr","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"]};CF.friendlyDate=function(b){if(typeof b!="date"){b=new Date(b)}var a=new Date();var d=new Date(a.getTime()-(60*60*1000));if(b.getTime()>d.getTime()){var e=(a.getTime()-b.getTime())/(60*1000);if(e<=1){return"Moments ago"}return""+Math.ceil(e)+" minutes ago"
}if(b.toDateString()==a.toDateString()){return"Today @ "+CF.dateFormat(b,"h:MM TT")}var c=new Date();c.setDate(a.getDate()-1);if(c.toDateString()==b.toDateString()){return"Yesterday @ "+CF.dateFormat(b,"h:MM TT")}return CF.dateFormat(b,"mmm d, yyyy @ h:MM TT")};CF.validate=function(){var a={};a.events=CF.EventPublisher();a.hideAll=function(b){b.find(".cf_validate_fail").removeClass("cf_validate_fail");b.find(".cf_validate_success").removeClass("cf_validate_success");b.find(".cf_validate_fail_msg").remove()};a.validators={required:function(b){return jQuery.trim(b).length>0},email:/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/,alpha:/^[a-zA-Z]+$/,url:/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i,urlSafe:/^[a-zA-Z0-9_\-,\.]+$/,simpleDate:/^\d{1,2}\/\d{1,2}\/\d{4}$/,imageUrl:function(b){return a.test(a.validators.url,b)&&b.split("?")[0].toLowerCase().match(/.(\.jpg|\.gif|\.png|.jpeg)/)},number:function(b){return !isNaN(b)}};a.addValidator=function(c,b){a.validators[c]=b
};a.showError=function(c,d){if(d){var b=CF.build(".cf_validate_fail_msg",d).hide();c.after(b);b.fadeIn()}c.addClass("cf_validate_fail")};a.test=function(b,c){if(typeof b=="function"){return b(c)}return b.test(c)};a.run=function(d){a.hideAll(d);var b=d.find(".cf_validate");if(d.is(".cf_validate")){b=b.andSelf()}var c=CF.collect(b,function(h,j){j=jQuery(j);var k=CF.hasClass(j,"cf_required");var f=j.attr("validator");var g=j.attr("validator_msg");var m=a.validators[f];if(!m&&f){m=CF.evalFx(f,null,false,"Error evaluating validator expression")}k=(k||(f=="required"));var l=j.val();var n=a.validators.required(l);if(n||k){var o=a.test(m,l)&&n;if(!o){a.events.fire("validate_elem_failed",j,g);a.showError(j,g);return{elem:j,msg:g}}}a.events.fire("validate_elem_success",j);j.addClass("cf_validate_success");return null});if(c.length==0){a.events.fire("validate_success",d,c);return true}a.events.fire("validate_failed",d);return false};return a}();CF.Hoverbox=function(c,d,b){b=CF.extend({allowClose:true,showCloser:true});
var a={};a.events=CF.EventPublisher();a.setOpts=function(e){if(!a.elem){a.build()}b=CF.extend(b,e)};a.setTitle=function(e){if(!a.elem){a.build()}a.titleElem.html(e)};a.setContents=function(e){if(!a.elem){a.build()}a.contentElem.html(CF.build("div",e))};a.hide=function(){if(!a.elem){return}};a.build=function(){a.elem=CF.build(".cf_hoverbox",[CF.build(".cf_hoverbox_top",[a.closerElem=CF.build(".cf_hoverbox_closer",["x"]).click(a.closerClicked),a.titleElem=CF.build(".cf_hoverbox_title"),CF.build(".cf_clear")]),CF.build(".cf_hoverbox_mid",a.contentElem=CF.build(".cf_hoverbox_content")),CF.build(".cf_hoverbox_bottom")])};a.close=function(){a.elem.hide();a.events.fire("hoverbox_closed",a)};a.closerClicked=function(){if(!b.allowClose){return}var f=a.events.fire("hoverbox_onclose",a);var e=false;jQuery.each(f,function(g,h){if(h===false){e=true}});if(!e){a.close()}};a.getElem=function(){return a.elem};a.showCloser=function(){a.closerElem.show()};a.hideCloser=function(){a.closerElem.hide()};a.start=function(){a.setContents(c);
a.setTitle(d);if(!b.showCloser){a.closerElem.hide()}};a.start();return a};CF.widget.InsightUserStateManager=function(){var a={};a=CF.widget.SyndicationMixin(a);a.collectProfile=false;a.doVerifyLogin=function(h,e,f){CF.log("Staring Login Verify");a.msgPrompt="";if(f){a.msgPrompt="<div class='cf_prompt'>"+f+"</div>"}a.startIEEvtQueue();a.loginCompleteFx=e;var i=CF.cookie.readCookie("cf_provider");var b,d;if(i){var g=i.split("|");if(g.length==2){b=g[0];d=g[1]}}a.alreadyLoggedIn=false;if(CF.context.auth_user){a.alreadyLoggedIn=true;a.whenLoginComplete(null,false)}else{if(b&&d){a.WelcomeBack(h).start(b,d)}else{a.SelectProvider(h).start()}}return false};a.doCollectProfile=function(d,c){a.profileCompleteFx=c;var b=CF.config.current.profileMode;if(!a.collectProfile){a.whenProfileComplete()}if(a.externalProfile&&b=="email"){a.EmailProfile(d).start(a.externalProfile)}else{if(a.externalProfile&&b=="full"){a.FullProfile(d).start(a.externalProfile)}}a.whenProfileComplete()};a.whenProfileComplete=function(b){if(b){b.done()
}a.externalProfile=null;a.profileCompleteFx()};a.whenLoginComplete=function(c,b,d){if(c){c.done()}a.collectProfile=b;a.externalProfile=d||null;a.loginCompleteFx()};a.WelcomeBack=function(d,c){var b={};b.start=function(i,f){b.provider=i;var h=a.syndProvs[i];if(c){c.done()}var g=CF.build(".cf_welcomeBack",[a.msgPrompt,CF.build(".cf_switchProvider",CF.build("a","(I'm not "+f+")").click(b.switchProvider)),CF.build(".cf_insight_syndication_icon",[CF.build("div",{className:h.className+" cf_icon"}).click(b.doLogin),CF.build("a",h.title).click(b.doLogin),CF.build(".cf_clear")]),CF.build(".cf_signIn",CF.build("button.cf_default[type=button]","Sign in >>").click(b.doLogin))]);b.hb=CF.Hoverbox(g,"Welcome back "+f,{showCloser:true});d.append(b.hb.getElem())};b.doLogin=function(){a.ExternalLogin(d,b).start(b.provider)};b.switchProvider=function(){CF.cookie.eraseCookie("cf_provider");a.SelectProvider(d,b).start()};b.done=function(){b.hb.close()};return b};a.SelectProvider=function(d,c){var b={};b.start=function(){if(c){c.done()
}var f=CF.collect(a.getSyndProvidersAsList(),function(e,j){var h=CF.curry(b.providerSelected,j.provider);return CF.build(".cf_insight_syndication_icon",[CF.build("div",{className:j.className+" cf_icon"}).click(h),CF.build("a",j.title).click(h),CF.build(".cf_clear")])});var g=CF.build(".cf_selectProvider",[a.msgPrompt,f]);b.hb=CF.Hoverbox(g,"Please sign in",{showCloser:true});d.append(b.hb.getElem())};b.providerSelected=function(e){a.ExternalLogin(d,b).start(e)};b.done=function(){b.hb.close()};return b};a.ExternalLogin=function(d,c){var b={};b.start=function(h){if(c){c.done()}var i=a.syndProvs[h];var f=CF.insight.getInsightRpxUrl(i,b.gotToken);var g=CF.build(".cf_external_login_progress",[CF.build("div","A new window is being opened to allow you to login from "+i.title),CF.build("div",["If the window does not open within a few seconds, ",CF.build("a",{target:"_blank",href:f},["please click here"])," to open it."])]);b.hb=CF.Hoverbox(g,"Please sign-in",{showCloser:false});d.append(b.hb.getElem());
b.provider=h;window.open(f,"_blank")};b.gotToken=function(e,f){b.hb.setContents(CF.build("div","We're processing your sign-in request..."));CF.context.api_v1.loginreg_auth2(b.userLogin,e,f)};b.userLogin=function(e,f){if(f){a.ErrorLogin(d,b).start()}else{b.hb.setTitle("Successful sign-in!");CF.cookie.createCookie("cf_provider",b.provider+"|"+e.user.display_name,365);CF.login.tokenLogin(e.cf_token,true);CF.context._storeUser(e.user);a.whenLoginComplete(b,!e.loginSuccess,e.external_profile)}};b.done=function(){b.hb.close()};return b};a.ErrorLogin=function(d,c){var b={};b.start=function(){if(c){c.done()}var f=CF.build("a.cf_switchProvider","Please try again").click(b.switchProvider);b.hb=CF.Hoverbox(f,"Error Processing Login");d.append(b.hb.getElem())};b.switchProvider=function(){CF.cookie.eraseCookie("cf_provider");a.SelectProvider(d,b).start()};b.done=function(){b.hb.close()};return b};a.EmailProfile=function(d,c){var b={};b.start=function(f){var j=CF.context.auth_user;if(c){c.done()}var i=CF.build("div",[CF.build("img.cf_avatar",{src:j.profile_photo_url}),CF.build(".cf_title",["Thanks "+j.display_name+"!"])]);
var g=function(e){return e||""};var h=CF.build("div",[CF.build("div","Please verify this information to complete your profile."),CF.build(".cf_regform_row",[CF.build("label",{"for":"cf_email"},["Email:"]),b.elemEmail=CF.build("input[type=text]#cf_email",{validator:"email",className:"cf_validate cf_required",value:g(f.email),validator_msg:"Please enter a valid email address"}).keydown(CF.enterPressed(b.save)),CF.build(".cf_clear")]),CF.build(".cf_regform_submit",CF.build("button.cf_default","Ok").click(b.save)),]);b.hb=CF.Hoverbox(h,i,{showCloser:true});d.append(b.hb.getElem().addClass("cf_profile_collect"))};b.save=function(){var f=CF.validate.run(b.hb.getElem());if(!f||b.inProgress){return}b.inProgress=true;var e={};e.email=b.elemEmail.val();CF.context.api_v1.user_create(b.userUpdated,CF.context.auth_user.external_id,e)};b.userUpdated=function(e,f){if(!f){CF.context.silentUpdateUser()}b.inprogress=false;a.whenProfileComplete(b)};b.done=function(){b.hb.close()};return b};a.FullProfile=function(d,c){var b={};
b.start=function(f){var i=CF.context.auth_user;if(c){c.done()}var h=CF.build("div",[CF.build("img.cf_avatar",{src:i.profile_photo_url}),CF.build(".cf_title",["Thanks "+i.display_name+"!"])]);var g=CF.build("div",[CF.build("div","Please verify this information to complete your profile."),b.regFormRows(f),CF.build(".cf_regform_submit",CF.build("button.cf_default","Ok").click(b.save)),]);b.hb=CF.Hoverbox(g,h,{showCloser:true});d.append(b.hb.getElem().addClass("cf_profile_collect"))};b.save=function(){var g=CF.validate.run(b.hb.getElem());if(!g||b.inProgress){return}b.inProgress=true;var f={};var e=function(j,k){f[k.attr("id").replace("cf_","")]=k.val()};jQuery.each([b.elemPostCode,b.genderSelect,b.elemEmail],e);var h=b.elemBday.val().split("/");if(h.length==3){f.birthdate=new Date(h[2],h[0],h[1]).getTime()}CF.context.api_v1.user_create(b.userUpdated,CF.context.auth_user.external_id,f)};b.userUpdated=function(e,f){if(!f){CF.context.silentUpdateUser()}b.inprogress=false;a.whenProfileComplete(b)
};b.ns=function(e){return e||""};b.getDateStr=function(f){var e="";if(f&&f>-2208988800){e=f?CF.dateFormat(new Date(f),"m/d/yyyy"):""}return e};b.regFormRows=function(i){var j=function(g){return g||""};var h=b.getDateStr(i.birth_date);var m=CF.build(".cf_regform",[CF.build(".cf_regform_row",[CF.build("label",{"for":"cf_birthdate"},["Birthday:"]),b.elemBday=CF.build("input[type=text]#cf_birthdate",{className:"cf_validate cf_required",validator:"simpleDate",value:h,validator_msg:"Please enter a valid birthdate in m/d/yyyy format"}).keydown(CF.enterPressed(b.save)),CF.build(".cf_clear")]),CF.build(".cf_regform_row",[CF.build("label",{"for":"cf_postalcode"},["Postcode:"]),b.elemPostCode=CF.build("input[type=text]#cf_postal_code",{className:"cf_validate cf_required",validator:"number",value:j(i.postal_code),validator_msg:"Please enter a valid postal code"}).keydown(CF.enterPressed(b.save)),CF.build(".cf_clear")]),CF.build(".cf_regform_row",[CF.build("label",{"for":"cf_gender"},["Gender:"]),b.genderSelect=CF.build("select",{id:"cf_gender"},[CF.build("option",value="other","Other"),CF.build("option",value="male",["Male"]),CF.build("option",value="female",["Female"])])]),CF.build(".cf_regform_row",[CF.build("label",{"for":"cf_email"},["Email:"]),b.elemEmail=CF.build("input[type=text]#cf_email",{validator:"email",className:"cf_validate cf_required",value:j(i.email),validator_msg:"Please enter a valid email address"}).keydown(CF.enterPressed(b.save)),CF.build(".cf_clear")]),]);
if(i.gender){var k=i.gender;var e=0;var f=k.charAt(0).toLowerCase();if(f=="m"){e=1}else{if(f=="f"){e=2}}b.genderSelect.attr("selectedIndex",e)}return m};b.done=function(){b.hb.close()};return b};return a};CF.widget.InsightCustom=function(e,a,f,d,c){var b=CF.widget.BaseInsightEntityWidget(e,a,f,d,c);b.widgetName=c.widgetName;b.entityFetched=function(g){b.insightMgr.doVerifyLogin(b.loginHolder,CF.curry(b.loginVerified,b.doSyndicate),c.msgPrompt)};b.fetchEntity=function(g){CF.context.api_v1.entity_get(b.verifyEntity,g)};b.getDefaultTemplateBody=function(){return"<div class='cf_login_holder cf_profile_holder cf_success_holder'></div>"};b.onStart=function(){CF.log("Widget Started",c.widgetName,c.widgetStyle);b.draw()};b.onReload=function(){b.draw()};b.activate=function(g){b.activateVal=g;b.fetchEntity(c.entityId)};b.doSyndicate=function(){b.syndicate(b.getActiveSyndProviders(),c.widgetName,b.entity.uid,c.syndicationUrl||location.href,b.activateVal,function(){});b.collectProfile(b.showSuccessMsg)
};b.showSuccessMsg=function(){if(!b.insightMgr.alreadyLoggedIn){var g=CF.Hoverbox(CF.build("div",["Success! Do you want to ",CF.build("a","logout").click(b.signOut),"?"]),"",{showCloser:true});g.start();b.successHolder.html(g.getElem())}};b.superBindEvents=b.bindEvents;b.bindEvents=function(h,g){b.superBindEvents(h,g);b.successHolder=h.find(".cf_success_holder")};return b};CF.widget.InsightCustom.activate=function(a,b){CF.widget.events.after("startall_complete",function(){var c=CF.widget.registry.getByWidgetProperty("widgetName",a);c.widget.activate(b)})};CF.widget.BaseInsightEntityWidget=function(e,a,f,d,c){if(!c.widgetName){CF.error("widgetName is a required option");return null}if(!c.widgetStyle){CF.error("widgetStyle is a required option");return null}c.entityId=CF.insight.getEntityId(c.entityId);var b=CF.widget.SimpleWidget(e,a,f,d,c);b=CF.widget.SyndicationMixin(b);b.insightMgr=CF.widget.InsightUserStateManager();b.onStart=function(){CF.log("Widget Started",c.widgetName,c.widgetStyle);
b.fetchEntity(c.entityId)};b.entityFetched=function(g){CF.error("Implementation required")};b.fetchEntity=function(g){CF.error("Implementation required")};b.signOut=function(){CF.login.logout()};b.verifyEntity=function(g,h){b.entity=null;b.createEntityAfterLogin=false;if(h){if(h.error_code==19){b.createEntityAfterLogin=true}else{CF.error("Error retrieving entity",h)}}else{b.entity=g}b.entityFetched(g)};b.createEntity=function(){var g=CF.insight.getEntityCreateParams(c.entityId);g.cflog_widgetname=c.widgetName;CF.context.api_v1.entity_create(b.entityCreated,g)};b.entityCreated=function(g,h){if(h&&h.error_code!=178){CF.error("Unexpected error creating entity.",h);b.entity={};b.entity.uid=c.entityId}else{b.entity=g}if(b.afterCreateEntityFx){b.afterCreateEntityFx()}};b.loginVerified=function(g){if(b.createEntityAfterLogin){b.afterCreateEntityFx=g;b.createEntity()}else{g()}};b.verifyLogin=function(g){b.insightMgr.doVerifyLogin(b.loginHolder,CF.curry(b.loginVerified,g))};b.collectProfile=function(g){b.insightMgr.doCollectProfile(b.profileHolder,g)
};b.bindEvents=function(h,g){b.loginHolder=h.find(".cf_login_holder");b.profileHolder=h.find(".cf_profile_holder")};return b};CF.widget.UserLoginStatus=function(f,b,g,e,d){var a={loginTypes:["cf_basic"]};d=CF.extend(a,d);var c=CF.widget.SimpleWidget(f,b,g,e,d);c.onReload=function(){c.draw()};c.onStart=function(){c.draw()};c.getDefaultTemplateBody=function(){return" <div class='cf_if' binding='authUser'>	<div class='cf_current_user cf_logout_hover'><a>[% authUser.display_name || 'unknown user' %]</a>		<div class='cf_logout_popup' style='display:none;'>			<div><a class='cf_logoutBtn'>Logout</a></div>			<div class='cf_if' rendertag='true' binding='opts.showLinked'>				<a class='cf_linkedAcctsBtn'>Linked Accounts</a>				<div class='cf_noprocess cf_linkedAcctTmpl' style='display:none'>					<div>						<h2>Your Linked Accounts</h2>						<div class='cf_widgetLoader' widgettype='CF.widget.SyndicationManager'></div>					</div>				</div>			</div>		</div>	</div>	<div class='cf_else'> 		<a class='cf_loginBtn'>Login</a>		<div class='cf_noprocess cf_login_modal' style='display:none;'>			<div class='cf_for' rendertag='false' binding='opts.loginTypes'>				<div class='cf_item' rendertag='false'>					<div class='cf_choice cf_logintype' binding='item'>						<div class='cf_condition' eq_s='cf_basic'>							<div class='cf_widgetLoader' widgettype='CF.widget.BasicLogin' options='parent.opts'></div>						</div>						<div class='cf_condition' eq_s='cf_captcha'>							<div class='cf_widgetLoader' widgettype='CF.widget.CaptchaShowLink' options='parent.opts'></div>						</div>						<div class='cf_condition' eq_s='rpx'>							<div class='cf_widgetLoader' widgettype='CF.widget.RPXLogin' options='parent.opts'></div>						</div>					</div>				</div>			</div>		</div>	</div></div>"
};c.showPopup=function(){c.logoutPopup.fadeIn()};c.hoverOut=function(){c.logoutPopup.fadeOut()};c.bindEvents=function(i,h){c.logoutPopup=i.find(".cf_logout_popup");i.find(".cf_logoutBtn").click(c.processLogout);c.logoutHover=i.find(".cf_logout_hover").click(c.showPopup);CF.effect.Hover(c.logoutPopup,null,c.hoverOut,1);c.loginModal=i.find(".cf_login_modal");i.find(".cf_loginBtn").click(c.showModal);if(d.showLinked){i.find(".cf_linkedAcctsBtn").click(c.showLinkedAccts);c.linkedAcctTmpl=i.find(".cf_linkedAcctTmpl")}};c.showLinkedAccts=function(){CF.modal.events.listen("modal_hidden",CF.context.reload);CF.modal.show(c.linkedAcctTmpl.html())};c.hideLinkedAccts=function(){if(c.linkedAcctsElem){c.linkedAcctsElem.hide()}};c.showModal=function(){CF.login.events.listen("login_success",CF.modal.hide);CF.modal.show(c.loginModal.clone().removeClass("cf_noprocess"),c.getData(),{width:450})};c.processLogout=function(){CF.login.logout()};c.getData=function(){return{authUser:CF.context.auth_user,opts:d}
};return c};CF.effect={};CF.effect.Puff=function(c,k,d){k=k||6;d=d||false;var g=c;var f=g.height();var j=g.width();if(!f||!j){return}if(!d){g=c.clone();g.css("position","absolute");c.before(g)}g.css("position","absolute");var i=f*k;var a=j*k;var b=-1*((i-f)/2);var e=-1*((a-j)/2);g.animate({height:i,width:a,marginLeft:e,marginTop:b,opacity:0},2000,function(){g.remove()})};CF.effect.Hover=function(c,a,b,e){var d={};if(!e){e=0}d.timer=null;d.stopped=false;d.handleIn=function(){if(d.stopped){return}d.clear();var f=this;if(a){a.call(f,CF.toArray(arguments))}};d.handleOut=function(){if(d.stopped){return}d.clear();var f=CF.toArray(arguments);var g=this;d.startGracePeriod(g,f)};d.startGracePeriod=function(g,f){d.timer=setTimeout(function(){if(b){b.call(g,f)}},e*1000)};d.clear=function(){if(d.timer){clearTimeout(d.timer);d.timer=null}};d.stop=function(){d.stopped=true};d.restart=function(){d.stopped=false};jQuery(c).hover(d.handleIn,d.handleOut);return d};CF.widget.InsightRating=function(f,b,g,e,d){d=CF.extend(d||{},{minVal:0,maxVal:5,roundTo:0.5,width:65});
if(!d.widgetStyle){CF.error("widgetStyle is a required option");return null}var a=function(h){var i={starsYellow:{rating:"Stars"},starsRed:{rating:"Stars"},hearts:{rating:"CustomRating2"},dots:{rating:"CustomRating3"},diamonds:{rating:"CustomRating4"},bar:{rating:"CustomRating5",minVal:1,maxVal:100,width:100,roundTo:1}};return i[h]||i.starsYellow};CF.extend(d,a(d.widgetStyle));var c=CF.widget.BaseInsightEntityWidget(f,b,g,e,d);c.scaleFactor=(d.width/(d.maxVal-d.minVal));c.avgVal=d.minVal;c.selectedVal=d.minVal;c.onReload=function(){c.onStart()};c.getDefaultTemplateBody=function(){return"		<div class='cf_rating'> 			<div class='cf_[%opts.widgetStyle%]'>				<div class='cf_hover_select_rating' title='Avg:[% rating.average_rating %]/[% opts.maxVal %] Votes: [% rating.count %]'>					<div class='cf_rating_avg'></div>					<div class='cf_rating_selected'></div>					<div class='cf_rating_mask'></div>				</div>				<div class='cf_if' binding='user'>					<a class='cf_signout'>sign out</a>				</div>				<div class='cf_clear'> </div>			</div>			<div class='cf_login_holder cf_profile_holder'></div>		</div>		"
};c.superBindEvents=c.bindEvents;c.bindEvents=function(i,h){c.superBindEvents(i,h);c.avgElem=i.find(".cf_rating_avg");c.selectedElem=i.find(".cf_rating_selected");c.maskElem=i.find(".cf_rating_mask");i.find(".cf_opacity").css("opacity",d.opacity);i.find(".cf_signout").click(c.signOut);if(c.rating){c.rating.average_rating=c.round(c.rating.average_rating,d.roundTo);c.rating.user_rating=c.round(c.rating.user_rating,d.roundTo);c.setRatings(c.rating.average_rating,c.rating.user_rating)}c.computeWidths();c.containerElem=i.find(".cf_hover_select_rating").mousemove(c.selectionMoved).click(c.selectionClicked).mouseleave(c.mouseout)};c.ratingActivated=function(){c.verifyLogin(c.performRating)};c.selectionClicked=function(h){var k=f.offset();var j=(h.pageX-k.left)+1;var i=Math.round(j);c.newRating=c.round((i/c.scaleFactor),d.roundTo);c.verifyLogin(c.performRating)};c.performRating=function(){var h=c.newRating||0;CF.context.api_v1.rating_entity_create(c.ratingComplete,c.entity.uid,d.rating,h);c.syndicate(c.getActiveSyndProviders(),d.widgetName,c.entity.uid,d.syndicationUrl||location.href,h,function(){})
};c.ratingComplete=function(){c.events.listen("widget_drawn",function(){c.collectProfile(function(){})},true);c.reload()};c.mouseout=function(h){c.setRatings(c.avgVal,c.selectedVal)};c.selectionMoved=function(i){var j=f.offset();var h=i.pageX-j.left;c.selectedElem.width(h)};c.entityFetched=function(h){c.rating=c.getRating(h);c.draw()};c.getRating=function(h){if(h&&h.entity_ratings){return CF.arrayFind(h.entity_ratings,function(j,k){if(k.category==d.rating){return k}})}};c.getData=function(){var h=c.getRating(c.entity);return{entity:c.entity,rating:h,opts:d,user:CF.context.auth_user}};c.round=function(i,l){var k,j,h;k=i%l;j=l/2;if(k>=j){h=(i-k)+l}else{h=i-k}return Math.max(d.minVal,Math.min(d.maxVal,h))};c.computeWidths=function(){c.avgElem.width(Math.round(c.scaleFactor*c.avgVal));c.selectedElem.width(Math.round(c.scaleFactor*c.selectedVal))};c.clearRatings=function(){return c.setRatings(null,null)};c.setRatings=function(h,i){c.avgVal=(h||d.minVal);c.selectedVal=(i||d.minVal);if(c.containerElem){c.computeWidths()
}};c.fetchEntity=function(h){var i=null;if(CF.context.auth_user){i=CF.context.auth_user.external_id}CF.context.api_v1.entity_get(c.verifyEntity,h,{rating:d.rating,user:i,cflog_widgetname:d.widgetName})};return c};CF.widget.InsightLike=function(f,b,g,e,d){d=d||{};if(!d.widgetStyle){CF.error("widgetStyle is a required option");return null}var a=function(h){var i={thumbsUp:{size:20,rating:"ThumbsUp",text:"Thumbs Up!",text_on:"You gave this a thumbs up"},hearts:{size:20,rating:"Default",text:"I love it!",text_on:"You love this"},star:{size:20,rating:"CustomRating0",text:"I give it a gold star",text_on:"You gave it a gold star"},smile:{size:20,rating:"CustomRating1",text:"This makes me smile",text_on:"This made you smile"},tried:{size:20,rating:"Tried",text:"I tried it",text_on:"You tried this"},upvote:{size:20,rating:"Vote",text:"Vote up",text_on:"You voted this up"}};return i[h]||i.hearts};CF.extend(d,a(d.widgetStyle));var c=CF.widget.BaseInsightEntityWidget(f,b,g,e,d);c.onReload=function(){c.onStart()
};c.getDefaultTemplateBody=function(){return"			<div class='cf_like'> 				<div cf_class='cf_[% opts.widgetStyle %]'>				<div class='cf_if' binding='rating.user_rating == 1'>					<img style='display:none;' class='cf_puff' cf_width='[% opts.size %]' cf_height='[% opts.size %]' cf_src='[% imageUrlPuff %]' >					<img cf_width='[% opts.size %]' cf_height='[% opts.size %]' cf_src='[% imageUrlOn %]' >					 [% opts.text_on %]<a class='cf_unlike_activate'>change</a>					<a class='cf_signout'>sign out</a>					<div class='cf_else'>						[%CF.log('Size', opts.size)%]						<img cf_width='[% opts.size %]' cf_height='[% opts.size %]' cf_src='[% imageUrl %]'>						<a class='cf_like_activate'>[% opts.text %]</a>					</div>				</div>				<div class='cf_login_holder cf_profile_holder'></div>				</div>		 	</div>"};c.superBindEvents=c.bindEvents;c.bindEvents=function(j,i){c.superBindEvents(j,i);j.find(".cf_like_activate").click(c.likeActivated);j.find(".cf_unlike_activate").click(c.unlikeActivated);j.find(".cf_signout").click(c.signOut);
var h=j.find(".cf_puff");if(h.length>0&&c.needsPuff){c.needsPuff=false;c.puff(h)}};c.puff=function(h){h.show();CF.effect.Puff(h,6,true)};c.likeActivated=function(){c.verifyLogin(c.performLike)};c.unlikeActivated=function(){c.verifyLogin(c.performUnlike)};c.performUnlike=function(){CF.context.api_v1.rating_entity_create(c.reload,c.entity.uid,d.rating,0)};c.performLike=function(){CF.context.api_v1.rating_entity_create(c.likeComplete,c.entity.uid,d.rating,1);c.syndicate(c.getActiveSyndProviders(),d.widgetName,c.entity.uid,d.syndicationUrl||location.href,1,function(){})};c.likeComplete=function(){c.needsPuff=true;c.events.listen("widget_drawn",function(){c.collectProfile(function(){})},true);c.reload()};c.entityFetched=function(h){c.draw()};c.getData=function(){var l=null;if(c.entity&&c.entity.entity_ratings){l=CF.arrayFind(c.entity.entity_ratings,function(n,o){if(o.category==d.rating){return o}})}var m=CF.isIE6()?".gif":".png";var j=CF.config.current.scriptHost;var k=j+"/images/like/"+d.widgetStyle+"-on-sm"+m;
var i=j+"/images/like/"+d.widgetStyle+"-sm"+m;var h=j+"/images/like/"+d.widgetStyle+"-on"+m;return{entity:c.entity,rating:l,opts:d,imageUrl:i,imageUrlOn:k,imageUrlPuff:h,user:CF.context.auth_user}};c.fetchEntity=function(h){var i=null;if(CF.context.auth_user){i=CF.context.auth_user.external_id}CF.context.api_v1.entity_get(c.verifyEntity,h,{rating:d.rating,user:i,cflog_widgetname:d.widgetName})};return c};