var modA = [];
var burl = "http://www.abmsoftware.com/uk/";
var curl = '../cgi-bin/uk/';//burl+"cgi-bin/uk/"; ../
var z5A = ['top left','top right','bottom right','bottom left'];
var mAA = ['background-color','background-image','background-repeat','background-position'];

var uri = document.URL.replace(/\\/g,'/').split('/');uri = unescape(uri[(uri.length-1)]).replace(/\-/g,' ');
var uu;document.URL.test(/\?$/)?uu = true:uu = null;
var safari;Browser.Engine.webkit?safari = true:safari = null;
var ie6;/msie|MSIE 6/.test(navigator.userAgent)?ie6 = true:ie6 = null;

var endY = function(a,b){
if(b == $('questionresult') ){}//b.getParent('li.rowdiv').setStyle('background-color','#fff');
switch(a){
case 'news': if( !ie6 ){ //setMe();
rOver(); }break;
case 'search':// if($('textonly') && uu){urlSwap();}
b.setStyles({'overflow':'hidden','overflow-y':'scroll','scroll':'scroll','background-color':'#fff','background-image':'none'});break;
}

}

var sendER = function(a,b,c,d){
var hh;c.getCoordinates().height < 150?hh = '150px':hh = 'auto';
var snk = new Request.HTML({url:curl+a+'.pl?'+b,evalScripts:d,update:c,
onRequest: function(){ c.setStyle('background','#fff url(IMAGE/TIMER.GIF) center center no-repeat').empty().set('html','<span class="s-req"></span>'); },
onSuccess: function(tree,xml,htm,js){c.setStyles({'height':hh,'background-color':'transparent','background-image':'none','background-position':'top left','background-repeat':'repeat-x'});endY(a,c);},
onFailure: function(){ c.setStyle('background','#fff none top left no-repeat').empty().set('html','<span class="s-fail">Sorry, the request to the remote server failed: unable to connect..</span>'); }
});
snk.get();
}

//var enTab = new Class({});

var Rotator = new Class({
Implements: [Options],
options: {
outer: null,
inner: null,
container: null,
itemsVisible:1,
elemsSlide: null,
items: null,
showControls:0,
transition: Fx.Transitions.linear,
duration: 800,
direction: 1,
autoSlide: 5000,
mouseWheelNav: false
},

initialize: function(options){
this.setOptions(options);
this.elements = $(this.options.container).getElements(this.options.items);
this.totalElements = this.elements.length;
if( this.totalElements <= this.options.itemsVisible ){return;}
this.outerwidth = (this.options.outer.getStyle('width').toInt() - 2) || this.elements[0].getSize().x;

this.currentElement = 0;
this.direction = this.options.direction;
this.autoSlideTotal = this.options.autoSlide + this.options.duration;
this.begin();
},

begin: function(){
this.setContainersSize();
this.myFx = new Fx.Morph(this.options.container, { 
wait: true, 
transition: this.options.transition,
duration: this.options.duration
});

this.addControls();
if( this.options.mouseWheelNav && !this.options.autoSlide ){
$(this.options.container).addEvent('mousewheel', function(ev){
new Event(ev).stop();
this.slide(-ev.wheel);
}.bind(this));
}
if( this.options.autoSlide ){this.startAutoSlide();}
},

setContainersSize: function(){
$(this.options.outer).set({styles:{'width': this.options.itemsVisible * this.outerwidth+50 * this.options.showControls} });
$(this.options.inner).set({styles:{'width': (this.options.itemsVisible * this.outerwidth),'height': this.options.outer.getStyle('height')} });
$(this.options.container).set({styles:{'width': (this.totalElements * (this.outerwidth+5)),'height': this.options.outer.getStyle('height')} });
$$(this.options.items).set({styles:{'width': (this.options.outer.getStyle('width').toInt()-4),'height': (this.options.outer.getStyle('height').toInt()-2)} });
},

addControls: function(){
if( !this.options.showControls ) return;
this.fwd = new Element('div', {'class': 'SlideItMoo_forward','events':{'click':this.slide.pass(1, this)} });
this.bkwd = new Element('div', {'class': 'SlideItMoo_back','events':{'click': this.slide.pass(-1, this)} });
$(this.options.outer).adopt(this.fwd, this.bkwd);
},

slide: function( direction ){
if(this.started) return;
this.direction = direction;
var currentIndex = this.currentIndex();
if( this.options.elemsSlide && this.options.elemsSlide>1 && this.endingElem==null ){
this.endingElem = this.currentElement;
for(var i = 0; i < this.options.elemsSlide; i++ ){
this.endingElem += direction;
if( this.endingElem >= this.totalElements ) this.endingElem = 0;
if( this.endingElem < 0 ) this.endingElem = this.totalElements-1;
}
}
if( this.direction == -1 ){ this.rearange();$(this.options.container).setStyle('margin-left', -this.outerwidth); }
this.started = true;
this.myFx.start({ 'margin-left': this.direction == 1 ? -this.outerwidth : 0 }).chain( function(){
this.rearange(true);
if(this.options.elemsSlide){
if( this.endingElem !== this.currentElement ){ this.slide(this.direction);} else { this.endingElem=null; }
}
}.bind(this)  );
},

rearange: function( rerun ){
if(rerun) this.started = false;
if( rerun && this.direction == -1 ){return;}
this.currentElement = this.currentIndex( this.direction );
$(this.options.container).setStyle('margin-left',0);

if( this.currentElement == 1 && this.direction == 1 ){this.elements[0].injectAfter(this.elements[this.totalElements-1]);return;}
if( (this.currentElement == 0 && this.direction ==1) || (this.direction==-1 && this.currentElement == this.totalElements-1) ){this.rearrangeElement( this.elements.getLast(), this.direction == 1 ? this.elements[this.totalElements-2] : this.elements[0]);return;}
if( this.direction == 1 ){this.rearrangeElement( this.elements[this.currentElement-1], this.elements[this.currentElement-2]);
} else {
this.rearrangeElement( this.elements[this.currentElement], this.elements[this.currentElement+1]);
}
},

rearrangeElement: function( element,indicator ){this.direction == 1 ? element.injectAfter(indicator) : element.injectBefore(indicator);},

currentIndex: function(){
var elemIndex = null;
switch( this.direction ){
case 1:elemIndex = this.currentElement >= this.totalElements-1 ? 0 : this.currentElement + this.direction;break;
case -1:elemIndex = this.currentElement == 0 ? this.totalElements - 1 : this.currentElement + this.direction;break;
}
return elemIndex;
},

startAutoSlide: function(){
this.startIt = this.slide.bind(this).pass(this.direction||1);
this.autoSlide = this.startIt.periodical(this.autoSlideTotal, this);
this.elements.addEvents({
'mouseover':function(){$clear(this.autoSlide);}.bind(this),
'mouseout':function(){this.autoSlide = this.startIt.periodical(this.autoSlideTotal, this);}.bind(this)
});
}

});

