function AddToCart()
{
    var checked = false;
    
    // Check for existence of psu value in IE and Netscape
    // If value exists, then there is only one item and the value will be sent automatically
    // when add to cart is clicked.  No radio buttons will exist, so set checked to true
    if(document.prodForm.psu.length == null || document.prodForm.psu.value > 0)
    {
        checked = true;
    }
   
    for(i=0;i<document.forms.prodForm.psu.length;i++)
    {
        if(document.prodForm.psu[i].checked)
        {    
            checked = true;
        }
    }

    if(!checked)
    {
        alert("Please select an item to add to cart.");
    }
    else
    {
        document.prodForm.submit();
    }
}


function saveFormData(){
    frmArray=new Array(document.forms.length);
    for (j=0;j<frmArray.length;j++){
         frmArray[j] = new Array(document.forms[j].elements.length) 
          for (i=0;i<document.forms[j].elements.length;i++){
              frmArray[j][i] = document.forms[j].elements[i].value;
         }
    }
}

function hasFormChanged(){
    var changes=false;
    for (j=0;j<frmArray.length;j++){
         for (i=0;i<frmArray[j].length;i++){
              if (frmArray[j][i]!=document.forms[j].elements[i].value){
                   changes = true;
              }
         }
    }
    return changes;
}

function validate_cat_insert()
{
	if(isempty(document.form_1.cat_name))
	{
		alert("You must enter a category name.");
		return false;
	}
	else 
	{
		return true;
	}
}


function forgot_pwd(val)
{
	if(document.forms.loginForm.email.value.length < 3)
	{
		alert("Please enter an email address.");
		return;
	}
	document.forms.loginForm.action = "custLogin.php?PGM=" + val;
	document.forms.loginForm.submit();	
}


function validate_prod_insert()
{
	var msg = "The following problems were encountered:\n";
	var check = true;
	if(isempty(document.form_1.prod_sku))
	{
		msg += "\tPlease enter a SKU.\n";
		check = false;
	}
	if(isempty(document.form_1.prod_name))
	{
		msg += "\tPlease enter a Product Name.\n";
		check = false;
	}
	
	if(isempty(document.form_1.prod_desc))
	{
		msg += "\tPlease enter a Product Description.\n";
		check = false;
	}
	
	
	//if(checkEditorInput() == false)
	//{
	//	msg += "\tPlease enter a Product Description.\n";
	//	check = false;
	//}
	if(!check)
	{
		alert(msg);
	}
	return check;
}

function validate_psu_insert()
{
	var msg = "The following problems were encountered:\n";
	var check = true;
	if(isempty(document.form_1.su_sku_mod))
	{
		msg += "\tPlease enter a SKU Modifier.\n";
		check = false;
	}
	if(isempty(document.form_1.su_desc))
	{
		msg += "\tPlease enter a Stock Unit Name.\n";
		check = false;
	}
	
	if(isempty(document.form_1.su_price))
	{
		msg += "\tPlease enter a price.\n";
		check = false;
	}
	else if(isNaN(document.form_1.su_price.value))
	{
		msg += "\tPrice must be a number.\n";
		check = false;
	}

	if(isempty(document.form_1.su_ship_wgt))
	{
		msg += "\tPlease enter a weight.\n";
		check = false;
	}
	else if(isNaN(document.form_1.su_ship_wgt.value))
	{
		msg += "\tWeight must be a number.\n";
		check = false;
	}

	if(isempty(document.form_1.su_ship_dim_wgt))
	{
		msg += "\tPlease enter a dimensional weight.\n";
		check = false;
	}
	else if(isNaN(document.form_1.su_ship_dim_wgt.value))
	{
		msg += "\tDimensional weight must be a number.\n";
		check = false;
	}

	
	

	
	if(!check)
	{
		alert(msg);
	}
	return check;
}


