// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

var show_button = 0;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
strPhone=trim(strPhone)
s=stripCharsInBag(strPhone,"()+-");


if (s.substring(0,1) == '1')  // delete leading 1
{
   s = substring(1,s.length);
}
return (isInteger(s) && s.length == 10) ;
}

function clean_phone()
{
	var Phone    = document.input_form.phone;
    s = Phone.value;
    s = trim(s);
	s = stripCharsInBag(s,"()+-");
	
    if (s.substring(0,1) == '1' || s.substring(0,1) == '0' )  // delete leading 1 or 0
    {
       s = s.substring(1,s.length);
    }
	document.input_form.phone.value = s.substring(0,3) + "-" + s.substring(3,6) + "-" + s.substring(6,10) + s.substring(10,15);
}	



function getCalendarDate()
{
   var months = new Array(13);
   months[0]  = "January";
   months[1]  = "February";
   months[2]  = "March";
   months[3]  = "April";
   months[4]  = "May";
   months[5]  = "June";
   months[6]  = "July";
   months[7]  = "August";
   months[8]  = "September";
   months[9]  = "October";
   months[10] = "November";
   months[11] = "December";
   var now         = new Date();
   var monthnumber = now.getMonth();
   var monthname   = months[monthnumber];
   var monthday    = now.getDate();
   var year        = now.getYear();
   if(year < 2000) { year = year + 1900; }
   var dateString = monthname +
                    ' ' +
                    monthday +
                    ', ' +
                    year;
   return dateString;
}
 
function past_date()
{
   var days = 0;
   var difference = 0;
   
   deadline = new Date("November 1, 2010");
   today = new Date();
   if(deadline - today > 0)
       return false; 
   else
       return true;   
}


function check_email(e) {
ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

for(i=0; i < e.length ;i++){
if(ok.indexOf(e.charAt(i))<0){ 
return (false);
}	
} 

if (document.images) {
re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (!e.match(re) && e.match(re_two)) {
return (-1);		
} 

}

}
   
function load_time()
{
	document.getElementById('date_field').innerHTML = getCalendarDate();

	var t = document.getElementById("type");
    t.options[0].selected = 1;
		

	
	// d1();
	// new_application();
	// var t = document.getElementById("t");
	// t.style.display="none";
	
}	  

function new_application()
{
		
	var n_r    = document.input_form.renewal.value
	var t = document.getElementById("t");
	
    t.style.display="inline";
	rate_options();
}	

function rate_options()
{
	var rate1 = document.getElementById("rate1"); 
	
	var rate2 = document.getElementById("rate2"); 
	
	var t =     document.getElementById("t");
	
	var n_r    = document.input_form.renewal.value
	
	rate0.style.display="none";
		
    if(n_r == "renewal" || (n_r == "new" && past_date()) )   // if renewal use rate2
	{
		rate2.style.display="inline";
		rate1.style.display="none";
    }		
	
    if (n_r == "new")
	{
	    rate2.style.display="none";
	    rate1.style.display="inline";
    }  
    
    if (n_r == "")
    {
		rate1.style.display="none";
	    rate2.style.display="none";
	    rate0.style.display="inline";
    }  
    
    
    if(n_r == "renewal")
        t.style.display="inline";
    else 
        t.style.display="none";    
    
    
    
    
}

function d1()
{
	var region    = document.input_form.state.value;
    st_abrx       = region.substring(0,2);
	region        = region.substring(2,3);
	
	document.getElementById('region').innerHTML = region; 
 	document.getElementById('st_abr').innerHTML = st_abrx;
}


function fix_fnumber()
{
	var fnumber  = document.input_form.fnumber.value
	
	var fcode  = fnumber.substr(0,1)
	fcode      = fcode.toUpperCase();
	
	var number = fnumber.substr(1);  // starting after code get what ever is left 
     
	number = trim(number)            //  remove any spaces
    n_len  = 6 - number.length;      //  compute how man zeros to add ... 
    var ab = '0';
    while(n_len > 0)
    {
       number = ab.concat(number);  
       n_len--; 
    }
	
    fnumber = fcode + number;
    
    if (( (  fcode == 'F' || fcode == 'S' || fcode == 'D' || fcode == 'L' ||  fcode == 'C' ) && isInteger(number) 
             && fnumber.length == 7))
    {
        document.input_form.fnumber.value = fnumber;    
	} 
	   
	  
	   
	  
}	   

