function HelpOpen() {
		height=350;
		width=690;
		myWindow = window.open("cvv2.php","windowRef","width=" + width + ",height=" + height+",top=40,left=40screenX=40,screenY=40, focus=yes, scrollbars=yes, resizable=yes");
		myWindow.location.href = "cvv2.php";
	}	

var whitespace = " \t\n\r";
var valid = 'profPROF0123456789,_-#'; // define valid characters
function copy_shipping_info(form) {
	if(form.shipping_same.checked==true) {
		form.ship_name.value = form.ccname.value;
		form.ship_company.value = form.bill_company.value;
		form.ship_address.value = form.bill_address.value;
		form.ship_address2.value = form.bill_address2.value;
		form.ship_city.value = form.bill_city.value;
		form.ship_state.value = form.bill_state.value;
		form.ship_zip.value = form.bill_zip.value;
		form.ship_phone.value = form.bill_phone.value;
	}
	else {
		form.ship_name.value = '';
		form.ship_company.value = '';
		form.ship_address.value = '';
		form.ship_address2.value = '';
		form.ship_city.value = '';
		form.ship_state.value = 'AL';
		form.ship_zip.value = '';
		form.ship_phone.value = '';
	}
}

function validate(ccform) {
	var error;
	error = 0;

	// credit card verification
	if (ccform.ccnumber.value == '') {
		alert('You must enter a credit card number.');
		return false;
	}

	if (!_isnumeric(ccform.ccnumber.value)) {
		alert('You must enter numeric digits for your credit card.');
		return false;
	}

	if (ccform.ccverify.value == '') {
		alert('You must enter a credit card verification code.');
		return false;
	}

	if (!_isnumeric(ccform.ccverify.value)) {
		alert('You must enter numeric digits for your credit card verification code.');
		return false;
	}

	if (ccform.ccname.value == '') {
		alert('You must enter the cardholder\'s name.');
		return false;
	}

	if (ccform.ccamount.value == '') {
		alert('You must enter the charge amount.');
		return false;
	}

	if (!_isnumeric_positive(ccform.ccamount.value)) {
		alert('You must enter a valid charge amount.');
		return false;
	}

	// order verification
	if (ccform.proof.value == '') {
		alert('You must enter a proof name.');
		return false;
	}
	if (!isValid(ccform.proof.value,valid)) {
		alert('You have invalid characters in the design area, only proof0123456789,_-# are allowed');
		return false;
	}
	
		if (ccform.patches_quantity.options[ccform.patches_quantity.selectedIndex].value == "") {
		alert('You must choose a quantity.');
		return false;
	}
	if (ccform.patches_size.options[ccform.patches_size.selectedIndex].value == "") {
		alert('You must choose a size.');
		return false;
	}
	if (ccform.patches_type.options[ccform.patches_type.selectedIndex].value == "") {
		alert('You must choose a type.');
		return false;
	}
	// shipping address verification
	if (ccform.ship_name.value == '') {
		alert('You must enter the shipping name.');
		return false;
	}

	if (ccform.ship_address.value == '') {
		alert('You must enter the shipping address.');
		return false;
	}

	if (ccform.ship_city.value == '') {
		alert('You must enter the shipping city.');
		return false;
	}

	if (ccform.ship_state.value == '') {
		alert('You must enter the shipping state.');
		return false;
	}

	if (ccform.ship_zip.value == '') {
		alert('You must enter the shipping zip code.');
		return false;
	}
	
	if (!_isnumeric(ccform.ship_zip.value)) {
		alert('You must enter numeric digits for your zip code.');
		return false;
	}
	
	if (ccform.ship_phone.value == '') {
		alert('You must enter the shipping phone number.');
		return false;
	}

	if (ccform.ship_email.value == '') {
		alert('You must enter an email address.');
		return false;
	}

	if (!isEmail(ccform.ship_email.value)) {
		alert('You must enter a valid e-mail address.');
		return false;
	}

	// billing address verification


	if (ccform.bill_address.value == '') {
		alert('You must enter the billing address.');
		return false;
	}

	if (ccform.bill_city.value == '') {
		alert('You must enter the billing city.');
		return false;
	}

	if (ccform.bill_state.value == '') {
		alert('You must enter the billing state.');
		return false;
	}

	if (ccform.bill_zip.value == '') {
		alert('You must enter the billing zip code.');
		return false;
	}
	
	if (!_isnumeric(ccform.bill_zip.value)) {
		alert('You must enter numeric digits for your zip code.');
		return false;
	}
	
	if (ccform.bill_phone.value == '') {
		alert('You must enter the billing phone number.');
		return false;
	}

	// terms and conditions verification
	if (ccform.terms.checked == false) {
		alert('You must agree to the terms and conditions.');
		return false;
	}

	if (error == 0) {
		ccform.submit();
	}
}

function _isnumeric ( n ) {
	var v = 1.0 * n ;
	if ( isNaN(v) )
		return false ;
	else
	    return true ;
}

function _isnumeric_positive ( n ) {
	var v = 1.0 * n ;
	if ( v <= 0.0 || isNaN(v) )
		return false ;
	else
	    return true ;
}


function isEmpty(s) { 
	return ((s == null) || (s.length == 0))
}

function isWhitespace (s) {
	var i;
	if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
	    if (whitespace.indexOf(c) == -1) return false;
    }
	return true;
}

function isValid(string,allowed) {
    for (var i=0; i< string.length; i++) {
       if (allowed.indexOf(string.charAt(i)) == -1)
          return false;
    }
    return true;
}

function isEmail (s) {
	if (isEmpty(s))
		if (isEmail.arguments.length == 1) return false;
	    else return (isEmail.arguments[1] == true);
    if (isWhitespace(s)) return false;
    var i = 1;
    var k = 1;
    var is_present=false;
	var sLength = s.length;
    while(k < sLength) {
	    if(s.charAt(k) == "@") {
	        if(is_present == true)
	            return false;
	            is_present=true;
		}
        k++
	}
    // look for @
    while ((i < sLength) && (s.charAt(i) != "@")) {
    	i++
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    while ((i < sLength) && (s.charAt(i) != ".")) {
    	i++
    }
    if ((i >= sLength - 2) || (s.charAt(i) != ".")) return false;
    else {
	    i+=1;
        while(i < sLength) {
	        var c = s.charAt(i);
	        	        if (!(((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z"))|| ((c >= "0") && (c <= "9"))||(c == "-"))) {

	            if(s.charAt(i) == ".") {
	                var j=(sLength-1)-i;
                    if (i ==(sLength-1) || j< 2 )   return false;
                }
				else
					return false;
                }
			i++
		}
        return true;
	}
}

function textLimit(field, maxlen) {
	if (field.value.length > maxlen + 1)
	alert('Classified ad character limit is '+maxlen);
	if (field.value.length > maxlen)
	field.value = field.value.substring(0, maxlen);
}