

function doStart()
{	
	do_cart();
}

// utility functions
function g_id(i) {return document.getElementById(i);};
function spc(i) {var s='';while(i>0) {s+=' ';i--;}return s;};
function fixP(v) {	var c=isNaN(v)?0:Math.floor(v*100+.5);	return Math.floor(c/100)+'.'+((c%100+100)+'').substr(1,2); };



function c_gitm(itm) {  // get string for itm#
	// is this a valid item ?
	if ( itm>=(document.cookie.split(";")).length || (""+document.cookie).split(";")[itm].split('=')[1]=="null]")	{	return "";	};
	return (""+document.cookie).split(";")[itm];
};

function c_gval(itm,val)
{
	var p=0;
	var itm_str=c_gitm(itm); if (itm_str=='') { return ""; };
	if (itm_str.indexOf(val+'~')==-1    ) { return ""; };
	itm_str=itm_str.split(val+'~')[1];
	
	p=itm_str.indexOf('|');	if (p >=0) {itm_str=itm_str.substr(0,p);};
	p=itm_str.indexOf(']');	if (p >=0) {itm_str=itm_str.substr(0,p);};
	itm_str=undoChars(itm_str);

	return(itm_str);
};



function c_del(itm)
{
	var p=0;
	if (c_gitm(itm)=='') return ""; // no item to delete 

	var itm_str=(""+document.cookie).split(";")[itm];
	var itm_name=itm_str.split('=')[0];
 	if(confirm ('THIS ACTION CANNOT BE UNDONE!\n\nClick OK to DELETE... or CANCEL to keep item in cart.     ')) {
		document.cookie=itm_name+'=null]; ';		
		location.reload(true);
	};
	return(itm_str);
};

function clearCart()
{
   if(confirm ('THIS ACTION CANNOT BE UNDONE!\n\nClick OK to DELETE... or CANCEL to keep item in cart.     ')) {
		var itm=(""+document.cookie).split(";");
		var itm_name='';
		var i=0;
		while (i<itm.length){
			itm_name=itm[i].split('=')[0];
			document.cookie=itm_name+'=null];';
			i++;
		};
	location.reload(true);
	};	
};




function total_cookie()
 {
 	// get the total of the cookie without SETTING any form elements
	var p=0;	var prc=0;	var tot=0;var c=document.cookie;
	if (c) {} else {document.cookie='[html=sessionID('+Math.random()+')];';return 0;};
	
	p=c.indexOf("Price");	while(p>0)	{
		p=c.indexOf("~",p)+1;	prc=parseFloat(c.substr(p)); if (isNaN(prc)) { prc=0;};
		tot+=prc;		
		p=c.indexOf("Price",p);
	};
	return tot;
	
};



function tot_cook(){
	oForm.cartT.value = fixP(total_cookie());
};



function make_nice_ch(itm)
{	
	var out='';
	var ph;
	var lh;
	var t; 
	var acc;
	var arr;
	var s;
	if( c_gval(itm,"Letters")!='')
	{
		// make product string
		if (c_gval(itm,"Panel Height")!='')
		{
			ph = "on "+to_f( c_gval(itm,"Panel Height"))+'" Panels ';
		} ; 
		lh =' '+c_gval(itm,"Letter Height")+' Letters ';
		out+= c_gval(itm,'Letters')+' '+c_gval(itm,"Color")+' '+c_gval(itm,"Font")+' font '+c_gval(itm,'Type')+lh+ph;
		
	} ;
	return(out);
};

function make_nice_accessories(itm){

	//   accessories here 
	var t='',i=1;
	var acc=c_gitm(itm);
	var arr=acc.split('|');acc='';
	i=1;
	while(i<arr.length)
	{
		t=arr[i].split('~');
		if (t[1]=='' || t[1]==0  || t[0]=='Qty' || t[0]=='Price' ) {i++; continue;};
		acc+=t[1];
		i++;
	};
	return(undoChars(acc));
};


