/*
	Copyright 2008 Whapps/ Online-Rewards
*/
var ORFormUtils=new Class({getParams:function(A){var B=this;var C={};var E=A.split("&");for(i=0;i<E.length;i++){var D=E[i].split("=");C[D[0]]=D[1]}return C}});var FormUtils=new ORFormUtils();var ORPager=new Class({initialize:function(C){var A=this;A.current_page=Number.toInt(C.current_page);A.first_page=Number.toInt(1);A.last_page=Number.toInt(C.last_page);A.page_span=(C.page_span)?Number.toInt(C.page_span):11;A.previous_page=(A.current_page>1)?(A.current_page-1):0;A.next_page=(A.current_page<A.last_page)?(A.current_page+1):0;var D=A.current_page-5;if(D<1){D=1}var B=A.current_page+5;if(B>A.last_page){B=A.last_page}var E=B-D+1;if(E<A.page_span){B=B+(A.page_span-E)}if(B>A.last_page){B=A.last_page}E=B-D+1;if(E<A.page_span){D=D-(A.page_span-E)}if(D<1){D=1}A.start_page=Number.toInt(D);A.end_page=Number.toInt(B)},refreshPagerBar:function(){var B=this;if(B.last_page>0){$("pager").setStyle("visibility","visible");$("pager_first").innerHTML='<a href="#p=1" onclick="return paged_results.refreshResults(1)">&nbsp;First Page</a>';$("pager_last").innerHTML='<a href="#p='+B.last_page+'" onclick="return paged_results.refreshResults('+B.last_page+')">Last Page&nbsp;</a>';if(B.previous_page){$("pager_prev").innerHTML='<a href="#p='+B.previous_page+'" onclick="return paged_results.refreshResults('+B.previous_page+')">&lt;&lt;&nbsp;Previous</a>'}else{$("pager_prev").innerHTML=""}if(B.next_page){$("pager_next").innerHTML='<a href="#p='+B.next_page+'" onclick="return paged_results.refreshResults('+B.next_page+')">Next&nbsp;&gt;&gt;</a>'}else{$("pager_next").innerHTML=""}var A="";if(B.start_page>1){A+="...&nbsp;"}for(var C=B.start_page;C<=B.end_page;C++){A+='<a href="#p='+C+'" onclick="return paged_results.refreshResults('+C+')"';if(C==B.current_page){A+=' style="font-weight: bold;"'}A+=">"+C+"</a>&nbsp;"}if(B.end_page<B.last_page){A+="...&nbsp;"}$("pager_pages").innerHTML=A}}});var ORBusy=new Class({initialize:function(B){var A=this;A.busy=false;if(B.cursor_div_id){A.cursor_div_id=B.cursor_div_id}else{A.cursor_div_id=null}if(B.spinner_div_id){A.spinner_div_id=B.spinner_div_id}else{A.spinner_div_id=null}},setBusy:function(B){var A=this;if(B){A.busy=true;if(A.cursor_div_id){$(A.cursor_div_id).getElements("a").setStyle("cursor","wait");$(A.cursor_div_id).setStyle("cursor","wait")}if(A.spinner_div_id){$(A.spinner_div_id).setStyle("display","block")}}else{A.busy=false;if(A.cursor_div_id){$(A.cursor_div_id).getElements("a").setStyle("cursor","pointer");$(A.cursor_div_id).setStyle("cursor","default")}if(A.spinner_div_id){$(A.spinner_div_id).setStyle("display","none")}}},isBusy:function(){var A=this;if(A.busy){return true}else{return false}}});var ORPagedResults=new Class({initialize:function(B){var A=this;A.isFirstLoad=true;A.pageless=false;A.uri=B.uri;A.busy=new ORBusy({cursor_div_id:"pager",spinner_div_id:"search_spinner"})},initResults:function(){var A=paged_results;try{dhtmlHistory.initialize();dhtmlHistory.addListener(A.historyListener);var B=A.getPageFromLocation(dhtmlHistory.getCurrentHash());console.log("initializing - loading page "+B);A.refreshResults(B)}catch(C){console.log(C);A.busy.setBusy(false)}A.pageless=false},historyListener:function(E,B){var A=paged_results;try{var C;if(B){C=B.page;console.log("history change - loading page (from history): "+C)}if(!C){C=A.getPageFromLocation(E);console.log("history change - loading page (from location): "+C)}try{A.refreshResults(C)}catch(D){console.log(D);A.busy.setBusy(false)}A.pageless=false}catch(D){console.log(D)}},getPageFromLocation:function(A){var B=paged_results;var D=FormUtils.getParams(A);var C=D.p;if(!$defined(C)){C=1;B.pageless=true;console.log("getting page from location - no page was defined, defaulting to page 1")}else{console.log("getting page from location - found page "+C)}return C},updateHistory:function(C){var A=paged_results;var B=true;if(window.gecko||window.ie){if(A.pageless){B=false}if(A.isFirstLoad){B=false}}if(B){console.log("adding page to history: "+C);dhtmlHistory.add("p="+C,{page:C})}if(A.isFirstLoad){A.isFirstLoad=false}},refreshResults:Class.empty,createResult:Class.empty});var ORItemResults=ORPagedResults.extend({refreshResults:function(B){var A=this;if(A.busy.isBusy()==false){A.busy.setBusy(true);if((!$defined(B))||(B==0)){B=1}A.updateHistory(B);new Ajax(A.uri,{method:"post",data:"current_page="+B,onComplete:function(I){var J=$("search_results");try{var E=Json.evaluate(I,true);if($defined(E)){console.log("refreshing results with page: "+B);var K,F;if(E.acinonyx){K=E.acinonyx.search[0];F=K.results[0]}else{K=E.results;F=K}var D=new ORPager({current_page:K["@current_page"],last_page:K["@last_page"]});D.refreshPagerBar();J.innerHTML="";if(F.catalogitem){for(var G=0;G<F.catalogitem.length;G++){var C=A.createResult(F.catalogitem[G]);C.injectInside(J);C.setStyles({display:"block"})}}else{J.innerHTML="Sorry, but no matches were found."}}else{J.innerHTML="There was a problem completing your search. Please try again."}}catch(H){console.log(H);J.innerHTML="A problem was encountered during the request. Please start a new search.<br/><br/>javascript error: "+H}finally{A.busy.setBusy(false)}},onFailure:function(){A.busy.setBusy(false)}}).request()}return },createResult:function(D){var I=this;var G=$("item_skeleton");var B=$("item_image_link");B.href="/item/"+D["@catalogitemid"]+"/";B.innerHTML='<img src="'+D["@thumburi"]+'"/>';var H=$("item_brand_link");H.href="/brand/"+D["@brandid"]+"/";H.innerHTML=D["@brandname"];var E=$("item_name");E.innerHTML=D["@name"];var F=$("item_points");if(D["@is_master"]==1){F.innerHTML="View Item for Price"}else{F.innerHTML=D["@points"]}var C=$("item_text_link");C.href="/item/"+D["@catalogitemid"]+"/";var A=G.safeClone();return A}});var ORDynamicItem=new Class({initialize:function(B){var A=this;A.uri="/dynamic-item/";A.busy=new ORBusy({cursor_div_id:"dynamic_item_box"});A.last_id=0;A.featured=0},refreshDynamicItem:function(){var C=this;if(C.busy.isBusy()==false){C.busy.setBusy(true);var E=$("dynamic_item_heading");var A=$("dynamic_item_thumb");var D=$("dynamic_item_name");var B=$("dynamic_item_links");new Ajax(C.uri,{method:"post",data:"last_id="+C.last_id+"&featured="+C.featured,onComplete:function(G){try{var F=Json.evaluate(G,true);if($defined(F)){if(F.type=="wishlist"){E.innerHTML='<img src="/images/buttons/wishlist_item.jpg" alt="Wishlist Item"/>'}else{C.featured=1;E.innerHTML='<img src="/images/buttons/featured_item.jpg" alt="Featured Item"/>'}A.innerHTML='<a href="/item/'+F.catalogitemid+'/"><img src="'+F.thumburi+'"/></a>';D.innerHTML=F.name;B.innerHTML='<a href="/item/'+F.catalogitemid+'/">View Item</a> | <a href="#" onclick="dynamic_item.refreshDynamicItem()">Next Item</a>';C.last_id=F.catalogitemid}}catch(H){console.log(H)}finally{C.busy.setBusy(false)}},onFailure:function(){C.busy.setBusy(false)}}).request()}return }});var ORValidator=new Class({});var ORRegister=ORValidator.extend({checkUsername:function(){var A=$("username").value;var C=$("checkbox");if(A!=""){var B=new Ajax("/check-username/",{method:"post",data:"username="+encodeURI(A),onComplete:function(E){var D=Json.evaluate(E,true);if((!$defined(D))||($defined(D.exception))){C.innerHTML=""}else{if(D.username_check["@available"]=="1"){C.innerHTML="Available";C.style.color="green"}else{C.innerHTML="Not available";C.style.color="red"}}}}).request()}else{C.innerHTML=""}}});Element.extend({safeClone:function(){var A=this.cloneNode(true);A.removeIds();return A},removeIds:function(A){if(!$defined(A)){A=this}if(A.id){A.id=""}for(var B=0;B<A.childNodes.length;B++){this.removeIds(A.childNodes[B])}}});
