// SWS JavaScript, (C) OptimalWorks.net
if(!owl){var owl={};owl.Version=0.1;owl.UserAgent=navigator.userAgent.toLowerCase();owl.Browser={IE:/msie/.test(owl.UserAgent)&&!/opera/.test(owl.UserAgent),Mozilla:/mozilla/.test(owl.UserAgent)&&!/(compatible|webkit)/.test(owl.UserAgent),Opera:/opera/.test(owl.UserAgent),Safari:/webkit/.test(owl.UserAgent),Konqueror:/konqueror/.test(owl.UserAgent)};owl.Browser.Version=owl.UserAgent.replace(/^.+[ox|ra|on|or][\/: ]/,"");if(owl.Browser.Version.indexOf("msie")>=0){owl.Browser.Version=owl.Browser.Version.replace(/^.+[ie][\/: ]/,"")}owl.Browser.Version=owl.Browser.Version.replace(/([^\d.].+$)/,"");owl.Browser.VerNum=parseFloat(owl.Browser.Version);owl.Number=function(){var a=/[^0-9-.]/g;function c(f){var g=String(f);g=g.replace(a,"");var d=parseInt(g,10);return(isNaN(d)?0:d)}function b(d){if(isNaN(d)){d=0}return(Math.min(1,Math.max(-1,d)))}return{toInt:c,Sign:b}}();owl.String=function(){var f=/^\s*|\s*$/g;var b=/[^\w|\s|@|&|.|,|!|%|(|)|+|-]/g;var a=/[_|\s]+/g;function g(i){return String(i).replace(f,"")}function h(i){return g(String(i).replace(b,"").replace(a," "))}function c(k,j,i){k=String(k);j=owl.Number.toInt(j);if(typeof i=="undefined"){i=" "}else{i=String(i);if(i.length<1){i=" "}}while(k.length<j){k=i+k}return k}function d(l,k){if(typeof k=="string"){k=[k]}if(k&&k.length){for(var j=0,i=k.length;j<i;j++){l=l.replace(new RegExp("(^|[^%])%"+j+"([^0-9]|$)","g"),"$1"+k[j]+"$2")}}return l}return{Trim:g,Clean:h,Pad:c,Format:d}}();if(owl&&!owl.Array){owl.Array=function(){function b(f){return !!(f&&f.constructor==Array)}function a(g,f){g[g.length]=f}function c(g){var f=null;if(g.length>0){f=g[g.length-1];g.length--}return f}function d(f,g){return(f?(b(f)?f:[f]):(typeof g=="undefined"?[]:(b(g)?g:[g])))}return{Is:b,Push:a,Pop:c,Make:d}}()}owl.Each=function(g,d){if(g.length){for(var c=0,b=g.length,a=g[0];c<b&&d(a,c)!==false;a=g[++c]){}}else{for(var f in g){if(d(g[f],f)===false){break}}}};owl.Property=function(){function a(g){if(!g.owlP){g.owlP={};g.owlP.length=0}}function d(h,g,i){owl.Each(owl.Array.Make(h),function(j){a(j);j.owlP[g]=i;j.owlP.length++})}function f(h,g){return(b(h,g)?h.owlP[g]:null)}function b(h,g){return(h&&h.owlP&&typeof h.owlP[g]!="undefined")}function c(h,g){owl.Each(owl.Array.Make(h),function(i){if(i.owlP&&i.owlP[g]){delete i.owlP[g];i.owlP.length--;if(i.owlP.length==0){i.owlP=null}}})}return{Set:d,Get:f,Exists:b,Delete:c}}();owl.Object=function(){function Exists(object,item){return(object&&typeof object[item]!="undefined")}function PropertyExists(object,item){var type=(object?typeof(object[item]):"undefined");return(type!="undefined"&&type!="function")}function MethodExists(object,item){return(object&&typeof object[item]=="function")}function Serialize(obj){var t=typeof(obj);if(t!="object"||obj===null){if(t=="string"){obj='"'+obj+'"'}return String(obj)}else{var n,v,json=[],arr=owl.Array.Is(obj);for(n in obj){v=obj[n];t=typeof(v);if(t=="string"){v='"'+v+'"'}else{if(t=="object"&&v!==null){v=owl.Object.Serialize(v)}}json.push((arr?"":'"'+n+'":')+String(v))}return(arr?"[":"{")+String(json)+(arr?"]":"}")}}function DeSerialize(serial){if(serial===""){serial='""'}eval("var ret = "+serial+";");return ret}return{Exists:Exists,PropertyExists:PropertyExists,MethodExists:MethodExists,Serialize:Serialize,DeSerialize:DeSerialize}}()}if(owl&&!owl.Css){owl.Css=function(){function b(h,g){var i=true;if(g){owl.Each(owl.Array.Make(h),function(j){var k=" "+j.className+" ";i=(k.indexOf(" "+g+" ")>=0);return i})}return i}function f(h,g){owl.Each(owl.Array.Make(h),function(i){var j=" "+i.className+" ";if(j.indexOf(" "+g+" ")<0){j+=g;i.className=owl.String.Trim(j)}})}function d(h,g){owl.Each(owl.Array.Make(h),function(i){var j="";if(g){j=" "+i.className+" ";j=owl.String.Trim(j.replace(new RegExp(" "+g+" ","gi")," "))}i.className=j})}function a(j,h,g){h=Math.min(Math.max(h,0),99.999999);var i=h/100;owl.Each(owl.Array.Make(j),function(k){if(g!==false){if(k.style.visibility=="hidden"){if(h>0){k.style.visibility="visible"}}else{if(h==0){k.style.visibility="hidden"}}}k.style.opacity=i;k.style.MozOpacity=i;k.style.filter="alpha(opacity:"+h+")";k.style.KHTMLOpacity=i})}function c(g,i){var h="";if(g){if(document.defaultView&&document.defaultView.getComputedStyle){h=document.defaultView.getComputedStyle(g,"").getPropertyValue(i)}else{if(g.currentStyle){i=i.replace(/\-(\w)/g,function(j,k){return k.toUpperCase()});h=g.currentStyle[i]}}}return h}return{ClassExists:b,ClassApply:f,ClassRemove:d,Opacity:a,ComputedStyle:c}}()}if(owl&&owl.Browser&&owl.Browser.IE&&Math.floor(owl.Browser.VerNum)==6){try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}}if(owl&&owl.Css&&!owl.Dom&&document.getElementById&&document.getElementsByTagName){owl.Dom=function(){var t=1;var q=2;var s=3;var m=8;var l=/[^\w|\s|\-|#|\.|,|\[|\]|=|~|!|*]/g;var i=/\s+/g;var r=/^[^#|\.|\[]*/;var g=/#[^#|\.|\[]+/;var h=/\.[^#|\.|\[]+/;var j=/\[(.+)\]/;var n=/([~|!|*]*=)/;var o=/(^[^=|~|!|*])+/;var v=owl.Array,x=[document];function f(D,z){z=v.Make(z,x);D=owl.String.Trim(String(D).replace(l,"").replace(i," "));var y=[],G=D.split(","),I,C,H,E,F,B;for(H=0,E=G.length;H<E;H++){I=owl.String.Trim(G[H]);var A=z.slice();C=I.split(" ");for(F=0,B=C.length;F<B;F++){if(z.length>0){A=k(C[F],A)}}owl.Each(A,function(J){v.Push(y,J)})}return y}function k(E,L){var H=[],P,I,K,B,G,O,F,C;var D={Tag:"",ID:"",Class:"",AttribCheck:function(){return true}};D.Tag=r.exec(E);D.Tag=(D.Tag?D.Tag[0].toLowerCase():"*");if(D.Tag==""){D.Tag="*"}D.ID=g.exec(E);D.ID=(D.ID?D.ID[0].substr(1):"");D.Class=h.exec(E);D.Class=(D.Class?D.Class[0].substr(1):"");var M=j.exec(E);if(M){M=M[1];var z,N=null,A=n.exec(M);A=(A?A[1]:null);if(A){var J=M.indexOf(A);z=M.substr(0,J);N=M.substr(J+A.length)}else{z=M}D.AttribCheck=function(R){var Q;switch(z){case"class":Q=R.className;break;case"for":Q=R.htmlFor;break;default:Q=R.getAttribute(z);break}Q=(Q?Q:"");return((Q==""&&(!A||A=="!="))||(!A||((A=="="&&Q==N)||(A=="!="&&Q!=N)||(A=="*="&&Q.indexOf(N)>=0)||(A=="~="&&(" "+Q+" ").indexOf(" "+N+" ")>=0))))}}for(K=0,B=L.length;K<B;K++){P=[];if(D.ID){I=document.getElementById(D.ID);if(I&&(D.Tag=="*"||I.nodeName.toLowerCase()==D.Tag)&&(!D.Class||owl.Css.ClassExists(I,D.Class))&&D.AttribCheck(I)){P[0]=I}}else{var y=function(Q){return((D.Tag=="*"||Q.nodeName.toLowerCase()==D.Tag)&&(D.Class==""||owl.Css.ClassExists(Q,D.Class))&&D.AttribCheck(Q))};if(D.Tag=="*"){P=p(L[K],0,y)}else{I=L[K].getElementsByTagName(D.Tag);for(F=0,C=I.length;F<C;F++){if(y(I[F])){P[P.length]=I[F]}}}}for(G=0,O=P.length;G<O;G++){H[H.length]=P[G]}}return H}function p(A,y,C){var B=function(G,I){var H=[],F,D,E;if(!I){I=1}for(F=0,D=G.childNodes.length;F<D;F++){E=G.childNodes[F];if(E.nodeType==t&&E.nodeName!="!"){if(!C||C(E)){H[H.length]=E}if(G.childNodes.length>0&&(!y||I<y)){H=H.concat(B(E,I++))}}}return H};A=v.Make(A,x);var z=[];owl.Each(A,function(D){z=z.concat(B(D))});return z}function d(z,y){var A=[];y=(y.toLowerCase()||"div");owl.Each(v.Make(z),function(C,B){while(C.nodeName.toLowerCase()!=y&&C.parentNode){C=C.parentNode}A[B]=(C.nodeName.toLowerCase()==y?C:null)});if(!owl.Array.Is(z)){A=A[0]}return A}function a(B,A,z,y){B=v.Make(B,x);A=v.Make(A,x);owl.Each(A,function(F,E){if(y){c(F)}var G=Math.min(E,B.length-1);for(var D=0,C=B[G].childNodes.length;D<C;D++){F.appendChild(B[G].childNodes[D].cloneNode(true))}if(z){c(B[G])}else{w(F)}})}function w(y){owl.Each(v.Make(y,x),function(z){p(z,null,function(A){if(A.id){A.removeAttribute("id")}return true})})}function c(y){owl.Each(v.Make(y,x),function(z){while(z.lastChild){z.removeChild(z.lastChild)}})}function b(z){var A=false;for(var B=0,y=z.childNodes.length;B<y&&!A;B++){A=(z.childNodes[B].nodeType==s?z.childNodes[B]:b(z.childNodes[B]))}return A}function u(y,A){var z=(typeof A!="undefined");A=(z?(typeof A=="string"?[A]:A):"");owl.Each(v.Make(y,x),function(D,C){var B=b(D);if(z){var E=A[Math.min(C,A.length-1)];if(B){B.nodeValue=E}else{B=D.appendChild(document.createTextNode(E))}}else{if(B){A+=(A==""?"":"\n")+B.nodeValue}}});return(z?true:A)}return{ElementNode:t,AttributeNode:q,TextNode:s,CommentNode:m,Get:f,Descendents:p,Ancestors:d,Clone:a,RemoveIDs:w,RemoveChildren:c,Text:u}}()}if(owl&&!owl.Event){owl.Event=function(b,d,c,a){b=owl.Array.Make(b,[window]);c=(typeof c=="function"?c:null);a=(a||a==0?owl.Number.toInt(a):null);var f=[];owl.Each(b,function(g){f[f.length]=owl.EventRegister.Add(g,d,c,a)});this.Detach=function(){for(var h=0,g=b.length;h<g;h++){owl.EventRegister.Detach(b[h],d,f[h],true)}}};owl.EventRegister=function(){var b=[],j=[],a=[],f=0,g=false;var h="EventRegister";function l(p,r,q,o){var m=owl.Property.Get(p,h);if(!m){m={};b[b.length]=p}if(!m[r]){f++;j[f]=[];m[r]=f;owl.Property.Set(p,h,m);var n=p["on"+r];if(n){new owl.Event(p,r,n)}p["on"+r]=owl.EventRegister.Handler;if(f==1){new owl.Event(window,"unload",owl.EventRegister.CleanUp,1e+100)}}var s=m[r];var t=j[s].length;j[s][t]={Handler:q,Priority:o};c(p,r,s);return{Reg:s,Func:t}}function c(n,q,r){var m=[];for(var s=0,o=j[r].length;s<o;s++){if(j[r][s].Handler!=null){m[m.length]={Index:s,Priority:j[r][s].Priority}}}if(m.length>0){m.sort(function(t,p){return t.Priority-p.Priority})}else{n["on"+q]=null;delete n.owlP[h][q];m=null}a[r]=m;g=false}function d(q){var n=true,s=new owl.EventInformation(this,q);if(s.Index&&s.Index.Reg){var m=a[s.Index.Reg].slice();for(var r=0,o=m.length;r<o;r++){s.Index.Func=m[r].Index;if(s.AllowNext&&j[s.Index.Reg][s.Index.Func].Handler){n&=(j[s.Index.Reg][s.Index.Func].Handler(s)!==false)}}}if(g){c(s.Element,s.Type,s.Index.Reg)}return n}function i(o,p,m,n){j[m.Reg][m.Func].Handler=null;if(n){c(o,p,m.Reg)}else{g=true}}function k(){for(var p=0,o=b.length,m=b[0];p<o;m=b[++p]){for(var n in owl.Property.Get(m,h)){m["on"+n]=null}owl.Property.Delete(m,h)}b=null;j=null;a=null}return{Namespace:h,Add:l,Handler:d,Detach:i,CleanUp:k}}();owl.EventInformation=function(a,b){this.Element=a;this.Event=(b?b:window.event);if(this.Event){this.Type=this.Event.type.toLowerCase();this.Target=(this.Event.target?this.Event.target:this.Event.srcElement);this.Index={Reg:this.Element.owlP[owl.EventRegister.Namespace][this.Type],Func:null};this.AllowNext=true}};owl.EventInformation.prototype.Key=function(){if(!this.KeySet){this.KeySet={Pressed:"",Function:"",Shift:this.Event.shiftKey,Ctrl:this.Event.ctrlKey,Alt:this.Event.altKey};if(owl.EventKey.test(this.Type)){var b=this.Event.keyCode;var a=(typeof this.Event.charCode!="undefined"?this.Event.charCode:null);if(a>0){this.KeySet.Pressed=String.fromCharCode(a)}else{if(owl.EventCK[b]&&(a!=null||b<32||(this.Type!="keypress"||(!this.Shift&&b<112&&b!=35&&b!=39&&b!=45&&b!=46)))){this.KeySet.Function=owl.EventCK[b]}else{if(b>=32){this.KeySet.Pressed=String.fromCharCode(b)}}}}}return this.KeySet};owl.EventInformation.prototype.Mouse=function(){if(!this.MouseSet){this.MouseSet={X:0,Y:0};if(owl.EventMouse.test(this.Type)){this.MouseSet.X=(this.Event.pageX?this.Event.pageX:this.Event.clientX+Math.max(document.documentElement.scrollLeft,document.body.scrollLeft));this.MouseSet.Y=(this.Event.pageY?this.Event.pageY:this.Event.clientY+Math.max(document.documentElement.scrollTop,document.body.scrollTop))}}return this.MouseSet};owl.EventInformation.prototype.Detach=function(){owl.EventRegister.Detach(this.Element,this.Type,this.Index)};owl.EventInformation.prototype.StopHandlers=function(){this.AllowNext=false};owl.EventInformation.prototype.StopPropagation=function(){if(this.Event.stopPropagation){this.Event.stopPropagation()}this.Event.cancelBubble=true};owl.EventInformation.prototype.StopDefaultAction=function(){if(this.Event.preventDefault){this.Event.preventDefault()}this.Event.returnValue=false};owl.EventKey=/^key/i;owl.EventMouse=/mouse|click/i;owl.EventCK=[];owl.EventCK[8]="backspace";owl.EventCK[9]="tab";owl.EventCK[13]="enter";owl.EventCK[19]="break";owl.EventCK[27]="esc";owl.EventCK[33]="pageup";owl.EventCK[34]="pagedown";owl.EventCK[35]="end";owl.EventCK[36]="home";owl.EventCK[37]="left";owl.EventCK[38]="up";owl.EventCK[39]="right";owl.EventCK[40]="down";owl.EventCK[45]="insert";owl.EventCK[46]="delete";owl.EventCK[112]="f1";owl.EventCK[113]="f2";owl.EventCK[114]="f3";owl.EventCK[115]="f4";owl.EventCK[116]="f5";owl.EventCK[117]="f6";owl.EventCK[118]="f7";owl.EventCK[119]="f8";owl.EventCK[120]="f9";owl.EventCK[121]="f10";owl.EventCK[122]="f11";owl.EventCK[123]="f12";owl.EventCK[144]="numlock";owl.EventCK[145]="scrolllock";if(history&&history.navigationMode){history.navigationMode="compatible"}}if(owl.Dom&&owl.Event&&!owl.EmailParse){owl.EmailParse=function(a){owl.Each(owl.Dom.Get(a),function(b){if(b.firstChild){var c=b.firstChild.nodeValue;c=c.replace(/dot/ig,".");c=c.replace(/\{at\}/ig,"@");c=c.replace(/\s/g,"");b.href="mailto:"+c;owl.Dom.Text(b,c)}})};owl.EmailParse.Config={AutoStart:true,EmailNode:"a.email"};if(owl.EmailParse.Config.AutoStart){new owl.Event(window,"load",function(a){owl.EmailParse(owl.EmailParse.Config.EmailNode)},99999)}}var ow=ow||{};ow.Initialise=function(){ow.Setup={Contact:{Form:"#enquiry",ErrorClass:"error",Check:[{Field:"#contact",Validate:ow.Validate.String,Req:true,Min:3,Max:80},{Field:"#telephone",Validate:ow.Validate.String,Req:false,Min:6,Max:20,Additonal:function(c){var a=true;if(c==""){var b=owl.Dom.Get("#email");if(b.length==1){a=ow.Validate.Email(b[0].value,true,6,80)}}return a}},{Field:"#email",Validate:ow.Validate.Email,Req:false,Min:6,Max:80,Additonal:function(c){var a=true;if(c==""){var b=owl.Dom.Get("#telephone");if(b.length==1){a=(owl.String.Trim(b[0].value).length>=6)}}return a}},{Field:"#query",Validate:ow.Validate.String,Req:true,Min:10,Max:1000}]},Search:{Form:"#search",ErrorClass:"",Check:[{Field:"#s",Validate:ow.Validate.String,Req:true,Min:1,Max:50}]},Analytics:"UA-24728301-1"}};ow.Start=function(){ow.Initialise();new ow.Validator(ow.Setup.Contact);new ow.Validator(ow.Setup.Search);ow.Analytics();ow.Mobile()};new owl.Event(window,"load",ow.Start,0);ow.Validator=function(a){var c=owl.Dom.Get(a.Form);if(c.length==1){this.Form=c[0];this.ErrorClass=a.ErrorClass;this.Fields=a.Check;var b=this;new owl.Event(c,"submit",function(d){b.Check(d)},0)}};ow.Validator.prototype.Check=function(a){var d=true;var c=this.Form;var b=this.ErrorClass;owl.Each(this.Fields,function(i){var j=owl.Dom.Get(i.Field,c);if(j.length==1){j=j[0]}if(j&&i.Validate){var h=owl.String.Trim(j.value);if(h!=j.value){j.value=h}var g=i.Validate(h,i.Req,i.Min,i.Max);if(i.Additonal){g&=i.Additonal(h)}if(!g){if(d&&j.select&&j.focus){j.select();j.focus()}owl.Css.ClassApply(j.parentNode,b);d=false}else{owl.Css.ClassRemove(j.parentNode,b)}}});if(!d){a.StopDefaultAction();a.StopHandlers()}return d};ow.Validate=function(){function b(h,g,f,d){return !g||(h&&(!f||h.length>=f)&&(!d||h.length<=d))}var a=/^[^@]+@[a-z0-9]+([_\.\-]{0,1}[a-z0-9]+)*([\.]{1}[a-z0-9]+)+$/;function c(i,h,f,d){i=i.toLowerCase();var g=(i!=""&&(!f||i.length>=f)&&(!d||i.length<=d)&&(i.replace(a,"")==""));return(g||(!h&&i==""))}return{String:b,Email:c}}();var _gaq=_gaq||[];ow.Analytics=function(){if(location.host.indexOf(".co")>=0){_gaq.push(["_setAccount",ow.Setup.Analytics]);_gaq.push(["_trackPageview"]);var b=document.createElement("script");b.type="text/javascript";b.async=true;b.src=("https:"==document.location.protocol?"https://ssl":"http://www")+".google-analytics.com/ga.js";var a=document.getElementsByTagName("head")[0];a.appendChild(b)}};ow.Mobile=function(){if(!!navigator.standalone){setTimeout(function(){window.scrollTo(0,1);},0);}};