function make_nice_symbol(itm)
{
	var out='';
	var p=0;
	var ht = parseFloat(c_gval(itm,'Height')); ht=isNaN(ht)?0:ht;
	var sym =c_gval(itm,'Symbol'); p=sym.indexOf('-'); if (p>-1) { sym=sym.substr(p+1); };
	var type = '';
	var c= c_gval(itm,'Color');	
	p=c.indexOf(' ');c= "'"+c.substr(p+1)+"'(Color #" +c.substr(0,p)+') ';
	
	if (c_gval(itm,'Type').indexOf('Formed')!=-1 )
	{
		type=" Formed Plastic";		
	}
	else 
	{	
		type="Cast "+c_gval(itm,'Material');
	};
	
	out+= 'The '+sym+' Symbol '+ht+'" tall, in '+type+' '+c+' with ';
	
	out+= make_nice_shared(itm);
	return out;
};

function make_nice_seal(itm){
	var out='';
	var p=0;
	var ht = parseFloat(c_gval(itm,'Size')); ht=isNaN(ht)?0:ht;
	var sym =c_gval(itm,'Item'); p=sym.indexOf('-'); if (p>-1) { sym=sym.substr(p+1); };
	var c= c_gval(itm,'Color');	
	p=c.indexOf(' ');c= "'"+c.substr(p+1)+"'(Color #" +c.substr(0,p)+') ';
	var type="Cast "+c_gval(itm,'Material');
	out+= 'The '+sym+' Military Seal, in '+ht+'" Diameter '+type;
	return out;
};

function make_nice_channel(itm)
{	
	// this channel letters 	

	var ht = parseFloat(c_gval(itm,'Height')); ht=isNaN(ht)?0:ht;
	var face= c_gval(itm,'Face Color');
	var trim= c_gval(itm,'Trim Color');
	var can = c_gval(itm,'Can Color');
	var out='';
	
	p = face.indexOf(' ');	face= "'"+face.substr(p+1)+"' face (Color#"+face.substr(0,p)+')';
	p = trim.indexOf(' ');	trim= "'"+trim.substr(p+1)+"' trim (Color#"+trim.substr(0,p)+')';
	p =  can.indexOf(' ');	 can= "'"+ can.substr(p+1)+"' can (Color#" + can.substr(0,p)+')';

	out = 'The letters "'+ c_gval(itm,'Letters')+'" in '+ht+'"';
	out+=' '+c_gval(itm,'Type')+' '+c_gval(itm,"Material")+' ';

	out+= ' using the '+c_gval(itm,'Font') + ' font, with ' ;
	if (c_gval(itm,'Led')!='') {out+=c_gval(itm,'Led')+' lighting, '; };
	out+=face+', '+trim+', '+can;
	
	out+=' and '+ c_gval(itm,'Ptn');
	return out;
};

function make_nice_goldleaf(itm)
{	
	// this goldleaf letters 	

	var std =parseFloat(c_gval(itm,'sLen')); std=isNaN(std)?0:std;
	var ht = parseFloat(c_gval(itm,'Height')); ht=isNaN(ht)?0:ht;
	var dp =c_gval(itm,'Depth');
	var out='';

	var p=0;
	
	out = 'The letters "'+ c_gval(itm,'Letters')+'" in '+ht+'"';
	if (dp!='') {out+='x'+dp;};
	out+=' '+c_gval(itm,'Type')+' '+c_gval(itm,"Material")+' ';
	out+= ' using the '+c_gval(itm,'Font') + ' font, with ' ;
	out+=make_nice_shared(itm);
	out+=' Ptn';
	return out;
};

