function createOrganizerGroup(){dojo.xhrPost({form:dojo.byId("createGroupForm"),headers:{"Accept":"application/*+json"},handleAs:"json",preventCache:true,timeout:500000,load:function(response,ioArgs){var element=null;var userMessage=null;var userTitle=null;if(response.organizerGroupStatus.requestStatus=="duplicate"){element=document.getElementById("createGroupFFR");if(element===undefined){element=document.getElementById("createGroupFFC")}userMessage="A group can't be created with an existing group's name.  Please try again with a new group name.";userTitle="Sorry";if(element!==undefined&&element!==null){showFFPopIn(element,userMessage,userTitle,false)}return false}else{if(response.organizerGroupStatus.requestStatus==="fail"){element=document.getElementById("createGroupFFR");if(element===undefined){element=document.getElementById("createGroupFFC")}userMessage="Group names may only contain letters, numbers, or basic punctuation.  Please try again.";userTitle="Sorry";if(element!==undefined&&element!==null){showFFPopIn(element,userMessage,userTitle,false)}}else{window.location.reload()}}},error:function(response,ioArgs){var element=document.getElementById("createGroupFFR");if(element===undefined){element=document.getElementById("createGroupFFC")}var userMessage="Group names may not be blank, and may only contain letters, numbers, or basic punctuation.  Please try again.";var userTitle="Sorry";if(element!==undefined&&element!==null){showFFPopIn(element,userMessage,userTitle,false)}}})}function renameGroup(groupId){var textboxName="renameGroup"+groupId;dojo.xhrPost({headers:{"Accept":"application/*+json"},handleAs:"json",form:dojo.byId("renameForm"+groupId),preventCache:true,timeout:500000,load:function(response,ioArgs){if(response.organizerGroupStatus.requestStatus=="duplicate"){var element=document.getElementById(textboxName);var userMessage="A group can't be renamed to another group's name.  Please try again with a new group name.";var userTitle="Sorry";if(element!==undefined&&element!==null){showFFPopIn(element,userMessage,userTitle,false)}return false}else{if(response.organizerGroupStatus.requestStatus==="fail"){var element=document.getElementById(textboxName);var userMessage="Group names may not be blank, and may only contain letters, numbers, or basic punctuation.  Please try again.";var userTitle="Sorry";if(element!==undefined&&element!==null){showFFPopIn(element,userMessage,userTitle,false)}return false}else{window.location.reload();return false}}},error:function(response,ioArgs){var element=document.getElementById(textboxName);var userMessage="Group names may not be blank, and may only contain letters, numbers, or basic punctuation.  Please try again.";var userTitle="Sorry";if(element!==undefined&&element!==null){showFFPopIn(element,userMessage,userTitle,false)}return false}})}function changeGroup(itemId,contentType,groupId){var requestURL="/svc_organizer_v1/organizer/changegroup/"+itemId+".json;contenttype="+contentType+";groupid="+groupId+";";var theForm=document.getElementById("form"+itemId);var theSelect=eval("theForm.selectOptions"+itemId);var newGroupId=theSelect.options[theSelect.selectedIndex].value;requestURL=requestURL+"newgroupid="+newGroupId;requestURL=requestURL+";date="+encodeURIComponent((new Date()).getTime());return adHocDojoRequest(requestURL)}function encodeGroupName(groupName){var encodedGroupName=encodeURIComponent(groupName);encodedGroupName=groupName.replace(/\'/g,"\\'");encodedGroupName=encodedGroupName.replace(/\"/g,'\\"');return encodedGroupName}function showHideClassSwapAndFetchGroup(groupId,contentTypeCode,objId,toggleId,attachPointId,section,widgetId){var uppercaseContentTypeProgrammaticName="Craft";if(contentTypeCode=="FFR"){uppercaseContentTypeProgrammaticName="Recipe"}var obj=document.getElementById(objId);var toggleIdent=document.getElementById(toggleId);obj.style.display=(obj.style.display=="block")?"none":"block";if(obj.style.display=="block"){var theWidget=dijit.byId(widgetId);if(theWidget.contentLoaded==true){if(obj.style.display=="block"){YAHOO.util.Dom.addClass(toggleIdent,"panel_toggle_open");YAHOO.util.Dom.removeClass(toggleIdent,"panel_toggle_closed")}else{YAHOO.util.Dom.addClass(toggleIdent,"panel_toggle_closed");YAHOO.util.Dom.removeClass(toggleIdent,"panel_toggle_open")}return }dojo.xhrGet({url:"/svc_organizer_v1/organizer/get/"+organizerUserId+".json;groupid="+groupId+";contenttype="+contentTypeCode,headers:{"Accept":"application/*+json"},handleAs:"json",timeout:500000,preventCache:true,load:function(response,ioArgs){try{var groupsAreEmpty=response.groupList==""||(!dojo.isArray(response.groupList.groups)&&response.groupList.groups.itemCount>0);if(!groupsAreEmpty){if(dojo.isArray(response.groupList.groups)){groupsAreEmpty=true;for(i=0;i<response.groupList.groups.length;i=i+1){if(response.groupList.groups[i].id==groupId&&response.groupList.groups[i].itemCount==0){return }if(response.groupList.groups[i].itemCount>0){groupsAreEmpty=false}}}}if(groupsAreEmpty){return }var theGroupList=null;if(dojo.isArray(response.groupList.groups)){theGroupList=response.groupList.groups}else{theGroupList=new Array(1);theGroupList[0]=response.groupList.groups}for(i=0;i<theGroupList.length;i=i+1){if(theGroupList[i].id==groupId){var theGroup=theGroupList[i];var items=null;if(dojo.isArray(theGroup.items)){items=theGroup.items}else{items=new Array(1);items[0]=theGroup.items}var item=null;for(j=0;j<items.length;j=j+1){var theColStyle="";if(j==items.length-1){theColStyle="last"}item=items[j];var row=null;if(section=="organize"){row=new organizer.EditOrganizerRow({averageRating:item.averageRating,colStyle:theColStyle,itemId:item.id,itemURL:item.url,itemTitle:item.title,itemBlurb:item.blurb,contentType:item.contentType,groupName:item.groupName,groupId:item.groupId,uppercaseContentTypeProgrammaticName:uppercaseContentTypeProgrammaticName,groupList:theGroupList},null)}else{var creationDate="";if(item.itemCreationDate!==undefined){creationDate=item.itemCreationDate.substring(5,7)+"/"+item.itemCreationDate.substring(8,10)+"/"+item.itemCreationDate.substring(2,4)}var theBlurb=item.blurb;if(theBlurb.length>140){var lastSpaceIndex=theBlurb.lastIndexOf(" ",140);if(lastSpaceIndex==-1){theBlurb=theBlurb.substr(0,137)+"..."}else{theBlurb=theBlurb.substr(0,lastSpaceIndex)+"..."}}var theImageAltTag="";if(item.imageAltTag!==undefined){theImageAltTag=item.imageAltTag}var theImageUrl="";if(item.imageUrl!==undefined){theImageUrl=item.imageUrl}row=new organizer.ViewRow({averageRating:item.averageRating,colStyle:theColStyle,itemURL:item.url,itemTitle:item.title,itemBlurb:theBlurb,itemCreationDate:creationDate,itemOnShoppingList:item.onShoppingList,numberOfRatings:item.numberOfRatings,itemId:item.id,contentType:item.contentType,groupId:item.groupId,imageAltTag:theImageAltTag,imageUrl:theImageUrl,groupName:item.groupName},null)}theWidget.groupListNode.appendChild(row.domNode)}break}}theWidget.contentLoaded=true}catch(x){return }},error:function(response,ioArgs){}})}if(obj.style.display=="block"){YAHOO.util.Dom.addClass(toggleIdent,"panel_toggle_open");YAHOO.util.Dom.removeClass(toggleIdent,"panel_toggle_closed")}else{YAHOO.util.Dom.addClass(toggleIdent,"panel_toggle_closed");YAHOO.util.Dom.removeClass(toggleIdent,"panel_toggle_open")}}function addToOrganizerBox(id,type,elementId){dojo.xhrPost({url:"/svc_organizer_v1/organizer/add/"+id+".json;contenttype="+type,headers:{"Accept":"application/*+json"},handleAs:"json",preventCache:true,timeout:500000,load:function(response,ioArgs){refreshAfterAddToOrganizerBox(response,elementId)},error:function(response,ioArgs){}})}function addToShoppingList(id,type,groupId){dojo.xhrPost({url:"/svc_organizer_v1/shoppinglist/add/"+id+".json;contenttype="+type+";groupid="+groupId,headers:{"Accept":"application/*+json"},handleAs:"json",preventCache:true,timeout:500000,load:function(response,ioArgs){refreshAfterAddToShoppingList(response)},error:function(response,ioArgs){}});return false}function refreshAfterAddToOrganizerBox(response,elementId){var userMessage="";var userTitle="";var el=document.getElementById(elementId);if(response.error!=null){userTitle="Sorry";userMessage="Something went wrong";showFFPopIn(el,userMessage,userTitle,false)}else{if(response.organizerStatus.userName===undefined||response.organizerStatus.userName==""){if(response.organizerStatus.contentTypeCode=="FFC"){userMessage="<a href='#' onclick='submitLogin();return false'>log in</a> or <a href='#' onclick='submitRegister();return false'>register</a> to add this craft to your craft box";userTitle="Login to join the fun."}else{userMessage="<a href='#' onclick='submitLogin();return false'>log in</a> or <a href='#' onclick='submitRegister();return false'>register</a> to add this recipe to your recipe box";userTitle="Login to join the fun."}showFFPopIn(el,userMessage,userTitle,false)}else{var el=dojo.byId("saveToOrganizer");var parentNode=el.parentNode;parentNode.setAttribute("id","savedToOrganizerParentNode");parentNode.removeChild(el);var span=document.createElement("SPAN");span.setAttribute("id","savedToOrganizerBoxSpan");span.setAttribute("class","fontGreen saveToRecipeBox");if(response.organizerStatus.contentTypeCode=="FFC"){span.innerHTML="Saved To<br />Craft Box"}else{span.innerHTML="Saved To<br />Recipe Box"}dojo.place(span,parentNode)}}}function refreshAfterAddToShoppingList(response){if(response.error!=null){var userMessage="";var userTitle="Sorry";var el=document.getElementById("addProfile"+response.shoppingListStatus.contentRefId);if(response.shoppingListStatus.contentTypeCode==null){userMessage="An error occurred while adding that item to your shopping list."}else{if(response.shoppingListStatus.contentTypeCode=="FFC"){userMessage="An error occurred while adding that craft to your shopping list."}else{userMessage="An error occurred while adding that recipe to your shopping list."}}showFFPopIn(el,userMessage,userTitle,false)}else{showHideMulti("onProfile"+response.shoppingListStatus.contentRefId,"addProfile"+response.shoppingListStatus.contentRefId)}}function showDeleteRecipeConfirmationDialog(id,groupId){var url="/svc_organizer_v1/organizer/remove/"+id+".json;contenttype=FFR;groupid="+groupId;showDojoRequestBubble("delete"+id,"deleteRecipe",-225,-65,url);return false}function showDeleteCraftConfirmationDialog(id,groupId){var url="/svc_organizer_v1/organizer/remove/"+id+".json;contenttype=FFC;groupid="+groupId;showDojoRequestBubble("delete"+id,"deleteCraft",-225,-65,url);return false}function showDeleteRecipeGroupConfirmationDialog(groupId){var url="/svc_organizer_v1/organizer/group/remove/"+groupId+".json;contenttype=FFR";showDojoRequestBubble("delete"+groupId,"deleteRecipeGroup",-225,-65,url);return false}function showDeleteCraftGroupConfirmationDialog(groupId){var url="/svc_organizer_v1/organizer/group/remove/"+groupId+".json;contenttype=FFC";showDojoRequestBubble("delete"+groupId,"deleteCraftGroup",-225,-65,url);return false}function adHocDojoRequest(requestURL){dojo.xhrPost({url:requestURL,headers:{"Accept":"application/*+json"},handleAs:"json",preventCache:true,timeout:500000,load:function(response,ioArgs){window.location.reload()},error:function(response,ioArgs){if(requestURL.indexOf("/organizer/group/rename/")!=-1){var jsonIndex=requestURL.indexOf(".json");var previousSlashIndex=requestURL.lastIndexOf("/",jsonIndex);var groupName=requestURL.substring(previousSlashIndex+1,jsonIndex);groupName=decodeURIComponent(groupName);if(groupName!=null){var element=document.getElementById("renameGroup"+groupName);var userMessage="Group names may not be blank, and may only contain letters, numbers, or basic punctuation.  Please try again.";var userTitle="Sorry";if(element!==undefined&&element!==null){showFFPopIn(element,userMessage,userTitle,false)}return false}}}});return false}function showDojoRequestBubble(element,bubbleName,xOffset,yOffset,requestURL){var element=document.getElementById(element);var x=YAHOO.util.Dom.getX(element);var y=YAHOO.util.Dom.getY(element);var xLoc=x+xOffset;var yLoc=y+yOffset;var bubble=document.getElementById(bubbleName);bubble.style.display="block";YAHOO.util.Dom.setX(bubble,xLoc);YAHOO.util.Dom.setY(bubble,yLoc);var dojoRequestLink=document.getElementById(bubbleName+"PopupLink");dojoRequestLink.onclick=function(event){dojo.xhrPost({url:requestURL,headers:{"Accept":"application/*+json"},handleAs:"json",preventCache:true,timeout:500000,load:function(response,ioArgs){window.location.reload()},error:function(response,ioArgs){}})}}function showRemoveFromRecipeListDialog(){var url="/svc_organizer_v1/shoppinglist/remove/FFR.json";if(document.recipeShoppingListForm.selectAll.checked==true){for(i=0;i<document.recipeShoppingListForm.elements.length;i=i+1){if(document.recipeShoppingListForm.elements[i].type=="checkbox"&&document.recipeShoppingListForm.elements[i].checked==true){if(document.recipeShoppingListForm.elements[i].value!=null&&document.recipeShoppingListForm.elements[i].value!=""){url=url+";contentRefId="+document.recipeShoppingListForm.elements[i].value}}}showDojoRequestBubble("remove001","removeAll",-100,-75,url)}else{checkedCheckboxes=0;for(i=0;i<document.recipeShoppingListForm.elements.length;i++){if(document.recipeShoppingListForm.elements[i].type=="checkbox"&&document.recipeShoppingListForm.elements[i].checked==true){if(document.recipeShoppingListForm.elements[i].value!=null&&document.recipeShoppingListForm.elements[i].value!=""){url=url+";contentRefId="+document.recipeShoppingListForm.elements[i].value;checkedCheckboxes=checkedCheckboxes+1}}}if(checkedCheckboxes==0){showBubble("remove001","selectItems",-100,-75)}else{if(checkedCheckboxes==1){showDojoRequestBubble("remove001","removeThis",-100,-75,url)}else{if(checkedCheckboxes>1){showDojoRequestBubble("remove001","removeThese",-100,-75,url)}}}}return false}function showRemoveFromCraftListDialog(){var url="/svc_organizer_v1/shoppinglist/remove/FFC.json";if(document.craftShoppingListForm.selectAll.checked==true){for(i=0;i<document.craftShoppingListForm.elements.length;i=i+1){if(document.craftShoppingListForm.elements[i].type=="checkbox"&&document.craftShoppingListForm.elements[i].checked==true){if(document.craftShoppingListForm.elements[i].value!=null&&document.craftShoppingListForm.elements[i].value!=""){url=url+";contentRefId="+document.craftShoppingListForm.elements[i].value}}}showDojoRequestBubble("remove001","removeAllCrafts",-100,-75,url)}else{checkedCheckboxes=0;for(i=0;i<document.craftShoppingListForm.elements.length;i++){if(document.craftShoppingListForm.elements[i].type=="checkbox"&&document.craftShoppingListForm.elements[i].checked==true){if(document.craftShoppingListForm.elements[i].value!=null&&document.craftShoppingListForm.elements[i].value!=""){url=url+";contentRefId="+document.craftShoppingListForm.elements[i].value;checkedCheckboxes=checkedCheckboxes+1}}}if(checkedCheckboxes==0){showBubble("remove001","selectCraftItems",-100,-75)}else{if(checkedCheckboxes==1){showDojoRequestBubble("remove001","removeThisCraft",-100,-75,url)}else{if(checkedCheckboxes>1){showDojoRequestBubble("remove001","removeTheseCrafts",-100,-75,url)}}}}return false}function printSingleItem(id,type){var url=null;if(type=="FFC"){url="/favorites/crafts/print/"+id+"/"}else{url="/favorites/print/"+id+"/"}var newWindowName="print"+encodeURIComponent((new Date()).getTime());launch(url,newWindowName,"height=700,width=560,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes");return false}function submitRecipeShoppingListPrint(){var url="/favorites/print/";checkedCheckboxes=0;var selection="";for(i=0;i<document.recipeShoppingListForm.elements.length;i++){if(document.recipeShoppingListForm.elements[i].type=="checkbox"&&document.recipeShoppingListForm.elements[i].checked==true){selection=selection+document.recipeShoppingListForm.elements[i].value+",";checkedCheckboxes=checkedCheckboxes+1}}if(selection.length>0){if(selection[0]==","){selection=selection.substring(1,selection.length)}}if(selection.length>0){if(selection[selection.length-1]==","){selection=selection.substring(0,selection.length-1)}}url=url+selection+"/";if(checkedCheckboxes>0){var newWindowName="print"+encodeURIComponent((new Date()).getTime());launch(url,newWindowName,"height=700,width=640,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes")}else{showBubble("remove001","selectItems",-100,-75)}}function submitCraftShoppingListPrint(){var url="/favorites/crafts/print/";checkedCheckboxes=0;var selection="";for(i=0;i<document.craftShoppingListForm.elements.length;i++){if(document.craftShoppingListForm.elements[i].type=="checkbox"&&document.craftShoppingListForm.elements[i].checked==true){selection=selection+document.craftShoppingListForm.elements[i].value+",";checkedCheckboxes=checkedCheckboxes+1}}if(selection.length>0){if(selection[0]==","){selection=selection.substring(1,selection.length)}}if(selection.length>0){if(selection[selection.length-1]==","){selection=selection.substring(0,selection.length-1)}}url=url+selection+"/";if(checkedCheckboxes>0){var newWindowName="print"+encodeURIComponent((new Date()).getTime());launch(url,newWindowName,"height=700,width=640,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes")}else{showBubble("remove001","selectCraftItems",-100,-75)}}function recipeSelectAll(){if(document.recipeShoppingListForm.selectAll.checked==true){for(i=0;i<document.recipeShoppingListForm.elements.length;i++){document.recipeShoppingListForm.elements[i].checked=true}}else{for(i=0;i<document.recipeShoppingListForm.elements.length;i++){document.recipeShoppingListForm.elements[i].checked=false}}}function craftSelectAll(){if(document.craftShoppingListForm.selectAll.checked==true){for(i=0;i<document.craftShoppingListForm.elements.length;i++){document.craftShoppingListForm.elements[i].checked=true}}else{for(i=0;i<document.craftShoppingListForm.elements.length;i++){document.craftShoppingListForm.elements[i].checked=false}}}