// JavaScript Document
// setup array varibles
var lp_array = new Array()
var lp_ptr =  0
var lp_ordercum = ''
var lp_cnt =1
var lp_editptr = 0
var order_cnt = 1
var shiptot = 0
var subtot = 0
var taxtot = 0
var pp_setup = '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="pp_form">'+
		'<input type="hidden" name="cmd" value="_cart">'+
		'<input type="hidden" name="upload" value="1">'+
      '<input type="hidden" name="business" value="sunriseprintery@mindspring.com">'+
      '<input type="hidden" name="return" value="http://www.sunriseprintery.com">'+
      '<input type="hidden" name="cancel_return" value="http://www.sunriseprintery.com">'+
     '<input type="hidden" name="cn" value="Special Instructions (if any)">'+
      '<input type="hidden" name="receiver_email" value="sunriseprintery@mindspring.com">'+      
      '<input type="hidden" name="mrb" value="R-3WH47588B4505740X">'

function putFocus(formInst, elementInst) {
  if (document.forms.length > 0) {
   document.forms[formInst].elements[elementInst].focus();
  }
}

function lp_updateadd(padtype){
	if(document.lp_form.lp_add.value=="  Add  "){
		if (!valid_add(document.lp_form.quan_lp.value, document.lp_form.lbl_lp.value)){ 
				return;
		}
		lp_array[lp_ptr] = lp_cnt++		//line position
		itemnumber(lp_cnt)
		lp_array[lp_ptr+1] = document.lp_form.quan_lp.value	//quantity
		lp_array[lp_ptr+2] = document.lp_form.lbl_lp.value	//pad label
		lp_array[lp_ptr+3] = '**' 					//price
		display(lp_array,lp_ptr,lp_cnt-1,false,padtype)			//display entry	
		lp_ptr+=4						//set array pointer to next group
		//clear display fields
		document.lp_form.quan_lp.value = ''
		document.lp_form.lbl_lp.value = ''
	}else{
		if (valid_add(document.lp_form.quan_lp.value, document.lp_form.lbl_lp.value)){	//update
			lp_array[lp_editptr+1] = document.lp_form.quan_lp.value
			lp_array[lp_editptr+2] = document.lp_form.lbl_lp.value
			document.lp_form.lp_display.value = ''							//blank display box
			display(lp_array,lp_editptr,lp_cnt-1,true,padtype)			//display entry	
			document.lp_form.lp_add.value = "  Add  "
			document.lp_form.quan_lp.value = ''
			document.lp_form.lbl_lp.value = ''
			document.lp_form.lp_itemupd.value = 0
			itemnumber(lp_cnt)
		}else{
			return;
		}
	}
	putFocus(0,0);
}

function lp_edit(){
	itemno = document.lp_form.lp_itemupd.value 
	if (!valid_id(itemno,lp_cnt-1)){
		document.lp_form.lp_itemupd.value = '0'
		return;
	}
	itemnumber(itemno)
	document.lp_form.lp_add.value = "Update"
	quan_ptr = (parseInt(itemno)*4)-3		//element position of quantity
	lbl_ptr = quan_ptr + 1					//element postion of label
	lp_editptr = quan_ptr-1					//save for updating array element
	document.lp_form.quan_lp.value = lp_array[quan_ptr]
	document.lp_form.lbl_lp.value = lp_array[lbl_ptr]
}

function lp_delete(padtype){
	itemno = document.lp_form.lp_itemupd.value
	if (!valid_id(itemno,lp_cnt-1)){
		document.lp_form.lp_itemupd.value = '0'
		return;
		}
	itmptr = (parseInt(itemno)*4)-4
//	debug alert('itmptr='+itmptr+ ' array='+lp_array)
	if (confirm('Delete Item: '+lp_array[itmptr]+'.  '+lp_array[itmptr+1]+'    '+lp_array[itmptr+2])){
		lp_array.splice(itmptr,4)
		lp_cnt--										//decrement count
		lp_ptr-=4
		document.lp_form.lp_itemupd.value = '0'
		itemnumber(lp_cnt)
		document.lp_form.lp_display.value = ''
		display(lp_array,itmptr,lp_cnt-1,true,padtype)	//display entry	
	}else{
		return;
	}
}