function validate_prod_edit()
{
	var msg = "The following problems were encountered:\n";
	var check = true;
	if(isempty(document.form_1.prod_sku))
	{
		msg += "\tPlease enter a SKU.\n";
		check = false;
	}
	if(isempty(document.form_1.prod_name))
	{
		msg += "\tPlease enter a Product Name.\n";
		check = false;
	}
	
	if(isempty(document.form_1.prod_desc))
	{
		msg += "\tPlease enter a Product Description.\n";
		check = false;
	}
	
	if(!check)
	{
		alert(msg);
	}
	return check;
}


function validate_cust_account(pwdRequired)
{
	var msg = "The following problems were encountered:\n";
	var check = true;
	if(isempty(document.billingInfo.cust_fname))
	{
		msg += "\tPlease enter a First Name.\n";
		check = false;
	}
	if(isempty(document.billingInfo.cust_lname))
	{
		msg += "\tPlease enter a Last Name.\n";
		check = false;
	}
	if(isempty(document.billingInfo.cust_add1))
	{
		msg += "\tPlease enter an address.\n";
		check = false;
	}
	if(isempty(document.billingInfo.cust_city))
	{
		msg += "\tPlease enter a city.\n";
		check = false;
	}
	
	if(document.billingInfo.cust_state.value == "")
	{
		msg += "\tPlease choose a state.\n";
		check = false;
	}
	
    if(isempty(document.billingInfo.cust_zip))
	{
		msg += "\tPlease enter a zip code.\n";
		check = false;
	}
    
    if(isempty(document.billingInfo.cust_phone))
	{
		msg += "\tPlease enter a telephone number.\n";
		check = false;
	}	
	
	
	if(isempty(document.billingInfo.cust_email))
	{
		msg += "\tPlease enter an email address.\n";
		check = false;
	}	

	if(pwdRequired)
	{
    	if(isempty(document.billingInfo.cust_password))
    	{
    		msg += "\tPlease enter a password.\n";
    		check = false;
    	}	
    
    	if(isempty(document.billingInfo.cust_confirm_password))
    	{
    		msg += "\tPlease enter a password confirmation.\n";
    		check = false;
    	}	
	}
	
   if(!isempty(document.billingInfo.cust_confirm_password) ||
       !isempty(document.billingInfo.cust_password))
    {
        if(document.billingInfo.cust_password.value != document.billingInfo.cust_confirm_password.value)
        {
    		msg += "\tYour password and confirmation do not match.\n";
	       	check = false;
        }
    }
	
	if(!check)
	{
		alert(msg);
	}
	return check;
}

function validate_checkout()
{
	var msg = "The following problems were encountered:\n";
	var check = true;
	if(isempty(document.billingInfo.cust_fname))
	{
		msg += "\tPlease enter a First Name.\n";
		check = false;
	}
	if(isempty(document.billingInfo.cust_lname))
	{
		msg += "\tPlease enter a Last Name.\n";
		check = false;
	}
	if(isempty(document.billingInfo.cust_add1))
	{
		msg += "\tPlease enter an address.\n";
		check = false;
	}
	if(isempty(document.billingInfo.cust_city))
	{
		msg += "\tPlease enter a city.\n";
		check = false;
	}
	
	if(document.billingInfo.cust_state.value == "")
	{
		msg += "\tPlease choose a state.\n";
		check = false;
	}
	
    if(isempty(document.billingInfo.cust_zip))
	{
		msg += "\tPlease enter a zip code.\n";
		check = false;
	}
    
    if(isempty(document.billingInfo.cust_phone))
	{
		msg += "\tPlease enter a telephone number.\n";
		check = false;
	}	
	
	
	if(isempty(document.billingInfo.cust_email))
	{
		msg += "\tPlease enter an email address.\n";
		check = false;
	}	

    if(document.billingInfo.cc_number.value.length < 13)
	{
		msg += "\tPlease enter a valid credit card number.\n";
		check = false;
	}	
	
	
	if(check)
	{
	   msg = "Processing your order may take a moment.\nAfter clicking the 'OK' button directly below,\nplease wait for the confirmation screen to appear.\n\nPlease do not click the back button or try to navigate elsewhere.\n\nThank you for your business!!";	
	
	   var elem;
	   elem = document.getElementById("finalTD");	 
	   elem.style.display="none";
	}

	alert(msg);
	return check;
}