function validate_form (action)
{

	valid = true
	var n_r      = document.input_form.renewal.value
	var years    = document.input_form.years.value
	var Phone    = document.input_form.phone
	var fnumber  = document.input_form.fnumber.value
	var l_name   = document.input_form.l_name.value
	var f_name   = document.input_form.f_name.value
	var so       = document.input_form.so.value
	var addr1    = document.input_form.addr1.value
	var addr2    = document.input_form.addr2.value
	var city     = document.input_form.city.value
	var state    = document.input_form.state.value
	var zip      = document.input_form.zip.value
	var phone    = document.input_form.phone.value
	var email    = document.input_form.email.value
	var h_sel    = document.input_form.h.value
	var p_sel    = document.input_form.p.value
	var v_sel    = document.input_form.v.value
	var m_sel    = document.input_form.m.value
	


	
	var number = fnumber.substr(1,6)
       fnumber = trim(fnumber)        //  remove any spaces
	   fnumber = fnumber.toUpperCase()
	
	document.paypal_form.os0.value = "";  // clear hidden variable ... 
	
	if(n_r == "new")   // use rate1
	{
        document.paypal_form.os0.value = document.input_form.rate1.value ;	   
        years = document.input_form.rate1.value ;
        document.input_form.years.value = years;
    } 
          
	if(n_r == "renewal")   // use rate2) 
	{ 
        document.paypal_form.os0.value = document.input_form.rate2.value 
        years = document.input_form.rate2.value ;
        document.input_form.years.value = years;
    }
           
	   
   if (fnumber == "" && n_r == "new")
	  {
	   alert("Please enter your FMCA number.\nYou must first become a member of FMCA\nbefore you can join the chapter.")
	   valid = false
	   return valid	   
	   }

	if (fnumber == "" && n_r == "renewal")
	  {
	   alert("You can't renew if you don't have a vaild FMCA number.")
	   valid = false
	   return valid	   
	   }   
	
	     
    if (( (  fnumber.charAt(0) != "F" && fnumber.charAt(0) != "S" && fnumber.charAt(0) != "D" && fnumber.charAt(0) != "L" &&  fnumber.charAt(0) != "C" ) || isInteger(number) == false || number.length != 6))
       {
	     alert("The FMCA member number you entered is not valid.\n Should be like: F012345. A letter and 6 digits.")
	     valid = false
	     return valid	   
	   } 
	   
	 
   	if (n_r == "")
	{
	   alert("Please indicate if this is a new application or a renewal.")
	   valid = false
	   return valid	   
	}
    
    
	if (years == "")
	{
	   alert("Please indicate the period you wish to pay.")
	   valid = false
	   return valid	   
	}
	
	
	
	 
	   
	if (l_name == "" || f_name == "") 
	     {
		 alert("Please enter name")
         return false;
		 }
		 
	if (addr1 == "")
	     {
		 alert("Please enter street address.")
         return false;
		 }

	if (city == "")
	     {
		 alert("Please enter city.")
         return false;
		 }	 
		 
	if (state == "")
	     {
		 alert("Please enter State or Province.")
         return false;
		 }		 
		 
		 
   	if (zip == "")
	     {
		 alert("Please enter Zip or PC.")
		 return false;
		 }		 
	
	if ((Phone.value==null)||(Phone.value=="")){
		alert("Please Enter your Phone Number")
		// Phone.focus()
		return false
	}
	if (checkInternationalPhone(Phone.value)==false){
		alert("Please Enter your phone number like this: 444-333-9999")
		//Phone.value=""
		// Phone.focus()
		return false
	}	 
		  
    if( !check_email(email) ) 
    {
	     alert("email address looks incorrect or missing")   
	     return false;
    }    	
    
    if (n_r == "renewal")
    {
         if (document.input_form.changes.value == "")      
       
         {
	     alert("Please indicate if your information has changed.")   
	     return false;
         } 
    }  
        
    if  (document.input_form.h.checked == false)
	{ 
	       h_sel = '_'
    }
	
    if  (document.input_form.p.checked == false)
	{ 
	        p_sel = '_'
    }  
          
    if  (document.input_form.v.checked == false)
	{ 
	       v_sel = '_'
    }
          
    if  (document.input_form.m.checked == false)
	{ 
	        m_sel = '_'
    }
    
    if (n_r == "new")
    {
	       h_sel = '_'
	       p_sel = '_'
	       v_sel = '_'
	       m_sel = '_'
	}          
     
	
    if  (document.input_form.changes.value == "" || (n_r == "new") )
	      { 
	        changed = 'Z'
          }
    else if (document.input_form.changes.value == "0")
          { 
	        changed = 'N'
          }
    else  { 
	        changed = 'Y'
          }      
          
          
          
                       
     
    	 

    document.paypal_form.os2.value = n_r;	                                        
    document.paypal_form.os1.value = fnumber;
                     
   
    var phone_number = stripCharsInBag(Phone.value,validWorldPhoneChars);  
        
    document.paypal_form.first_name.value = f_name;
    document.paypal_form.last_name.value  = l_name;
    document.paypal_form.address1.value   = addr1;
    
    document.paypal_form.address2.value   = addr2;
    document.paypal_form.city.value       = city; 
    document.paypal_form.state.value      = state.substring(0,2);
    var region = state.substring(2,3);
    document.paypal_form.zip.value        = zip;
    
    
    document.paypal_form.email.value = email; 
    
    document.paypal_form.night_phone_a.value  = phone_number.substring(0,3);
    document.paypal_form.night_phone_b.value  = phone_number.substring(3,6);
    document.paypal_form.night_phone_c.value  = phone_number.substring(6,10);
    
    phone_number = phone_number.substring(0,3) + "-" + phone_number.substring(3,6) + "-" + phone_number.substring(6,10);
        
    document.paypal_form.custom.value = n_r + "^" + region + "^" + f_name + "^" + l_name + "^" + so + "^" + phone_number + "^" + email + "^" + changed + h_sel + p_sel + v_sel + m_sel + 'C';  
       
    if (action == 1)
	{ 
      document.forms["paypal_form"].submit(); 		
	}
	else
	{
	 window.print();
    }	
}



