/**
* HTML5 Signature Pad Software
* Copyright (c) 2010 - 2011 Dream Designs (www.dreamdesignsweb.com)
* Under GPL (ww.dreamdesignsweb.com/license) licenses.
* All scripts & codes in this file was created by Dream Designs @ www.dreamdesignsweb.com
* ----------------------------------------------------
* Last Mod: Jul 27 2011 | version 1.3
*/
/**
* ------------------------------------
* Customizable Settings
* ***Read the 'how_to_install.pdf' file for more detailed info
* ------------------------------------
*/
// http abs path (i.e. https://mydomain.com)
var baseURL="";
// Path to images
var dd_imgPath="images/dd_signature_pad";
// Display alert on object load if there's 'toDataURL' support. false = show onclick of submit
var dd_noDataURLOnLoad=false;
// Save button ID; if it doesn't already exist, it will be created
var dd_objSaveButton="dd_saveButton";
// Save button name
var dd_objSaveButtonName="";
var date = new Date();
var d = date.getDate();
var day = (d < 10) ? '0' + d : d;
var m = date.getMonth() + 1;
var month = (m < 10) ? '0' + m : m;
var yy = date.getYear();
var year = (yy < 1000) ? yy + 1900 : yy;
// Signature output to image file name
var dd_outputFileName="";
// Data processor location file + path
var dd_dataProcessURL="dd_signature_process.php";
// Do an action 'AFTER' saving signature (exporting to image)
var dd_doPostAction={
dataSaved:function(f){
// Add your code here. The 'f' var is the filename passed back
postSaveAction(f);
}
};
// Canvas element options
var dd_baseCanvas={
'format':'png', // Final output format for converting to *DO NOT CHANGE AS IT CURRENTLY ONLY SUPPORTS PNG
'width':320, // Canvas html width (not css width)
'height':70, // Canvas html height (not css width)
'border':'solid 1px #c0c0c0', // CSS notation; i.e. 'solid 1px #c0c0c0'
'bg':'#ffffff', // CSS notation
'linewidth':1, // Drawing line thickness (caution: in webkit browser, if setting this to 1, set shadowblur to 0)
'color':'#000000', // Drawing line color
'shadowcolor':'#000000', // Drawing line shadow color
'shadowblur':2, // Drawing line shadow shadow blur (FF browsers)
'shadowblur_wk':0, // Drawing line shadow shadow blur (Webkit)
'shadowblur_ie':0 // Drawing line shadow shadow blur (IE)
};
// Various jscript alert notices
var dd_alert={
// If no html5 support
'nohtml5':'Your device does not yet support some important features of HTML5.',
// If html5 suppport but no export to image support (toDataURL)
'nodataurl':'Your device does not support exporting signatures to image.',
// If submitting without signature
'nosig':'Please add your signature first',
// If signature could not be saved
'savefail':'I could not save your signature. Please try again.'
}
// Enable or Disable tools
var dd_allowTools={
'picker':true,
'pencil':false,
'undo':true,
'delete':true
};
// Position of pencil picker display;
var dd_pencilPicker_show="left";
// Position of color picker display;
var dd_colorPicker_show="left";
// Color pallete colors
var dd_colors=new Array(
'000000', '101010', '202020','303030', '400020', '400040', '400060', '400080', '000020',
'000040', '000060', '000080', '002020', '003030', '008040', '004000', '400000',
'800000', 'C04000', 'FF4000', 'C00000', 'FF0000'
);
/**
* ------------------------------------
* End of Customizable Settings
* ------------------------------------
*/
/**
* Defined Variables (do not modify these)
*/
var dd_toDataURLExist=false;
var dd_signatureStarted=false;
var dd_drawnLines=new Array();
var dd_drawnPoint=0;
/**
* Let's load in all our functions, methods, vars and more
*/
eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('5 43=8(){5 1s=s.2K(\'2L\');3(!1s){17(\'44!!\\45 2M 46 26 47 48: \\\'2L\\\'\');G}5 D=s.E(\'f\');k(D){9(\'C\',\'49\');9(\'L\',l[\'L\']);9(\'V\',l[\'V\']);k(d){B="27-1t";W=l[\'W\'];1I=l[\'4a\']}}8 2N(o){5 M=o.2O("1J/N");G{\'2P\':(!o.1u?6:q),\'28\':(M.O("M:1J/N")!=-1?q:6)}};5 1K=2N(D);3(1K[\'2P\']==6){17(1v[\'4b\']);G}h 3(1K[\'28\']==q){2Q=q}h 3(1K[\'28\']==6){3(4c==q){17(1v[\'2R\']);G}}5 P=s.E(\'1i\');k(P){9(\'C\',\'4d\');k(d){1w="29";3(!X[\'2S\']&&!X[\'2a\']&&!X[\'1L\']&&!X[\'2b\']){B="Q"}h{B="27-1t"}L="4e";2c="Y";4f="Y";2e="A"}}5 2f=s.E(\'18\');k(2f){9(\'C\',\'2T\');9(\'1j\',1x+19+\'/4g.N\');9(\'Z\',\'2U 4h 4i\');m(\'11\',8(r){2V(b,r)},6);3(!X[\'2a\']){d.B="Q"}}5 12=s.E(\'1i\');12.9(\'C\',\'4j\');k(12.d){1w="2W";B="Q";L="4k";V="1M";2e="A";2c="Y 2X Y Y";R="2Y";1I="#1N";W="1k 1a #2Z";30="31";32="1O 1O 33 #34";35="36"}5 2g={\'2h\':\'4l.N\',\'37\':\'4m.N\',\'4n\':\'4o.N\'};1P(5 p 38 2g){5 13=s.E(\'18\');13.9(\'1j\',1x+19+\'/\'+2g[p]);13.9(\'Z\',p);k(13.d){W="1k 1a #1N"}13.m(\'2i\',8(r){b.d.1Q="39";b.d.W="1k 1a #4p"},6);13.m(\'3a\',8(r){b.d.1Q="1M";b.d.W="1k 1a #1N"},6);13.m(\'11\',8(r){1R(b,\'4q\',D)},6);12.F(13)}5 2j=s.E(\'18\');k(2j){9(\'C\',\'3b\');9(\'1j\',1x+19+\'/4r.N\');9(\'Z\',\'2U 3c 4s\');m(\'11\',8(r){3d(b,r)},6);3(!X[\'2S\']){d.B="Q"}}1y.m(\'11\',8(r){3e(b,r)},6);5 14=s.E(\'1i\');14.9(\'C\',\'4t\');k(14.d){1w="2W";B="Q";L="4u";V="1M";2e="A";2c="Y 2X Y Y";R="2Y";1I="#1N";W="1k 1a #2Z";30="31";32="1O 1O 33 #34";35="36"}1P(5 p=0;p<1S.15;p++){5 2k=s.E(\'1i\');k(2k){9(\'C\',\'4v\'+1S[p]);9(\'R\',1S[p]);k(d){1w="29";B="27-1t";L="3f";V="3f";4w="1a";W="1k 1a #4x";1I="#"+1S[p]}m(\'2i\',8(r){b.d.1Q="39";b.d.3g="0.7"},6);m(\'3a\',8(r){b.d.3g="1"},6);m(\'11\',8(r){1R(b,\'R\',D)},6)}14.F(2k)}5 2l=s.E(\'18\');k(2l){9(\'C\',\'4y\');9(\'1j\',1x+19+\'/4z.N\');9(\'Z\',\'4A 3c 4B\');m(\'11\',8(r){2m(b,D)},6);3(!X[\'2b\']){d.B="Q"}}5 2n=s.E(\'18\');k(2n){9(\'C\',\'4C\');9(\'1j\',1x+19+\'/4D.N\');9(\'Z\',\'4E 4F 4G\');m(\'11\',8(r){3h(b)},6);3(!X[\'1L\']){d.B="Q"}}P.F(2f);P.F(12);P.F(2j);P.F(14);P.F(2n);P.F(2l);1s.F(D);1s.F(P);5 1l=s.2K(3i);3(!1l){5 1T=s.E(\'1i\');k(1T){9(\'C\',\'4H\');k(d){1w="29";4I="4J"}}1l=s.E(\'1i\');k(1l){9(\'C\',3i);1z=4K}1T.F(1l);1s.F(1T)}1l.m(\'11\',8(r){3j(b,r)},6);1A=(1b.1c.O(\'4L\')!=-1?q:6);4M=(1b.1c.O(\'4N\')!=-1?q:6);1U=(1b.1c.O(\'4O\')!=-1?q:6);4P=(1b.1c.O(\'4Q\')!=-1?q:6);4R=(1b.1c.O(\'2o 4S\')!=-1?q:6);4T=(1b.1c.O(\'2o 4U\')!=-1?q:6);4V=(1b.1c.O(\'2o 4W\')!=-1?q:6);3(1A){D.m(\'2i\',8(r){D.d.1Q="1m(\'"+19+"/2a.4X\') 7 25, 1M"})}8 2m(t,o){5 f=o.1u(\'2d\');f.4Y(0,0,o.L,o.V);1n=6;3(t!="1B"){j=16 2p();H=0}};8 3h(t){3(j.15==0){1n=6;G}2b j[j.15-1];H--;H=(H<0?0:H);j.4Z((j.15-1),1);1R(\'1L\',\'R\',D)};8 2V(t,e){5 I=t.1V;5 J=t.1W;3(12){k(12.d){2q(50){1d"A":A=(I-3k)+"u";K=(J+10)+"u";1e;1d"K-A":A=(I-3k)+"u";K=(J-20)+"u";1e;1d"K-3l":A=(I+10)+"u";K=(J+20)+"u";1e;2r:A=(I+10)+"u";K=(J+10)+"u"}B="1t"}}};8 3d(t,e){5 I=t.1V;5 J=t.1W;3(14){k(14.d){2q(51){1d"A":A=(I-3m)+"u";K=(J+10)+"u";1e;1d"K-A":A=(I-3m)+"u";3n=(J+10)+"u";1e;1d"K-3l":A=(I+10)+"u";3n=(J+10)+"u";1e;2r:A=(I+10)+"u";K=(J+10)+"u"}B="1t"}}};8 3e(t,e){5 2s=(e.3o?e.3o.C:e.52.C);3(2s!="3b"){14.d.B="Q"}3(2s!="2T"){12.d.B="Q"}};8 1R(t,a,o){2q(a){1d"R":5 f=o.1u(\'2d\');2m(\'1B\',o);3(t!="1L"){f.3p="#"+t.2t(\'R\');f.3q="#"+t.2t(\'R\')}f.2u();1P(5 i=0;i 5W...";1Y=q}5 3N=5X+"."+l[\'1B\'];5 3O=l[\'L\'];5 3P=l[\'V\'];5 M=D.2O(\'1J/\'+l[\'1B\']);M=M.5Y(\'M:1J/\'+l[\'1B\']+\';5Z,\',\'\');5 1D="60=61&62="+63(3N)+"&L="+3O+"&V="+3P+"&M="+M+"&64="+(2A.65()*66);5 1g=3y(67,68,1D,2B,[t,1Y]);3(1p(1g)!="3L"){17(1g);G 6}1g.69=8(){3(1g.6a==4&&1g.6b==6c){1o{1y.6d(2v)}1E(1F){};5 2C=1g.6e;3(2C.O(\'6f|\')!=-1){5 3Q=2C.6g(\'|\');3(1Y){t.1z="6h!"}6i.6j(3Q[1])}h{2B(t)}}}};8 2B(t,w){3(w){t.1z=t.2t(\'3M\')}17(1v[\'6k\'])};5 22=(\'6l\'38 s.3R?q:6);5 g,S,1q,1r;5 3S=8(f){3(22){1r=0;1q=0;o=f;6m{1q+=o.1V;1r+=o.1W}6n(o=o.6o)}h{1r=f.1W;1q=f.1V}g=f.1u(\'2d\');g.3p=l[\'R\'];g.1X=l[\'3u\'];g.6p="23";g.6q="23";g.3q=l[\'6r\'];3(1U){g.1f=l[\'3v\']}h 3(1A){g.1f=l[\'3w\']}h{g.1f=l[\'3x\']}3(22){f.m(\'3T\',1h,6);f.m(\'3U\',1h,6);f.m(\'3V\',1h,6)}h{f.m(\'3W\',1h,6);f.m(\'2D\',1h,6);f.m(\'3X\',1h,6)}S=16 3Y();8 3Y(){5 S=b;b.1G=6;2E=8(e){g.2u();g.3r(e.T,e.U);3(!24(e.T)&&!24(e.U)){j.1H({\'x\':16 2p(),\'y\':16 2p()});j[H][\'x\'].1H(e.T);j[H][\'y\'].1H(e.U);H++}S.1G=q};2F=8(e){3(S.1G){1n=q;g.3s(e.T,e.U);g.3t();3(!24(e.T)){j[H-1][\'x\'].1H(e.T)}3(!24(e.U)){j[H-1][\'y\'].1H(e.U)}}};2G=8(e){3(S.1G){S.2D(e);S.1G=6}};b.3W=8(e){2E(e)};b.3T=8(e){2E(e)};b.2D=8(e){2F(e)};b.3U=8(e){2F(e)};b.3X=8(e){2G(e)};b.3V=8(e){2G(e)};f.6s=8(){G 6}};8 1h(e){5 3Z=1;5 40=1;5 41=(1U?s.3R.6t:0);3(22){e.T=e.42[0].6u-1q;e.U=e.42[0].6v-1r;e.6w()}h{3(e.2H||e.2H==0){e.T=2A.23((e.2H-1q)*3Z);e.U=2A.23((e.6x-1r-41)*40)}h 3(e.2I||e.2I==0){e.T=e.2I;e.U=e.6y}}5 2J=S[e.6z];3(2J){2J(e)}}};5 6A=16 3S(D)};',62,409,'|||if||var|false||function|setAttribute||this||style||canvas|context|else||dd_drawnLines|with|dd_baseCanvas|addEventListener||||true|event|document||px|rqObj|||||left|display|id|objCanvas|createElement|appendChild|return|dd_drawnPoint|selfX|selfY|top|width|data|png|indexOf|iconWrapper|none|color|tool|_x|_y|height|border|dd_allowTools|2px|title||click|objPencilPicker|pen|objPicker|length|new|alert|img|dd_imgPath|1px|navigator|userAgent|case|break|shadowBlur|rq|mover|div|src|solid|objSaveButton|url|dd_signatureStarted|try|typeof|offX|offY|wrapper|block|getContext|dd_alert|position|baseURL|window|innerHTML|dd_agentWK|format|null|params|catch|er|started|push|backgroundColor|image|checks|undo|auto|ffffff|0pt|for|cursor|dd_canvasFormat|dd_colors|objSaveButtonWrapper|dd_agentIE|offsetLeft|offsetTop|lineWidth|elementWritable|tagName||toLowerCase|touchEnabled|round|isNaN||the|inline|todataurl|relative|pen|delete|padding||textAlign|iconPencilPicker|pencilOptions|Thin|mouseover|iconColorPicker|col|iconErasor|dd_clearCanvas|iconUndo|OS|Array|switch|default|isID|getAttribute|beginPath|dd_xmlTimer|c_args|XMLHttpRequest|ActiveXObject|setRequestHeader|Math|dd_httpFail|info|mousemove|eventInit|eventDraw|eventEnd|layerX|offsetX|doFunction|getElementById|dd_signaturePadWrapper|are|checkFunctions|toDataURL|html5|dd_toDataURLExist|nodataurl|picker|dd_tool_pencilPicker|Change|dd_showPencilPicker|absolute|0px|inherit|c0c0c0|borderRadius|3pt|boxShadow|1pt|808080|zIndex|99|Normal|in|pointer|mouseout|dd_tool_colorPicker|Signature|dd_showColorPicker|dd_hidePickers|15px|opacity|dd_undo|dd_objSaveButton|dd_saveSignature|80|right|134|bottom|target|strokeStyle|shadowColor|moveTo|lineTo|stroke|linewidth|shadowblur_ie|shadowblur_wk|shadowblur|dd_xmlObject|abort|XMLHTTP|Internet|Explorer|please|your|ActiveX|or|supports|browser|undefined|Content|object|dd_defaultvalue|fileName|imgWidth|imgHeight|brkI|documentElement|initCanvas|touchstart|touchmove|touchend|mousedown|mouseup|doPencil|scaleOffsetX|scaleOffsetY|scrollOffset|targetTouches|dd_buildStructure|Error|nYou|missing|Div|Element|dd_canvas|bg|nohtml5|dd_noDataURLOnLoad|dd_signatureToolWrapper|74px|marginLeft|icon_pencil_picker|Pencil|Thickness|dd_pencilPicker|100px|pencil_option_1|pencil_option_2|Thick|pencil_option_3|00ff00|line|icon_color_picker|Color|dd_colorPicker|155px|dd_color_|margin|000000|dd_tool_erasor|icon_erasor|Clear|Pad|dd_tool_undo|icon_undo|Undo|Last|Line|dd_objSaveButtonWrapper|clear|both|dd_objSaveButtonName|AppleWebKit|dd_agentFF|Firefox|MSIE|dd_agentOP|Opera|dd_iOS_3_0|3_0|dd_iOS_3_1|3_1|dd_iOS_3_2|3_2|cur|clearRect|splice|dd_pencilPicker_show|dd_colorPicker_show|srcElement|Msxml2|Microsoft|If|you|using|enable|update|to|version|that|it|Your|does|not|support|To|utilize|option|use|one|of|number|setTimeout|apply|eval|open|POST|Type|application|www|form|urlencoded|Length|Connection|close|send|There|is|connection|issue|at|time|nPlease|refresh|and|again|nosig|input|select|textarea|icon_loading_0|gif|vertical|align|middle|Saving|dd_outputFileName|replace|base64|action|sig|file_name|escape|nocache|random|999|2500|dd_dataProcessURL|onreadystatechange|readyState|status|200|clearTimeout|responseText|success|split|Saved|dd_doPostAction|dataSaved|savefail|ontouchstart|do|while|offsetParent|lineCap|lineJoin|shadowcolor|onselectstart|scrollTop|pageX|pageY|preventDefault|layerY|offsetY|type|dd_signaturePad'.split('|'),0,{}));
if (window.addEventListener){
window.addEventListener(
'load',
function() {
dd_buildStructure();
},
false
);
} else {
//alert('must be IE 8 or lower');
window.attachEvent(
'load',
function() {
dd_buildStructure();
},
false
);
}
function printObject(o) {
var out = '';
for (var p in o) {
out += p + ': ' + o[p] + '\n';
}
alert(out);
}