function validate_shipto()
{
	var msg = "The following problems were encountered:\n";
	var check = true;
	if(isempty(document.shipto.fname))
	{
		msg += "\tPlease enter a First Name.\n";
		check = false;
	}
	if(isempty(document.shipto.lname))
	{
		msg += "\tPlease enter a Last Name.\n";
		check = false;
	}
	if(isempty(document.shipto.add1))
	{
		msg += "\tPlease enter an address.\n";
		check = false;
	}
	if(isempty(document.shipto.city))
	{
		msg += "\tPlease enter a city.\n";
		check = false;
	}
	
	if(document.shipto.state.value == "")
	{
		msg += "\tPlease choose a state.\n";
		check = false;
	}
	
    if(isempty(document.shipto.zip))
	{
		msg += "\tPlease enter a zip code.\n";
		check = false;
	}
	
	if(!isempty(document.shipto.zip) && document.shipto.zip.value.length < 5)
	{
	   msg += "\tPlease enter a valid zip code.\n";
	   check = false;
	}
    else
    {
       var zip_pre = document.shipto.zip.value.substr(0,5);
       if(isNaN(zip_pre))
       {
          msg += "\tPlease enter a valid zip code.\n";
          check = false;
       }
    }
	
	if(!check)
	{
		alert(msg);
	}
	return check;
}


function isempty(formfield)
{
	if(formfield == null)
	{
	    return true;
	}
	else
	{
	    return (formfield.value.length == 0);
	}
}


function conf_delete(url)
{
	if(confirm("Are you sure you want to delete this item?"))
	{
		location.href=url;
	}
}

function open_win(urlOrFile,w,h,nam,t,l,menu)
{
if(w==null)
{
	w = screen.width - 150;
}

if(h==null)
{
	h = screen.height - 250;
}

if(menu==null)
{
	menu = "no";
}

if(t == null)
{
    t = 50;
}

if(l==null)
{
    l = 50;
}

if(nam==null || nam=='')
{
	var d = new Date();
	var wn = new String("Contri");
	var m = d.getMilliseconds();
	var nam = wn.concat(m);
}

var params = "width=" + w;
params += ",height=" + h;
params += ",menubar=" + menu;
params += ",top=" + t;
params += ",left=" + l;
params += ",scrollbars=yes";
params += ",addressbar=yes";
var win = window.open(nam,nam,params);
win.location.href=urlOrFile;
}

function open_help(url,nam,w,h)
{
if(w==null)
{
    w = 350;
}
if(h==null)
{
    h = 400;
}
var params = "width=" + w;
params += ",height=" + h;
params += ",menubar=no";
params += ",top=50";
params += ",left=150";
params += ",scrollbars=no";
params += ",addressbar=no";
var win = window.open(nam,nam,params);
win.location.href=url;
}


function open_address()
{
var w = 550;
var h = 600;
var nam = "AddBook";
var url = "cust_addressbook.php";

var params = "width=" + w;
params += ",height=" + h;
params += ",menubar=no";
params += ",top=50";
params += ",left=250";
params += ",scrollbars=yes";
params += ",addressbar=no";
var win = window.open(nam,nam,params);
win.location.href=url;
}

function open_cust_popup()
{
var w = 550;
var h = 600;
var nam = "Customers";
var url = "adm_custpopup.php";
var params = "width=" + w;
params += ",height=" + h;
params += ",menubar=no";
params += ",top=50";
params += ",left=250";
params += ",scrollbars=yes";
params += ",addressbar=no";
var win = window.open(nam,nam,params);
win.location.href=url;
}

