// container to queue json requests and merge them into a single batch request
function JSONQueue(opts){this.q=[];this.t=1200;this.trigger=6;this.json_url=opts.json;this.callback={};};JSONQueue.prototype.add=function(name,callback){var me=this;if(this.q.length==0){setTimeout(function(){me.empty();},this.t);}this.q.push(name);this.callback[name]=callback;if(this.q.length>=this.trigger){this.empty();}};JSONQueue.prototype.empty=function(){var me=this;if(this.q.length==0){return;}var domains=this.q.join('/');$.getJSON(this.json_url,{a:'bavail',d:domains},function(json){if(json.result){for(r in json.result){me.callback[r](json.result[r]);}}});this.q=[];if(!this.end){setTimeout(function(){me.empty();},me.t);}};// global config
var NL={"json_url":"json.php","tm_url":"uspto.php",__:0};// Registrar preferences
function Registrar(opts){(opts.container)?(this.jC=opts.container):(alert('Registrar: container reqd!'));(opts.open)?(this.jO=opts.open):(alert('Registrar: open reqd!'));(opts.json_url)?(this.json_url=opts.json_url):(alert('Registrar: json_url reqd!'));this.label=opts.label;this.config={godaddy:{name:'GoDaddy',link:'<a href="http://www.dpbolvw.net/click-2814976-10378406" target="_blank">GoDaddy.com</a> <img src="http://www.lduhtrp.net/image-2814976-10378406" width="1" height="1" border="0"/>',url:'http://www.tkqlhce.com/interactive?domainToCheck=__NAME__&'+'tld=__TLD__&checkAvail=1&pid=2814976&aid=10451087&'+'url=https://www.godaddy.com/gdshop/registrar/search.asp?isc=cjcdomsb3',from:'9.99',web:'4.29',promo:'Ongoing discounts on all domains',price:{biz:'14.99',ca:'12.99',com:'9.99',info:'2.99',jobs:'',mobi:'7.99',name:'9.99',net:'9.99',org:'8.99',tv:'19.99',us:'9.99'}},dotster:{name:'Dotster',link:'<a href="http://www.jdoqocy.com/click-2814976-514796" target="_blank">Dotster.com</a> <img src="http://www.awltovhc.com/image-2814976-514796" width="1" height="1" border="0"/>',url:'http://www.dpbolvw.net/interactive?DomainName=__DOMAIN__'+'&siteid=4798&aid=5463444&pid=2814976&'+'url=https%3A%2F%2Fsecure.registerapi.com%2Fdds2%2Findex.php',from:'15.25',web:'5.95',promo:'10% Off ALL Hosting Plans - During Happy Hour, all new hosting plans for all terms will be 10% off.',price:{biz:'15.25',ca:'20.00',com:'15.25',info:'15.25',jobs:'154.95',mobi:'14.95',name:'14.95',net:'15.25',org:'15.25',tv:'50.00',us:'14.95'}},'1&1':{name:'1 & 1',link:'<a href="http://order.1and1.com/xml/order/Home?ac=OM.US.US856K13554T7073a">1 & 1</a>',url:'http://www.jdoqocy.com/interactive?domain=__NAME__&tld=__TLD__&aid=10376103&pid=2814976&'+'url=http://order.1and1.com/dcjump?ac=OM.US.US469K02463T2103a',from:'6.99',web:'4.99',promo:'Save 25% on .org',price:{biz:'7.87',ca:'',com:'6.12',info:'6.12',jobs:'',mobi:'17.49',name:'6.12',net:'6.12',org:'6.12',tv:'26.24',us:'6.12'}},netfirms:{name:'NetFirms',link:'<a href="http://www.netfirms.ca/domain-names/">NetFirms</a>',url:'http://www.kqzyfj.com/interactive?pid[]=1&domaintypeid=1&selloption[]=premiumhosting&'+'domainname=__NAME__&tld=__BTLD__&aid=10381702&pid=2814976&'+'url=https://secure.netfirms.com/signup/netfirms.com/domainconfigure.php',from:'9.95',web:'6.95',promo:'.com .net .org sale $5.95 one year',price:{biz:'9.95',ca:'9.95',com:'5.95',info:'9.95',jobs:'',mobi:'',name:'',net:'5.95',org:'5.95',tv:'',us:''}}};this.def={ca:'dotster',jobs:'dotster',mobi:'dotster',name:'dotster',tv:'1&1',us:'1&1'};this.bo_url='http://www.snapnames.com/basicSearch.do?searchTerm=__DOMAIN__&afid=nameloader';(opts.current)?(this.current=opts.current):(this.current='godaddy');if(this.label){this.label.html(this.current);}this.visible=0;this.callback=function(){return false;};var me=this;this.jO.click(function(){me.visible?me.closePane():me.openPane();return false;});};Registrar.prototype.openPane=function(){var me=this;var jP=$('<div id="reg-pref"><div class="head"><h1>Change Registrar</h1>'+'<div class="floatr bclose"><a href="#">close</a></div></div></div>');jP.find('div.bclose').click(function(){me.closePane();return false;});var f='';var ch='';var c=0;for(r in this.config){var odd='';if(++c%2){odd=' class="odd"'};(this.current==r)?(ch=' checked'):(ch='');f+='<tr'+odd+'><td><p class="in"><input type="radio" class="radio" name="reg" value="'+r+'"'+ch+'></p></td>'+'<td><p class="reg">'+this.config[r]['link']+'</p></td>'+'<td><p class="reg">'+this.config[r]['from']+'</p></td>'+'<td><p class="reg">'+this.config[r]['web']+'</p></td>'+'<td><p class="reg">'+this.config[r]['promo']+'</p></td></tr>'}var form=$('<form></form>');form.html('<p>A registrar is an accredited company authorized to register domain names.'+'To change the current registrar, select from the options:</p>'+'<table><tr><th></th><th><p>Registrar</p></th><th><p>Domains<br /><small>from (/yr)</small></p></th><th><p>Web hosting<br /><small>and more from (/mo)</small></p></th><th><p>Promotion</p></th></tr>'+f+'<tr><td colspan=2><input class="set" type="submit" value="Set"></td>'+'<td colspan=3><p>Note: Not all TLDs are supported by each registrar. The supporting registrar pricing will be substituted in these instances.</p></td>'+'</table>');form.appendTo(jP);form.submit(function(){var val=form.find('input:radio:checked').val();if(val!=me.current){me.update(val);}me.closePane();return false;});var off=me.jO.offset();jP.css('top',off.top+me.jO.height()+3);var p=$('#page').offset().left;if(off.left-p<400){jP.css('left',off.left-p);}this.jC.append(jP);this.visible=1;};Registrar.prototype.closePane=function(){this.jC.empty();this.visible=0;};Registrar.prototype.set=function(reg){if(reg){this.current=reg;if(this.label){this.label.html(reg);}}};Registrar.prototype.update=function(reg){var me=this;me.set(reg);$.getJSON(this.json_url,{a:"setreg",v:reg},function(json){});me.callback();};Registrar.prototype.get_bo_url=function(dname){var r=this.bo_url;return r.replace('__DOMAIN__',dname);};Registrar.prototype.get_order_url=function(dname){var r=this.config[this.current];var bits=dname.match(/([^\.]+)(\..*)/);if(bits==null){return;}var tld=bits[2].substr(1);if(r.price[tld]==''){r=this.config[this.def[tld]];}return r.url.replace('__DOMAIN__',dname).replace('__NAME__',bits[1]).replace('__TLD__',bits[2]).replace('__BTLD__',tld);};Registrar.prototype.get_price=function(tld){var r=this.config[this.current];if(r.price[tld]==''){r=this.config[this.def[tld]];}return'$'+r.price[tld];};Registrar.prototype.setCallback=function(c){this.callback=c;};// Themes
function Themes(opts){this.t={'personality':['happy','excited','intense','clever','outgoing','boisterous'],'unique':['fast','quick','sexy','affordable','light'],'benefits':['soft','amazing'],'qualities':['sharp','blue','green','eco']};};Themes.prototype.get_random=function(t){if(t==null){t='personality';}var q=this.t[t];return q[Math.floor(Math.random()*q.length)];};// TLD Lookup widget
function TLD(opts){this.jC=opts.container;this.registrar=opts.registrar;this.name=opts.name;this.tld=opts.tld;this.jsonqueue=opts.jsonqueue;(opts.style)?(this.style=opts.style):(this.style="full");this.init();};TLD.prototype.init=function(){if(this.tld==''||this.tld=='undefi'){return;}this.dname=this.clean(this.name)+'.'+this.tld;this.bo_url=this.registrar.get_bo_url(this.dname);this.o_url=this.registrar.get_order_url(this.dname);this.price=this.registrar.get_price(this.tld);};TLD.prototype.go=function(){this.jC.html('<span class="dots"></span>');var me=this;this.jsonqueue.add(this.dname,function(result){me.draw(result);});};TLD.prototype.clean=function(name){return name.replace(/\s+/g,'');};TLD.prototype.update=function(name,tld){if(name!=null){this.name=name;}if(tld!=null){this.tld=tld;}this.init();};TLD.prototype.draw=function(avail){if(avail){this.avail=avail;}else{avail=this.avail;}var r='';var reg=this.registrar.current;if(this.style=='buy'){if(avail=='Y'){r='<div class="border"><a target="_new" '+'onClick="javascript: pageTracker._trackPageview(\'/O/'+reg+'\');" href="'+this.o_url+'">order</a></div>';}else{r='<p>&mdash;</p>';}}else{if(avail=='Y'){r='<p>'+this.price+'</p><div class="border"><a target="_new" '+'onClick="javascript: pageTracker._trackPageview(\'/O/'+reg+'\');" href="'+this.o_url+'">order</a></div>';}else{r='<p>----</p><div class="bbackorder"><a target="_new" '+'onClick="javascript: pageTracker._trackPageview(\'/BO/'+reg+'\');" href="'+this.bo_url+'">backorder</a></div>';}}this.jC.html(r);};TLD.prototype.clear=function(){this.jC.html('');};