function make_nice(itm)
{	
	// this works for most pages 	
	var prod=c_gval(itm,'Type');
	if (c_gval(itm,'Price')=='') { return(''); };
	if (prod.indexOf('Symbol')>0 ) {return make_nice_symbol(itm); };
	if (prod.indexOf('Changeable')>0 || prod.indexOf('Lok')>0) {return make_nice_ch(itm); };
	if (prod.indexOf('Channel')!=-1 ) {return make_nice_channel(itm); };
	if (prod.indexOf('Accessories')!=-1 ) {return make_nice_accessories(itm); };
	if (prod.indexOf('24K Gold Leaf')!=-1 ) {return make_nice_goldleaf(itm); };
	if (prod.indexOf('Cast Military Seal')!=-1 ) {return make_nice_seal(itm); };

	var c= c_gval(itm,'Color');
	var cut=c_gval(itm,'Cut Method');
	var std =parseFloat(c_gval(itm,'sLen')); std=isNaN(std)?0:std;
	var ht = parseFloat(c_gval(itm,'Height')); ht=isNaN(ht)?0:ht;
	var dp =c_gval(itm,'Depth');
	var tc=c_gval(itm,'Trim');
	var sp=c_gval(itm,'Spike');
	var ps=c_gval(itm,'Sides');
	var out='';

	var p=0;
	
	out = 'The letters "'+ c_gval(itm,'Letters')+'" in '+ht+'"';
	if (dp!='') {out+='x'+dp;};
	out+=' '+c_gval(itm,'Type')+' '+c_gval(itm,"Material")+' ';
	p=c.indexOf(' ');
	if (cut!='') {out+='('+cut+')';};
	out+= "'"+c.substr(p+1)+"'(Color #" +c.substr(0,p)+') ';
	if (tc!='')
	{
		p=tc.indexOf(' ');
		out+=  "with '"+tc.substr(p+1)+"' trim (Color #" +tc.substr(0,p)+') ';
	};
	if(ps!=''){out+=' with painted sides'};
	out+= ' using the '+c_gval(itm,'Font') + ' font, with ' ;
	if (sp!=''){
		out+=' added spikes';
	}else{
		out+=make_nice_shared(itm);
	};
	
	return out;
};

