(function($){$.fn.sform=function(b){var c=$.extend({response_text:'Search 4...',default_text:'Search 4...',field_name:'qry'},b);$('input',this).each(function(){if($(this).attr('name')==c.field_name){$(this).unbind('focus').bind('focus',function(){$(this).val($(this).val()==c.default_text?'':$(this).val())});$(this).unbind('blur').bind('blur',function(){$(this).val(!$(this).val()?c.default_text:$(this).val())})}});$(this).bind('submit',function(){var a=0;$('input',this).each(function(){if($(this).attr('name')==c.field_name&&(!$(this).val()||$(this).val()==c.response_text)||$(this).val()==c.default_text){$(this).val(c.response_text).css({color:'#a61100'}).unbind('focus').bind('focus',function(){$(this).val('').css({color:'#000'})});a++}});return(a>0?false:true)})};$.fn.jform=function(j){var k=$.extend({confirm_reset_text:'Are you sure you want to reset the entire form?',validate_postcode:true,convert_text:false,convert_textarea:false,disable_submit:true,inline_errors:true,prepend_all_errors:false},j);if(k.convert_text){$(this).find('input[type=text]').blur(function(){return convert(this)})}if(k.convert_textarea){$(this).find('textarea').blur(function(){return convert(this)})}$(this).bind('reset',function(){if(confirm(k.confirm_reset_text)){clear_errors()}else{return false}});$(this).bind('submit',function(){clear_errors();$(':input',this).each(function(){if(this.id.indexOf('_Req')!=-1){if(this.value==''||this.value==0||(this.type=='checkbox'&&this.checked==false)){error_flag(this)}else if(this.id.indexOf('E-mail')!=-1&&!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(this.value)){error_flag(this,'\''+this.value+'\' is not in a recognised format')}else if(k.validate_postcode&&this.id.indexOf('Postcode')!=-1&&$('#Country_Req').val()=='United Kingdom'){var a=check_postcode(this.value);if(!a){error_flag(this,'You must enter your full UK Postcode',true)}else{this.value=a}}else if(this.id.indexOf('Card_Number')!=-1){var b=($('#Card_Type_Req').val()=='AMEX'?15:16);if(this.value.length<b){error_flag(this,'must contain at least '+b+' characters')}}else if(this.id.indexOf('Security')!=-1){var b=($('#Card_Type_Req').val()=='AMEX'?4:3);if(this.value.length<b){error_flag(this,'must contain at least '+b+' characters')}}}else if(this.id.indexOf('Issue_Number')!=-1){var c=$('#Card_Type_Req').val();if((c.indexOf('Maestro')!=-1||c.indexOf('Switch')!=-1||c.indexOf('Solo')!=-1)&&this.value==''){alert('Issue Number must be supplied when paying by Maestro, Switch or Solo')}}});if(errors>0){var d='There '+(errors>1?'are '+errors+' problems':'is a problem')+' with the information you supplied';if(k.inline_errors){if(k.prepend_all_errors){d=nl2br(errors_text)}$(this).prepend('<div class="form_error" id="error_alert"><strong>'+d+'</strong></div>')}else{alert(d+':\n\n'+errors_text)}return false}else{if(k.disable_submit){$('button:submit',this).attr('disabled',true).css({cursor:'default',opacity:'0.5'})}return true}});function nl2br(a){return a.replace(/^\s+|\s+$/g,'').replace(/\n/gm,'<br />')};function error_flag(a,b,c){var d=(c?'':a.id.split('_Req').join('').split('_').join(' ')+' ')+(b?b:'cannot be left '+(a.type=='checkbox'?'un-checked':'blank'));if(k.inline_errors&&!k.prepend_all_errors){$('#'+a.id).parent('div').addClass('form_error').end().next().after((b===null?'<div></div>':'<div>'+d+'</div>'))}else{errors_text+=d+'\n'}error_focus(a)};function error_focus(a){if(errors==0){if(a.type=='text'||a.type=='password'||a.type=='textarea'){$('#'+a.id).focus();$('#'+a.id).select()}else{$('#'+a.id).focus()}}errors++};function clear_errors(){errors=0;errors_text='';if(k.inline_errors){$('#error_alert').remove();$('form.validate_form div').removeClass('form_error').children('div').remove()}if(k.disable_submit){$('form.validate_form button:submit').attr('disabled',false).css({cursor:'pointer',opacity:'1.0'})}};function check_postcode(a){var b="[abcdefghijklmnoprstuwyz]";var c="[abcdefghklmnopqrstuvwxy]";var d="[abcdefghjkstuw]";var e="[abehmnprvwxy]";var f="[abdefghjlnpqrstuwxyz]";var g=new Array();g.push(new RegExp("^("+b+"{1}"+c+"?[0-9]{1,2})(\\s*)([0-9]{1}"+f+"{2})$","i"));g.push(new RegExp("^("+b+"{1}[0-9]{1}"+d+"{1})(\\s*)([0-9]{1}"+f+"{2})$","i"));g.push(new RegExp("^("+b+"{1}"+c+"?[0-9]{1}"+e+"{1})(\\s*)([0-9]{1}"+f+"{2})$","i"));g.push(/^(GIR)(\s*)(0AA)$/i);g.push(/^(bfpo)(\s*)([0-9]{1,4})$/i);g.push(/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);var h=false;for(var i=0;i<g.length;i++){if(g[i].test(a)){g[i].exec(a);a=RegExp.$1.toUpperCase()+' '+RegExp.$3.toUpperCase();a=a.replace(/C\/O\s*/,'c/o ');h=true;break}}if(h){return a}else{return false}};function convert(b){if(b.id.indexOf('Password')!=-1||b.id.indexOf('Text_From_Image')!=-1){b.value=b.value}else if(b.id.indexOf('Postcode')!=-1){b.value=b.value.toUpperCase()}else if(b.id.indexOf('Telephone')!=-1||b.id.indexOf('Other_Number')!=-1||b.id.indexOf('Mobile')!=-1){b.value=b.value.replace(/([^.0-9-ext:\+\(\)\s])/gi,'')}else if(b.id.indexOf('E-mail')!=-1){b.value=b.value.toLowerCase()}else if(b.value){var a=b.value.toLowerCase().split(/\s+/g);for(i=0;i<a.length;i++){var c=a[i];if(c){c=c.replace(c.charAt(0),c.charAt(0).toUpperCase());if(c.indexOf('-')!=-1){var d=(c.firstIndexOf('-')+1);c=c.replace('-'+c.charAt(d),'-'+c.charAt(d).toUpperCase())}if(c.indexOf('(')!=-1){var d=(c.firstIndexOf('(')+1);c=c.replace('('+c.charAt(d),'('+c.charAt(d).toUpperCase())}if(c.indexOf('O\'')==0){c=c.replace('O\''+c.charAt(2),'O\''+c.charAt(2).toUpperCase())}if(c.indexOf('Mc')==0){c=c.replace('Mc'+c.charAt(2),'Mc'+c.charAt(2).toUpperCase())}a[i]=c}}b.value=a.join(' ')}}}})(jQuery);