var currentFolder="/",currentImagePath="",currentImageColors,currentImageMaterials,draggedColor,draggedColorName,draggedMaterial,availableColors,availableColorNames,currentImageWid=0,currentImageHgt=0,dragPositionX=-1,dragPositionY=-1,zoomFactor=1,catalogView=!1,backColor="000000",materialNames=["Wool","Silk","Custom","Loop"],colorTabs,colorTabRows;$(function(){window.onerror = noError;CreateElements();CustomizeElements();LoadInterface();HandleWindowResize();PreventRightClick()});function noError(){return true;}
function HandleWindowResize(){ResizeCarousels();$(window).resize(function(){ResizeCarousels();ResizeImage(currentImageWid,currentImageHgt)})}function LoadInterface(){try{PopulateBanner(),PopulateDesignTree(),PopulateDesignThumbs(),PopulateAvailableColors(),PopulateOrderSheetCustomFields(),ActivateButtons()}catch(a){alert(a)}}
function CreateElements(){$("#mainCanvas *").remove();$("#mainCanvas").append($("<div id='col1' class='column'/>"));$("#col1").append($("<div id='logoArea' class='row'/>"));$("#col1").append($("<div id='categoryArea' class='row'/>"));$("#col1").append($("<div id='toolsArea' class='row'/>"));$("#col1").append($("<div id='infoArea' class='row'/>"));$("#mainCanvas").append($("<div id='col2' class='column'/>"));$("#col2").append($("<div id='designThumbsArea' class='row column'/>"));$("#mainCanvas").append($("<div id='col3' class='column'> </div>"));
$("#col3").append($("<div id='designViewArea' class='row column'/>"));$("#mainCanvas").append($("<div id='col4' class='column'/>"));$("#col4").append($("<div id='usedColorsArea' class='row column'/>"));$("#mainCanvas").append($("<div id='col5' class='column'/>"));$("#col5").append($("<div id='availableColorsArea' class='row'/>"));$("#col5").append($("<div id='orderSpecsArea' class='row'/>"));$("#mainCanvas").append($("<div id='copyrightArea'/>"));$("#logoArea").append($("<img id='imgLogo' width=100% />"));
$("#categoryArea").append($("<div id='divCategoryHeader' class='windowHeader'>Categories</div>"));$("#categoryArea").append($("<div id='divCategory' class='windowContent'/>"));$("#toolsArea").append($("<div id='divTools' class='fullWindowContent'/>"));$("#divTools").append($("<center><button id='cmdSave'>Save</button><button id='cmdLogout'>Logout</button></center>"));$("#cmdSave").button();$("#cmdLogout").button();$("#infoArea").append($("<div id='divInfoHeader' class='windowHeader'>Info</div>"));
$("#infoArea").append($("<div id='divInfo' class='windowContent'/>"));$("#designThumbsArea").append($("<div id='divDesignThumbsHeader' class='windowHeader'>Designs</div>"));$("#designThumbsArea").append($("<div id='divDesignThumbs' class='windowContent'/>"));$("#designViewArea").append($("<div id='divDesignView' class='fullWindowContent'><img id='imgDesignImage'></div>"));$("#usedColorsArea").append($("<div id='divUsedColorsHeader' class='windowHeader'>Used Colors</div>"));$("#usedColorsArea").append($("<div id='divUsedColors' class='windowContent'/>"));
$("#availableColorsArea").append($("<div id='divAvailableColorsHeader' class='windowHeader'>Available Colors</div>"));$("#availableColorsArea").append($("<div id='divAvailableColors' class='windowContent'/>"));$("#availableColorsArea").append($("<div id='divAvailableColorTabs' class='windowContent'>"));$("#orderSpecsArea").append($("<div id='divDummyHeader' class='windowHeader'></div>"));$("#orderSpecsArea").append($("<div id='divOrderSpecsHeader' class='windowHeader'>Order Specifications</div>"));
$("#orderSpecsArea").append($("<div id='divOrderSpecs' class='windowContent'/>"));$("#divOrderSpecs").append($("<table style='width:100%;'><tr><td class='orderSpecsLabel'>Width</td><td><input type='number' id='txtWidth' class='numbersOnly' style='width:50px' />&nbsp;&nbsp;<select id='cboUnit' style='width:50px'><option>cm</option><option>m</option><option>ft</option></select></td></tr><tr><td class='orderSpecsLabel'>Length</td><td><input type='number' id='txtHeight' class='numbersOnly' style='width:50px' /></td></tr><tr><td class='orderSpecsLabel'>Quality</td><td><select id='cboQuality'><option>&nbsp;&nbsp;&nbsp;&nbsp;</option></select></td></tr><tr><td class='orderSpecsLabel' colspan=2><div id='orderSpecsCustomFields' style='width:100%'></div></td></tr><tr><td colspan=2><center><button id='cmdOrderSheet'>Order Sheet</button></center></td></tr></table>"));
$("#cmdOrderSheet").button();$("#cmdEmailOrder").button();$(".numbersOnly").numeric();$("#mainCanvas").append($("<ul id='materialMenu' class='contextMenu'><li><a href='#material0' class='materialText' >Wool</a></li><li><a href='#material1' class='materialText' >Silk</a></li><li><a href='#material2' class='materialText' >Custom</a></li><li><a href='#material3' class='materialText' >Loop</a></li></ul>  "));$(".windowHeader").addClass("noSelect");$(".windowContent").addClass("noSelect");$("#divOrderSpecs").removeClass("noSelect")}
function ResizeCarousels(){$(".jcarousel-skin-design .jcarousel-clip-vertical").css("height",$("#col2").height()-102+"px");$(".jcarousel-skin-ucolors .jcarousel-clip-vertical").css("height",$("#col4").height()-102+"px")}function PopulateOrderSheetCustomFields(){jQuery.post("FileProvider.aspx",{id:"customfields"},function(a){$("#orderSpecsCustomFields").html(a)})}
function ActivateButtons(){$("#cmdLogout").click(function(){LogOut(!1)});$("#cmdSave").click(function(){window.location=CustomRenderedImageString()+"&mode=save"});$("#divCategoryHeader").click(function(){PopulateDesignTree();PopulateDesignThumbs()});$("#imgDesignImage").click(function(a){$(".availableColorBox.selectedColor").size()>0&&(HandleColorDrop(a.pageX,a.pageY),$(".availableColorBox.selectedColor").removeClass("selectedColor"))});$("#cmdOrderSheet").click(function(){window.location=GetOrderSheetUrl()});
PopulateOrderControls();PopulateCopyright()}function PopulateCopyright(){jQuery.post("FileProvider.aspx",{id:"copyright"},function(a){$("#copyrightArea").html(a)})}function PopulateOrderControls(){jQuery.post("FileProvider.aspx",{id:"qualities"},function(a){a=a.split("\n");if(a.length==1)$("#cboQuality *").remove(),$("#cboQuality").append($("<option>"+a[0]+"</option>"));else for(i=0;i<a.length;++i)a[i]!=""&&$("#cboQuality").append($("<option>"+a[i]+"</option>"))})}
function LogOut(a){a&&showStatus("Session expired. Reloading application...");window.location="Default.aspx?id=logout"}function PopulateBanner(){showStatus("Loading banner...");$("#imgLogo").attr("src","FileProvider.aspx?id=logo");$("#imgLogo").bind("click",function(){jQuery.post("FileProvider.aspx",{id:"companyurl"},function(a){a!="#"&&window.open("FileProvider.aspx?id=gotourl")})})}
function PopulateDesignTree(){showStatus("Loading design categories...");$("#divCategory").fileTree({script:"FileProvider.aspx?id=folderlist",expandSpeed:1E3,collapseSpeed:1E3,multiFolder:!1},function(a){currentFolder=a;LoadDesignThumbs()})}function PopulateDesignThumbs(){jQuery.post("FileProvider.aspx",{id:"startupfolder"},function(a){a=a.replace("\\","/");a.charAt(0)!="/"&&(a="/"+a);a.charAt(a.length-1)!="/"&&(a+="/");currentFolder=a;LoadDesignThumbs()})}
function LoadDesignThumbs(){showStatus("Loading design thumbnails...");jQuery.post("FileProvider.aspx",{id:"filelist",dir:currentFolder},function(a){a==""&&LogOut(!0);var b='<ul id="designThumbCarousel" class="jcarousel-skin-design">',a=a.split("|");for(i=1;i<a.length;i++)b+="<li onclick='LoadImage(\""+a[i]+"\")'>"+mycarousel_getItemHTML(a[i])+"</li>";b+="</ul>";$("#divDesignThumbs *").remove();$("#divDesignThumbs").append(b);$("#designThumbCarousel").jcarousel({vertical:!0,itemFallbackDimension:150});
ResizeCarousels();a[1]!=void 0?LoadImage(a[1]):(currentFolder=="/"&&LoadOpeningImage(),hideStatus())})}function mycarousel_getItemHTML(a){var b=a.lastIndexOf(".thumb.png"),c=a.lastIndexOf("/")+1,b=a.substr(c,b-c);return'<center><img src="'+escape("Cache"+a)+'" alt="" /><div class=thumbName>'+b+"</div></center>"}
function LoadOpeningImage(){jQuery.post("FileProvider.aspx",{id:"openingimagedata"},function(a){a==""&&LogOut(!0);if(a!="#"){var b=a.split("|"),a=parseInt(b[0],10),b=parseInt(b[1],10);ResizeImage(a,b);$("#imgDesignImage").attr("src","FileProvider.aspx?id=openingimage").load(function(){hideStatus()})}})}
function LoadImage(a){var b=a.lastIndexOf("/")+1,a=currentFolder+a.substr(b);currentImagePath!=a&&(showStatus("Loading design..."),currentImagePath=a,jQuery.post("FileProvider.aspx",{id:"designdata",path:a,bc:backColor},function(a){a==""&&LogOut(!0);new Image;var b=a.split("|"),e=b[0],f=parseInt(b[1],10),h=parseInt(b[2],10),a=parseInt(b[3],10),g=parseInt(b[4],10),j=b[5],b=b[6];currentImageWid=f;currentImageHgt=h;LoadUsedColors(b);document.getElementById("imgDesignImage").src="images/transparent.png";
ResizeImage(f,h);$("#imgDesignImage").attr("src",e).load(function(){hideStatus()});j=="in"?(e=Math.floor(a/12)+"'"+a%12+'"',f=Math.floor(g/12)+"'"+g%12+'"'):(e=Math.round(a/10)/10+"m",f=Math.round(g/10)/10+"m");$("#lblDefaultSize").html(e+" x "+f+'&nbsp;&nbsp;<a href="javascript:CopyDefaultSize('+a+","+g+",'"+j+"')\">Copy</a>");$("#txtWidth").text("");$("#txtLength").text("");document.getElementById("cboUnit").selectedIndex=-1}))}
function CopyDefaultSize(a,b,c){$("#txtWidth").val(a);$("#txtHeight").val(b);$("#cboUnit").val(c)}
function LoadUsedColors(a){a=a.split("\n");$("#divUsedColors *").remove();var b="<ul id='usedColorCarousel' class='jcarousel-skin-ucolors'>";currentImageColors=[];currentImageMaterials=[];for(i=0;i<a.length;++i){var c=a[i].split("\t"),d=c[0],e=parseInt(c[1],10),f=materialNames[parseInt(c[2],10)];currentImageColors[i]=e;currentImageMaterials[i]=parseInt(c[2],10);b+="<li><center><div id='usedColor"+i+"' class='usedColorBox' style='background-color:"+ARGB2HEX(e)+"'>"+(i+1)+"&nbsp;</div><div class='colorName' id='usedColorName"+
i+"'>"+d+"</div><div class='materialName' id='usedMaterialName"+i+"'>"+f+"</div></center></li>"}b+="</ul>";$("#divUsedColors").append(b);$(".usedColorBox").click(function(){var a=parseInt($(this).attr("id").replace("usedColor",""),10);if(catalogView){$("#availableColorsArea").css("position","relative");$("#availableColorsArea").css("padding","0");$("#availableColorsArea").css("margins","0");$("#divAvailableColorsHeader").hide();var b=$("#availableColorsArea").height()+30,c=$("#divAvailableColorsHeader").text();
$("#availableColorsArea").dialog({height:b,title:c,close:function(){$(".availableColorBox").unbind("click")}}).css('overflow','hidden');$(".availableColorBox").click(function(){draggedColor=parseInt($(this).attr("id").replace("availableColor",""),10);draggedColorName=$(this).attr("title");draggedMaterial=$(this).attr("mat");$("#availableColorsArea").dialog("close");$(".availableColorBox.selectedColor").size()>0&&(ReplaceColor(a),$(".availableColorBox.selectedColor").removeClass("selectedColor"))})}else $(".availableColorBox.selectedColor").size()>
0&&(ReplaceColor(a),$(".availableColorBox.selectedColor").removeClass("selectedColor"))});$("#usedColorCarousel").jcarousel({vertical:!0,itemFallbackDimension:75});ResizeCarousels();$(".usedColorBox").droppable({accept:".availableColorBox",tolerance:"pointer",drop:function(){ReplaceColor(parseInt($(this).attr("id").replace("usedColor",""),10))}});$(".materialName").contextMenu({menu:"materialMenu"},function(a,b){ReplaceMaterial(parseInt($(b).attr("id").replace("usedMaterialName",""),10),parseInt(a.replace("material",
""),10))})}
function PopulateAvailableColors(){showStatus("Loading color database...");jQuery.get("FileProvider.aspx?id=colorbank",function(a){a==""&&LogOut(!0);a="12\n"+a;$("#divAvailableColors *").remove();var a=a.split("\n"),b="";$("#divAvailableColors").css("top");$("#divAvailableColors").css("left");availableColors=[];availableColorNames=[];var c=0,d=",";for(i=0;i<a.length;++i)if(a[i].length!=0){var e=a[i].split("\t");if(e.length==1)colorTabRows=e[0].split(",");else{var f=e[0].replace('"',"").replace('"',""),
h=e[1],g;g=e[3]?e[3].replace("\r","").replace("\n",""):"General";var j="colortab"+g.replace(" ","");d.indexOf(","+g+",")==-1&&(d+=g+",");g=h&255;var k=h>>8&255,h=h>>16&255;availableColors[c]=4278190080|g<<16|k<<8|h;availableColorNames[c]=f;e=e[4]?e[4]:"";b+="<div id='availableColor"+c+"' class='availableColorBox "+j+"'  style='background-color:"+RGB2HEX(g,k,h)+"' title='"+f+"' + mat='"+e+"'></div>";c++}}$("#divAvailableColors").append(b);d=d.substr(1,d.length-2);colorTabs=d.split(",");colorTabs.length==
1&&($("#divAvailableColorTabs").hide(),$("#divAvailableColors").css("bottom","0px"));a="<center><span id='colorTabs'>";for(i=0;i<colorTabs.length;++i)b="button"+colorTabs[i].replace(" ",""),a+="<input type='radio' class='colorTabs' id='"+b+"' name='colortab' tabName='"+colorTabs[i]+"'/><label for='"+b+"'>"+colorTabs[i]+"</label>";a+="</span></center>";$("#divAvailableColorTabs").append(a);$("#colorTabs").buttonset();$(".colorTabs").click(function(){HandleColorTabClick($(this).attr("tabName"))});b=
"button"+colorTabs[0].replace(" ","");$("#"+b).click();$("#colorTabs").buttonset("refresh");$(".availableColorBox").mousedown(function(){$(".availableColorBox.selectedColor").removeClass("selectedColor");$(this).addClass("selectedColor")});$(".availableColorBox").click(function(){draggedColor=parseInt($(this).attr("id").replace("availableColor",""),10);draggedColorName=$(this).attr("title");draggedMaterial=$(this).attr("mat")});$(".availableColorBox").draggable({helper:"clone",zIndex:1E4,appendTo:"#mainCanvas",
containment:"#mainCanvas",cursorAt:{top:-4,left:-4},drag:function(a,b){dragPositionX=b.position.left-4;dragPositionY=b.position.top-4},start:function(){$(".availableColorBox.selectedColor").removeClass("selectedColor");draggedColor=parseInt($(this).attr("id").replace("availableColor",""),10);draggedColorName=$(this).attr("title");draggedMaterial=$(this).attr("mat")}});$("#divDesignView").droppable({accept:".availableColorBox",tolerance:"pointer",drop:function(){HandleColorDrop(dragPositionX,dragPositionY)}})})}
function HandleColorTabClick(a){$(".availableColorBox").hide();var b;for(i=0;i<colorTabs.length;++i){colorTabRows[i]&&(b=colorTabRows[i]);if(colorTabs[i]==a)break;b=colorTabRows[0]}var a="colortab"+a.replace(" ",""),c=0,d=($("#divAvailableColors").height()-20)/b;$("."+a).each(function(){var a=c%b*d+"px",f=(c-c%b)/b*d+"px";$(this).css({width:d+"px",height:d+"px",top:a,left:f});c++});$("."+a).show()}
function HandleColorDrop(a,b){var c=$("#divDesignView").offset(),d=c.left,c=c.top,d=parseInt((a-d)/zoomFactor,10)-1,c=parseInt((b-c)/zoomFactor,10)-1;d<0&&(d=0);d>=currentImageWid&&(d=currentImageWid-1);c<0&&(c=0);c>=currentImageHgt&&(c=currentImageHgt-1);ReplaceColorAt(d,c)}function ReplaceColorAt(a,b){currentImagePath!=""&&jQuery.post("FileProvider.aspx?id=colorat",{path:currentImagePath,x:a,y:b},function(a){a==""&&LogOut(!0);ReplaceColor(parseInt(a,10))})}
function RGB2HEX(a,b,c){var d="00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE,FF".split(",");return"#"+
d[a]+d[b]+d[c]}
function ARGB2HEX(a){var b="00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE,FF".split(",");return"#"+
b[a>>16&255]+b[a>>8&255]+b[a&255]}function ReplaceMaterial(a,b){currentImageMaterials[a]!=b&&(currentImageMaterials[a]=b,$("#usedMaterialName"+a).text(materialNames[b]),UpdateRenderedImage())}function ReplaceColor(a){currentImageColors[a]=availableColors[draggedColor];$("#usedColor"+a).css("background-color",ARGB2HEX(availableColors[draggedColor]));$("#usedColorName"+a).text(draggedColorName);draggedMaterial!=""?ReplaceMaterial(a,parseInt(draggedMaterial,10)):UpdateRenderedImage()}
function UpdateRenderedImage(){showStatus("Loading customized design...");$("#imgDesignImage").attr("src",CustomRenderedImageString()).load(function(){hideStatus()})}
function GetOrderSheetUrl(){var a="",b="";for(i=0;i<currentImageColors.length;++i)a+=currentImageColors[i]+"|",b+=currentImageMaterials[i]+"|";var c="";$("#orderSpecsCustomFields input").each(function(){c+=escape($(this).attr("tag"))+"|"+escape($(this).val())+"|"});return"FileProvider.aspx?id=ordersheet&path="+currentImagePath+"&uc="+a+"&um="+b+"&w="+$("#txtWidth").val()+"&l="+$("#txtHeight").val()+"&q="+$("#cboQuality").val()+"&u="+$("#cboUnit").val()+"&e="+c}
function CustomRenderedImageString(){var a="",b="";for(i=0;i<currentImageColors.length;++i)a+=currentImageColors[i]+"|",b+=currentImageMaterials[i]+"|";return"FileProvider.aspx?id=customrendereddesign&path="+currentImagePath+"&uc="+a+"&um="+b+"&bc="+backColor}
function ResizeImage(a,b){var c=$("#designViewArea").width(),d=$("#designViewArea").height(),e=c-20;e>a&&(e=a);var f=e/a*b;f>d-20&&(f=d-20,f>b&&(f=b),e=f/b*a);zoomFactor=e/a;$("#divDesignView").css({position:"relative",left:(c-e)/2,top:(d-f)/2,width:e,height:f});$("#imgDesignImage").width(e);$("#imgDesignImage").height(f)}function MaximizeWindow(){try{top.window.moveTo(0,0),top.window.resizeTo(screen.availWidth,screen.availHeight)}catch(a){}}
function PreventRightClick(){document.body.oncontextmenu=function(){return!1}}function showStatus(a){typeof _statusbar=="undefined"&&(_statusbar=$("<div id='_statusbar' class='statusbar ui-corner-tr'></div>").appendTo($("#designViewArea")).show());_statusbar.text(a);_statusbar.addClass("statusbarhighlight")}function hideStatus(){_statusbar.removeClass("statusbarhighlight")}
$(function(){$.extend($.fn.disableTextSelect=function(){return this.each(function(){$.browser.mozilla?$(this).css("MozUserSelect","none"):$.browser.msie?$(this).bind("selectstart",function(){return!1}):$(this).mousedown(function(){return!1})})});$(".noSelect").disableTextSelect()});
