// JavaScript functions for forms
function populateCountry(element)
{
	country = document.getElementById("country")
    var africaArray = new Array(
        'Ethiopia', 'Somalia', 'South Africa', 'Other'
    );

    var middleeastArray = new Array(
        'Egypt', 'Iran', 'Israel', 'Kuwait', 'Lebanon', 'Morocco',
        'Saudi Arabia', 'Syria', 'Turkey', 'U.A.Emirates', 'Other'
    );

    var asiaArray = new Array(
        'Armenia', 'Bangladesh', 'Cambodia', 'China', 'India', 'Indonesia',
        'Japan', 'Malaysia', 'Myanmar', 'Nepal', 'Pakistan', 'Philippines',
        'Singapore', 'South Korea', 'Sri Lanka', 'Taiwan', 'Thailand',
        'Uzbekistan', 'Vietnam', 'Other'
    );

    var europeArray = new Array(
        'Albania', 'Austria', 'Belarus', 'Belgium', 'Bosnia', 'Bulgaria',
        'Croatia', 'Cyprus', 'Czech Rep.', 'Denmark', 'Estonia', 'Finland',
        'France', 'Germany', 'Greece', 'Hungary', 'Iceland', 'Ireland',
        'Italy', 'Latvia', 'Liechtenstein', 'Lithuania', 'Luxembourg',
        'Macedonia', 'Malta', 'Monaco', 'Netherlands', 'Norway', 'Poland',
        'Portugal', 'Romania', 'Russia', 'Slovakia', 'Slovenia', 'Spain',
        'Sweden', 'Switzerland', 'Ukraine', 'United Kingdom', 'Other'
    );

    var australiaArray = new Array('Australia', 'New Zealand', 'Other');

    var lamericaArray = new Array(
        'Costa Rica', 'Cuba', 'El Salvador', 'Guatemala', 'Haiti', 'Jamaica',
        'Mexico', 'Panama', 'Other'
    );

    var namericaArray =  new Array('Canada', 'USA', 'Other');

    var samericaArray =  new Array(
        'Argentina', 'Bolivia', 'Brazil', 'Chile', 'Colombia', 'Ecuador',
        'Paraguay', 'Peru', 'Suriname', 'Uruguay', 'Venezuela', 'Other'
    );

    if (element.value == 'none') {
        // drop countries
        while (country.options.length > 0)
            country.options[country.options.length-1] = null;
    } else {
        // get the matching array
        var selectedArray = eval(element.value+'Array');

        // drop supernumerous option
        while (selectedArray.length < country.options.length-1)
            country.options[country.options.length-1] = null;

        // add the new options
        country.options[0] = new Option('Select Country', 'none', true, true);
        for (var i=0; i < selectedArray.length; i++)
            country.options[i+1] =
                new Option(selectedArray[i], selectedArray[i]);
    } // if

} // populateCountry

function ff_valuenotempty(element, message) {
    if (element.value!='') return ''; 
    if (message=='') message = "Please enter "+element.name+".\n";
    return message;
} // ff_valuenotempty

function ff_validemail(element, message) {
    var check =
    /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!check.test(element.value)){
        if (message=='') message = element.name+" is not a valid email address.\n";
        return message;
    } // if
    return '';
} // ff_validemail

function ff_containshtml(element, message) {
    var check =
    /<[^<>]+>/;
    if (check.test(element.value)){
        if (message=='') message = element.name+" cannot contain html.\n";
        return message;
    } // if
    return '';
} // ff_validemail

/*---------------------------------------------------------------*/
/*                                                               */
/* Function  : isCreditCard()                                           */
/* Purpose   : Check if cc is LUHN10      */
/*                                                                  */
/*                                                               */
/* Parameters:     cc - the cc number                                                       */
/*                                                               */
/* Returns   : boolean                                              */
/*                                                               */
/* Usage     : isCreditCard(cc)                                           */
/*---------------------------------------------------------------*/
 
     function isCreditCard( CC ) 
     {                         
          if (CC.length > 19)
               return (false);
 
          sum = 0; mul = 1; l = CC.length;
          for (i = 0; i < l; i++) 
          {
               digit = CC.substring(l-i-1,l-i);
               tproduct = parseInt(digit ,10)*mul;
               if (tproduct >= 10)
                    sum += (tproduct % 10) + 1;
               else
                    sum += tproduct;
               if (mul == 1)
                    mul++;
               else
                    mul--;
          }
          if ((sum % 10) == 0)
               return (true);
          else
               return (false);
     }