var doAccordion = function(){
$$('dl.accordion').each(function(z,i){
var n = new Accordion(z,'dd.toggler','dd.element',{'display':-1,'opacity':false,onActive:function(toggler,element){toggler.setStyle('color', '#1F4A82');},onBackground:function(toggler, element){toggler.setStyle('color','#1F4A82');} });
});
}

var doIframe = function(){
$$('.iframe').each(function(z,i){
var a = z.getElement('a'),w = z.getStyle('width'),h = z.getStyle('height');
if(a){ var ifr = new IFrame({src:a.getProperty('href'),styles:{'width':w,'height':h,'border':0},events:{} }).replaces(a); }
});
}

var crY = function(a,b,c){
for(var i = a;i < c.length;i++){
b[i]+= '_'+c[a].replace(/ /g,'-');
}
return b;
}

var validF = function(a,b){
var eA = a.elements;
var dA = [];
var rA = [];
var q = 0;
var s = '';

for(var i=0;i<eA.length;i++){
var d;
var c = eA[i];
var f = eA[i].type;

if( c.name && c.name.test(/^pre_/) ){
var pA = c.name.split('_');
var r1 = /^(email)|(e-mail)$/i;
var r2 = /^(tel)|(telephone)|(phone)$/i;
var r3 = /^([0-9 ]+)$/i;
var r5 = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
if(f == 'text' || f == 'textarea'){ if(!(c.value) || c.value == "" || c.value == ' '){dA.push('Please complete the '+pA[1]+' field.');} else {
if( r1.test(pA[1]) ){ if(c.value.indexOf('@') < 0 || c.value.indexOf('.') < 0 ){dA.push('Please enter a valid email address.');} }
if( r2.test(pA[1]) ){ if( r3.test(c.value) == false ){dA.push('Please enter a valid phone number.');} }
} }

if(f == 'select-one'){if(c.selectedIndex < 1 || c.options[c.selectedIndex].text == ""){dA.push('Please select from the '+pA[1]+' dropdown.');}}
if(f == 'select-multiple' && a.selectedIndex < 1){dA.push('Please choose from the '+pA[1]+' options.');}
if(f == 'checkbox' && !(c.checked) ){dA.push('Please check the '+pA[1]+' box.');}
if(f == 'radio'){ if(c.name != s){s = c.name;q++;}if(c.checked){rA[q] = '';}if(rA[q] == ''){} else {rA[q] = pA[1];} }
} else {
if(f == 'checkbox'){c.checked?c.value = 'checked':c.value = "";}
}

}

for(var k=1;k<rA.length;k++){if(rA[k] != ''){dA.push('Please choose from the '+rA[k]+' group');}}
if( b.test(/(register)|(library)/) ){ if(a.elements[0].value.indexOf('@') < 0 || a.elements[0].value.indexOf('.') < 0){dA.push('Please enter a valid email address.');} }
if(dA && dA.length > 0){alert( dA.join('\n').replace(/\-/g,' ') );return false;} else {return true;}
}

