changeset 44:1045db9799e3 laserkard

[svn r45] Greatly Enhanced Responsiveness of the website.
author rlm
date Thu, 28 Jan 2010 04:10:44 -0500
parents 329638a361cc
children bff96abdddfa
files awesome_js/robert.js buy.html buy.pl cardDefinitions.JSON paypal/basic_acrylic_clear.paylist paypal/basic_acrylic_green.paylist paypal/big_acrylic_clear.paylist paypal/big_acrylic_green.paylist paypal/classic_acrylic_clear.paylist paypal/classic_acrylic_green.paylist paypal/generate_paylists.pm paypal/lines_acrylic_clear.paylist paypal/lines_acrylic_green.paylist paypal/make.pl sexy.css
diffstat 15 files changed, 275 insertions(+), 208 deletions(-) [+]
line wrap: on
line diff
     1.1 --- a/awesome_js/robert.js	Thu Jan 28 00:32:54 2010 -0500
     1.2 +++ b/awesome_js/robert.js	Thu Jan 28 04:10:44 2010 -0500
     1.3 @@ -1,5 +1,3 @@
     1.4 -
     1.5 -
     1.6  
     1.7  function defaults()
     1.8  {
     1.9 @@ -13,55 +11,125 @@
    1.10  }
    1.11  
    1.12  
    1.13 -function drawElement(obj)
    1.14 +
    1.15 +function stabForm(ID)
    1.16  {
    1.17 +var JSONtext = document.getElementById('formValues').innerHTML;
    1.18 +var hash = new Object();
    1.19 +hash = eval('(' + JSONtext + ')');
    1.20 +
    1.21 +propertyValue = document.getElementById(ID).value;
    1.22 +propertyName = ID;
    1.23 +propertyValue = escape(propertyValue);
    1.24 +
    1.25 +eval("hash."+propertyName+"='"+propertyValue+"'");
    1.26  	
    1.27 +var JSONtext = document.getElementById('formValues').innerHTML = JSON.stringify(hash);	
    1.28 +}
    1.29 +
    1.30 +
    1.31 +
    1.32 +function getPosition(style, field)
    1.33 +{
    1.34 +
    1.35 +var cardType = eval ("laserkard." + style);
    1.36 +
    1.37 +
    1.38 +if ( eval("typeof cardType." + field + " != 'undefined'"))  //shouldn't ever really matter
    1.39 +{
    1.40 +values = eval("cardType." + field);
    1.41 +
    1.42 +if (typeof values.posx != 'undefined'){posx = values.posx;}
    1.43 +if (typeof values.posy != 'undefined'){posy = values.posy;}
    1.44 +if (typeof values.center != 'undefined'){center = values.center;}
    1.45 +if (typeof values.font != 'undefined'){font = values.font;}
    1.46 +if (typeof values.weirdFlip != 'undefined'){weirdFlip = values.weirdFlip;}
    1.47 +}
    1.48 +
    1.49 +
    1.50 +}
    1.51 +
    1.52 +
    1.53 +
    1.54 +
    1.55 +function smallRedraw(style,field)
    1.56 +{
    1.57 +
    1.58 +var JSONtext = document.getElementById('formValues').innerHTML;
    1.59 +var hash = new Object();
    1.60 +hash = eval('(' + JSONtext + ')');
    1.61 +
    1.62 +var content = eval("hash."+field);
    1.63 +
    1.64 + content = unescape(content);
    1.65 +
    1.66 +posx = 10;
    1.67 +posy = 10;
    1.68 +center = 0;
    1.69 +font = 10;
    1.70 +face = 700;
    1.71 +weirdFlip = 0;
    1.72 +
    1.73 +getPosition(style, field);
    1.74 +
    1.75 +target = "d_" + field;
    1.76 +
    1.77 +
    1.78 +var whatev = eval("typeof " + target + " != 'undefined'")
    1.79 +
    1.80 +if (whatev){eval ("{" + target + ".remove();}");}
    1.81 +
    1.82 +eval ( target + " = raphe.print(posx, posy, content , raphe.getFont('HelveticaNeue', face), font);" );
    1.83 +
    1.84 + 
    1.85 +eval ( target +".attr('stroke', '#6a6a6a');");
    1.86 +eval ( target +".attr('fill', 'none');");
    1.87 +
    1.88 +
    1.89 +if (center == 1)
    1.90 +{
    1.91 +eval ("var c = " + target+".getBBox().width; " + target + ".translate((485 - c)/2,0);");
    1.92 +}
    1.93 +
    1.94 +
    1.95 +if (weirdFlip == 1)
    1.96 +{
    1.97 +eval("var c = "+target+".getBBox().width;");
    1.98 +eval(target+ ".translate((317 - c)/2,0);");
    1.99 +eval(target+".translate(0, -490);");
   1.100 +eval(target+".rotate(90,0,0);");
   1.101 +}
   1.102 +
   1.103 +
   1.104 +
   1.105 +
   1.106 +
   1.107 +}
   1.108 +
   1.109 +function clearAll()
   1.110 +{
   1.111 +if(typeof d_Name != 'undefined' ){d_Name.remove();}	
   1.112 +if(typeof d_Company != 'undefined' ){d_Company.remove();}	
   1.113 +if(typeof d_Email != 'undefined' ){d_Email.remove();}	
   1.114 +if(typeof d_Occupation != 'undefined' ){d_Occupation.remove();}	
   1.115 +if(typeof d_Phone != 'undefined' ){d_Phone.remove();}	
   1.116 +if(typeof d_Website != 'undefined' ){d_Website.remove();}	
   1.117 +	
   1.118 +if(typeof d_lineArt != 'undefined' ){d_lineArt.remove();}	
   1.119  }
   1.120  
   1.121  function redraw(style)
   1.122  {
   1.123  
   1.124  
   1.125 -var JSONtext = document.getElementById('formValues').innerHTML;
   1.126 -var hash = new Object();
   1.127 -hash = eval('(' + JSONtext + ')');
   1.128  
   1.129 -if(hash.Name){alias = hash.Name;}
   1.130 -if(hash.Email){email = hash.Email;}
   1.131 -if(hash.Occupation){occupation = hash.Occupation;}
   1.132 -if(hash.Company){company = hash.Company;}
   1.133 -if(hash.Phone){phone = hash.Phone;}
   1.134 -if(hash.website){website = Website;}
   1.135  
   1.136  if (style == "bold")
   1.137  {
   1.138  	
   1.139 -
   1.140 -
   1.141 -if(typeof d_alias != 'undefined' ){d_alias.remove();}
   1.142 -if(typeof d_email != 'undefined' ){d_email.remove();}
   1.143 -if(typeof d_occupation != 'undefined' ){d_occupation.remove();}
   1.144 -if(typeof d_company != 'undefined' ){d_company.remove();}
   1.145 -if(typeof d_phone != 'undefined' ){d_phone.remove();}
   1.146 -if(typeof d_website != 'undefined' ){d_website.remove();}
   1.147 -if(typeof d_lineArt != 'undefined' ){d_lineArt.remove();}
   1.148 -
   1.149 -
   1.150 -
   1.151 -
   1.152 -d_alias = raphe.print(10, 160, alias, raphe.getFont('HelveticaNeue', 700), 60);
   1.153 -d_alias.attr('stroke', '#6a6a6a');
   1.154 -d_alias.attr('fill', 'none')
   1.155 -var c = d_alias.getBBox().width;
   1.156 -d_alias.translate((485 - c)/2,0);
   1.157 -
   1.158 -	
   1.159 -
   1.160 -
   1.161 -d_email = raphe.print(280, 270, email, raphe.getFont("HelveticaNeue", 700), 25);
   1.162 -d_email.attr('stroke', '#6a6a6a');
   1.163 -d_email.attr('fill', 'TRANSPARENT');
   1.164 -
   1.165 +clearAll();
   1.166 +smallRedraw("bold","Name");
   1.167 +smallRedraw("bold","Email");
   1.168  
   1.169  
   1.170  	
   1.171 @@ -71,32 +139,14 @@
   1.172  if (style == "arrow")
   1.173  {
   1.174  	
   1.175 -if(typeof d_alias != 'undefined' ){d_alias.remove();}
   1.176 -if(typeof d_email != 'undefined' ){d_email.remove();}
   1.177 -if(typeof d_occupation != 'undefined' ){d_occupation.remove();}
   1.178 -if(typeof d_company != 'undefined' ){d_company.remove();}
   1.179 -if(typeof d_phone != 'undefined' ){d_phone.remove();}
   1.180 -if(typeof d_website != 'undefined' ){d_website.remove();}
   1.181 -if(typeof d_lineArt != 'undefined' ){d_lineArt.remove();}
   1.182 +clearAll();
   1.183  
   1.184 +smallRedraw("arrow","Name");
   1.185 +smallRedraw("arrow","Email");
   1.186 +smallRedraw("arrow","Occupation");
   1.187 +smallRedraw("arrow","Company");
   1.188  
   1.189  
   1.190 -d_alias = raphe.print(40, 110, alias, raphe.getFont('HelveticaNeue', 700), 55);
   1.191 -d_alias.attr('stroke', '#6a6a6a');
   1.192 -d_alias.attr('fill', 'none')
   1.193 -
   1.194 -d_company = raphe.print(40, 155, company, raphe.getFont("HelveticaNeue", 700), 27);
   1.195 -d_company.attr('stroke', '#6a6a6a');
   1.196 -d_company.attr('fill', 'TRANSPARENT');
   1.197 -
   1.198 -d_occupation = raphe.print(40, 190, occupation, raphe.getFont("HelveticaNeue", 700), 27);
   1.199 -d_occupation.attr('stroke', '#6a6a6a');
   1.200 -d_occupation.attr('fill', 'TRANSPARENT');
   1.201 -
   1.202 -d_email = raphe.print(280, 270, email, raphe.getFont("HelveticaNeue", 700), 25);
   1.203 -d_email.attr('stroke', '#6a6a6a');
   1.204 -d_email.attr('fill', 'TRANSPARENT');
   1.205 -
   1.206  d_lineArt = raphe.path("M 2 272 L 258 272");
   1.207  d_lineArt.attr('stroke', '#6a6a6a');
   1.208  	
   1.209 @@ -105,113 +155,29 @@
   1.210  
   1.211  if (style == "classic")
   1.212  {
   1.213 -	
   1.214 -if(typeof d_alias != 'undefined' ){d_alias.remove();}
   1.215 -if(typeof d_email != 'undefined' ){d_email.remove();}
   1.216 -if(typeof d_occupation != 'undefined' ){d_occupation.remove();}
   1.217 -if(typeof d_company != 'undefined' ){d_company.remove();}
   1.218 -if(typeof d_phone != 'undefined' ){d_phone.remove();}
   1.219 -if(typeof d_website != 'undefined' ){d_website.remove();}
   1.220 -if(typeof d_lineArt != 'undefined' ){d_lineArt.remove();}
   1.221  
   1.222 +clearAll();
   1.223  
   1.224 -d_email = raphe.print(0, 42, email, raphe.getFont("HelveticaNeue", 700), 29);
   1.225 -d_email.attr('stroke', '#6a6a6a');
   1.226 -d_email.attr('fill', 'TRANSPARENT');
   1.227 -var c = d_email.getBBox().width;
   1.228 -d_email.translate((510 - c)/2,0);
   1.229 -
   1.230 -
   1.231 -
   1.232 -d_phone = raphe.print(0, 75, phone, raphe.getFont("HelveticaNeue", 700), 27);
   1.233 -d_phone.attr('stroke', '#6a6a6a');
   1.234 -d_phone.attr('fill', 'TRANSPARENT');
   1.235 -var c = d_phone.getBBox().width;
   1.236 -d_phone.translate((510 - c)/2,0);
   1.237 -
   1.238 -
   1.239 -d_alias = raphe.print(0, 164, alias, raphe.getFont('HelveticaNeue', 800), 47);
   1.240 -d_alias.attr('stroke', '#6a6a6a');
   1.241 -d_alias.attr('fill', 'none')
   1.242 -var c = d_alias.getBBox().width;
   1.243 -d_alias.translate((510 - c)/2,0);
   1.244 -
   1.245 -
   1.246 -d_company = raphe.print(0, 247, company, raphe.getFont("HelveticaNeue", 700), 27);
   1.247 -d_company.attr('stroke', '#6a6a6a');
   1.248 -d_company.attr('fill', 'TRANSPARENT');
   1.249 -var c = d_company.getBBox().width;
   1.250 -d_company.translate((510 - c)/2,0);
   1.251 -
   1.252 -
   1.253 -
   1.254 -d_occupation = raphe.print(0, 278, occupation, raphe.getFont("HelveticaNeue", 700), 27);
   1.255 -d_occupation.attr('stroke', '#6a6a6a');
   1.256 -d_occupation.attr('fill', 'TRANSPARENT');
   1.257 -var c = d_occupation.getBBox().width;
   1.258 -d_occupation.translate((510 - c)/2,0);
   1.259 -
   1.260 -
   1.261 -d_website = raphe.print(0, 0, website, raphe.getFont("HelveticaNeue", 700), 21);
   1.262 -d_website.attr('stroke', '#6a6a6a');
   1.263 -d_website.attr('fill', 'TRANSPARENT');
   1.264 -
   1.265 -var c = d_website.getBBox().width;
   1.266 -d_website.translate((317 - c)/2,0);
   1.267 -
   1.268 -d_website.translate(0, -490);
   1.269 -d_website.rotate(90,0,0);
   1.270 +smallRedraw("classic","Name");
   1.271 +smallRedraw("classic","Email");
   1.272 +smallRedraw("classic","Occupation");
   1.273 +smallRedraw("classic","Company");
   1.274 +smallRedraw("classic","Phone");
   1.275 +smallRedraw("classic","Website");
   1.276  }
   1.277  
   1.278  
   1.279  if (style == "direct")
   1.280  {
   1.281  	
   1.282 -if(typeof d_alias != 'undefined' ){d_alias.remove();}
   1.283 -if(typeof d_email != 'undefined' ){d_email.remove();}
   1.284 -if(typeof d_occupation != 'undefined' ){d_occupation.remove();}
   1.285 -if(typeof d_company != 'undefined' ){d_company.remove();}
   1.286 -if(typeof d_phone != 'undefined' ){d_phone.remove();}
   1.287 -if(typeof d_website != 'undefined' ){d_website.remove();}
   1.288 -if(typeof d_lineArt != 'undefined' ){d_lineArt.remove();}
   1.289 +clearAll();
   1.290  
   1.291 -
   1.292 -
   1.293 -
   1.294 -d_alias = raphe.print(37, 70, alias, raphe.getFont('HelveticaNeue', 700), 55);
   1.295 -d_alias.attr('stroke', '#6a6a6a');
   1.296 -d_alias.attr('fill', 'none')
   1.297 -
   1.298 -
   1.299 -
   1.300 -d_occupation = raphe.print(37, 120, occupation, raphe.getFont("HelveticaNeue", 700), 27);
   1.301 -d_occupation.attr('stroke', '#6a6a6a');
   1.302 -d_occupation.attr('fill', 'TRANSPARENT');
   1.303 -
   1.304 -
   1.305 -
   1.306 -d_company = raphe.print(37, 178, company, raphe.getFont("HelveticaNeue", 700), 27);
   1.307 -d_company.attr('stroke', '#6a6a6a');
   1.308 -d_company.attr('fill', 'TRANSPARENT');
   1.309 -
   1.310 -
   1.311 -
   1.312 -d_phone = raphe.print(37, 210, phone, raphe.getFont("HelveticaNeue", 700), 27);
   1.313 -d_phone.attr('stroke', '#6a6a6a');
   1.314 -d_phone.attr('fill', 'TRANSPARENT');
   1.315 -
   1.316 -
   1.317 -
   1.318 -d_email = raphe.print(37, 240, email, raphe.getFont("HelveticaNeue", 700), 27);
   1.319 -d_email.attr('stroke', '#6a6a6a');
   1.320 -d_email.attr('fill', 'TRANSPARENT');
   1.321 -
   1.322 -
   1.323 -
   1.324 -
   1.325 -d_website = raphe.print(37, 270, website, raphe.getFont("HelveticaNeue", 700), 27);
   1.326 -d_website.attr('stroke', '#6a6a6a');
   1.327 -d_website.attr('fill', 'TRANSPARENT');
   1.328 +smallRedraw("direct","Name");
   1.329 +smallRedraw("direct","Email");
   1.330 +smallRedraw("direct","Occupation");
   1.331 +smallRedraw("direct","Company");
   1.332 +smallRedraw("direct","Phone");
   1.333 +smallRedraw("direct","Website");
   1.334  
   1.335  d_lineArt = raphe.path("M 350 165 L 512 165  M 350 173 L 512 173  M 350 181 L 512 181  M 350 189 L 512 189 M 350 197 L 512 197 M 350 213 L 512 213 M 350 205 L 512 205 M 350 221 L 512 221");
   1.336  d_lineArt.attr('stroke', '#6a6a6a');
     2.1 --- a/buy.html	Thu Jan 28 00:32:54 2010 -0500
     2.2 +++ b/buy.html	Thu Jan 28 04:10:44 2010 -0500
     2.3 @@ -87,11 +87,24 @@
     2.4  </div>
     2.5  
     2.6  
     2.7 +<div id = "cardDefs">
     2.8 +PERL::DEFS
     2.9 +</div>
    2.10 +
    2.11 +
    2.12  <script language="javascript">
    2.13  //this is the main painting object, established here and created with Initial painting values
    2.14 +
    2.15 +JSONtex = document.getElementById('cardDefs').innerHTML;
    2.16 +laserkard = new Object();
    2.17 +laserkard = eval('(' + JSONtex + ')');
    2.18 +
    2.19  var raphe = Raphael("disp_contain", 515, 318);
    2.20  defaults();
    2.21  redraw("bold");
    2.22 +
    2.23 +
    2.24 +
    2.25  </script>
    2.26  </body>
    2.27  
     3.1 --- a/buy.pl	Thu Jan 28 00:32:54 2010 -0500
     3.2 +++ b/buy.pl	Thu Jan 28 04:10:44 2010 -0500
     3.3 @@ -303,7 +303,13 @@
     3.4      $b = <FH>;
     3.5     }
     3.6  
     3.7 +  {
     3.8 +    local( $/, *FH ) ;
     3.9 +    open( FH, "<./cardDefinitions.JSON" ) or die "sudden flaming death\n";
    3.10 +    $c = <FH>;
    3.11 +   }
    3.12  
    3.13 +$a =~s/PERL::DEFS/$c/;
    3.14  
    3.15  
    3.16  
    3.17 @@ -313,16 +319,28 @@
    3.18  $b = &template("big_acrylic_clear");
    3.19  
    3.20  
    3.21 +
    3.22 +
    3.23 +
    3.24  $a =~ s/PERL-REPLACE::TEMPLATES/$b/; 
    3.25  
    3.26  $b = &display("big_acrylic_clear");
    3.27  $a =~ s/PERL-REPLACE::DISPLAY/$b/;
    3.28  
    3.29 -$initials = <<HERE;
    3.30 -{"Email":"rlm\@mit.edu","Name":"Robert McIntyre"}
    3.31 +$initials = <<HERE ;
    3.32 +{
    3.33 +"Name":"James Bond",
    3.34 +"Email":"jbond\@mi6.co.uk",
    3.35 +"Phone": "123.456.7890", 
    3.36 +"Company": "MI6",
    3.37 +"Website" : "http://jamesbond.com",
    3.38 +"Occupation" : "Secret Agent"
    3.39 +}
    3.40 +
    3.41  HERE
    3.42  
    3.43  
    3.44 +
    3.45  $b = &inputbox("big_acrylic_clear", $initials);
    3.46  $a =~ s/PERL-REPLACE::INPUTBOX/$b/;
    3.47  
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/cardDefinitions.JSON	Thu Jan 28 04:10:44 2010 -0500
     4.3 @@ -0,0 +1,64 @@
     4.4 +
     4.5 +
     4.6 +{
     4.7 +
     4.8 +"bold" :  
     4.9 +	{
    4.10 +	"Name" : 
    4.11 +		{"posx": "10", "posy" : "160", "center" : 1, "font" : "60"},
    4.12 +	"Email" :
    4.13 +		{"posx": "280", "posy" : "270", "font" : "25"},   
    4.14 +	},
    4.15 +	
    4.16 +	
    4.17 +"arrow" :
    4.18 +	{
    4.19 +	"Name" : 
    4.20 +		{"posx": "40", "posy" : "110",  "font" : "55"},
    4.21 +	"Company" :
    4.22 +		{"posx": "40", "posy" : "155",  "font" : "27"},
    4.23 +	"Occupation" :
    4.24 +		{"posx": "40", "posy" : "190",  "font" : "27"},
    4.25 +	"Email" :
    4.26 +		{"posx": "280", "posy" : "270", "font" : "25"} ,   
    4.27 +	},
    4.28 +	
    4.29 +	
    4.30 +"classic" :  
    4.31 +	{
    4.32 +	"Email" : 
    4.33 +		{"posy" : "42", "center" : 1, "font" : "29"},	
    4.34 +	"Phone" : 
    4.35 +		{"posy" : "75", "center" : 1, "font" : "27"},	
    4.36 +	"Name" : 
    4.37 +		{"posy" : "164", "center" : 1, "font" : "47", "face" : "800"},	
    4.38 +	"Company" : 
    4.39 +		{"posy" : "247", "center" : 1, "font" : "27"},	
    4.40 +	"Occupation" : 
    4.41 +		{"posy" : "278", "center" : 1, "font" : "27"},	
    4.42 +	"Website" : 
    4.43 +		{"posy" : "0", "posx" : "0",  "weirdFlip" : 1, "font" : "21"},	
    4.44 +	},
    4.45 +
    4.46 +"direct" :
    4.47 +	{
    4.48 +	"Name" : 
    4.49 +		{"posx": "37", "posy" : "70",  "font" : "55"},
    4.50 +	"Occupation" :
    4.51 +		{"posx": "37", "posy" : "120",  "font" : "27"},
    4.52 +	"Company" :
    4.53 +		{"posx": "37", "posy" : "178",  "font" : "27"},
    4.54 +	"Phone" :
    4.55 +		{"posx": "37", "posy" : "210",  "font" : "27"},
    4.56 +	"Email" :
    4.57 +		{"posx": "37", "posy" : "240", "font" : "27"} , 
    4.58 +	"Website" :
    4.59 +		{"posx": "37", "posy" : "270", "font" : "27"} , 
    4.60 +	
    4.61 +	 
    4.62 +	},
    4.63 +	
    4.64 +	
    4.65 +
    4.66 +
    4.67 +}
     5.1 --- a/paypal/basic_acrylic_clear.paylist	Thu Jan 28 00:32:54 2010 -0500
     5.2 +++ b/paypal/basic_acrylic_clear.paylist	Thu Jan 28 04:10:44 2010 -0500
     5.3 @@ -106,7 +106,7 @@
     5.4  <br>
     5.5  Name:&nbsp;&nbsp;
     5.6  <input type="text"  name="line_1b" size="20" id="Name" 
     5.7 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('arrow'); updateForm(['args__Name', 'Name', 'formValues'] , ['formValues']);"
     5.8 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Name');smallRedraw('arrow', 'Name');"
     5.9  
    5.10  >
    5.11  <!--   -->
    5.12 @@ -114,7 +114,7 @@
    5.13  <br>
    5.14  Company:&nbsp;&nbsp;
    5.15  <input type="text"  name="line_2b" size="20" id="Company" 
    5.16 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('arrow'); updateForm(['args__Company', 'Company', 'formValues'] , ['formValues']);"
    5.17 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Company');smallRedraw('arrow', 'Company');"
    5.18  
    5.19  >
    5.20  <!--   -->
    5.21 @@ -122,7 +122,7 @@
    5.22  <br>
    5.23  Occupation:&nbsp;&nbsp;
    5.24  <input type="text"  name="line_3b" size="20" id="Occupation" 
    5.25 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('arrow'); updateForm(['args__Occupation', 'Occupation', 'formValues'] , ['formValues']);"
    5.26 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Occupation');smallRedraw('arrow', 'Occupation');"
    5.27  
    5.28  >
    5.29  <!--   -->
    5.30 @@ -130,7 +130,7 @@
    5.31  <br>
    5.32  Email:&nbsp;&nbsp;
    5.33  <input type="text"  name="line_4b" size="20" id="Email" 
    5.34 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('arrow'); updateForm(['args__Email', 'Email', 'formValues'] , ['formValues']);"
    5.35 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Email');smallRedraw('arrow', 'Email');"
    5.36  
    5.37  >
    5.38  <!--   -->
    5.39 @@ -140,6 +140,10 @@
    5.40  
    5.41  <!-- End of Text Input Fields -->
    5.42  
    5.43 +<br>
    5.44 +<input type     = "checkbox"       onclick  = "ReadForm (this.form, false);"        value    = "( +0.01 ^__^ )">
    5.45 +Add a penny! ^__^
    5.46 +<br>
    5.47  
    5.48  <br>
    5.49  Total Cost:&nbsp; &nbsp;
     6.1 --- a/paypal/basic_acrylic_green.paylist	Thu Jan 28 00:32:54 2010 -0500
     6.2 +++ b/paypal/basic_acrylic_green.paylist	Thu Jan 28 04:10:44 2010 -0500
     6.3 @@ -106,7 +106,7 @@
     6.4  <br>
     6.5  Line 1:&nbsp;&nbsp;
     6.6  <input type="text"  name="line_1b" size="20" id="Line 1" 
     6.7 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 1', 'Line 1', 'formValues'] , ['formValues']);"
     6.8 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 1');smallRedraw('', 'Line 1');"
     6.9  
    6.10  >
    6.11  <!--   -->
    6.12 @@ -114,7 +114,7 @@
    6.13  <br>
    6.14  Line 2:&nbsp;&nbsp;
    6.15  <input type="text"  name="line_2b" size="20" id="Line 2" 
    6.16 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 2', 'Line 2', 'formValues'] , ['formValues']);"
    6.17 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 2');smallRedraw('', 'Line 2');"
    6.18  
    6.19  >
    6.20  <!--   -->
    6.21 @@ -122,7 +122,7 @@
    6.22  <br>
    6.23  Line 3:&nbsp;&nbsp;
    6.24  <input type="text"  name="line_3b" size="20" id="Line 3" 
    6.25 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 3', 'Line 3', 'formValues'] , ['formValues']);"
    6.26 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 3');smallRedraw('', 'Line 3');"
    6.27  
    6.28  >
    6.29  <!--   -->
    6.30 @@ -130,7 +130,7 @@
    6.31  <br>
    6.32  Line 4:&nbsp;&nbsp;
    6.33  <input type="text"  name="line_4b" size="20" id="Line 4" 
    6.34 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 4', 'Line 4', 'formValues'] , ['formValues']);"
    6.35 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 4');smallRedraw('', 'Line 4');"
    6.36  
    6.37  >
    6.38  <!--   -->
     7.1 --- a/paypal/big_acrylic_clear.paylist	Thu Jan 28 00:32:54 2010 -0500
     7.2 +++ b/paypal/big_acrylic_clear.paylist	Thu Jan 28 04:10:44 2010 -0500
     7.3 @@ -106,7 +106,7 @@
     7.4  <br>
     7.5  Name:&nbsp;&nbsp;
     7.6  <input type="text"  name="line_1b" size="20" id="Name" 
     7.7 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('bold'); updateForm(['args__Name', 'Name', 'formValues'] , ['formValues']);"
     7.8 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Name');smallRedraw('bold', 'Name');"
     7.9  
    7.10  >
    7.11  <!--   -->
    7.12 @@ -114,7 +114,7 @@
    7.13  <br>
    7.14  Email:&nbsp;&nbsp;
    7.15  <input type="text"  name="line_2b" size="20" id="Email" 
    7.16 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('bold'); updateForm(['args__Email', 'Email', 'formValues'] , ['formValues']);"
    7.17 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Email');smallRedraw('bold', 'Email');"
    7.18  
    7.19  >
    7.20  <!--   -->
     8.1 --- a/paypal/big_acrylic_green.paylist	Thu Jan 28 00:32:54 2010 -0500
     8.2 +++ b/paypal/big_acrylic_green.paylist	Thu Jan 28 04:10:44 2010 -0500
     8.3 @@ -106,7 +106,7 @@
     8.4  <br>
     8.5  Line 1:&nbsp;&nbsp;
     8.6  <input type="text"  name="line_1b" size="20" id="Line 1" 
     8.7 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 1', 'Line 1', 'formValues'] , ['formValues']);"
     8.8 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 1');smallRedraw('', 'Line 1');"
     8.9  
    8.10  >
    8.11  <!--   -->
    8.12 @@ -114,7 +114,7 @@
    8.13  <br>
    8.14  Line 2:&nbsp;&nbsp;
    8.15  <input type="text"  name="line_2b" size="20" id="Line 2" 
    8.16 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 2', 'Line 2', 'formValues'] , ['formValues']);"
    8.17 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 2');smallRedraw('', 'Line 2');"
    8.18  
    8.19  >
    8.20  <!--   -->
     9.1 --- a/paypal/classic_acrylic_clear.paylist	Thu Jan 28 00:32:54 2010 -0500
     9.2 +++ b/paypal/classic_acrylic_clear.paylist	Thu Jan 28 04:10:44 2010 -0500
     9.3 @@ -106,7 +106,7 @@
     9.4  <br>
     9.5  Email:&nbsp;&nbsp;
     9.6  <input type="text"  name="line_1b" size="20" id="Email" 
     9.7 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('classic'); updateForm(['args__Email', 'Email', 'formValues'] , ['formValues']);"
     9.8 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Email');smallRedraw('classic', 'Email');"
     9.9  
    9.10  >
    9.11  <!--   -->
    9.12 @@ -114,7 +114,7 @@
    9.13  <br>
    9.14  Phone:&nbsp;&nbsp;
    9.15  <input type="text"  name="line_2b" size="20" id="Phone" 
    9.16 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('classic'); updateForm(['args__Phone', 'Phone', 'formValues'] , ['formValues']);"
    9.17 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Phone');smallRedraw('classic', 'Phone');"
    9.18  
    9.19  >
    9.20  <!--   -->
    9.21 @@ -122,7 +122,7 @@
    9.22  <br>
    9.23  Name:&nbsp;&nbsp;
    9.24  <input type="text"  name="line_3b" size="20" id="Name" 
    9.25 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('classic'); updateForm(['args__Name', 'Name', 'formValues'] , ['formValues']);"
    9.26 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Name');smallRedraw('classic', 'Name');"
    9.27  
    9.28  >
    9.29  <!--   -->
    9.30 @@ -130,7 +130,7 @@
    9.31  <br>
    9.32  Company:&nbsp;&nbsp;
    9.33  <input type="text"  name="line_4b" size="20" id="Company" 
    9.34 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('classic'); updateForm(['args__Company', 'Company', 'formValues'] , ['formValues']);"
    9.35 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Company');smallRedraw('classic', 'Company');"
    9.36  
    9.37  >
    9.38  <!--   -->
    9.39 @@ -138,7 +138,7 @@
    9.40  <br>
    9.41  Occupation:&nbsp;&nbsp;
    9.42  <input type="text"  name="line_5b" size="20" id="Occupation" 
    9.43 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('classic'); updateForm(['args__Occupation', 'Occupation', 'formValues'] , ['formValues']);"
    9.44 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Occupation');smallRedraw('classic', 'Occupation');"
    9.45  
    9.46  >
    9.47  <!--   -->
    9.48 @@ -146,7 +146,7 @@
    9.49  <br>
    9.50  Website:&nbsp;&nbsp;
    9.51  <input type="text"  name="line_6b" size="20" id="Website" 
    9.52 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('classic'); updateForm(['args__Website', 'Website', 'formValues'] , ['formValues']);"
    9.53 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Website');smallRedraw('classic', 'Website');"
    9.54  
    9.55  >
    9.56  <!--   -->
    9.57 @@ -156,10 +156,6 @@
    9.58  
    9.59  <!-- End of Text Input Fields -->
    9.60  
    9.61 -<br>
    9.62 -<input type     = "checkbox"       onclick  = "ReadForm (this.form, false);"        value    = "( +0.01 ^__^ )">
    9.63 -Add a penny! ^__^
    9.64 -<br>
    9.65  
    9.66  <br>
    9.67  Total Cost:&nbsp; &nbsp;
    10.1 --- a/paypal/classic_acrylic_green.paylist	Thu Jan 28 00:32:54 2010 -0500
    10.2 +++ b/paypal/classic_acrylic_green.paylist	Thu Jan 28 04:10:44 2010 -0500
    10.3 @@ -106,7 +106,7 @@
    10.4  <br>
    10.5  Line 1:&nbsp;&nbsp;
    10.6  <input type="text"  name="line_1b" size="20" id="Line 1" 
    10.7 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 1', 'Line 1', 'formValues'] , ['formValues']);"
    10.8 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 1');smallRedraw('', 'Line 1');"
    10.9  
   10.10  >
   10.11  <!--   -->
   10.12 @@ -114,7 +114,7 @@
   10.13  <br>
   10.14  Line 2:&nbsp;&nbsp;
   10.15  <input type="text"  name="line_2b" size="20" id="Line 2" 
   10.16 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 2', 'Line 2', 'formValues'] , ['formValues']);"
   10.17 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 2');smallRedraw('', 'Line 2');"
   10.18  
   10.19  >
   10.20  <!--   -->
   10.21 @@ -122,7 +122,7 @@
   10.22  <br>
   10.23  Line 3:&nbsp;&nbsp;
   10.24  <input type="text"  name="line_3b" size="20" id="Line 3" 
   10.25 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 3', 'Line 3', 'formValues'] , ['formValues']);"
   10.26 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 3');smallRedraw('', 'Line 3');"
   10.27  
   10.28  >
   10.29  <!--   -->
   10.30 @@ -130,7 +130,7 @@
   10.31  <br>
   10.32  Line 4:&nbsp;&nbsp;
   10.33  <input type="text"  name="line_4b" size="20" id="Line 4" 
   10.34 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 4', 'Line 4', 'formValues'] , ['formValues']);"
   10.35 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 4');smallRedraw('', 'Line 4');"
   10.36  
   10.37  >
   10.38  <!--   -->
   10.39 @@ -138,7 +138,7 @@
   10.40  <br>
   10.41  Line 5:&nbsp;&nbsp;
   10.42  <input type="text"  name="line_5b" size="20" id="Line 5" 
   10.43 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 5', 'Line 5', 'formValues'] , ['formValues']);"
   10.44 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 5');smallRedraw('', 'Line 5');"
   10.45  
   10.46  >
   10.47  <!--   -->
   10.48 @@ -146,7 +146,7 @@
   10.49  <br>
   10.50  Side:&nbsp;&nbsp;
   10.51  <input type="text"  name="line_6b" size="20" id="Side" 
   10.52 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Side', 'Side', 'formValues'] , ['formValues']);"
   10.53 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Side');smallRedraw('', 'Side');"
   10.54  
   10.55  >
   10.56  <!--   -->
    11.1 --- a/paypal/generate_paylists.pm	Thu Jan 28 00:32:54 2010 -0500
    11.2 +++ b/paypal/generate_paylists.pm	Thu Jan 28 04:10:44 2010 -0500
    11.3 @@ -137,7 +137,7 @@
    11.4  <br>
    11.5  PERL::OPT:&nbsp;&nbsp;
    11.6  <input type="text"  name="line_PERL::NUMb" size="20" id="PERL::OPT" 
    11.7 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('PERL::SHORT'); updateForm(['args__PERL::OPT', 'PERL::OPT', 'formValues'] , ['formValues']);"
    11.8 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('PERL::OPT');smallRedraw('PERL::SHORT', 'PERL::OPT');"
    11.9  
   11.10  >
   11.11  <!--   -->
    12.1 --- a/paypal/lines_acrylic_clear.paylist	Thu Jan 28 00:32:54 2010 -0500
    12.2 +++ b/paypal/lines_acrylic_clear.paylist	Thu Jan 28 04:10:44 2010 -0500
    12.3 @@ -106,7 +106,7 @@
    12.4  <br>
    12.5  Name:&nbsp;&nbsp;
    12.6  <input type="text"  name="line_1b" size="20" id="Name" 
    12.7 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('direct'); updateForm(['args__Name', 'Name', 'formValues'] , ['formValues']);"
    12.8 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Name');smallRedraw('direct', 'Name');"
    12.9  
   12.10  >
   12.11  <!--   -->
   12.12 @@ -114,7 +114,7 @@
   12.13  <br>
   12.14  Occupation:&nbsp;&nbsp;
   12.15  <input type="text"  name="line_2b" size="20" id="Occupation" 
   12.16 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('direct'); updateForm(['args__Occupation', 'Occupation', 'formValues'] , ['formValues']);"
   12.17 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Occupation');smallRedraw('direct', 'Occupation');"
   12.18  
   12.19  >
   12.20  <!--   -->
   12.21 @@ -122,7 +122,7 @@
   12.22  <br>
   12.23  Company:&nbsp;&nbsp;
   12.24  <input type="text"  name="line_3b" size="20" id="Company" 
   12.25 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('direct'); updateForm(['args__Company', 'Company', 'formValues'] , ['formValues']);"
   12.26 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Company');smallRedraw('direct', 'Company');"
   12.27  
   12.28  >
   12.29  <!--   -->
   12.30 @@ -130,7 +130,7 @@
   12.31  <br>
   12.32  Phone:&nbsp;&nbsp;
   12.33  <input type="text"  name="line_4b" size="20" id="Phone" 
   12.34 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('direct'); updateForm(['args__Phone', 'Phone', 'formValues'] , ['formValues']);"
   12.35 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Phone');smallRedraw('direct', 'Phone');"
   12.36  
   12.37  >
   12.38  <!--   -->
   12.39 @@ -138,7 +138,7 @@
   12.40  <br>
   12.41  Email:&nbsp;&nbsp;
   12.42  <input type="text"  name="line_5b" size="20" id="Email" 
   12.43 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('direct'); updateForm(['args__Email', 'Email', 'formValues'] , ['formValues']);"
   12.44 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Email');smallRedraw('direct', 'Email');"
   12.45  
   12.46  >
   12.47  <!--   -->
   12.48 @@ -146,7 +146,7 @@
   12.49  <br>
   12.50  Website:&nbsp;&nbsp;
   12.51  <input type="text"  name="line_6b" size="20" id="Website" 
   12.52 -ONFOCUS="clearDefault(this);" onKeyUp="redraw('direct'); updateForm(['args__Website', 'Website', 'formValues'] , ['formValues']);"
   12.53 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Website');smallRedraw('direct', 'Website');"
   12.54  
   12.55  >
   12.56  <!--   -->
    13.1 --- a/paypal/lines_acrylic_green.paylist	Thu Jan 28 00:32:54 2010 -0500
    13.2 +++ b/paypal/lines_acrylic_green.paylist	Thu Jan 28 04:10:44 2010 -0500
    13.3 @@ -106,7 +106,7 @@
    13.4  <br>
    13.5  Line 1:&nbsp;&nbsp;
    13.6  <input type="text"  name="line_1b" size="20" id="Line 1" 
    13.7 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 1', 'Line 1', 'formValues'] , ['formValues']);"
    13.8 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 1');smallRedraw('', 'Line 1');"
    13.9  
   13.10  >
   13.11  <!--   -->
   13.12 @@ -114,7 +114,7 @@
   13.13  <br>
   13.14  Line 2:&nbsp;&nbsp;
   13.15  <input type="text"  name="line_2b" size="20" id="Line 2" 
   13.16 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 2', 'Line 2', 'formValues'] , ['formValues']);"
   13.17 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 2');smallRedraw('', 'Line 2');"
   13.18  
   13.19  >
   13.20  <!--   -->
   13.21 @@ -122,7 +122,7 @@
   13.22  <br>
   13.23  Line 3:&nbsp;&nbsp;
   13.24  <input type="text"  name="line_3b" size="20" id="Line 3" 
   13.25 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 3', 'Line 3', 'formValues'] , ['formValues']);"
   13.26 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 3');smallRedraw('', 'Line 3');"
   13.27  
   13.28  >
   13.29  <!--   -->
   13.30 @@ -130,7 +130,7 @@
   13.31  <br>
   13.32  Line 4:&nbsp;&nbsp;
   13.33  <input type="text"  name="line_4b" size="20" id="Line 4" 
   13.34 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 4', 'Line 4', 'formValues'] , ['formValues']);"
   13.35 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 4');smallRedraw('', 'Line 4');"
   13.36  
   13.37  >
   13.38  <!--   -->
   13.39 @@ -138,7 +138,7 @@
   13.40  <br>
   13.41  Line 5:&nbsp;&nbsp;
   13.42  <input type="text"  name="line_5b" size="20" id="Line 5" 
   13.43 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 5', 'Line 5', 'formValues'] , ['formValues']);"
   13.44 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 5');smallRedraw('', 'Line 5');"
   13.45  
   13.46  >
   13.47  <!--   -->
   13.48 @@ -146,7 +146,7 @@
   13.49  <br>
   13.50  Line 6:&nbsp;&nbsp;
   13.51  <input type="text"  name="line_6b" size="20" id="Line 6" 
   13.52 -ONFOCUS="clearDefault(this);" onKeyUp="redraw(''); updateForm(['args__Line 6', 'Line 6', 'formValues'] , ['formValues']);"
   13.53 +ONFOCUS="clearDefault(this);" onKeyUp="stabForm('Line 6');smallRedraw('', 'Line 6');"
   13.54  
   13.55  >
   13.56  <!--   -->
    14.1 --- a/paypal/make.pl	Thu Jan 28 00:32:54 2010 -0500
    14.2 +++ b/paypal/make.pl	Thu Jan 28 04:10:44 2010 -0500
    14.3 @@ -40,7 +40,7 @@
    14.4  COSTS_CODE    => ['40 cards @125.00', '4 cards @30.00'],
    14.5  INITIAL_PRICE => '$125.00',
    14.6  
    14.7 -ADD_PENNY       => 0,
    14.8 +ADD_PENNY       => 1,
    14.9  );
   14.10  }
   14.11  
   14.12 @@ -62,7 +62,7 @@
   14.13  COSTS_CODE    => ['40 cards @125.00', '4 cards @30.00'],
   14.14  INITIAL_PRICE => '$125.00',
   14.15  
   14.16 -ADD_PENNY       => 1,
   14.17 +ADD_PENNY       => 0,
   14.18  );
   14.19  }
   14.20  
    15.1 --- a/sexy.css	Thu Jan 28 00:32:54 2010 -0500
    15.2 +++ b/sexy.css	Thu Jan 28 04:10:44 2010 -0500
    15.3 @@ -260,10 +260,16 @@
    15.4  position: absolute;
    15.5  top:45px;
    15.6  left: 15px;
    15.7 +display:none;
    15.8  }
    15.9  
   15.10 +div#cardDefs
   15.11 +{
   15.12 +color:green;
   15.13 +position: absolute;
   15.14 +width: 200px;
   15.15 +top: 70px;
   15.16 +left: 10px;
   15.17 +display:none;
   15.18 +}
   15.19  
   15.20 -
   15.21 -
   15.22 -
   15.23 -