/* DDB - 041031 - Form Field Progress Bar */
/***********************************************
* Form Field Progress Bar- By Ron Jonk- http://www.euronet.nl/~jonkr/
* Modified by Dynamic Drive for minor changes
* Script featured/ available at Dynamic Drive- http://www.dynamicdrive.com
* Please keep this notice intact
***********************************************/
function textCounter(field,counter,maxlimit,linecounter) {
	// text width//
	var fieldWidth =  parseInt(field.offsetWidth);
	var charcnt = field.value.length;        
	// trim the extra text
	if (charcnt > maxlimit) { 
		field.value = field.value.substring(0, maxlimit);
	} else { 
	// progress bar percentage
	var percentage = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit) ;
	document.getElementById(counter).style.width =  parseInt((fieldWidth*percentage)/100)+"px";
	document.getElementById(counter).innerHTML="Limit: "+percentage+"%"
	// color correction on style from CCFFF -> CC0000
	setcolor(document.getElementById(counter),percentage,"background-color");
	}
}
function setcolor(obj,percentage,prop){
	obj.style[prop] = "rgb(80%,"+(100-percentage)+"%,"+(100-percentage)+"%)";
}


var form = "";
var submitted = false;
var error = false;
var error_message = "";


function check_email(field_name)
        {
        var blnRetval, intAtSign, intDot, intComma, intSpace, intLastDot, intDomain, intStrLen;
        if (form.elements[field_name]){
                       intAtSign=form.elements[field_name].value.indexOf("@");
                        intDot=form.elements[field_name].value.indexOf(".",intAtSign);
                        intComma=form.elements[field_name].value.indexOf(",");
                        intSpace=form.elements[field_name].value.indexOf(" ");
                        intLastDot=form.elements[field_name].value.lastIndexOf(".");
                        intDomain=intDot-intAtSign;
                        intStrLen=form.elements[field_name].value.length;
                // *** CHECK FOR BLANK EMAIL VALUE
                   if (form.elements[field_name].value == "" )
                   {
				error_message = error_message + "* " + 'Please enter the Recipient\'s E-Mail address.' + "\n";
                form.elements[field_name].focus();
                error = true;
                }
                // **** CHECK FOR THE  @ SIGN?
                else if (intAtSign == -1)
                {

                error_message = error_message + "* " + 'The Recipient\'s E-Mail address is missing the \"@\"' + "\n";
                        form.elements[field_name].focus();
                error = true;

                }
                // **** Check for commas ****

                else if (intComma != -1)
                {
                error_message = error_message + "* " + 'The Recipient\'s E-Mail address cannot contain a comma.' + "\n";
                form.elements[field_name].focus();
                error = true;
                }

                // **** Check for a space ****

                else if (intSpace != -1)
                {
                error_message = error_message + "* " + 'The Recipient\'s E-Mail address cannot contain spaces.' + "\n";
                form.elements[field_name].focus();
                error = true;
                }

                // **** Check for char between the @ and dot, chars between dots, and at least 1 char after the last dot ****

                else if ((intDot <= 2) || (intDomain <= 1)  || (intStrLen-(intLastDot+1) < 2))
                {
                error_message = error_message + "* " + 'Please enter a valid E-Mail address. ' + form.elements[field_name].value + ' is invalid.' + "\n";
                form.elements[field_name].focus();
                error = true;
                }
        }
  }



function check_input(field_name, field_size, message) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var field_value = form.elements[field_name].value;

    if (field_value == '' || field_value.length < field_size) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_radio(field_name, message) {
  var isChecked = false;

  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var radio = form.elements[field_name];

    for (var i=0; i<radio.length; i++) {
      if (radio[i].checked == true) {
        isChecked = true;
        break;
      }
    }

    if (isChecked == false) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_select(field_name, field_default, message) {
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    var field_value = form.elements[field_name].value;

    if (field_value == field_default) {
      error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_password(field_name_1, field_name_2, field_size, message_1, message_2) {
  if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
    var password = form.elements[field_name_1].value;
    var confirmation = form.elements[field_name_2].value;

    if (password == '' || password.length < field_size) {
      error_message = error_message + "* " + message_1 + "\n";
      error = true;
    } else if (password != confirmation) {
      error_message = error_message + "* " + message_2 + "\n";
      error = true;
    }
  }
}

function check_password_new(field_name_1, field_name_2, field_name_3, field_size, message_1, message_2, message_3) {
  if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
    var password_current = form.elements[field_name_1].value;
    var password_new = form.elements[field_name_2].value;
    var password_confirmation = form.elements[field_name_3].value;

    if (password_current == '' || password_current.length < field_size) {
      error_message = error_message + "* " + message_1 + "\n";
      error = true;
    } else if (password_new == '' || password_new.length < field_size) {
      error_message = error_message + "* " + message_2 + "\n";
      error = true;
    } else if (password_new != password_confirmation) {
      error_message = error_message + "* " + message_3 + "\n";
      error = true;
    }
  }
}

function check_form(form_name) {

  error = false;
  form = form_name;
  error_message = "";

  check_input("id[txt_2]", 1, "Please enter the Recipient\'s name");
//  check_input("id[txt_3]", 1, "<?php echo 'Please enter the Recipient\'s Email'; ?>");
  check_email("id[txt_3]");
// <?php if (ACCOUNT_GENDER == 'true') echo '  check_radio("gender", "' . ENTRY_GENDER_ERROR . '");' . "\n"; ?>
  check_input("id[txt_4]", 1, "Please enter the Sender\'s name");


//  check_select("country", "", "<?php echo ENTRY_COUNTRY_ERROR; ?>");

//  check_input("telephone", <?php echo ENTRY_TELEPHONE_MIN_LENGTH; ?>, "<?php echo ENTRY_TELEPHONE_NUMBER_ERROR; ?>");

//  check_password("password", "confirmation", <?php echo ENTRY_PASSWORD_MIN_LENGTH; ?>, "<?php echo ENTRY_PASSWORD_ERROR; ?>", "<?php echo ENTRY_PASSWORD_ERROR_NOT_MATCHING; ?>");
//  check_password_new("password_current", "password_new", "password_confirmation", <?php echo ENTRY_PASSWORD_MIN_LENGTH; ?>, "<?php echo ENTRY_PASSWORD_ERROR; ?>", "<?php echo ENTRY_PASSWORD_NEW_ERROR; ?>", "<?php echo ENTRY_PASSWORD_NEW_ERROR_NOT_MATCHING; ?>");

  if (error == true) {
    alert(error_message);
    return false;
  } else {
    submitted = true;
    return true;
  }
}
function getElement(id) {
return document.getElementById ? document.getElementById(id) :
document.all ? document.all(id) : null;
}

function showProduct(box) {
el = getElement(box.value);
if (el) el.style.display = (box.checked) ? '' : 'none';
}
