//Now the functions to put in the separate paypal.js file (in addition to all
//the other code)

//This function sets the value of the hidden state and state_bill fields to
//the user selected ones
function validate_submit(){
     setStates();
     return validate_creditCard_form();
}

//This function sets the div wrapping the separate shipping address inputs to
//display if the user clicks the checkbox
function billing(){
     if(document.getElementById('ship').checked==true){
          document.getElementById('billing_addre').style.display = '';
     }
     if(document.getElementById('ship').checked==false){
          document.getElementById('billing_addre').style.display = 'none';
     }
}

//This function sets the value of the hidden state and state_bill fields to the
//value of the selected state in the state dropdown depending on the country (or
//blank if the selected country doesn't require a state/province)
function setStates(){
     document.PayPpalForm.state.value = getState(document.PayPpalForm.country.value,0);
     document.PayPpalForm.state_bill.value = getState(document.PayPpalForm.country_bill.value,1);
}

//This function passes to the setStates() function the correct state/province dropdown
//to use (depending on which country is selected)
function getState(cntry,bill){
     var shipping;
     if(bill==0){
          shipping = "";
     } else {
          shipping = "_bill";
     }
     var id = cntry+"-select"+shipping;
     return document.getElementById(id).value;
}


//This function writes to the document the select elements (dropdowns) for each
//country containing the correct states/provinces for the 6 different countries that
//require one.  These can also be just written write in the form but I chose to do it
//this way to reduce clutter.
function listStates(cntry,bill){
     var shipping;
     if(bill==0){
          shipping = "";
     } else {
          shipping = "_bill";
     }
     if(cntry=="US"){
          document.write("<select id='US-select"+shipping+"' style='margin-left:140px;' size='1'><option value=''>---</option><option value='AL'>Alabama</option><option value='AK'>Alaska</option><option value='AZ'>Arizona</option><option value='AR'>Arkansas</option><option value='CA'>California</option><option value='CO'>Colorado</option><option value='CT'>Connecticut</option><option value='DE'>Delaware</option><option value='DC'>Dist of Columbia</option><option value='FL'>Florida</option><option value='GA'>Georgia</option><option value='HI'>Hawaii</option><option value='ID'>Idaho</option><option value='IL'>Illinois</option><option value='IN'>Indiana</option><option value='IA'>Iowa</option><option value='KS'>Kansas</option><option value='KY'>Kentucky</option><option value='LA'>Louisiana</option><option value='ME'>Maine</option><option value='MD'>Maryland</option><option value='MA'>Massachusetts</option><option value='MI'>Michigan</option><option value='MN'>Minnesota</option><option value='MS'>Mississippi</option><option value='MO'>Missouri</option><option value='MT'>Montana</option><option value='NE'>Nebraska</option><option value='NV'>Nevada</option><option value='NH'>New Hampshire</option><option value='NJ'>New Jersey</option><option value='NM'>New Mexico</option><option value='NY'>New York</option><option value='NC'>North Carolina</option><option value='ND'>North Dakota</option><option value='OH'>Ohio</option><option value='OK'>Oklahoma</option><option value='OR'>Oregon</option><option value='PA'>Pennsylvania</option><option value='RI'>Rhode Island</option><option value='SC'>South Carolina</option><option value='SD'>South Dakota</option><option value='TN'>Tennessee</option><option value='TX'>Texas</option><option value='UT'>Utah</option><option value='VT'>Vermont</option><option value='VA'>Virginia</option><option value='WA'>Washington</option><option value='WV'>West Virginia</option><option value='WI'>Wisconsin</option><option value='WY'>Wyoming</option></select>");
     } if(cntry=="CA"){
          document.write("<select id='CA-select"+shipping+"' style='margin-left:102px' size='1' onChange='setBillState(this.value);'><option value=''>---</option><option value='Alberta'>Alberta</option><option value='British Columbia'>British Columbia</option><option value='Manitoba'>Manitoba</option><option value='New Brunswick'>New Brunswick</option><option value='Newfoundland'>Newfoundland</option><option value='Nova Scotia'>Nova Scotia</option><option value='Nunavut'>Nunavut</option><option value='Northwest Territories'>Northwest Territories</option><option value='Ontario'>Ontario</option><option value='Prince Edward Island'>Prince Edward Island</option><option value='Quebec'>Quebec</option><option value='Saskatchewan'>Saskatchewan</option></select>");
     } if(cntry=="ES"){
          document.write("<select id='ES-select"+shipping+"' style='margin-left:87px' size='1'><option value=''>---</option><option value='Alava'>Alava</option><option value='Albacete'>Albacete</option><option value='Alicante'>Alicante</option><option value='Almeria'>Almeria</option><option value='Asturias'>Asturias</option><option value='Avila'>Avila</option><option value='Badajoz'>Badajoz</option><option value='Barcelona'>Barcelona</option><option value='Burgos'>Burgos</option><option value='Caceres'>Caceres</option><option value='Cadiz'>Cadiz</option><option value='Cantabria'>Cantabria</option><option value='Castellon'>Castellon</option><option value='Ceuta'>Ceuta</option><option value='Ciudad Real'>Ciudad Real</option><option value='Cordoba'>Cordoba</option><option value='Cuenca'>Cuenca</option><option value='Guadalajara'>Guadalajara</option><option value='Girona'>Girona</option><option value='Granada'>Granada</option><option value='Guipuzcoa'>Guipuzcoa</option><option value='Huelva'>Huelva</option><option value='Huesca'>Huesca</option><option value='Islas Baleares'>Islas Baleares</option><option value='Jaen'>Jaen</option><option value='La Coruna'>La Coruna</option><option value='Las Palmas'>Las Palmas</option><option value='La Rioja'>La Rioja</option><option value='Leon'>Leon</option><option value='Lerida'>Lerida</option><option value='Lugo'>Lugo</option><option value='Madrid'>Madrid</option><option value='Malaga'>Malaga</option><option value='Melilla'>Melilla</option><option value='Murcia'>Murcia</option><option value='Navarra'>Navarra</option><option value='Orense'>Orense</option><option value='Palencia'>Palencia</option><option value='Pontevedra'>Pontevedra</option><option value='Salamanca'>Salamanca</option><option value='Santa Cruz de Tenerife'>Santa Cruz de Tenerife</option><option value='Segovia'>Segovia</option><option value='Sevilla'>Sevilla</option><option value='Soria'>Soria</option><option value='Tarragona'>Tarragona</option><option value='Teruel'>Teruel</option><option value='Toledo'>Toledo</option><option value='Valencia'>Valencia</option><option value='Valladolid'>Valladolid</option><option value='Vizcaya'>Vizcaya</option><option value='Zamora'>Zamora</option><option value='Zaragoza'>Zaragoza</option></select>");
     } if(cntry=="IT"){
          document.write("<select id='IT-select"+shipping+"' style='margin-left:87px' size='1'><option value=''>---</option><option value='Agrigento'>Agrigento</option><option value='Alessandria'>Alessandria</option><option value='Ancona'>Ancona</object><option value='Aosta'>Aosta</object><option value='L\'Aquila'>L'Aquila</object><option value='Arezzo'>Arezzo</option><option value='Ascoli Piceno'>Ascoli Piceno</option><option value='Asti'>Asti</option><option value='Avellino'>Avellino</option><option value='Bari'>Bari</option><option value='Belluno'>Belluno</option><option value='Benevento'>Benevento</option><option value='Bergamo'>Bergamo</option><option value='Biella'>Biella</option><option value='Bologna'>Bologna</option><option value='Bolzano'>Bolzano</option><option value='Brescia'>Brescia</option><option value='Brindisi'>Brindisi</option><option value='Cagliari'>Cagliari</option><option value='Caltanissetta'>Caltanissetta</option><option value='Campobasso'>Campobasso</option><option value='Carbonia-Iglesias'>Carbonia-Iglesias</option><option value='Caserta'>Caserta</option><option value='Catania'>Catania</option><option value='Catanzaro'>Catanzaro</option><option value='Chieti'>Chieti</option><option value='Como'>Como</option><option value='Cosenza'>Cosenza</option><option value='Cremona'>Cremona</option><option value='Crotone'>Crotone</option><option value='Cuneo'>Cuneo</option><option value='Enna'>Enna</option><option value='Ferrara'>Ferra</option><option value='Firenze'>Firenze</option><option value='Foggia'>Foggia</option><option value='Forli'>Forli</option><option value='Frosinone'>Frosinone</option><option value='Genova'>Genova</option><option value='Gorizia'>Gorizia</option><option value='Grosseto'>Grosseto</option><option value='Imperia'>Imperia</option><option value='Isernia'>Isernia</option><option value='Latina'>Latina</option><option value='Lecce'>Lecce</option><option value='Lecco'>Lecco</option><option value='Livorno'>Livorno</option><option value='Lodi'>Lodi</option><option value='Lucca'>Lucca</option><option value='Macerata'>Macerata</option><option value='Mantova'>Mantova</option><option value='Massa Carrara'>Massa Carrara</option><option value='Matera'>Matera</option><option value='Medio Campidano'>Medio Campidano</option><option value='Messina'>Messina</option><option value='Milano'>Milano</option><option value='Modena'>Modena</option><option value='Napoli'>Napoli</option><option value='Novara'>Novara</option><option value='Nuoro'>Nuoro</option><option value='Ogliastra'>Ogliastra</option><option value='Olbia-Tempio'>Olbia-Tempio</option><option value='Oristano'>Oristano</option><option value='Padova'>Padova</option><option value='Palermo'>Palermo</option><option value='Parma'>Parma</option><option value='Pavia'>Pavia</option><option value='Perugia'>Perugia</option><option value='Pesaro'>Pesaro</option><option value='Pescara'>Pescara</option><option value='Piacenza'>Piacenza</option><option value='Pisa'>Pisa</option><option value='Pistoia'>Pistoia</option><option value='Pordenone'>Pordenonezz</option><option value='Potenza'>Potenza</option><option value='Prato'>Prato</option><option value='Ragusa'>Ragusa</option><option value='Ravenna'>Ravenna</option><option value='Reggio Calabria'>Reggio Calabria</option><option value='Reggio Emilia'>Reggio Emilia</option><option value='Rieti'>Rieti</option><option value='Rimini'>Rimini</option><option value='Roma'>Roma</option><option value='Rovigo'>Rovigo</option><option value='Salerno'>Salerno</option><option value='Sassari'>Sassari</option><option value='Savona'>Savona</option><option value='Siena'>Siena</option><option value='Siracusa'>Siracusa</option><option value='Sondrio'>Sondrio</option><option value='La Spezia'>La Spezia</option><option value='Taranto'>Taranto</option><option value='Teramo'>Teramo</option><option value='Terni'>Terni</option><option value='Torino'>Torino</option><option value='Trapani'>Trapani</option><option value='Trento'>Trento</option><option value='Treviso'>Treviso</option><option value='Trieste'>Trieste</option><option value='Udine'>Udine</option><option value='Varese'>Varese</option><option value='Venezia'>Venezia</option><option value='Berbania-Cusio-Ossola'>Berbania-Cusio-Ossola</option><option value='Vercelli'>Vercelli</option><option value='Verona'>Verona</option><option value='Vibo Valentia'>Vibo Valentia</option><option value='Vicenza'>Vicenza</option><option value='Viterbo'>Viterbo</option></select>");
     } if(cntry=="GB"){
          document.write("<select id='GB-select"+shipping+"' style='margin-left:59px' size='1'><option value=''>---</option><optGroup label='England:'><option value='Avon'>Avon</option><option value='Bedfordshire'>Bedfordshire</option><option value='Berkshire'>Berkshire</option><option value='Bristol'>Bristol</option><option value='Buckinghamshire'>Buckinghamshire</option><option value='Cambridgeshire'>Cambridgeshire</option><option value='Cheshire'>Cheshire</option><option value='Cleveland'>Cleveland</option><option value='Cornwall'>Cornwall</option><option value='Cumbria'>Cumbria</option><option value='Derbyshire'>Derbyshire</option><option value='Devon'>Devon</option><option value='Dorset'>Dorset</option><option value='Durham'>Durham</option><option value='East Riding of Yorkshire'>East Riding of Yorkshire</option><option value='East Sussex'>East Sussex</option><option value='Essex'>Essex</option><option value='Gloucestershire'>Gloucestershire</option><option value='Greater Manchester'>Greater Manchester</option><option value='Hampshire'>Hampshire</option><option value='Herefordshire'>Herefordshire</option><option value='Hertfordshire'>Hertfordshire</option><option value='Humberside'>Humberside</option><option value='Isle of Wight'>Isle of Wight</option><option value='Isles of Scilly'>Isles of Scilly</option><option value='Kent'>Kent</option><option value='Lancashire'>Lancashire</option><option value='Leicestershire'>Leicestershire</option><option value='Lincolnshire'>Lincolnshire</option><option value='London'>London</option><option value='Merseyside'>Merseyside</option><option value='Middlesex'>Middlesex</option><option value='Norfolk'>Norfolk</option><option value='North Yorkshire'>North Yorkshire</option><option value='Northamptonshire'>Northamptonshire</option><option value='Northumberland'>Northumberland</option><option value='Nottinghamshire'>Nottinghamshire</option><option value='Oxfordshire'>Oxfordshire</option><option value='Rutland'>Rutland</option><option value='Shropshire'>Shropshire</option><option value='Somerset'>Somerset</option><option value='South Yorkshire'>South Yorkshire</option><option value='Staffordshire'>Staffordshire</option><option value='Suffolk'>Suffolk</option><option value='Surrey'>Surrey</option><option value='Tyne and Wear'>Tyne and Wear</option><option value='Warwickshire'>Warwickshire</option><option value='West Midlands'>West Midlands</option><option value='West Sussex'>West Sussex</option><option value='West Yorkshire'>West Yorkshire</option><option value='Wiltshire'>Wiltshire</option><option value='Worcestershire'>Worcestershire</option></optgroup><optgroup label='Northern Ireland'><option value='Antrim'>Antrim</option><option value='Armagh'>Armagh</option><option value='Down'>Down</option><option value='Fermanagh'>Fermanagh</option><option value='Londonderry'>Londonderry</option><option value='Tyrone'>Tyrone</option></optgroup><optgroup label='Scotland'><option value='Aberdeen City'>Aberdeen City</option><option value='Aberdeenshire'>Aberdeenshire</option><option value='Angus'>Angus</option><option value='Argyll and Bute'>Argyll and Bute</option><option value='Borders'>Borders</option><option value='Clackmannan'>Clackmannan</option><option value='Dumfries and Galloway'>Dumfries and Galloway</option><option value='East Ayrshire'>East Ayrshire</option><option value='East Dunbartonshire'>East Dunbartonshire</option><option value='East Lothian'>East Lothian</option><option value='East Renfrewshire'>East Renfrewshire</option><option value='Edinburgh City'>Edinburgh City</option><option value='Falkirk'>Falkirk</option><option value='Fife'>Fife</option><option value='Glasgow'>Glasgow</option><option value='Highland'>Highland</option><option value='Inverclyde'>Inverclyde</option><option value='Midlothian'>Midlothian</option><option value='Moray'>Moray</option><option value='North Ayrshire'>North Ayrshire</option><option value='North Lanarkshire'>North Lanarkshire</option><option value='Orkney'>Orkney</option><option value='Perthshire and Kinross'>Perthshire and Kinross</option><option value='Renfrewshire'>Renfrewshire</option><option value='Roxburghshire'>Roxburghshire</option><option value='Shetland'>Shetland</option><option value='South Ayrshire'>South Ayrshire</option><option value='South Lanarkshire'>South Lanarkshire</option><option value='Stirling'>Stirling</option><option value='West Dunbartonshire'>West Dunbartonshire</option><option value='West Lothian'>West Lothian</option><option value='Western Isles'>Western Isles</option></optgroup><optgroup label='Unitary Authority of Wales'><option value='Blaenau Gwent'>Blaenau Gwent</option><option value='Bridgend'>Bridgend</option><option value='Caerphilly'>Caerphilly</option><option value='Cardiff'>Cardiff</option><option value='Carmarthenshire'>Carmarthenshire</option><option value='Ceredigion'>Ceredigion</option><option value='Conwy'>Conwy</option><option value='Denbighshire'>Denbighshire</option><option value='Flintshire'>Flintshire</option><option value='Gwynedd'>Gwynedd</option><option value='Isle of Anglesey'>Isle of Anglesey</option><option value='Merthyr Tydfil'>Merthyr Tydfil</option><option value='Monmouthshire'>Monmouthshire</option><option value='Neath Port Talbot'>Neath Port Talbot</option><option value='Newport'>Newport</option><option value='Pembrokeshire'>Pembrokeshire</option><option value='Powys'>Powys</option><option value='Rhondda Cynon Taff'>Rhondda Cynon Taff</option><option value='Swansea'>Swansea</option><option value='Torfaen'>Torfaen</option><option value='The Vale of Glamorgan'>The Vale of Glamorgan</option><option value='Wrexham'>Wrexham</option></optgroup><optgroup label='UK Offshore Dependencies'><option value='Channel Islands'>Channel Islands</option><option value='Isle Of Man'>Isle Of Man</option></optgroup></select>");
     } if(cntry=="JP"){
          document.write("<select id='JP-select"+shipping+"' style='margin-left:183px' size='1'><option value=''>---</option><option value='Hokkaido'>Hokkaido</option><option value='Aomori'>Aomori</option><option value='Iwate'>Iwate</option><option value='Miyagi'>Miyagi</option><option value='Akita'>Akita</option><option value='Yamagata'>Yamagata</option><option value='Fukushima'>Fukushima</option><option value='Ibaraki'>Ibaraki</option><option value='Tochigi'>Tochigi</option><option value='Gunma'>Gunma</option><option value='Saitama'>Saitama</option><option value='Chiba'>Chiba</option><option value='Tokyo'>Tokyo</option><option value='Kanagawa'>Kanagawa</option><option value='Niigata'>Niigata</option><option value='Toyama'>Toyama</option><option value='Ishikawa'>Ishikawa</option><option value='Fukui'>Fukui</option><option value='Yamanashi'>Yamanashi</option><option value='Nagano'>Nagano</option><option value='Gifu'>Gifu</option><option value='Shizuoka'>Shizuoka</option><option value='Aichi'>Aichi</option><option value='Mie'>Mie</option><option value='Shiga'>Shiga</option><option value='Kyoto'>Kyoto</option><option value='Osaka'>Osaka</option><option value='Hyogo'>Hyogo</option><option value='Nara'>Nara</option><option value='Wakayama'>Wakayama</option><option value='Tottori'>Tottori</option><option value='Shimane'>Shimane</option><option value='Okayama'>Okayama</option><option value='Hiroshima'>Hiroshima</option><option value='Yamaguchi'>Yamaguchi</option><option value='Tokushima'>Tokushima</option><option value='Kagawa'>Kagawa</option><option value='Ehime'>Ehime</option><option value='Kochi'>Kochi</option><option value='Fukuoka'>Fukuoka</option><option value='Saga'>Saga</option><option value='Nagasaki'>Nagasaki</option><option value='Kumamoto'>Kumamoto</option><option value='Oita'>Oita</option><option value='Miyazaki'>Miyazaki</option><option value='Kagoshima'>Kagoshima</option><option value='Okinawa'>Okinawa</option></select>");
     } if(cntry=="AU"){
          document.write("<select id='JP-select"+shipping+"' style='margin-left:183px' size='1'><option value=''>---</option><option value='Australian Territory'>Australian Territory</option><option value='Australian Capital Territory'>Australian Capital Territory</option><option value='New South Wales'>New South Wales</option><option value='Northern Territory'>Northern Territory</option><option value='Queensland'>Queensland</option><option value='South Australia'>South Australia</option><option value='Tasmania'>Tasmania</option><option value='Victoria'>Victoria</option><option value='Western Australia'>Western Australia</option></select></select>");
     }
}

