﻿document.observe('dom:loaded',initPage);var sAlphaUpper='ABCDEFGHIJKLMNOPQRSTUVWXYZ';var sAlphaLower=sAlphaUpper.toLowerCase();var sNumbers='0123456789';var sHex=sNumbers+'ABCDEF';var sSymbols='!$%&*_-+.@';var __TMPL=[[0,0,'Alpha Only - Upper Case',sAlphaUpper,'',8],[1,0,'Alpha Only - Upper and Lower Case',sAlphaUpper+sAlphaLower,'',8],[2,0,'AlphaNumeric - Upper Case',sAlphaUpper+sNumbers,'',8],[3,0,'AlphaNumeric - Upper and Lower Case',sAlphaUpper+sAlphaLower+sNumbers,'',8],[4,0,'Numeric Only',sNumbers,'',5],[5,0,'PIN Code (4-digit)',sNumbers,'',4],[6,0,'Password (Strong)',sAlphaUpper+sAlphaLower+sNumbers+sSymbols,'',8],[7,0,'Hexadecimal',sHex,'',8],[8,0,'Alpha Only - 2 Groups',sAlphaUpper,'~~~~ ~~~~',8],[9,0,'Numbers - 4 Groups',sNumbers,'~~ ~~ ~~ ~~',8]];var _MIN_CHARS=2;var _MAX_CHARS=80;function initPage(){Ajax.Responders.register({onCreate:function(){$(elImgLoader).show();},onComplete:function(){$(elImgLoader).hide();}});if($F(elViewIndex)=='0'){$(elCboTemplate).insert({bottom:'<option value="">-- Select a Pre-defined Template --</option>'});if(__TMPL.length>0){__TMPL.each(function(s){var opt='<option value="'+s[0]+'">'+s[2]+'</option>';$(elCboTemplate).insert({bottom:opt});});}if(__UTMPL.length>0){$(elCboTemplate).insert({bottom:'<option value="">-- Select Your Template --</option>'});__UTMPL.each(function(s){var opt='<option value="'+s[0]+'">'+s[2]+'</option>';$(elCboTemplate).insert({bottom:opt});});}$(elCboTemplate).selectedIndex=0;$$(aspelCmdSubmitEntry)[0].disabled=true;$(elTxtSecCode).value=sEmp;updateStats();}else{$(elPanelTitle).innerHTML='Your Files';$(elCodePreview).innerHTML='Click the Generate button to start the process and create your files';}};function setPreviewText(){showHelp(elDefaultHelp);};function genCodes(){var sTmpl=sEmp;$(elBtnGenerate).disabled=true;if($('chkSaveTemplate')){if($F('chkSaveTemplate')=='on'){sTmpl=$F('txtTemplateName');}}var request=new Ajax.Request('ws/gen.aspx',{parameters:'data='+__SUBMIT+'&tmpl='+encodeURIComponent(sTmpl),onComplete:ajaxOnComplete,onException:ajaxOnException,onFailure:ajaxOnFailure});};function ajaxOnComplete(transport){var resp=transport.responseText;var oJson=eval('('+resp+')');var sHtml=sEmp;if(oJson.code==0){sHtml=sHtml+'<img src="images/down_16x16.gif" alt="Download" />&nbsp;<a href="'+oJson.outputFile+'" target="_blank">Generated Code File</a>';sHtml=sHtml+'<br/><br/>';$(elCodePreview).innerHTML='<h3>Your Files Are Ready</h3>Right mouse-click and select Save As... to download each file';$(elPStats).innerHTML=sHtml;}};function getPreview(){$(elBtnPreview).disabled=true;var c=$$(aspelTxtInclChars)[0].value;var o=$$(aspelCboCodeLen)[0];var l=o.options[o.selectedIndex].text;var r=0;if($$(aspelChkRandom)[0].checked==true){r=1};var p=$$(aspelTxtCodePatt)[0].value;var params='c='+encodeURIComponent(c)+'&l='+l+'&r='+r+'&p='+encodeURIComponent(p);var request=new Ajax.Request('ws/prev.aspx',{parameters:params,onComplete:ajaxPreviewOnComplete,onException:ajaxOnException,onFailure:ajaxOnFailure});};function ajaxPreviewOnComplete(transport){$(elBtnPreview).disabled=false;var resp=transport.responseText;$(elCodePreview).innerHTML='<h3>Preview</h3>'+resp;$(elCodePreview).highlight();};function onChangeInclChars(){var tb=$$(aspelTxtInclChars)[0];var arr=tb.value.strip().toArray().uniq();var s=sEmp;arr.each(function(c){s=s+c});tb.value=s;updateStats();};function onChangeTemplate(){var o=$(elCboTemplate);var n=o.options[o.selectedIndex].value;if(n.length>0){if(n<1000){$$(aspelTxtInclChars)[0].value=__TMPL[n][3];$$(aspelTxtCodePatt)[0].value=__TMPL[n][4];o=$$(aspelCboCodeLen)[0];for(i=0;i<o.length;i++){if(o.options[i].value==__TMPL[n][5]){o.selectedIndex=i;}}}else{n=n-1000;$$(aspelTxtInclChars)[0].value=__UTMPL[n][3];$$(aspelTxtCodePatt)[0].value=__UTMPL[n][4];o=$$(aspelCboCodeLen)[0];for(i=0;i<o.length;i++){if(o.options[i].value==__UTMPL[n][5]){o.selectedIndex=i;}}$$(aspelTxtNumCodes)[0].value=__UTMPL[n][6];$$(aspelTxtNumPickCodes)[0].value=__UTMPL[n][7];$$(aspelChkRandom)[0].checked=(__UTMPL[n][8]=='Y');}updateStats();}};function updateStats(){var nNumChars=$$(aspelTxtInclChars)[0].value.strip().length;var o=$$(aspelCboCodeLen)[0];var nCodeLen=o.options[o.selectedIndex].text;var sMaxCodes=Math.pow(nNumChars,nCodeLen);if(sMaxCodes>Math.pow(10,9)){sMaxCodes='> 1 Billion';}else{sMaxCodes=formatNumber(sMaxCodes.toString());}var sHtml='Num Chars: '+nNumChars+'<br/>';sHtml=sHtml+'Code Len : '+nCodeLen+'<br/><br/>';sHtml=sHtml+'<b>Max Num of Possible Codes:<br/>'+sMaxCodes+'</b><br/>(Does not take into account the string exclusion list)<br/><br/>';sHtml=sHtml+'<b>Max Num of Allowable Codes for this subscription level: '+formatNumber(__OPT[0].toString())+'</b><br/>';$(elPStats).innerHTML=sHtml;$(elPStats).highlight();setPreviewText();};function maxCodes(){var nNumChars=$$(aspelTxtInclChars)[0].value.strip().length;o=$$(aspelCboCodeLen)[0];var nCodeLen=o.options[o.selectedIndex].text;return Math.pow(nNumChars,nCodeLen)};function valInclChars(oSrc,args){var sData=args.Value.strip();fldLen=sData.length;args.IsValid=((fldLen>=_MIN_CHARS)&&(fldLen<=_MAX_CHARS))};function valNumCodes(oSrc,args){if(args.Value==NaN){args.IsValid=true;return;}var nNumCodes=parseInt(args.Value);args.IsValid=(nNumCodes<=maxCodes());};function valMaxCodes(oSrc,args){if(args.Value==NaN){args.IsValid=true;return;}var nNumCodes=parseInt(args.Value);args.IsValid=(nNumCodes<=__OPT[0]);};function valCodePattern(oSrc,args){args.IsValid=true;};function valRangeFrom(oSrc,args){if(args.Value.length>0){o=$$(aspelCboCodeLen)[0];var nCodeLen=parseInt(o.options[o.selectedIndex].text);args.IsValid=(args.Value.length==nCodeLen);}else{args.IsValid=true;}};function valRangeTo(oSrc,args){if(args.Value.length>0){o=$$(aspelCboCodeLen)[0];var nCodeLen=parseInt(o.options[o.selectedIndex].text);args.IsValid=(args.Value.length==nCodeLen);}else{args.IsValid=true;}};function valSecCode(){sCode=$F(elTxtSecCode).toUpperCase();$(elTxtSecCode).value=sCode;if(sCode.length==6){$(elPCapMsg).innerHTML='Checking the code...';var request=new Ajax.Request('ws/val.aspx',{parameters:'c=valcaptcha&p='+encodeURIComponent(sCode),onComplete:ajaxValSecCodeOnComplete,onException:ajaxOnException,onFailure:ajaxOnFailure});}else{$(elPCapMsg).innerHTML=sEmp;$$(aspelCmdSubmitEntry)[0].disabled=true;}};function ajaxValSecCodeOnComplete(transport){var resp=transport.responseText;if(resp==sY){$(elPCapMsg).innerHTML='Code was entered correctly - you can now continue';$$(aspelCmdSubmitEntry)[0].disabled=false;}else{$(elPCapMsg).innerHTML='Code was entered incorrectly - please retry';$$(aspelCmdSubmitEntry)[0].disabled=true;}};function reloadCaptcha(){$(elImgCap).src='captchaimg.aspx?r='+Math.random();};function showHelp(sId){$(elCodePreview).innerHTML=$(sId).innerHTML;};function hideHelp(){setPreviewText();}