//var setTab = function(){ }

var upCrumb = function(a){
if( a && $$(',crumb') ){
a = a.replace(/\?$/,'').replace(/\.html$/,'').replace(/\.php$/,'');
var c = a.split('_');

//if(c.length > 1){
var nA = [];
for(var i = 0;i < c.length;i++){ nA[i] = c[0].replace(/ /g,'-'); }
for(var d = 1;d < c.length;d++){ if( c[d] ){nA = crY(d,nA,c);} }
for(var w = 0;w < c.length;w++){c[w] = '<strong><a href="'+nA[w]+'.html">'+c[w]+'</a></strong>';}
$$('.crumb').set( 'html',c.join('<span class="textQm" style="color:#00A7E7;"> <span style="font-size:140%;">&#187;</span> </span>') ); 
//} 

} else {
$$('.crumb').set( 'html','&nbsp;');
}

}

var upLink = function(){var b = uri;
$$('.hori').each(function(z,i){
z.getElements('li.nav').each(function(zz,ii){
if( zz.getElement('a') && zz.getElement('a').get('href') ){
var s = 0;var d = unescape(zz.getElement('a').get('href'));
d = d.replace(/\-/g,' ').replace(/^\//,'').replace(/^(.*?)\//,'');
var c = b.split('_');if(c[0] && c[0]+'\.html' == d){s++;}
if(d == b || s > 0){zz.getElement('a').addClass('off');}
}
});
});

upCrumb(b);
}

var rOver = function(){
var b = '8';if( uri.test(/library/i) ){b = '6';}
$$('.rover').addEvents({ 'mouseenter': function(){ this.setStyles({'background-color':'#dedee8','color':'#fff'}) },'mouseleave': function(){ this.setStyles({'background-color':'transparent','color':'#1f2067'}); } }); 
//$$('.togr div.cbox').each(function(z,i){ z.addEvents({ 'mouseenter': function(){ this.setStyles({'background-color':'#8AD5DD','background-image':'none'}); },'mouseleave': function(){ this.setStyles({'background-color':'#fff','background-image':'url(IMAGE/SHELL'+b+'.GIF)'}); } }); }); 
}

var rollAdd = function(a,b){ $(a).addEvents({ 'mouseenter': function(){this.setStyle(mAA[3],z5A[b]);},'mouseleave': function(){this.setStyle(mAA[3],z5A[0]);} }); }

var rollMe = function(){ for(var n=1;n < z5A.length;n++){$$('div#copydiv .sprite'+n).each(function(z,i){ $(z).removeEvents();rollAdd(z,n); });} }

//var setMe = function(){  }

var swfMe = function(){if(Browser.Plugins.Flash.build ){ $$('a.flash').each(function(z,i){var m =  z.getParent('dl');var s = new Swiff(z.get('href'),{ id:'swf_'+i,width:m.getStyle('width'),height:m.getStyle('height'),params:{wmode:'opaque',bgcolor:m.getStyle('background-color')},container:m });m.setStyle('background-image','none');z.dispose(); }); }}

var sendY = function(a,b){
if( validF(a,b) ){
var c = $(a).get('id')+'_result';$(c)?c = $(c):c = $(a).getParent('li');
var oH = new Hash();
$(a).getElements('input,textarea,radio,select').each(function(z,i){
if(z.name && z.type != 'submit'){if( z.type.test('select') ){oH.set(z.name,z.options[z.selectedIndex].value);} else if( z.type.test('radio') ){if(z.get('checked') ){oH.set(z.name,z.value);}} else {oH.set(z.name,z.value);}
}
});
sendER(b,oH.toQueryString(),c);
}
}

var formOut = function(a){
var c = "search";
if(a.getElement('.form-sg')){
if(a.getElement('.form-sg').get('name').test('pre_search') ){
sendY(a,c);
} else if(a.getElement('.form-sg').get('name').test('pre_email')){
c = "mail";
sendY(a,c);
} else if(a.getElement('.form-sg').get('name').test('pre_quickfind') ){
var m = a.getElement('.form-sg').selectedIndex;
if(m > 0){window.location = a.getElement('.form-sg').options[m].value;}
}
} else {
sendY(a,'mail');
}
}

var focusMe = function(a){ a.addEvents({ 'focus':function(){this.getParent('li').setStyle('color','#01638A');},'blur':function(){this.getParent('li').setStyle('color','#333');} }); }

var sendMe = function(){
$$('form').each(function(z,i){
var v = z.getElement('.form-sm');var w = z.getElement('.form-s');var x = z.getElement('.form-sg');var y = z.getElement('.form-o');
if(x){ if( !(x.get('name').test('pre_quickfind')) ){ focusMe(x); } }
if(w){ w.addEvent('click',function(){ formOut(z); }); } else if(v){ v.addEvent('click',function(){ formOut(z); }); } else { if(y){y.addEvent('click',function(){ formOut(z); });} }
});
}

var getMe = function(a,b,c){ sendER( a,b.toQueryString(),$(c) ); }

var isie6 = function(){
$$('div','ul','dl').each(function(z,i){ var a = z.getStyle('background-image');if( a.test(/\.PNG\)$/i) ){a = a.replace('PNG','GIF').replace('png','gif');z.setStyle('background-image',a);} });
$$('.hori a').setStyles({'height':'22px'});
}

