// Copyright (c) 2001 whatUseek, Corp.
// All rights reserved.
// You may not use, distribute, modify or re-print this
// computer source code without written consent from whatUseek.

  var cat;
  function master_check_form(form) {
	var test_result;

	test_result = check_order_form(form);
	if (test_result == false) { return (false); }

        test_result = order_check(form);
	if (test_result == false) { return (false); }

	test_result = server_domain_check(form);
	if (test_result == false) { return (false); }

        var testcc =  CheckCardNumber(form);
        if (!testcc) {
                alert("Invalid credit card number or expiration date provided.\n\Please re-check this information and try again.");
                form.cc_num.focus();
                form.cc_num.select();
                return(false);
        }
        return (true);
  }

  function isEmail(InString) {
	if(InString.length!=1) {
		return (false); 
	}
	InString=InString.toLowerCase();
	RefString="1234567890abcdefghijklmnopqrstuvwxyz.@_-";
	if (RefString.indexOf (InString, 0)==-1) {
		return (false);
	}
	return (true);
  }

  function checkEmail(theField) {
	fldValue = theField.value;
	var check_at = 0;
	for (var i = 0; i <fldValue.length;  i++) {
		var ch = fldValue.substring(i,i+1);
	        var ret = isEmail(ch);
		if (ch =="@") {
			check_at = 1;
		}
		if (ret == 0) {
			alert("You entered an invalid e-mail address.");
	            return(false);
	            break;
		}
	}

	if (check_at == 0) {
		alert("You entered an invalid e-mail address. \nPlease note that you should enter only one e-mail address");
		return(false);
	}

	if (fldValue.indexOf('@') != fldValue.lastIndexOf('@')) {
		alert("You entered an invalid e-mail address. \nPlease note that you should enter only one e-mail address");
        	return(false);
	}

	return(true);
  }


  function isNumOrCharOrUrl(InString) {
	if(InString.length!=1){
		return (false);
	}
        InString=InString.toLowerCase();
	RefString="1234567890abcdefghijklmnopqrstuvwxyz.:/~-_$&+@";
	if (RefString.indexOf (InString, 0)==-1){
		return (false);
		}
	return (true);
  }

  function checkUrl(theField) {
	theField.value = theField.value.toLowerCase();
	fldValue = theField.value;  
          
	for (var i = 0; i <fldValue.length;  i++) {
		var ch = fldValue.substring(i,i+1);
        	var ret = isNumOrCharOrUrl(ch);
		if (ret == 0){
			alert("You entered an invalid URL");
		        return(false);
		        break;
	        }
	}
	return(true);
  }

  function check_order_form(form) {

	var missing_fields = new Array();
	var i = 0;
	var x = "";

	if (form.first_name.value == '') {
		missing_fields[i] = "First Name";
		i++;
	}

	if (form.last_name.value == '') {
		missing_fields[i] = "Last Name";
		i++;
	}

	if (form.address.value == '') {
		missing_fields[i] = "address";
		i++;
	}

	if (form.city.value == '') {
		missing_fields[i] = "City";
		i++;
	}

	if (form.state.value == '') {
		missing_fields[i] = "State / Province";
		i++;
	}

	if (form.zip.value == '') {
		missing_fields[i] = "ZIP / Postal Code";
		i++;
	}

	if (form.country.options[form.country.selectedIndex].text == '- Please Select -') {
		missing_fields[i] = "Country";
		i++;
	}

	if (form.email.value == '') {
		missing_fields[i] = "Email Address";
		i++;
	}

	if (form.phone.value == '') {
		missing_fields[i] = "Phone";
		i++;
	}

	if (form.cc_num.value == '') {
		missing_fields[i] = "Credit Card Number";
		i++;
	}

	if (form.cc_name.value == '') {
		missing_fields[i] = "Name as It Appears on Card";
		i++;
	}

	if (form.cc_address.value == '') {
		missing_fields[i] = "Billing Address";
		i++;
	}

	if (form.cc_city.value == '') {
		missing_fields[i] = "Billing City";
		i++;
	}

	if (form.cc_state.value == '') {
		missing_fields[i] = "Billing State / Province";
		i++;
	}

	if (form.cc_zip.value == '') {
		missing_fields[i] = "Billing ZIP / Postal Code";
		i++;
	}

	if (form.cc_country.options[form.cc_country.selectedIndex].text == '- Please Select -') {
		missing_fields[i] = "Billing Country";
		i++;
	}

	if (i > 0) {
		for (var i=0; i < missing_fields.length; i++) {
			var x = x + "\n" + missing_fields[i];
		}
		alert("The following fields must be completed:\n" + x);
		return (false);
	}
  }

  function check_service_form(form) {
	var missing_fields = new Array();
	var i = 0;
	var x = "";

	if (form.name.value == '') {
		missing_fields[i] = "Name";
		i++;
	}

        if (form.email.value == '') {
		missing_fields[i] = "Email Address";
		i++;
	}

	if (form.issue.options[form.issue.selectedIndex].text == '- Please Select -') {
		missing_fields[i] = "Support Issue";
		i++;
	}

	if (form.message.value == '') {
		missing_fields[i] = "Message";
		i++;
	}

	if (i > 0) {
		for (var i=0; i < missing_fields.length; i++) {
			var x = x + "\n" + missing_fields[i];
		}
		alert("The following fields must be completed:\n" + x);
		return (false);
		}
	
  }

  function order_check(form) {
  	if ((form.server_type.selectedIndex == 0) && 
  	    (form.miva.checked == false)) {
  		alert("You must select a product.");
  		return (false);
   	}
  }

  function server_domain_check(form) {
	var is_checked = form.miva.checked;

  	if ((form.server_type.selectedIndex != 0) && 
  	    (form.domain.value == '')) {
  		alert("You must enter a domain when ordering a hosting service.");
  		return (false);
   	}
  }

  function clickreplace(form) {

	if (window.document.LAYOUTFORM.cc_same.checked == true) {
                window.document.LAYOUTFORM.cc_address.value=window.document.LAYOUTFORM.address.value;
                window.document.LAYOUTFORM.cc_city.value=window.document.LAYOUTFORM.city.value;
                window.document.LAYOUTFORM.cc_state.value=window.document.LAYOUTFORM.state.value;
                window.document.LAYOUTFORM.cc_zip.value=window.document.LAYOUTFORM.zip.value;
                window.document.LAYOUTFORM.cc_country.selectedIndex=window.document.LAYOUTFORM.country.selectedIndex;
	}        
  }
