//Regions AJAX stuff function Enviar(params){ $('region_div').innerHTML = 'Loading...'; $('provinces_div').innerHTML = ''; var url = "/ajax/regions.php"; var request = new Ajax.Request( url, { method: 'post', parameters: params, onComplete: Receptor, onSuccess: Success, onFailure: Failure, onException: function(request, exception) { alert("Js Exception: " + exception.message); } } ); } function Receptor(result){ if(result.status == 200){ if(result.responseText == 'forbidden' || result.responseText == 'error'){ $('region_div').innerHTML = 'Error inesperado, por favor recargue la pagina.'; }else{ $('region_div').innerHTML = result.responseText; ValidRegion = new Spry.Widget.ValidationSelect("region_div",{isRequired:true, validateOn:['blur','change']}); } } } function getProvinces(params){ if($('country').value == "67"){ //Code for spain $('provinces_div').innerHTML = 'Loading...'; var url = "/ajax/provinces.php"; var request = new Ajax.Request( url, { method: 'post', parameters: params, onComplete: ProvincesReceptor, onSuccess: Success, onFailure: Failure, onException: function(request, exception) { alert("Js Exception: " + exception.message); } } ); } } function ProvincesReceptor(result){ if(result.status == 200){ if(result.responseText == 'forbidden' || result.responseText == 'error'){ $('provinces_div').innerHTML = 'Error inesperado, por favor recargue la pagina.'; }else{ $('provinces_div').innerHTML = result.responseText; ValidProvince = new Spry.Widget.ValidationSelect("provinces_div",{isRequired:true}); } } } function Success(result){ //alert('success'); } function Failure(result, detail){ alert('failure'); } //End of regions //CHECK USERNAMES function CheckUser(username){ if(validUser1.validate()){ $('checkUserPreloader').style.display = ''; $('userAvailableSpan').style.display = 'none'; $('userUnavailableSpan').style.display = 'none'; var url = "/ajax/checkuser.php"; var request = new Ajax.Request( url, { method: 'post', parameters: 'user='+username, onComplete: CheckUserReceptor, onSuccess: Success, onFailure: Failure, onException: function(request, exception) { alert("Js Exception: " + exception.message); } } ); } } function CheckUserReceptor(result){ $('checkUserPreloader').style.display = 'none'; if(result.status == 200){ if(result.responseText == 'free'){ $('userAvailableSpan').style.display = ''; }else{ $('userUnavailableSpan').style.display = ''; } } } //Function to execute when a placement radio is checked function accomodationChange(num){ if(num == 2){ $('accomodation2_detail_div').style.display = ''; }else{ $('accomodation2_detail_div').style.display = 'none'; } } //Function to execute when the student type is selected function studentTypeChange(num){ if(num == 6){ $('careerSelect').style.display = ''; $('otherCareerDesc').style.display = 'none'; }else{ $('careerSelect').style.display = 'none'; $('otherCareerDesc').style.display = ''; } } //Function to execute when the university is selected function universityChange(num){ if(num == 1){ $('otherUniversitySpan').style.display = ''; }else{ $('otherUniversitySpan').style.display = 'none'; } } //Spry validation stuff var passwordStrength = function(value, options){ if (value.length < 6 || value.length > 20) return false; var RegExPattern = /^[a-zA-Z\d-_#]{6,20}$/i; if (!value.match(RegExPattern)) return false; return true; } var validUser = function(value, options){ if (value.length < 3 || value.length > 20) return false; var RegExPattern = /^[a-zA-Z\d-_]{3,20}$/i; if (!value.match(RegExPattern)) return false; return true; } var validRePass = function(value, options){ if(value == document.getElementById('password').value){ return true; }else{ return false; } } //Function to execute before the submit() function preSubmit(){ var bAllOk = true; if(!passwordFunction.validate()){ bAllOk = false; } if(!validUser1.validate()){ bAllOk = false; } if(!Email.validate()){ bAllOk = false; } if(!validRePass1.validate()){ bAllOk = false; } if(!validNames.validate()){ bAllOk = false; } if(!validSurname.validate()){ bAllOk = false; } if(!ValidErasmus.validate()){ bAllOk = false; } if(!ValidSex.validate()){ bAllOk = false; } if(!ValidAccomodation.validate()){ bAllOk = false; } if(!ValidPlacement.validate()){ bAllOk = false; } if(!ValidFriendship.validate()){ bAllOk = false; } if(!ValidCountry.validate()){ bAllOk = false; } if(!ValidRegion.validate()){ bAllOk = false; } if($('country').value == "67"){ //67 is the code for spain if(!ValidProvince.validate()){ bAllOk = false; } } if(!validCity.validate()){ bAllOk = false; } if(!ValidBirthplace.validate()){ bAllOk = false; } if($('university').value == "1"){ if(!validUniversityText.validate()){ bAllOk = false; } } if($('student_type').value == "6"){ if(!ValidCareer.validate()){ bAllOk = false; } }else{ if(!validCareerText.validate()){ bAllOk = false; } } if(!ValidUniversity.validate()){ bAllOk = false; } if(!ValidStudent.validate()){ bAllOk = false; } if(!ValidTyc.validate()){ bAllOk = false; } //Validate Image type if(document.form1.image.value){ var file = document.form1.image.value.split("."); var numkeys = file.length; var type = file[numkeys-1]; if(type.toUpperCase() == "JPG" || type.toUpperCase() == "JPEG" || type.toUpperCase() == "GIF" || type.toUpperCase() == "PNG"){ //all ok! $('imageStatus').style.display = 'none'; }else{ bAllOk = false; $('imageStatus').style.display = ''; } }else{ $('imageStatus').style.display = 'none'; } if(!checkdate($('month').value,$('day').value,$('year').value)){ bAllOk = false; $('dateStatus').style.display = ''; }else{ $('dateStatus').style.display = 'none'; } if(bAllOk == true){ $('formStatus').style.display = 'none'; $('form1').submit(); }else{ $('formStatus').style.display = ''; } } //TextField validation var passwordFunction = new Spry.Widget.ValidationTextField("passwordLabel", "custom", {validation: passwordStrength, validateOn:["blur"]}); var validUser1 = new Spry.Widget.ValidationTextField("nameLabel", "custom", {validation: validUser, validateOn:["blur"]}); var Email = new Spry.Widget.ValidationTextField("emailLabel", "email", {validateOn:["change"]}); var validRePass1 = new Spry.Widget.ValidationTextField("retypePasswordLabel", "custom", {validation: validRePass, validateOn:["blur"]}); var validNames = new Spry.Widget.ValidationTextField("namesLabel","none", {isRequired:true,maxChars:128, validateOn:["blur"]}); var validSurname = new Spry.Widget.ValidationTextField("surnameLabel","none", {isRequired:true,maxChars:128, validateOn:["blur"]}); var validCity = new Spry.Widget.ValidationTextField("cityLabel","none", {isRequired:true,maxChars:128, validateOn:["blur"]}); var validUniversityText = new Spry.Widget.ValidationTextField("otherUniversitySpan","none", {isRequired:true,maxChars:128, validateOn:["blur"]}); var validCareerText = new Spry.Widget.ValidationTextField("otherCareerDesc","none", {isRequired:true,maxChars:128, validateOn:["blur"]}); //Radio validation var ValidErasmus = new Spry.Widget.ValidationRadio("erasmusDiv", {isRequired:true, validateOn:["change", "blur"]}); var ValidSex = new Spry.Widget.ValidationRadio("sexDiv", {isRequired:true, validateOn:["change", "blur"]}); var ValidAccomodation = new Spry.Widget.ValidationRadio("placement_radios", {isRequired:true, validateOn:["change", "blur"]}); //var ValidAccomodation = new Spry.Widget.ValidationRadio("accomodationDiv", {isRequired:true, validateOn:["change", "blur"]}); //var ValidPlacement = new Spry.Widget.ValidationRadio("placement_option_radios", {isRequired:true, validateOn:["change", "blur"]}); //var ValidFriendship = new Spry.Widget.ValidationRadio("friendship_option_radios", {isRequired:true, validateOn:["change", "blur"]}); //Selects validation var ValidCountry = new Spry.Widget.ValidationSelect("countryDiv",{isRequired:true, validateOn:['blur','change']}); var ValidRegion = new Spry.Widget.ValidationSelect("region_div",{isRequired:true, validateOn:['blur','change']}); var ValidProvince = new Spry.Widget.ValidationSelect("provinces_div",{isRequired:true}); var ValidBirthplace = new Spry.Widget.ValidationSelect("birthPlaceDiv",{isRequired:true, validateOn:['blur','change']}); var ValidUniversity = new Spry.Widget.ValidationSelect("universityLabel",{isRequired:true, validateOn:['blur','change']}); var ValidStudent = new Spry.Widget.ValidationSelect("studentTypeLabel",{isRequired:true, validateOn:['blur','change']}); var ValidCareer = new Spry.Widget.ValidationSelect("careerSelect",{isRequired:true, validateOn:['blur','change']}); //TextArea validation var ValidAboutMe = new Spry.Widget.ValidationTextarea("aboutMeDiv", {maxChars:1000, counterType:"chars_remaining", counterId:"about_me_counter", validateOn:["change"]}); //Checkboxes validation var ValidFriendship = new Spry.Widget.ValidationCheckbox("friendship_option_checks", {minSelections:1, maxSelections:2, validateOn:["change", "blur"]}); var ValidPlacement = new Spry.Widget.ValidationCheckbox("placement_option_checks", {minSelections:1, validateOn:["change", "blur"]}); var ValidTyc = new Spry.Widget.ValidationCheckbox("tycSpan", {minSelections:1, validateOn:["change", "blur"]});