function open_bus_popup()
{
var w = 550;
var h = 600;
var nam = "Businesses";
var url = "adm_buspopup.php";
var params = "width=" + w;
params += ",height=" + h;
params += ",menubar=no";
params += ",top=50";
params += ",left=250";
params += ",scrollbars=yes";
params += ",addressbar=no";
var win = window.open(nam,nam,params);
win.location.href=url;
}


function view_order(id)
{
var w = 650;
var h = 500;
var nam = "OrderView";
var url = "adm_view_order.php?id=" + id;
var params = "width=" + w;
params += ",height=" + h;
params += ",menubar=yes";
params += ",top=50";
params += ",left=50";
params += ",scrollbars=yes";
params += ",addressbar=no";
params += ",resizable=yes";
params += ",toolbar=yes";
var win = window.open(nam,nam,params);
win.location.href=url;
}

function cust_view_order(id)
{
var w = 650;
var h = 500;
var nam = "OrderView";
var url = "my_account_view_order.php?id=" + id;
var params = "width=" + w;
params += ",height=" + h;
params += ",menubar=yes";
params += ",top=50";
params += ",left=50";
params += ",scrollbars=yes";
params += ",addressbar=no";
params += ",resizable=yes";
params += ",toolbar=yes";
var win = window.open(nam,nam,params);
win.location.href=url;
}



function useAdd(id)
{
    window.opener.location.href = "finalize_shipment.php?addid=" + id + "&PGM=2500";
    self.close();

}

function useCust(id,name)
{
    window.opener.document.forms.orderSearch.filterChoiceText.value = name;
    window.opener.document.forms.orderSearch.filterChoiceID.value = id;
    self.close();
}

function useBus(id,name)
{
    window.opener.document.forms.orderSearch.filterChoiceText.value = name;
    window.opener.document.forms.orderSearch.filterChoiceID.value = id;
    self.close();
}

function showSelectWindow(x)
{
    if(x == 0)
    {
        document.forms.orderSearch.filterChoiceText.value = "";
        document.forms.orderSearch.filterChoiceID.value = 0;
        return false;
    }
    if(x == 1)
    {
        open_cust_popup();
        return;
    }

    if(x == 2)
    {
        open_bus_popup();
        return;
    }
    
}



function clearNumbers()
{
	document.forms.orderSearch.begNumber.value = "";
	document.forms.orderSearch.endNumber.value = "";
}

function clearDates()
{
	document.forms.orderSearch.begDate.value = "";
	document.forms.orderSearch.endDate.value = "";
}



function checkOrderSearchCriteria()
{

    var begDateOK = false;
    var endDateOK = false;
    var begNumberOK = false;
    var endNumberOK = false;
    var msg = "The following errors were found:";
    var begDate;
    var endDate;
    var begNumber;
    var endNumber;
    var dataOK = true;
    
    
    begDate = document.forms.orderSearch.begDate.value;
    endDate = document.forms.orderSearch.endDate.value;
    begNumber = document.forms.orderSearch.begNumber.value;
    endNumber = document.forms.orderSearch.endNumber.value;
       
    begDateOK = (isValidDate(begDate) == 0);
    endDateOK = (isValidDate(endDate) == 0);
    begNumberOK = (!isNaN(begNumber) && begNumber.length > 0);
    endNumberOK = (!isNaN(endNumber));
    
    if(begDate.length + begNumber.length + endDate.length + endNumber.length == 0)
    {
        msg+= "\n\tPlease enter a date or order number to search by.";
        dataOK = false;
    }

    if(begDate.length == 0 && endDate.length > 0)
    {
        msg += "\n\tPlease enter a beginning date.";
        dataOK = false;
    }
    
    if(begNumber.length == 0 && endNumber.length > 0)
    {
        msg += "\n\tPlease enter a beginning order number.";
        dataOK = false;
    }

    
    if(!begDateOK && begDate.length > 0)
    {
        msg += "\n\tYour beginning date is invalid.";    
        dataOK = false;
    }


    if(!endDateOK && endDate.length > 0)
    {
        msg += "\n\tYour ending date is invalid.";
        dataOK = false;
    }
    
    if(!begNumberOK && begNumber.length > 0)
    {
        msg += "\n\tYour beginning Order Number is invalid.";
        dataOK = false;
    }

    if(!endNumberOK && endNumber.length > 0)
    {
        msg += "\n\tYour ending Order Number is invalid.";
        dataOK = false;
    }
    
    if(!dataOK)
    {
        alert(msg);
    }
    
    return dataOK;
}


