String.prototype.trim=function(){return this.replace(/^\s+|\s+$/,"")};var ApplicationForm={Modal:null,Id:null,Name:null,Email:null,Phone:null,Mode:null,IEFixCounter:null,ModeType:{Register:0,Apply:1},Upload:null,UploadFileDetails:null,Errors:null,UploadButton:null,AdditionalInfo:null,FileName:null,Init:function(){var a=this;a.IEFixCounter=0;this.Modal=$("#registerModal").jqm({overlay:60,closeClass:"closeImg",modal:true,toTop:true,onHide:function(b){a.ResetModal(b)},onShow:function(b){a.IE6Fix(b)}});this.Modal.find("input.submit").click(function(){a.Submit();return false});this.Id=this.Modal.find("input[type=hidden]");this.Name=this.Modal.find("input.name");this.Email=this.Modal.find("input.email");this.Phone=this.Modal.find("input.phone");this.AdditionalInfo=this.Modal.find("textarea.additional");this.UploadButton=this.Modal.find("#upload_button");this.UploadFileDetails=this.Modal.find("div.UploadFileDetails");$(".registerOverlay").click(function(){a.Register()});$(".apply").click(function(){a.Apply(a)})},IE6Fix:function(b){var a=this;a.IEFixCounter++;b.w.show();setTimeout(function(){a.Modal.find(".submit").addClass("ie6fix"+a.IEFixCounter)},0);this.CreateUploadForm()},CreateUploadForm:function(){var a=this;this.Upload=new AjaxUpload("upload_button",{action:"/Apps/Recruitment/Vacancy/Application.ashx",name:"Upload",data:null,autoSubmit:false,responseType:"json",onChange:function(b,c){a.FileChanged(b,c)},onSubmit:function(b,c){a.Sending(b,c)},onComplete:function(c,b){a.Complete(c,b)}})},FileChanged:function(b,f){var c="doc,docx,txt";var e=c.split(",");var d=false;for(var a=0;a<e.length;a++){if(e[a]==f){d=true;break}}if(d){this.FileName=b;this.UploadFileDetails.text("File selected: "+b);this.UploadFileDetails.addClass("showFileDetails")}else{this.FileName=null;this.UploadFileDetails.text("");this.UploadFileDetails.removeClass("showFileDetails");alert("You have selected an invalid file type")}},Register:function(){this.ResetModal();this.Mode=this.ModeType.Register;this.Modal.jqmShow()},Apply:function(a){this.ResetModal();this.Id.val(g_VacancyId);this.Modal.addClass("apply");this.Modal.find("h1 span").text("Apply for vacancy");var b=this.Modal.find("h2.jobTitle").show();b.find("span").text(g_Position+" ("+g_Reference+")");this.Modal.find(".additionalContainer").show();this.Mode=this.ModeType.Apply;this.Modal.jqmShow()},Submit:function(){var a=this;if(!this.IsFormValid()){this.DisplayErrors();return false}var b=a.GetData();this.Upload.setData(b);this.Upload.submit();return false},GetData:function(){if(this.Mode==null){return null}if(this.Mode==this.ModeType.Register){return{Id:this.Id.val(),Name:this.Name.val(),Email:this.Email.val(),Phone:this.Phone.val()}}else{return{Id:this.Id.val(),Name:this.Name.val(),Email:this.Email.val(),Phone:this.Phone.val(),AdditionalInfo:this.AdditionalInfo.val()}}},IsFormValid:function(){this.Errors=new Array();if(this.Name.val().trim()==""){this.Errors[this.Errors.length]="Please enter your name"}if(this.Email.val().trim()==""){this.Errors[this.Errors.length]="Please enter your email address"}else{var a=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;if(!a.test(this.Email.val())){this.Errors[this.Errors.length]="Please enter a valid email address"}}if(this.Phone.val().trim()==""){this.Errors[this.Errors.length]="Please enter your contact telephone number"}if(this.FileName==null){this.Errors[this.Errors.length]="Please select your CV"}return this.Errors.length<=0},DisplayErrors:function(){var a="";if(this.Errors!=null){for(var b=0;b<this.Errors.length;b++){a+="+ "+this.Errors[b]+"\n"}if(a.length>0){a="The following errors must be completed before you can submit the form:\n"+a;alert(a)}}},ResetModal:function(b){var a=this.Modal;this.Id.val("");this.Name.val("");this.Email.val("");this.Phone.val("");this.AdditionalInfo.val("");this.Modal.removeClass("apply");this.Modal.find("input.submit").css({position:"absolute"});a.find("h1 span").text("Register my details");a.find("h2.jobTitle").hide();a.find(".additionalContainer").val("").hide();this.UploadFileDetails.removeClass("showFileDetails");this.Mode=null;this.Upload=null;this.FileName=null;if(b){b.w.hide();b.o.remove()}},Sending:function(a,b){this.Upload.disable();this.UploadButton.addClass("buttonUploading")},Complete:function(b,a){this.Upload.enable();this.Modal.jqmHide();this.UploadButton.removeClass("buttonUploading");if(a.Success==true){alert("Thank you, your CV was submitted successfully.")}else{alert(a.ErrorMessage);this.CreateUploadForm()}}};var g_Position;var g_Reference;var g_VacancyId;$(function(){ApplicationForm.Init()});