var quoteMe = function(){
$$('dl.quoter').each(function(z,i){ 
if( z.getElement('span.quoteup') ){
var c = z.getElement('span.quoteup').get('html');
var m = new Element('div',{'id':'quoter_'+i,'class':'floater','html':c}).inject(document.body);
z.addEvents({ 'mouseenter':function(){$('quoter_'+i).setStyles({'top':this.getCoordinates().top,'left':this.getCoordinates().left+100}).setStyle('display','block');},'mouseleave':function(){ $('quoter_'+i).setStyle('display','none'); } });
} 
});
if( $('qtarget') ){
var qh = new Element('dl',{ id:'qholder',html:$('qtarget').get('html'),styles:{'position':'absolute','display':'none'} }).inject(document.body);
$$('dl.quoter2').each(function(z,i){ if( z.getElement('span.quoteup') ){
z.addEvents({ 'mouseenter':function(){ var c = '<dl class="text"><dd>'+this.getElement('span.quoteup').get('html')+'</dd></dl>';$('qtarget').set('html',c); },'mouseleave':function(){ var c = $('qholder').get('html');$('qtarget').set('html',c); } });
} });
}
}

var pickMe = function(a){ a.each(function(z,i){ if( $(z) ){var d = $(z).getElement('a');if( d && d.get('class').test('news') ){var aH = new Hash({'news':d.get('title'),'list':$(z).get('id')});getMe( d.get('class'),aH,$(z) ); }} }); }

var urlSwap = function(){ $$('a').each(function(z,i){ var a = z.getProperty('href');if( a.test('\.html') ){if( a.test(burl) || !a.test('www.') ){z.setProperty('href',a+'?');}} }); }

