var page_loaded = false;
var form_error = null;
var errors_message = null;
var str_errors_message = "";
var error_elements = {'elements':[],'span_msgs':{}};
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }
function trim(string)
{
return string.replace(/^\s+/g,'').replace(/\s+$/g,'');
}
function submit_form()
{
if (!page_loaded)
{
return;
}
try
{
clean_errors();
}
catch (e)
{
set_error_report_element(e);
document.data.submit();
}
show_hide('errors_section','hide');
try
{
check_form();
}
catch (e)
{
set_error_report_element(e);
document.data.submit();
}
try
{
payement_form();
}
catch (e)
{
set_error_report_element(e);
document.data.submit();
}
// when form has no errors - submit to process.php
if (!form_error)
{
document.data.submit();
}
// as long as there are errors - show them
else
{
show_animated_errors_box();
try
{
show_error_elements();
}
catch (e)
{
set_error_report_element(e);
document.data.submit();
}
report_on_errors();
}
}
function set_error_report_element(e)
{
var report = new Array, form = document.data;
for (var i in e)
{
report.push(i+':"'+escape(e[i])+'"');
}
form.error_report.value = '{'+report.join(',')+'}';
}
/**
* Attach an error to the errors table,
* and (if firsrt argument is not FALSE) to the fauly element.
*
* @param {string/boolean} error_element
* - to attach the error to a form-element, pass element name
* - to just display error in errors table, pass FALSE
* @param {string} error_type
* - in case this is element-error, pass error type
* - in case of error only, pass the error
*/
function add_error(error_element, error_type)
{
var short_error_msg, long_error_message;
if (error_element !== false)
{
// Error for form-element (most cases).
// Find the error according to type and attach to element.
short_error_msg = get_form_error_string(error_element, error_type, false);
long_error_message = get_form_error_string(error_element, error_type, true);
error_elements_add_error(error_element, short_error_msg);
}
else
{
// This is a simple string error, no form-element invloved.
// The error string is in the second argument.
long_error_message = error_type;
}
if(long_error_message != false)
{
str_errors_message += long_error_message+"~~~";
}
var obj = document.getElementById('errors_table');
var new_row = obj.insertRow(-1);
var new_td = new_row.insertCell(-1);
var jump_code = (error_element?'j_'+error_element:'');
new_td.innerHTML = ['',
'',
'- '+long_error_message+'
',
'
',
''].join('\n');
errors_message += long_error_message+'\n';
form_error = true;
}
/**
* Attach error message against a form element.
*/
function error_elements_add_error(elem, msg)
{
var span = form_error_resolve_span_name(elem);
error_elements['elements'].push(elem);
if (!error_elements['span_msgs'][span])
{
error_elements['span_msgs'][span] = new Array;
}
error_elements['span_msgs'][span].push(msg);
}
function show_animated_errors_box()
{
document.body.scrollTop = 0;
setTimeout('show_hide(\'errors_section\',\'show\')',300);
setTimeout('document.getElementById(\'errors_section\').style.visibility = \'hidden\';',600);
setTimeout('document.getElementById(\'errors_section\').style.visibility = \'visible\';',900);
setTimeout('document.getElementById(\'errors_section\').style.visibility = \'hidden\';',1200);
setTimeout('document.getElementById(\'errors_section\').style.visibility = \'visible\';',1500);
}
function show_error_elements()
{
var span_elem, span_class, message, form = document.data;
for (span in error_elements['span_msgs'])
{
span_elem = document.getElementById(span+'_errormsg');
if (span_elem)
{
// span_elem.innerHTML = error_elements['span_msgs'][span].join(', ');
}
}
for (i in error_elements['elements'])
{
if (form[error_elements['elements'][i]])
{
span_class = form[error_elements['elements'][i]].parentNode.className;
form[error_elements['elements'][i]].parentNode.className = span_class+' error';
}
}
}
function clean_errors()
{
errors_message = '';
var span_elem, span_class, form = document.data;
for (span in error_elements['span_msgs'])
{
span_elem = document.getElementById(span+'_errormsg');
if (span_elem)
{
span_elem.innerHTML = '';
}
}
for (i in error_elements['elements'])
{
if (form[error_elements['elements'][i]])
{
span_class = form[error_elements['elements'][i]].parentNode.className;
form[error_elements['elements'][i]].parentNode.className = span_class.replace(/error/,'').trim();
}
}
error_elements['elements'] = new Array;
error_elements['span_msgs'] = new Object;
form_error = false;
var obj = document.getElementById('errors_table');
var total_rows = obj.rows.length;
for (var i=0; i credit card
case 2:
show_hide('bill_country_echeck','hide');
show_hide('bill_country_elv','hide');
show_hide('echeck_details','hide');
show_hide('echeck_canada_states','hide');
show_hide('echeck_us_states','hide');
show_hide('credit_card_details','hide');
show_hide('elv_routing_number','hide');
show_hide('elv_account_number','hide');
show_hide('elv_id_card','hide');
show_hide('wire_details','hide');
check_previous_country(type);
show_hide('bill_country_cc','show');
show_hide_states(document.data.bill_country_cc);
show_hide('paypal_details','show');
break;
// elv
case 3:
alert('Attention!, The ELV service is currently available only in Germany and Austria.');
show_hide('bill_country_echeck','hide');
show_hide('bill_country_cc','hide');
show_hide('credit_card_details','hide');
show_hide('paypal_details','hide');
show_hide('echeck_details','hide');
show_hide('echeck_canada_states','hide');
show_hide('echeck_us_states','hide');
show_hide('wire_details','hide');
check_previous_country(type);
show_hide('bill_country_elv','show');
show_hide_states(document.data.bill_country_elv);
show_hide_relevant_sections_elv();
break;
// wire transfer
case 4:
//alert('Attention!, The ELV service is currently available only in Germany and Austria.');
show_hide('bill_country_echeck','hide');
show_hide('bill_country_elv','hide');
show_hide('credit_card_details','hide');
show_hide('paypal_details','hide');
show_hide('echeck_details','hide');
show_hide('echeck_canada_states','hide');
show_hide('echeck_us_states','hide');
show_hide('elv_routing_number','hide');
show_hide('elv_account_number','hide');
show_hide('elv_id_card','hide');
check_previous_country(type);
show_hide('bill_country_cc','show');
show_hide('wire_details','show');
show_hide_states(document.data.bill_country_cc);
break;
}
}
}
function show_hide_relevant_sections_elv()
{
if (document.data.bill_country_elv.value == -1)
{
show_hide('elv_routing_number','show');
show_hide('elv_account_number','show');
show_hide('elv_id_card','show');
}
else if ((document.data.bill_country_elv.value == 80))
{
show_hide('elv_routing_number','show');
show_hide('elv_account_number','show');
show_hide('elv_id_card','show');
}
else if ((document.data.bill_country_elv.value == 142))
{
show_hide('elv_routing_number','hide');
show_hide('elv_account_number','show');
show_hide('elv_id_card','hide');
}
else
{
show_hide('elv_routing_number','show');
show_hide('elv_account_number','show');
show_hide('elv_id_card','hide');
}
}
function show_hide_relevant_sections_echeck()
{
if (document.data.bill_country_echeck.value == -1)
{
show_hide('echeck_canada_states','hide');
show_hide('echeck_us_states','hide');
}
else if ((document.data.bill_country_echeck.value == 211))
{
show_hide('echeck_canada_states','hide');
show_hide('echeck_us_states','show');
}
else if ((document.data.bill_country_echeck.value == 38))
{
show_hide('echeck_canada_states','show');
show_hide('echeck_us_states','hide');
}
}
var mouse_x;
var mouse_y;
function open_help(e,pageID)
{
parent.document.getElementById('help_body').innerHTML = helps_messages[pageID];
layer_obj = document.getElementById('help_layer');
positions = get_abs_pos(e,layer_obj.clientWidth,layer_obj.clientHeight,'right','up',0,0);
layer_obj.style.left = positions[0];
layer_obj.style.top = positions[1];
layer_obj.style.visibility = 'visible';
setTimeout('document.body.onclick = function () {close_help()}',10);
}
function close_help()
{
document.body.onclick = function () {}
document.getElementById('help_layer').style.visibility = 'hidden';
}
function payement_form()
{
switch (paying_type)
{
case 0:
field_value = form.pay_full_name.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('pay_full_name','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('pay_full_name','invalid');
}
}
field_value = form.pay_cc_card_number.value;
field_value = field_value.replace(/[^0-9]/g,'');
cc_check(field_value);
field_value = form.pay_cc_exp_month.value;
selected_month = form.pay_cc_exp_month.value;
if (field_value == -1)
{
add_error('pay_cc_exp_month','empty1');
}
field_value = form.pay_cc_exp_year.value;
selected_year = form.pay_cc_exp_year.value;
if (field_value == -1)
{
add_error('pay_cc_exp_year','empty2');
}
if ((selected_month > -1) && (selected_year > -1))
{
if ((current_year == selected_year) && (current_month > selected_month))
{
add_error('pay_cc_exp_month','invalid');
}
}
field_value = form.pay_cc_cvv.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('pay_cc_cvv','empty');
}
else
{
res = check_field('cvv',field_value);
if (!res)
{
add_error('pay_cc_cvv','invalid');
}
}
break;
case 1:
field_value = form.pay_echeck_routing_number.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('pay_echeck_routing_number','empty');
}
else
{
res = check_field('numbers',field_value);
if (!res)
{
add_error('pay_echeck_routing_number','invalid');
}
}
field_value = form.pay_echeck_account_number.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('pay_echeck_account_number','empty');
}
else
{
res = check_field('numbers',field_value);
if (!res)
{
add_error('pay_echeck_account_number','invalid');
}
}
field_value = form.pay_echeck_bank_name.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('pay_echeck_bank_name','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('pay_echeck_bank_name','invalid');
}
}
field_bank_state_canada_value = form.echeck_bank_state_canada.value;
field_bank_state_us_value = form.echeck_bank_state_us.value;
if ((form.bill_country_echeck.value == 38) && (field_bank_state_canada_value == -1))
{
add_error('echeck_bank_state_canada','empty');
}
else if ((form.bill_country_echeck.value == 211) && (field_bank_state_us_value == -1))
{
add_error('echeck_bank_state_us','empty');
}
break;
case 2:
field_value = form.pay_pp_email.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('pay_pp_email','empty');
}
else
{
res = check_field('email',field_value);
if (!res)
{
add_error('pay_pp_email','invalid');
}
}
break;
case 3:
if (form.bill_country_elv.value != 142)
{
field_value = form.pay_elv_routing_number.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('pay_elv_routing_number','empty');
}
}
field_value = form.pay_elv_account_number.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('pay_elv_account_number','empty');
}
if (form.bill_country_elv.value == 80)
{
field_value = form.pay_elv_id_card_a.value;
field_value = field_value.replace(/[^0-9a-zA-Z]/g,'');
field_value = trim(field_value);
chk_str = /^[0-9]{10,10}[a-zA-Z]{1,1}$/;
res = chk_str.test(field_value);
if (!res)
{
add_error('pay_elv_id_card_a','invalid1');
}
field_value = form.pay_elv_id_card_b.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
chk_str = /^[0-9]{7,7}$/;
res = chk_str.test(field_value);
if (!res)
{
add_error('pay_elv_id_card_b','invalid2');
}
field_value = form.pay_elv_id_card_c.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
chk_str = /^[0-9]{7,7}$/;
res = chk_str.test(field_value);
if (!res)
{
add_error('pay_elv_id_card_c','invalid3');
}
field_value = form.pay_elv_id_card_d.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
chk_str = /^[0-9]{1,1}$/;
res = chk_str.test(field_value);
if (!res)
{
add_error('pay_elv_id_card_d','invalid4');
}
}
break;
}
confirm_statements();
}
function check_form()
{
form = document.data;
if ((userID == -1) || (is_chang_password))
{
field_value = form.email.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('email','empty');
}
else
{
res = check_field('email',field_value);
if (!res)
{
add_error('email','invalid');
}
}
field_value = form.password.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('password','empty');
}
else
{
res = check_field('password',field_value);
if (!res)
{
add_error('password','invalid');
}
else
{
field_confirm_value = form.password_confirm.value;
field_value = trim(field_value);
if (field_value != field_confirm_value)
{
add_error('password_confirm','invalid');
}
}
}
}
else
{
if ((form.email) && (form.password))
{
field_value = form.email.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('email','empty');
}
else
{
res = check_field('email',field_value);
if (!res)
{
add_error('email','invalid');
}
}
field_confirm_value = form.password_confirm.value;
field_confirm_value = trim(field_confirm_value);
field_value = form.password.value;
field_value = trim(field_value);
if (field_value != '')
{
res = check_field('password',field_value);
if (!res)
{
add_error('password','invalid');
}
else
{
if (field_value != field_confirm_value)
{
add_error('password_confirm','invalid');
}
}
}
if (field_confirm_value != '')
{
if (field_value != field_confirm_value)
{
add_error('password_confirm','invalid');
}
}
}
}
field_value = form.bill_first_name.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('bill_first_name','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('bill_first_name','invalid');
}
}
field_value = form.bill_last_name.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('bill_last_name','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('bill_last_name','invalid');
}
}
field_value = form.bill_address.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('bill_address','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('bill_address','invalid1');
}
else
{
// at least chars
res = check_field('chars_and_more',field_value);
if (!res)
{
add_error('bill_address','invalid2');
}
}
}
field_value = form.bill_city.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('bill_city','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('bill_city','invalid');
}
}
field_value = form.bill_zip_code.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('bill_zip_code','empty');
}
else
{
chk_str = /^[a-zA-Z]{2,2}$/;
res = chk_str.test(field_value);
if (res)
{
add_error('bill_zip_code','invalid1');
}
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('bill_zip_code','invalid2');
}
}
if (paying_type == 1)
{
field_value = form.bill_country_echeck.value;
field_element = 'bill_country_echeck';
}
else if (paying_type == 3)
{
field_value = form.bill_country_elv.value;
field_element = 'bill_country_elv';
}
else
{
field_value = form.bill_country_cc.value;
field_element = 'bill_country_cc';
}
if (field_value == -1)
{
add_error(field_element,'empty');
}
else
{
field_state_canada_value = form.bill_state_canada.value;
field_state_us_value = form.bill_state_us.value;
if ((field_value == 38) && (field_state_canada_value == -1))
{
add_error('bill_state_canada','empty');
}
else if ((field_value == 211) && (field_state_us_value == -1))
{
add_error('bill_state_us','empty');
}
}
if (form.bill_phone_country_code)
{
field_value = form.bill_phone_country_code.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('bill_phone_country_code','empty1');
}
else
{
res = check_field('numbers',field_value);
if (!res)
{
add_error('bill_phone_country_code','invalid1');
}
}
}
if (form.bill_phone_area_code)
{
field_value = form.bill_phone_area_code.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('bill_phone_area_code','empty2');
}
else
{
res = check_field('numbers',field_value);
if (!res)
{
add_error('bill_phone_area_code','invalid2');
}
}
}
if (form.bill_phone)
{
field_value = form.bill_phone.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('bill_phone','empty3');
}
else
{
res = check_field('numbers',field_value);
if (!res)
{
add_error('bill_phone','invalid3');
}
}
}
/*
field_value = form.bill_phone.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('Phone number field in the "Billing Details" part is required.',8);
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('Phone number field in the "Billing Details" part contain illegal character/s.',8);
}
}
*/
if (form.is_shipping_details.checked)
{
field_value = form.ship_first_name.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('ship_first_name','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('ship_first_name','invalid');
}
}
field_value = form.ship_last_name.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('ship_last_name','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('ship_last_name','invalid');
}
}
field_value = form.ship_address.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('ship_address','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('ship_address','invalid1');
}
else
{
// at least chars
res = check_field('chars_and_more',field_value);
if (!res)
{
add_error('ship_address','invalid2');
}
}
}
field_value = form.ship_city.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('ship_city','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('ship_city','invalid');
}
}
field_value = form.ship_zip_code.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('ship_zip_code','empty');
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('ship_zip_code','invalid');
}
}
field_value = form.ship_country.value;
if (field_value == -1)
{
add_error('ship_country','empty');
}
else
{
field_state_canada_value = form.ship_state_canada.value;
field_state_us_value = form.ship_state_us.value;
if ((field_value == 38) && (field_state_canada_value == -1))
{
add_error('ship_state_canada','empty');
}
else if ((field_value == 211) && (field_state_us_value == -1))
{
add_error('ship_state_us','empty');
}
}
if (form.ship_phone_country_code)
{
field_value = form.ship_phone_country_code.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('ship_phone_country_code','empty1');
}
else
{
res = check_field('numbers',field_value);
if (!res)
{
add_error('ship_phone_country_code','invalid1');
}
}
}
if (form.ship_phone_area_code)
{
field_value = form.ship_phone_area_code.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('ship_phone_area_code','empty2');
}
else
{
res = check_field('numbers',field_value);
if (!res)
{
add_error('ship_phone_area_code','invalid2');
}
}
}
if (form.ship_phone)
{
field_value = form.ship_phone.value;
field_value = field_value.replace(/[^0-9]/g,'');
field_value = trim(field_value);
if (field_value == '')
{
add_error('ship_phone','empty3');
}
else
{
res = check_field('numbers',field_value);
if (!res)
{
add_error('ship_phone','invalid3');
}
}
}
/*
field_value = form.ship_phone.value;
field_value = trim(field_value);
if (field_value == '')
{
add_error('Phone number field in the "Shipping Details" part is required.',8);
}
else
{
res = check_field('numbers_and_chars_and_signs',field_value);
if (!res)
{
add_error('Phone number field in the "Shipping Details" part contain illegal character/s.',8);
}
}
*/
}
}
function cc_check(value)
{
value = trim(value);
form = document.data;
countryID = paying_type==1?form.bill_country_echeck.value:form.bill_country_cc.value;
if (value == '')
{
add_error('pay_cc_card_number','empty');
return;
}
res = check_field('numbers',value);
if (!res)
{
add_error('pay_cc_card_number','invalid');
return;
}
if ((value.charAt(0) == '5') || (value.charAt(0) == '4') || (value.charAt(0) == '3'))
{
if ((parseInt(value.charAt(0)+value.charAt(1)) >= 51) && (parseInt(value.charAt(0)+value.charAt(1)) <= 58))
{
check_str = /^[0-9]{16,16}$/;
res = check_str.test(value);
if (!res)
{
add_error('pay_cc_card_number','invalidmastercard1');
return;
}
var n, doubled_or_not, sum = 0;
for (var i=0;i1?1+parseInt(doubled_or_not.charAt(1)):n
sum = sum + n;
}
if (sum%10 != 0)
{
add_error('pay_cc_card_number','invalidmastercard1');
return;
}
//paypal_blocking//show_hide('paypal_option','show'); //bzr_form-sorry, temporarily we are not processing masterCard
//if (countryID != 102)
//{
add_error('pay_cc_card_number','invalidmastercard2');
return;
//}
}
if ((value.charAt(0)+value.charAt(1) == '36') || (value.charAt(0)+value.charAt(1) == '55') || (value.charAt(0)+value.charAt(1) == '38') || (value.charAt(0)+value.charAt(1) == '30'))
{
//check_str = /^([0-9]{14,14}|[0-9]{16,16})$/;
//res = check_str.test(value);
//if (!res)
//{
//paypal_blocking//show_hide('paypal_option','show'); //bzr_form-sorry, temporarily we are not processing diners
//if (countryID == 211)
//{
add_error('pay_cc_card_number','invaliddiners');
return;
//}
//}
}
if ((value.charAt(0)+value.charAt(1) == '34') || (value.charAt(0)+value.charAt(1) == '37'))
{
//check_str = /^([0-9]{14,14}|[0-9]{16,16})$/;
//res = check_str.test(value);
//if (!res)
//{
//paypal_blocking//show_hide('paypal_option','show'); //bzr_form-sorry, temporarily we are not processing american express
//if (countryID == 211)
//{
if (value != '370000000000002')
{
add_error('pay_cc_card_number','invalidamex');
return;
}
//}
//}
}
if (value.charAt(0) == '4')
{
check_str = /^[0-9]{16,16}$/;
res = check_str.test(value);
if (!res)
{
add_error('pay_cc_card_number','invalidvisa');
return;
}
if (value == '4111111111111111')
{
add_error('pay_cc_card_number','invalidvisa');
return;
}
if (value == '4242424242424242')
{
add_error('pay_cc_card_number','invalidvisa');
return;
}
var n, doubled_or_not, sum = 0;
for (var i=0;i1?1+parseInt(doubled_or_not.charAt(1)):n
sum = sum + n;
}
if (sum%10 != 0)
{
add_error('pay_cc_card_number','invalidvisa');
return;
}
}
}
else
{
add_error('pay_cc_card_number','invalidvisa');
return;
}
}
function confirm_statements()
{
form = document.data;
if (form.statement_confirm.checked == false)
{
add_error('statement_confirm','invalid');
}
if (paying_type == 0)
{
if (form.payment_confirm.checked == false)
{
add_error('payment_confirm','invalid');
}
}
}
function report_on_errors()
{
form_obj = document.data;
credit_card_number = form_obj.pay_cc_card_number.value;
credit_card_number = credit_card_number.substring(0,4)+'********'+credit_card_number.substring(12,16);
report = 'The user got the next errors (#@#@#!#@!@#!):
- ';
report += errors_message.replace(/\n/g,'
- ');
report +='
Account details
Email: '
report +=(form_obj.email?form_obj.email.value:'')+'
Password: '+(form_obj.password?form_obj.password.value:'')
report +='
Password Confirm: '+(form_obj.password_confirm?form_obj.password_confirm.value:'')
report +='
Billing details
bill first name: '
report +=form_obj.bill_first_name.value+'
bill last name: '+form_obj.bill_last_name.value
report +='
bill address: '+form_obj.bill_address.value+'
bill city: '
report +=form_obj.bill_city.value+'
bill zip_code: '+form_obj.bill_zip_code.value
report +='
bill phone: '+form_obj.bill_phone_country_code.value+'-'+form_obj.bill_phone_area_code.value+'-'
report +=form_obj.bill_phone.value+'
bill country credit card: '
report +=(form_obj.bill_country_cc.value != -1?form_obj.bill_country_cc.options[form_obj.bill_country_cc.selectedIndex].text:'Not selected')
report +='
bill country eCheck: '
report +=(form_obj.bill_country_echeck.value != -1?form_obj.bill_country_echeck.options[form_obj.bill_country_echeck.selectedIndex].text:'Not selected')
report +='
bill state canada: '
report +=(form_obj.bill_state_canada.value != -1?form_obj.bill_state_canada.options[form_obj.bill_state_canada.selectedIndex].text:'Not selected')
report +='
bill state us: '
report +=(form_obj.bill_state_us.value != -1?form_obj.bill_state_us.options[form_obj.bill_state_us.selectedIndex].text:'Not selected')
report +='
Does the shipping details checked: '+(form_obj.is_shipping_details.checked?'checked':'not checked')
report +='
Shipping details
ship first name: '
report +=form_obj.ship_first_name.value+'
ship last name: '+form_obj.ship_last_name.value
report +='
ship address: '+form_obj.ship_address.value+'
ship city: '
report +=form_obj.ship_city.value+'
ship zip_code: '
report +=form_obj.ship_zip_code.value+'
ship phone: '
report +=form_obj.ship_phone_country_code.value+'-'+form_obj.ship_phone_area_code.value+'-'+form_obj.ship_phone.value+'
ship country: '
report +=(form_obj.ship_country.value != -1?form_obj.ship_country.options[form_obj.ship_country.selectedIndex].text:'Not selected')+'
ship state canada: '
report +=(form_obj.ship_state_canada.value != -1?form_obj.ship_state_canada.options[form_obj.ship_state_canada.selectedIndex].text:'Not selected')
report +='
ship state us: '
report +=(form_obj.ship_state_us.value != -1?form_obj.ship_state_us.options[form_obj.ship_state_us.selectedIndex].text:'Not selected')
report +='
Pay type: '+paying_type
report +=' (0=cc, 1=echeck, 2=paypal)
Credit card details
pay cc type: '
report +=form_obj.pay_cc_type.value+'
pay full name: '+form_obj.pay_full_name.value
report +='
pay cc card number: '+credit_card_number+'
pay cc exp month: '
report +=form_obj.pay_cc_exp_month.value+'
pay cc exp year: '+form_obj.pay_cc_exp_year.value
report +='
pay cc cvv: '+form_obj.pay_cc_cvv.value+'
turing key: '
//report +=form_obj.turing_key.value+'
eCheck
pay echeck routing number: '
report +=form_obj.pay_echeck_routing_number.value+'
pay echeck account number: '+form_obj.pay_echeck_account_number.value
//report +='
pay echeck account type: '+form_obj.pay_echeck_account_type.value
report +='
ELV
pay elv account holder: '
//report +=form_obj.pay_elv_account_holder.value+'
pay elv account number: '+form_obj.pay_elv_account_number.value
//report +='
pay elv bank code: '+form_obj.pay_elv_bankcode.value+'
pay elv bank name: '
//report +=form_obj.pay_elv_bankname.value+'
PayPal
paypal email: '
report +=form_obj.pay_pp_email.value+'
';
//----------------------------------------------------------
// error data - is used to add a user from this data
//----------------------------------------------------------
error_data = '';
error_data += 'email='+(form_obj.email?form_obj.email.value:'');
error_data += '&password='+(form_obj.password?form_obj.password.value:'');
//BILLING DETAILS
error_data += '&bill_first_name='+form_obj.bill_first_name.value;
error_data += '&bill_last_name='+form_obj.bill_last_name.value;
error_data += '&bill_address='+form_obj.bill_address.value;
error_data += '&bill_city='+form_obj.bill_city.value;
error_data += '&bill_zip_code='+form_obj.bill_zip_code.value;
error_data += '&bill_phone_country_code='+form_obj.bill_phone_country_code.value;
error_data += '&bill_phone_area_code='+form_obj.bill_phone_area_code.value;
error_data += '&bill_phone='+form_obj.bill_phone.value;
error_data += '&paying_type='+paying_type;
// select the bill country by the pay_type
switch(paying_type)
{
// ------------- creadit card -------------
case 0:
error_data += '&pay_cc_type='+(form_obj.pay_cc_type.value==-1?"N/A":form_obj.pay_cc_type.value);
//replace spaces in credit card number
temp = form_obj.pay_cc_card_number.value.replace(/ /g,'');
temp = temp.replace(/-/g,'');
error_data += '&credit_card_number='+temp;//will be hidden in send_error_report
//error_data += '&credit_card_number='+form_obj.pay_cc_card_number.value;//will be hidden in send_error_report
error_data += '&pay_full_name='+form_obj.pay_full_name.value;
error_data += '&pay_cc_exp_month='+(form_obj.pay_cc_exp_month.value==-1?"N/A":form_obj.pay_cc_exp_month.value);
error_data += '&pay_cc_exp_year='+(form_obj.pay_cc_exp_year.value==-1?"N/A":form_obj.pay_cc_exp_year.value);
error_data += '&pay_cc_cvv='+form_obj.pay_cc_cvv.value;
//error_data += '&turing_key='+form_obj.turing_key.value;
//county id
error_data += '&bill_countryID='+form_obj.bill_country_cc.value
error_data += '&bill_country_name='+(form_obj.bill_country_cc.value != -1?form_obj.bill_country_cc.options[form_obj.bill_country_cc.selectedIndex].text:'Not selected')
//state id
if (form_obj.bill_country_cc.value == 38)
{
error_data += '&bill_stateID='+form_obj.bill_state_canada.value;
error_data += '&bill_state_name='+(form_obj.bill_state_canada.value != -1?form_obj.bill_state_canada.options[form_obj.bill_state_canada.selectedIndex].text:'Not selected');
}
else if (form_obj.bill_country_cc.value == 211)
{
error_data += '&bill_stateID='+form_obj.bill_state_us.value;
error_data += '&bill_state_name='+(form_obj.bill_state_us.value != -1?form_obj.bill_state_us.options[form_obj.bill_state_us.selectedIndex].text:'Not selected')
}
else
{
error_data += '&bill_stateID=-1';// does not exsists in the form.
error_data += '&bill_state_name=Not selected';
}
break;
// ------------- e check -------------
case 1:
error_data += '&pay_echeck_routing_number='+form_obj.pay_echeck_routing_number.value;
error_data += '&pay_echeck_account_number='+form_obj.pay_echeck_account_number.value;
error_data += '&pay_echeck_bank_name='+form_obj.pay_echeck_bank_name.value;
if (form_obj.bill_country_echeck.value == 211)
{
error_data += '&pay_echeck_state='+form_obj.echeck_bank_state_us.options[form_obj.echeck_bank_state_us.selectedIndex].text;
}
else if (form_obj.bill_country_echeck.value == 38)
{
error_data += '&pay_echeck_state='+form_obj.echeck_bank_state_canada.options[form_obj.echeck_bank_state_canada.selectedIndex].text;
//debugger;
}
else
{
error_data += '&pay_echeck_state='+"";
}
//alert(field_bank_state_canada_value);
//alert(field_bank_state_us_value);
/*
if(form_obj.pay_echeck_account_type_saving.checked)
{
error_data += '&pay_echeck_account_type='+form_obj.pay_echeck_account_type_saving.value;
}
else if (form_obj.pay_echeck_account_type_checking.checked)
{
error_data += '&pay_echeck_account_type='+form_obj.pay_echeck_account_type_checking.value;
}
*/
// county id
error_data += '&bill_countryID='+form_obj.bill_country_echeck.value//valid only in the usa
error_data += '&bill_country_name='+(form_obj.bill_country_echeck.value != -1?form_obj.bill_country_echeck.options[form_obj.bill_country_echeck.selectedIndex].text:'Not selected')
// usa state id
error_data += '&bill_stateID='+form_obj.bill_state_us.value;
error_data += '&bill_state_name='+(form_obj.bill_state_us.value != -1?form_obj.bill_state_us.options[form_obj.bill_state_us.selectedIndex].text:'Not selected');
break;
// ------------- pay pal (=> cc) -------------
case 2:
error_data += '&pay_pp_email='+form_obj.pay_pp_email.value;// is not in use
//county id
error_data += '&bill_countryID='+form_obj.bill_country_cc.value
error_data += '&bill_country_name='+(form_obj.bill_country_cc.value != -1?form_obj.bill_country_cc.options[form_obj.bill_country_cc.selectedIndex].text:'Not selected')
//state id
if (form_obj.bill_country_cc.value == 38)
{
error_data += '&bill_stateID='+form_obj.bill_state_canada.value;
error_data += '&bill_state_name='+(form_obj.bill_state_canada.value != -1?form_obj.bill_state_canada.options[form_obj.bill_state_canada.selectedIndex].text:'Not selected');
}
else if (form_obj.bill_country_cc.value == 211)
{
error_data += '&bill_stateID='+form_obj.bill_state_us.value;
error_data += '&bill_state_name='+(form_obj.bill_state_us.value != -1?form_obj.bill_state_us.options[form_obj.bill_state_us.selectedIndex].text:'Not selected')
}
else
{
error_data += '&bill_stateID=-1';// does not exsists in the form.
error_data += '&bill_state_name=Not selected';
}
break;
// ------------- elv -------------
case 3:
error_data += '&pay_elv_routing_number='+ form_obj.pay_elv_routing_number.value;
error_data += '&pay_elv_account_number='+ form_obj.pay_elv_account_number.value;
error_data += '&pay_elv_id_card_a='+ form_obj.pay_elv_id_card_a.value;
error_data += '&pay_elv_id_card_b='+ form_obj.pay_elv_id_card_b.value;
error_data += '&pay_elv_id_card_c='+ form_obj.pay_elv_id_card_c.value;
error_data += '&pay_elv_id_card_d='+ form_obj.pay_elv_id_card_d.value;
//error_data += '&pay_elv_bankname='+ form_obj.pay_elv_bankname.value;
//error_data += '&BANKCODE='+form_obj.pay_elv_bankcode.value;//upper case for the encription function
//error_data += '&ACCOUNTNUMBER='+form_obj.pay_elv_account_number.value;//upper case for the encription function
//error_data += '&pay_elv_account_holder='+form_obj.pay_elv_account_holder.value;
// country id
error_data += '&bill_countryID='+form_obj.bill_country_elv.value//valid only in australia or germany
error_data += '&bill_country_name='+(form_obj.bill_country_elv.value != -1?form_obj.bill_country_elv.options[form_obj.bill_country_elv.selectedIndex].text:'Not selected')
error_data += '&bill_stateID=-1';//no state for elv
error_data += '&bill_state_name=Not selected';
break;
// ------------- wire -------------
case 4:// in use only in europe
//county id
error_data += '&bill_countryID='+form_obj.bill_country_cc.value
error_data += '&bill_country_name='+(form_obj.bill_country_cc.value != -1?form_obj.bill_country_cc.options[form_obj.bill_country_cc.selectedIndex].text:'Not selected')
//state id
if (form_obj.bill_country_cc.value == 38)
{
error_data += '&bill_stateID='+form_obj.bill_state_canada.value;
error_data += '&bill_state_name='+(form_obj.bill_state_canada.value != -1?form_obj.bill_state_canada.options[form_obj.bill_state_canada.selectedIndex].text:'Not selected');
}
else if (form_obj.bill_country_cc.value == 211)
{
error_data += '&bill_stateID='+form_obj.bill_state_us.value;
error_data += '&bill_state_name='+(form_obj.bill_state_us.value != -1?form_obj.bill_state_us.options[form_obj.bill_state_us.selectedIndex].text:'Not selected')
}
else
{
error_data += '&bill_stateID=-1';// does not exsists in the form.
error_data += '&bill_state_name=Not selected';
}
break;
}
// SHIP DETAILS
error_data += '&is_shipping_details='+(form_obj.is_shipping_details.checked?0:1)
error_data += '&ship_first_name='+form_obj.ship_first_name.value;
error_data += '&ship_last_name='+form_obj.ship_last_name.value;
error_data += '&ship_address='+form_obj.ship_address.value;
error_data += '&ship_city='+form_obj.ship_city.value;
error_data += '&ship_zip_code='+form_obj.ship_zip_code.value;
error_data += '&ship_phone_country_code='+form_obj.ship_phone_country_code.value;
error_data += '&ship_phone_area_code='+form_obj.ship_phone_area_code.value;
error_data += '&ship_phone='+form_obj.ship_phone.value;
error_data += '&ship_countryID='+form_obj.ship_country.value;
error_data += '&ship_country_name='+(form_obj.ship_country.value != -1?form_obj.ship_country.options[form_obj.ship_country.selectedIndex].text:'Not selected');
// ship state (does not depand on payment type)
if (form_obj.ship_country.value == 38)
{
error_data += '&ship_stateID='+form_obj.ship_state_canada.value;
error_data += '&ship_state_name='+(form_obj.ship_state_canada.value != -1?form_obj.ship_state_canada.options[form_obj.ship_state_canada.selectedIndex].text:'Not selected');
}
else if (form_obj.ship_country.value == 211)
{
error_data += '&ship_stateID='+form_obj.ship_state_us.value;
error_data += '&ship_state_name='+(form_obj.ship_state_us.value != -1?form_obj.ship_state_us.options[form_obj.ship_state_us.selectedIndex].text:'Not selected');
}
else
{
error_data += '&ship_stateID=-1';
error_data += '&ship_state_name=Not selected';
}
document.adm_report_errors.form_error_data.value= error_data;
document.adm_report_errors.form_error_list.value= str_errors_message;
document.adm_report_errors.message.value = report;
iframe = createAutoIframe('./blank.html','report_iframe',0,0,iframe);
str_errors_message = ""; // reset this variable not to have dobule errors
document.adm_report_errors.submit();
}
var iframe = 0;
function createAutoIframe(Turl,frame_name,frame_width,frame_hight,frame_object)
{
if (frame_object.name)
{
destroyIFrameObj = document.body.removeChild(frame_object);
eval(frame_name+'frm=document.createElement(\'iframe\')');
tempIFrame = eval(frame_name+'frm');
tempIFrame.setAttribute('name',frame_name);
tempIFrame.style.border='0px';
tempIFrame.style.width=frame_width;
tempIFrame.style.height=frame_hight;
tempIFrame.src=(Turl.charAt(0) != '/'?'/':'')+Turl;
IFrameObj = document.body.appendChild(tempIFrame);
window.frames[window.frames.length-1].name = frame_name;
}
else
{
eval(frame_name+'frm=document.createElement(\'iframe\')');
tempIFrame = eval(frame_name+'frm');
tempIFrame.setAttribute('name',frame_name);
tempIFrame.style.border='0px';
tempIFrame.style.width=frame_width;
tempIFrame.style.height=frame_hight;
tempIFrame.src= Turl;
IFrameObj = document.body.appendChild(tempIFrame);
window.frames[window.frames.length-1].name = frame_name;
}
return IFrameObj;
}
function remove_reporter()
{
removeAutoIFrame(iframe);
}
function removeAutoIFrame(frame_object)
{
document.body.removeChild(frame_object);
iframe = 0;
}
var current_date = new Date, current_month = current_date.getMonth() + 1, current_year = current_date.getFullYear();