function valid_add(q,l){
	errmsg = ''
	error = false
	if (!q > ""){
		errmsg='Please enter quantity'
		error = true
	}else{
		if (isNaN(q)){
			errmsg = 'Quantity must be all numbers'
			error = true
		}
	}
	if (!l > ""){
		errmsg += '\nPlease enter label'
		error = true
	}
	if (error){
		alert(errmsg)
		return(false)
	}
	return(true)
}

function valid_id(ino,icnt){
	ino = parseInt(ino)
	if (ino == 0) {
		alert('Please enter an Item Number')
		return(false);
	}
	if (ino > icnt) {
		alert('Invalid Item Number')
		return(false);
	}
	return(true)
}

function display(arr,ptr,itmcnt,allitems,padtype){
//	debug alert(' arr='+arr+ ' ptr='+ptr+' itmcnt='+itmcnt+ ' allitems='+allitems)
	var loop_cnt = (allitems) ? itmcnt : 1;		//display one entry or all
	var ptr	 = (allitems) ? 0 : ptr;			// set ptr to display one or all
	var cum_str = ''
	for (var i = 0; i < loop_cnt; i++){
		nosp = (arr[ptr] > 9) ? ' ' : '  ';
		if (arr[ptr+1] > 99) {
			quansp = ' '
			}else{
				if (arr[ptr+1] > 9){
					quansp = '  '
				}else{
					quansp = '   '
				}
			}
		ino = (allitems) ? i+1 : arr[ptr];
		cum_str += nosp+ino + '.'  + quansp+ arr[ptr+1]+'   '  + arr[ptr+2] + '\n'//show added item #, quan, label
		ptr += 4
		}
	document.lp_form.lp_display.value += cum_str
	showtotals(itmcnt,padtype)
}
function showtotals(cnt,padtype){

	sumquan = 0
	//get total quantity ordered
	for(i =0; i<cnt; i++){
 		sumquan += parseInt(lp_array[(i*4)+1])
	}
	switch(padtype){
		case "L":		//little pad
			if(sumquan > 99)
			{
				subtot = sumquan * .65;
				disp_price = .65;
			}
			else
			{
				if(sumquan > 23)
				{
					subtot = sumquan * .75;
					disp_price = .75;
				}
				else
				{
					subtot = sumquan * .95;
					disp_price = .95;
				}
			}
			shiptot = (sumquan < 10) ? .50 * sumquan : 5.00
			lp_array[3] = disp_price
			document.getElementById('subtotLbl').innerHTML = 'Subtotal '+sumquan+' @ '+ disp_price+' ea.'
			break;
		case "J":		//junior pad
			if (sumquan < 33) {
				subtot = sumquan * 1.95
				lp_array[3] = 1.95
				document.getElementById('subtotLbl').innerHTML = 'Subtotal '+sumquan+' @ 1.95 ea.'
			}else{
				if (sumquan < 101) {
					subtot = sumquan * 1.75
					lp_array[3] = 1.75
					document.getElementById('subtotLbl').innerHTML = 'Subtotal '+sumquan+' @ 1.75 ea.'
				}else{
					if (sumquan < 201) {
						subtot = sumquan * 1.50
						lp_array[3] = 1.50
						document.getElementById('subtotLbl').innerHTML = 'Subtotal '+sumquan+' @ 1.50 ea.'
					}else{
						subtot = sumquan * 1.25
						lp_array[3] = 1.25
						document.getElementById('subtotLbl').innerHTML = 'Subtotal '+sumquan+' @ 1.25 ea.'
					}
				}
			}
			shiptot = .1 * subtot			//10% of order total
			break;
		case "B":		//big pad 
			subtot = sumquan * 8.95
			shiptot = 3.85 + ((sumquan-1)* .75)
			lp_array[3] = 8.95
			document.getElementById('subtotLbl').innerHTML = 'Subtotal '+sumquan+' @ 8.95 ea.'
			break;
	}
	document.lp_form.lp_subtotal.value = formatCurrency(subtot)
	document.lp_form.lp_shipping.value =  formatCurrency(shiptot)
	calcTax(document.lp_form.taxbox.checked)
	document.lp_form.lp_total.value = formatCurrency(subtot + shiptot + taxtot)
}	
function placeOrder(padtype){
	if (subtot == 0){
		alert('No items have been ordered')
		return;
	}
	if (!confirm('Please verify your order is correct.\n\nBe sure the CA Resident box\nis checked if you live in California \n\nClick "OK" to proceed to Checkout\nClick "Cancel" to change order.')){
		return;
	 }
	// quantity discount price is determined in display(); sets array price element in first row element [3] & uses for all items

	// array has 4 elements per order; order #, quantity, Pad Label, Price
	for (var i = 0; i < lp_array.length; i+=4){
//	debug alert(lp_array[i]+' i= '+i)
	switch (padtype){
		case 'L':
			itemlabel = 'Name'
			itemnumber = '100'
			itemname = 'LittlePAD'
			break;
		case 'J':
			itemlabel = 'Phrase'
			itemnumber = '200'
			itemname = 'JuniorPAD'
			break;
		case 'B':
			itemlabel = 'Phrase'
			itemnumber = '300'
			itemname = 'BigPAD'
			break;
	}
	lp_ordercum += '<input type="hidden" name="on0_'+order_cnt+'" value="'+itemlabel+'">'+
				'<input type="hidden" name="quantity_'+order_cnt+'" value="'+lp_array[i+1]+'">'+
				'<input type="hidden" name="os0_'+order_cnt+'" value="'+lp_array[i+2]+'">'+
				'<input type="hidden" name="item_name_'+order_cnt+'" value="'+itemname+'">'+
				'<input type="hidden" name="item_number_'+order_cnt+'" value="'+itemnumber+' @ '+lp_array[3]+' each">'+
				'<input type="hidden" name="amount_'+order_cnt+'" value="'+lp_array[3]+'">'
	order_cnt++
	}
	if (document.lp_form.taxbox.checked){						//ca resident box checked
		lp_ordercum =lp_ordercum+'<input type="hidden" name="item_name_'+order_cnt +'" value="CA Tax">'+
				'<input type="hidden" name="amount_'+order_cnt+'" value="'+formatCurrency(taxtot)+'">'
		order_cnt++
	}
	lp_ordercum = 	lp_ordercum+'<input type="hidden" name="item_name_'+order_cnt +'" value="Shipping">'+
			'<input type="hidden" name="amount_'+order_cnt+'" value="'+formatCurrency(shiptot)+'">'

// debug	document.lp_form.lp_display.value = pp_setup+lp_ordercum
	document.getElementById('pp').innerHTML = pp_setup+lp_ordercum
	document.pp_form.submit()

}
function calcTax(tax){
	if (tax && subtot > 0){
		taxtot = subtot * .0825
		document.lp_form.lp_tax.value =  formatCurrency(taxtot) 
		document.lp_form.lp_total.value = formatCurrency(subtot + shiptot + taxtot)
	}else{	
		document.lp_form.lp_tax.value =  ''
		taxtot = 0
		document.lp_form.lp_total.value = (subtot>0) ? formatCurrency(subtot + shiptot) : ''
	}
}
		
function itemnumber(value){
document.getElementById('idno_lp').innerHTML = value
}
function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num >=0) ? true:false
	num = Math.abs(num)
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return ((((sign)?'':'-') +  num + '.' + cents));
}

function OpenWindow(which_page, width, height) {

	features = "width=" + width + ",height=" + height + ",scrollbars=yes,resizable=yes";
	win = window.open(which_page, 'win', features);
	if (bName == "Netscape" && bVer >= 3) {
		win.opener = self;
	}
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