var newDrop = new Class({
Implements:Options,options:{duration:250,transition:Fx.Transitions.linear},//duration:500,transition:Fx.Transitions.Bounce.easeOut

initialize:function(a,b){
this.menu = a;
this.setOptions(b);
this.menu = $(this.menu);
if(!$defined(this.menu)){return false;}
if(this.menu.get('tag')!='ul'){
this.menu = this.menu.getFirst('ul');
if( !$defined(this.menu) ){return false;}
}
this.menu.setStyles({'overflow':'hidden','height':'auto'});//,'margin-left':(Browser.Engine.trident?1:-1)
this.createSubmenu(this.menu);
this.menu.getChildren('li').addClass('nav').setStyles({top:0});
var a = new Element('li',{html:"&nbsp;",styles:{clear:'both',display:(Browser.Engine.trident?'inline':'block'),position:'relative',top:0,height:0,width:0,fontSize:0,lineHeight:0,margin:0,padding:0}}).inject(this.menu);
this.menu.setStyles({'height':'auto','overflow':'visible'});
},

createSubmenu:function(c){
var d = c.getChildren('li');
var e = 0;d.each(function(a){a.setStyles({position:'relative',display:'block',top:-e,zIndex:1});
e+=a.getSize().y;
var b = a.getFirst('ul');
if($defined(b)){b.setStyle('display','none');
if(c == this.menu){var x = 0;var y = a.getSize().y;this.options.link = 'cancel';a.store('animation',new Fx.Elements($$(b,b.getChildren('li')).setStyle('opacity',0),this.options));
} else {
var x=a.getSize().x-a.getStyle('border-left-width').toInt();var y=-a.getStyle('border-bottom-width').toInt();this.options.link='chain';a.store('animation',new Fx.Elements($$(b,b.getChildren('li')).setStyle('opacity',0),this.options));e=a.getSize().y+a.getPosition(this.menu).y;
}

b.setStyles({position:'absolute',display:'block',top:y,left:x,marginLeft:-x,opacity:0});
this.createSubmenu(b);
a.addEvents({mouseenter:this.showChildList.bind(this,a),mouseleave:this.hideChildList.bind(this,a)}).addClass('sub')}},this);
},

showChildList:function(b){
var c = b.getFirst('ul');
var d = $$(c.getChildren('li'));
var e = b.retrieve('animation');
if(b.getParent('ul') != this.menu){e.cancel();e.start({0:{opacity:1,marginLeft:0},1:{opacity:1}});var f={};
} else {
var f = {0:{opacity:1}};
}
d.each(function(a,i){f[i+1]={top:0,opacity:1}});
b.setStyle('z-index',999);
e.start(f);
},

hideChildList:function(b){
var c = b.retrieve('animation');
var d = b.getFirst('ul');
var e = $$(d.getChildren('li'));
var f = 0;var g = {};
e.each(function(a,i){g[i+1]={top:-f,opacity:0};f+=a.getSize().y});
b.setStyle('z-index',1);
if(b.getParent('ul')!=this.menu){g[1]=null;c.cancel();c.start(g);c.start({0:{opacity:0,marginLeft:-d.getSize().x},1:{opacity:0}})
} else {
g[0] = {opacity:0};c.start(g);
}
}

});


var noText = function(){
//pickMe( ['newstag','newsresult','newslist','newssection'] );
quoteMe();
upLink();
rollMe();
if(ie6){ isie6(); } else { 
if( !$('newstag') && !$('newsresult') && !$('newslist') && !$('newssection') ){
//setMe();
rOver();
} 
}
//setTab();
swfMe();
$$('.hori').setStyle('visibility','visible');
}

var navMe = function(a){ a.each(function(z,i){ var u = new newDrop(z.getElement('ul')); }); }

var rotateMe = function(){
$$('.rotater').each(function(z,i){
new Rotator({ outer:z,inner:z.getElement('dd.rinner'),container:z.getElement('ul.ritems'),items:'li.ritem' });
});
}

var setRandom = function(){
$$('dd.random').each(function(z,i){
var r = z.getFirst().get('text'),m = r.split(','),f = m.shift();i = Math.floor(Math.random()*m.length);
z.set('html','<img src="LIB/'+f+'_'+m[i]+'" width="480" height="95" alt="Testimonial" /></a>');
});
}

var css3Me = function(){
$$('a.blank').setProperty('target','_blank');
//document.body.setStyle('overflow-y','scroll');
}

var textMe = function(){
/*if(uu){
new Asset.css('text'+'.css', {id:'text'});
$$('div','ul','li','a','dl','dd','img','form').each(function(z,i){z.erase('style');});
urlSwap();
$('textonly').set('text','Non-Text Version').setProperties({ 'title':'non-text version of this page','href':document.URL.replace(/\?$/,'') });
} else {
if( $('textonly') ){$('textonly').setProperty( 'href',document.URL+'?' );}*/
noText();
//}

sendMe();
doAccordion();
doIframe();
Slimbox.scanPage();
}

function popup(url,nme,hgt,wgt){
var params='toolbar=no,height='+hgt+',width='+wgt+',location=no,scrollbars=yes,status=no,menubar=no,resizable=no';
if(self && self.screen && self.screen.width){
params+=",left="+((self.screen.width-wgt)/2);
params+=",top="+((self.screen.height-hgt)/2);
}
window.open(url,nme,params);
}

Slimbox.scanPage = function(){ $$(document.links).filter(function(el){return el.rel && el.rel.test(/^lightbox/i);}).slimbox({}, null, function(el) {return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));}); };

window.addEvent('domready',function(){
if(safari){ $$('body').addClass('safari');}//$$('.form-sg').setStyle('margin-top','0.2em');
navMe( $$('.pagenav') );
rotateMe();
setRandom();
textMe();
css3Me();
//$$('.accordion').each(function(z,i){ z.getElements('dd').setStyle('display','block'); });
});