function val_date()
{
   if(isValidDate(document.sch_by_date.beg_date.value) > 0)
   {
      alert("Please enter beginning date in MM/DD/YYYY format.");
      document.sch_by_date.beg_date.focus();
      return false;
   }

   if(isValidDate(document.sch_by_date.end_date.value) > 0)
   {
      alert("Please enter ending date in MM/DD/YYYY format.");
      document.sch_by_date.end_date.focus();
      return false;
   }
   else
   {
      return true;
   }
}

function val_order()
{
  if(document.sch_by_ord.beg_ordnum.value.length == 0 || isNaN(document.sch_by_ord.beg_ordnum.value))
  {
      alert("Please enter a number for beginning order number.");
      document.sch_by_ord.beg_ordnum.focus();
      return false;
  }

  if(document.sch_by_ord.end_ordnum.value.length == 0 || isNaN(document.sch_by_ord.end_ordnum.value))
  {
      alert("Please enter a number for ending order number.");
      document.sch_by_ord.end_ordnum.focus();
      return false;
  }
  else
  {
      return true;
  }
}

function isValidDate(date2check){
  // dgk-10/07/00
  // determines if the date string passed represents a valid date.
  // returns 0 if the date is valid
  // returns 1 if the date is not in the format of mm/dd/ccyy, mm-dd-ccyy, or mmddccyy
  //      m/d/ccyy & m-d-ccyy are also acceptable
  // returns 2 if the date is not a legal date (i.e. 02/30/1999)
  var retval = 0
  var aMMDDCCYY
  var dtest
  // use a regular expression pattern match to determine if the date format is valid
  if (/^(\d\d?-\d\d?-\d{4})|(\d\d?\/\d\d?\/\d{4})|(\d{8})$/.test(date2check)){
    dtest = new Date(date2check);
    if (/\//.test(date2check)){
      aMMDDCCYY = date2check.split("/");
    }else{
      if (/-/.test(date2check)){
        aMMDDCCYY = date2check.split("-");
      }else{
        aMMDDCCYY = Array(date2check.substr(0,2), date2check.substr(2,2), date2check.substr(4,4))
        dtest = new Date(aMMDDCCYY[0] + "/" + aMMDDCCYY[1] + "/" + aMMDDCCYY[2]);
      }
    }
    if (dtest.getMonth() + 1 != aMMDDCCYY[0] || dtest.getDate() != aMMDDCCYY[1] || dtest.getFullYear() != aMMDDCCYY[2]){
      retval = 2
    }
  }else{
    retval = 1
  }
  return retval
}


function StdDateFormat(strDate){
  // dgk-10/07/00
  // receives a date string in the format of mm/dd/ccyy, mm-dd-ccyy, or mmddccyy
  // returns a date string in the standard format: mm/dd/ccyy.
  var retval = ""
  var aMMDDCCYY
  if (isValidDate(strDate) == 0){
     if (/\//.test(strDate)){
             retval = strDate;
     }else{
        if (/-/.test(strDate)){
           aMMDDCCYY = strDate.split("-");
        }else{
           aMMDDCCYY = Array(strDate.substr(0,2), strDate.substr(2,2), strDate.substr(4,4));
        }
        retval = (aMMDDCCYY[0] + "/" + aMMDDCCYY[1] + "/" + aMMDDCCYY[2]);
     }
  }
  return retval;
}               
