var basepath="http://www.alphabetsigns.com/sign_builder/";var img_src=basepath+"font_image.php?text=%1&font=%2&r=%3&g=%4&b=%5&size=%6&aa=%7";var linenum="1"
var colors="";var characters=new Array();var charset=new Array();var charcase=new Array();var savechar=new Array();savechar[1]="";savechar[2]="";savechar[3]="";var antialias="1";var lcase_rate=0.90;var preview_width;var sign_width;var preview_height;var sign_height;var timer1;var timer2;var timer3;var timer4;var mounting_code="";var color_code="Black_2025";var save="Black_2025";function img_update(obj,ndx){linenum=ndx;var text;var font;var sizes
if(charcase[ndx]=='U'&&savechar[ndx].length==0){savechar[ndx]=document.forms["sign_builder"].elements["sign_text"+ndx].value;document.forms["sign_builder"].elements["sign_text"+ndx].value=savechar[ndx].toUpperCase();}else if(charcase[ndx]=='L'&&savechar[ndx].length>0){document.forms["sign_builder"].elements["sign_text"+ndx].value=savechar[ndx];savechar[ndx]="";}
document.getElementById("message").innerHTML="&nbsp;";if(document.forms["sign_builder"].elements["sign_text1"].value){text=document.forms["sign_builder"].elements["sign_text1"].value;font=document.forms["sign_builder"].elements["font_name"+"1"].value;sizes=document.forms["sign_builder"].elements["chr_height1"].value
document.forms["sign_builder"].elements["sign_text2"].disabled=false;if(document.forms["sign_builder"].elements["sign_text2"].value){text=text+":"+document.forms["sign_builder"].elements["sign_text2"].value;font=font+":"+document.forms["sign_builder"].elements["font_name"+"2"].value;sizes=sizes+":"+document.forms["sign_builder"].elements["chr_height2"].value
document.forms["sign_builder"].elements["sign_text3"].disabled=false;if(document.forms["sign_builder"].elements["sign_text3"].value){text=text+":"+document.forms["sign_builder"].elements["sign_text3"].value;font=font+":"+document.forms["sign_builder"].elements["font_name"+"3"].value;sizes=sizes+":"+document.forms["sign_builder"].elements["chr_height3"].value}}}
if(text){text=text.replace(/&/g,"_");characters=text.replace(/ /g,"").split(':',3);if(colors==""){colors="rgb(0,0,0)";}
colors=colors.replace("rgb(","").replace(")","");var color=new Array();var color=colors.split(",");var img_url=img_src.replace("%1",text);img_url=img_url.replace("%2",font);img_url=img_url.replace("%3",color[0]);img_url=img_url.replace("%4",color[1]);img_url=img_url.replace("%5",color[2]);img_url=img_url.replace("%6",sizes);img_url=img_url.replace("%7",antialias);url=img_url.replace("font_image.php","font_data1.php");loaddata(url);document.getElementById("debugspan").innerHTML="<a href='"+img_url.replace("aa=-1","aa=1")+"' target='_blank'>"+img_url.replace("aa=-1","aa=1")+"</a>";document.getElementById("preview").src=img_url;summary_update();}}
function summary_update(){var ch="";var ln=0;var char_count=0;var punct_count=0;var lcase_count=0;var ucase_count=0;var price=0;var total=0;summary_clear();for(ndx=1;ndx<=3;ndx++){if(ndx<=characters.length){var fontsel=document.forms["sign_builder"].elements["font_name"+ndx]
var fontName=fontsel.options[fontsel.selectedIndex].text;var fontSize=document.forms["sign_builder"].elements["chr_height"+ndx].value;var fontId=-1;for(i=0;i<fontNames.length;i++){if(fontNames[i]==fontName){var fontId=i;break;}}
for(i=0;i<fontsDB.length;i++){if(fontsDB[i].id==fontId){if(fontsDB[i].uc==fontSize){ln=characters[ndx-1].length;punct_count=ln-characters[ndx-1].replace(/[,.-]/g,'').length;lcase_count=ln-characters[ndx-1].replace(/[a-z]/g,'').length;ucase_count=ln-lcase_count-punct_count;char_count=char_count+punct_count+lcase_count+ucase_count;punct_price=(+fontsDB[i].price)*punct_count/3;lcase_price=(+fontsDB[i].price)*lcase_count*0.9;ucase_price=(+fontsDB[i].price)*ucase_count;price=punct_price+lcase_price+ucase_price;total=total+price;document.getElementById("sum_"+ndx+"7").innerHTML="$"+price.toFixed(2);document.getElementById("sum").innerHTML="$"+total.toFixed(2);basketDB[ndx].i=i;basketDB[ndx].lcase_count=lcase_count;basketDB[ndx].ucase_count=ucase_count;basketDB[ndx].total=price;break;}}}}else{basketDB[ndx].total=0;}}
if(document.getElementById("mount_pattern").checked){mount_pattern_total=char_count*mount_pattern_price;total=total+mount_pattern_total;document.getElementById("pattern").innerHTML="$"+mount_pattern_total.toFixed(2);document.getElementById("sum").innerHTML="$"+total.toFixed(2);}else{document.getElementById("pattern").innerHTML="$0.00";}}
function summary_clear(){var row=0;for(row=1;row<=3;row++){document.getElementById("sum_"+row+"7").innerHTML="&nbsp;";}
document.getElementById("sum").innerHTML="$0.00";}
function bg_update(){var bg=document.forms["sign_builder"].elements["tdbackground"].value;document.getElementById("preview_bg").style.backgroundImage='url("'+basepath+"tiles/"+bg+'")';if(bg){antialias="-1";}else{antialias="1";}
img_update('',1)}
function loaddata(url){var head=document.getElementsByTagName('head')[0];var script=document.createElement('script');script.type='text/javascript';script.src=url;head.appendChild(script);timer1=setTimeout("show_data()",500);timer2=setTimeout("show_data()",2500);}
function show_data(){try{get_font_data();msg=document.getElementById("preview_msg");var sw=sign_width*1.25;msg.innerHTML="For Font Style Preview Only, Sign Dimensions Are Not Exact<br><b><font color='red'>Approximate Only</font> = "+sw.toFixed(2)+" in. wide x "+sign_height+" in. high</b>";document.getElementById("preview_bg").style.height=preview_height+6+"px";clearTimeout(timer2);clearTimeout(timer1);}catch(err){clearTimeout(timer1);}}
function isEmpty(){if(document.forms["sign_builder"].elements["sign_text1"].value==""){document.forms["sign_builder"].elements["sign_text2"].value="";document.forms["sign_builder"].elements["sign_text2"].disabled=true;document.forms["sign_builder"].elements["sign_text3"].value="";document.forms["sign_builder"].elements["sign_text3"].disabled=true;document.getElementById("preview").src="/sign_builder/font_image.php?text=Enter%20your%20text%20above&font=GT-Helvetica.ttf&r=0&g=0&b=0&size=2&aa=1";}else if(document.forms["sign_builder"].elements["sign_text2"].value==""){document.forms["sign_builder"].elements["sign_text3"].value="";document.forms["sign_builder"].elements["sign_text3"].disabled=true;}}
function validkey(e,row){var keynum;var keyboardchars=/[\x00\x08]/;var validchars=new RegExp(charset[row]);if(window.event){keynum=e.keyCode;}else if(e.which){keynum=e.which;}
if(charcase[row]=="U"){var keychar=String.fromCharCode(keynum).toUpperCase();savechar[row]="";}else{var keychar=String.fromCharCode(keynum);}
if(!validchars.test(keychar)&&!keyboardchars.test(keychar)){return false}else{if(window.event){e.keyCode=keychar.charCodeAt(0);}else if(e.which){e.which=keychar.charCodeAt(0);}
return true;}}
function size_select_update(obj_font,row){var fontId=-1;var fontName=obj_font.options[obj_font.selectedIndex].text;for(i=0;i<fontNames.length;i++){if(fontNames[i]==fontName){var fontId=i;break;}}
if(fontId>-1){charset[row]=fontCharset[fontId];charcase[row]=fontCase[fontId];document.getElementById('charset'+row).innerHTML=print_charset(fontCharset[fontId]);sel=document.forms["sign_builder"].elements["chr_height"+row]
sel.length=0;for(i=0;i<fontsDB.length;i++){if(fontsDB[i].id==fontId){sel.options[sel.length]=new Option(fontsDB[i].uc+'"',fontsDB[i].uc);}}
sel.options[0].selected=true;}}
function print_charset(set){return'Character Set: '+set.replace(/Z/,'Z ').replace(/z/,'z ').replace(/9/,'9 ').replace('[','').replace(']','');}
function setColor(obj_link,code){colors=obj_link.parentNode.style.backgroundColor;img_update(obj_link,linenum);color_code=code;document.getElementById("color_txt").innerHTML="Color Selected: "+obj_link.title;summary_update();}
function select_radio(n){rad_obj=document.getElementById("r"+n)
rad_obj.checked="checked";mount(rad_obj)}
function mount(obj){mounting_code=obj.value
summary_update();}
var basketDB=new Array();function BasketRec(){basketDB.i=0;basketDB.lcase_count=0;basketDB.ucase_count=0;basketDB.total=0;}
function start_SignBuilder(){AddFonts();basketDB[basketDB.length]=new BasketRec();basketDB[basketDB.length]=new BasketRec();basketDB[basketDB.length]=new BasketRec();basketDB[basketDB.length]=new BasketRec();for(var row=1;row<=3;row++){sel_font=document.forms["sign_builder"].elements["font_name"+row]
size_select_update(sel_font,row);}
bg_update();}
function iform_update(row,i,lcase_count,ucase_count,price){document.getElementById("Product_Code").value=fontsDB[i].code;document.getElementById("textvalue").value=document.forms["sign_builder"].elements["sign_text"+row].value;document.getElementById("textvalue1").value=document.forms["sign_builder"].elements["sign_text"+row].value;document.getElementById("mountvalue").value=mounting_code;document.getElementById("mountvalue1").value=mounting_code;document.getElementById("colorvalue").value=color_code;document.getElementById("colorvalue1").value=color_code;document.getElementById("Product_Price").value=price.toFixed(2);}
function addprod_validate(frm){if(basketDB[1].total==0){alert('Please enter some text.');return false;}
if(mounting_code==""){alert('Please select your mounting hardware.');return false;}else{document.getElementById("message").innerHTML="<br /><img src='/sign_builder/animated.gif'>";document.getElementById("button").style.display="none";submit_data(1);var t=750;timer1=setTimeout("submit_data(2)",t);timer2=setTimeout("submit_data(3)",t*2);timer3=setTimeout("submit_data(4)",t*3);timer4=setTimeout("done()",t*4);return false;}}
function submit_data(row){if(row==4){var txt="";if(document.getElementById("mount_pattern").checked){for(i=1;i<=3;i++){txt=txt+document.forms["sign_builder"].elements["sign_text"+i].value+"~";}
document.getElementById("pattern_txt").value=txt.replace(/~/g,"\n");frm=document.getElementById("iform4");frm.submit();}}else{if(basketDB[row].total>0){iform_update(row,basketDB[row].i,basketDB[row].lcase_count,basketDB[row].ucase_count,basketDB[row].total)
frm=document.getElementById("iform");frm.target="RSIFrame"+row;frm.submit();}}
if(row==2){clearTimeout(timer1);}
if(row==3){clearTimeout(timer2);}
if(row==4){clearTimeout(timer3);}}
function done(){document.getElementById("message").innerHTML="Your sign has been added to the basket.";document.getElementById("button").style.display="block";clearTimeout(timer3);}