//This is the function that actually changes which state/province dropdown is displayed
//depending on which country the user has selected.  It works by setting the div wrapping
//the correct dropdown to display:inline and setting all the others to display:none.
function changeCountry(cntry,bill){
     var shipping;
     if(bill==0){
          shipping = "";
     } else {
          shipping = "_bill";
     }
     if(cntry=="US"){
          document.getElementById('usstates'+shipping).style.display = 'inline';
          document.getElementById('castates'+shipping).style.display = 'none';
          document.getElementById('esstates'+shipping).style.display = 'none';
          document.getElementById('itstates'+shipping).style.display = 'none';
          document.getElementById('gbstates'+shipping).style.display = 'none';
          document.getElementById('jpstates'+shipping).style.display = 'none';
          document.getElementById('austates'+shipping).style.display = 'none';
     } else if(cntry=="CA"){
          document.getElementById('usstates'+shipping).style.display = 'none';
          document.getElementById('castates'+shipping).style.display = 'inline';
          document.getElementById('esstates'+shipping).style.display = 'none';
          document.getElementById('itstates'+shipping).style.display = 'none';
          document.getElementById('gbstates'+shipping).style.display = 'none';
          document.getElementById('jpstates'+shipping).style.display = 'none';
          document.getElementById('austates'+shipping).style.display = 'none';
     } else if(cntry=="ES"){
          document.getElementById('usstates'+shipping).style.display = 'none';
          document.getElementById('castates'+shipping).style.display = 'none';
          document.getElementById('esstates'+shipping).style.display = 'inline';
          document.getElementById('itstates'+shipping).style.display = 'none';
          document.getElementById('gbstates'+shipping).style.display = 'none';
          document.getElementById('jpstates'+shipping).style.display = 'none';
          document.getElementById('austates'+shipping).style.display = 'none';
     } else if(cntry=="IT"){
          document.getElementById('usstates'+shipping).style.display = 'none';
          document.getElementById('castates'+shipping).style.display = 'none';
          document.getElementById('esstates'+shipping).style.display = 'none';
          document.getElementById('itstates'+shipping).style.display = 'inline';
          document.getElementById('gbstates'+shipping).style.display = 'none';
          document.getElementById('jpstates'+shipping).style.display = 'none';
          document.getElementById('austates'+shipping).style.display = 'none';
     } else if(cntry=="GB"){
          document.getElementById('usstates'+shipping).style.display = 'none';
          document.getElementById('castates'+shipping).style.display = 'none';
          document.getElementById('esstates'+shipping).style.display = 'none';
          document.getElementById('itstates'+shipping).style.display = 'none';
          document.getElementById('gbstates'+shipping).style.display = 'inline';
          document.getElementById('jpstates'+shipping).style.display = 'none';
          document.getElementById('austates'+shipping).style.display = 'none';
     } else if(cntry=="JP"){
          document.getElementById('usstates'+shipping).style.display = 'none';
          document.getElementById('castates'+shipping).style.display = 'none';
          document.getElementById('esstates'+shipping).style.display = 'none';
          document.getElementById('itstates'+shipping).style.display = 'none';
          document.getElementById('gbstates'+shipping).style.display = 'none';
          document.getElementById('jpstates'+shipping).style.display = 'inline';
          document.getElementById('austates'+shipping).style.display = 'none';
     } else if(cntry=="AU"){
          document.getElementById('usstates'+shipping).style.display = 'none';
          document.getElementById('castates'+shipping).style.display = 'none';
          document.getElementById('esstates'+shipping).style.display = 'none';
          document.getElementById('itstates'+shipping).style.display = 'none';
          document.getElementById('gbstates'+shipping).style.display = 'none';
          document.getElementById('jpstates'+shipping).style.display = 'none';
          document.getElementById('austates'+shipping).style.display = 'inline';
     } else {
          document.getElementById('statelabel'+shipping).style.display = 'none';
          document.getElementById('usstates'+shipping).style.display = 'none';
          document.getElementById('castates'+shipping).style.display = 'none';
          document.getElementById('esstates'+shipping).style.display = 'none';
          document.getElementById('itstates'+shipping).style.display = 'none';
          document.getElementById('gbstates'+shipping).style.display = 'none';
          document.getElementById('jpstates'+shipping).style.display = 'none';
          document.getElementById('austates'+shipping).style.display = 'none';
     }
}
 