function make_nice_shared(itm)
{
	// things shared by 'most' items 
	var std =parseFloat(c_gval(itm,'sLen')); std=isNaN(std)?0:std;
	var gap =parseFloat(c_gval(itm,'Gap')); gap=isNaN(gap)?0:gap;
	var spr =c_gval(itm,'Spacer Length'); if (spr=='0') {spr='';};
	var mnt = c_gval(itm,'Mount');
	var out='';
	var p;

	if (mnt.lastIndexOf('s') == mnt.length-1 ) {mnt=mnt.substr(0,mnt.length-1);};
	p=mnt.indexOf('ount');if (p >0 ) {mnt=mnt.substr(0,p-1); } ;
	
	if (std!=0) { out+= std+'" ';};
	out+= mnt+" mount ";	
	if (gap!=0) 	{	gap=gap+'" Mortar Gap';	} else {gap='';};
	if (spr!='') 	{	spr=spr+' spacers';	} else {spr='';};
	if (gap!='' && spr!='') { out+= '('+gap+'", and '+spr+' )';} else 
	if (gap!='' || spr!='') { out+= '('+gap + spr+' )';};
	
	out+=", and "+c_gval(itm,'Ptn');
	return out;	
};

 
function do_cart()
{
	
	// generate item list cart
	var tot=total_cookie();
	var i=0;
	var str="";
	var htm="";
	if (tot==0)
	{
		// nothing in cart 
		htm='<br><br>'+
		'<p  class="fbb" align="center">You have no items in your cart <br></p>';
		g_id('cart').innerHTML =htm;
		g_id('hideable').style.display='none';
		g_id('notHidable').style.display='';
		return;
	};
	var itms=(document.cookie).split(";").length;
	htm+='<br><br>'+
	'<table width="90%" align="center" cellpadding="0" cellspacing="0">'+
	'  <tr>'+
	'    <td>'+
	'      <table width="100%" align="center" border="0" cellspacing="2" cellpadding="5" bgcolor="#CCCCCC">'+
	'        <tr>'+
	'          <td class="silverBG-large">Item description<img style="width:500px;height:1px;" src="a-pixi.gif"></td>'+
	'          <td class="silverBG-large" width="50px"> Qty</td>'+
	'          <td class="silverBG-large" width="80px">Price</td>'+
	'        </tr>';
	i=0;
	while(i<itms)  // priced items 
	{  	
	if (c_gval(i,'Price')=="") {i++;continue;};
	htm+=''+
	'        <tr> '+
	'          <td align="left" bgcolor="#ffffff" rowspan="2" class="f"  >'+make_nice(i)+'</td>'+
	'          <td bgcolor="#ffffff" class="f"  >'+c_gval(i,'Qty')+'</td>'+
	'          <td bgcolor="#ffffff" rowspan="2" class="f" align="right" >'+c_gval(i,'Price')+'</td>'+
	'        </tr>'+
	'        <tr>'+ 
    '          <td bgcolor="#ffffff" id="item_'+i+'" style="height:15px;" class="nv1" onclick="c_del('+i+')" onmouseover="this.className=\'nv2\'" onmouseout="this.className=\'nv1\'" onmousedown="this.className=\'nvdown\'" align="center">remove</td>'+
    '        </tr>';

	i++;
	};
	htm+=''+
	'      </table>'+
	'    </td>'+
	'  </tr>'+
	'  <tr>'+
	'    <td>'+
	'      <table border="0" cellpadding="5" cellspacing="2" align="right" bgcolor="#cccccc">';
	htm+=''+
	'        <tr> '+
	'          <td  bgcolor="#ffffff" class="fb">Shipping Cost</td>'+
	'          <td  bgcolor="#ffffff" class="fb" align="right" >'+calc()+'</td>'+
    '        </tr>';
	i++;
	htm+=''+
	'        <tr> '+
	'          <td  bgcolor="#EDCF00" class="fb" align="right">Total Order = </td>'+
	'          <td  bgcolor="#EDCF00" align="right" class="fb" >$'+fixP(parseFloat(total_cookie()+sHc))+'</td>'+
	'        </tr>'+
	'      </table>'+
	'	</td>'+
	'  </tr>'+
	'</table>'; 
	g_id('cart').innerHTML = htm; 
};

 function undoChars(p) {
	p= p.replace(/#2/g, ';' );
	p= p.replace(/#3/g, '&' );
	p= p.replace(/#4/g, '!' );
	p= p.replace(/#5/g, '$' );
	p= p.replace(/#6/g, '@' );
	p= p.replace(/#7/g, '%' );
	p= p.replace(/#8/g, '*' );
	p= p.replace(/#9/g, '(' );
	p= p.replace(/#a/g, ')' );
	p= p.replace(/#b/g, '+' );
	p= p.replace(/#c/g, '=' );
	p= p.replace(/#d/g, '?' );
	p= p.replace(/#e/g, '>' );
	p= p.replace(/#f/g, '<' );
	p= p.replace(/#Y/g, '"' );
	p= p.replace(/#Z/g, "'" );

	p= p.replace(/#1/g, '#');  // needs to be done last 
	return p;
 };
 
sHc=0;
function calc(){
	
	var i=0,mh=0,h=0,itms=(document.cookie).split(";").length;
	while (i<itms)	{
		h=parseFloat(c_gval(i,'Height'));
		if (!isNaN(h) && h>mh) {mh=h;}
		i++;
	}
	var free=total_cookie()>99;
	if(free==true){
		sHc=0; return "Free"; 
	}else{
		if(mh <11){
			sHc=10; return "10.00";
		}else if(mh <18){
			sHc=15; return "15.00";
		}else if(mh <30){
			sHc=20; return  "20.00";
		}else{
			sHc=25; return  "25.00";
		};
	};
};

 function validate(){
 var prod=c_gval(0,'Type');
 //location.href='s_checkout.php';
 location.href='https://www.signlettersource.com/s_checkout.php';
 };

////////////// keep at bottom///////////////////////

function to_f(x)
{
	//make sure x is not a whole number
	if(x == parseInt(x,10)) return x;
	
	// find the eighth that is nearest x
	var t;
	var n;
	n=Math.floor(x);         // get whole number 
	t= (x-n)*8;              // multiply decimals by 8 
	t=Math.floor(t+.5);      // round to nearest 
	if (t==8) return(n+1);   
	if ( (t&4)==t ) { t='1/2';} else 
	if ( (t&6)==t ) { t=(t/2)+'/4';} else { t=t+'/8';};
	return(n+' '+t);
};
