var icon = '/LIB/css/css_default_icon.png';

var modA = [];
var burl = "http://www.abmsoftware.com/";
var curl = '../cgi-bin/uk/';// ../var curl = "http://www.abmsoftware.com/cgi-bin/";
var cext = '';//Z
var spacer = '-';var rsp = new RegExp(spacer,'g');
var rloc = 'Whitepapers';

var gUndo;
var gRan = [];
var gPro = 'Promotions.html';
var z5A = ['top left','top right','bottom right','bottom left'];
var mAA = ['background-color','background-image','background-repeat','background-position'];
var durl = document.URL;
var ura = durl.replace(/\\/g,'/').split('/'),uri = unescape( ura.pop() ).replace(rsp,' ');
var urp = ura.join('/');
var uu;durl.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;

Element.implement({
edgeMe: function(a,b){ var c = {},d = window.getScroll(),h = this.trigMe(),aj = {x:((a)?h[0]:0),y:((b)?h[1]:0)};var m = {x:h[0],y:h[1]},k = {'left':h[5][0],'top':h[5][1]},p = 0,q = {x:'left',y:'top'},s = window.getSize(),w = {x:null,y:null};for(z in q){ p = ((k[q[z]]+aj[z]+m[z]) - d[z]);if(p > s[z]){w[z] = 1;} }return w;},
trigMe: function(a){ var b = this.getComputedSize(),c,f = this.getComputedSize(['padding','border','margin']),p = this.getPosition();if(a){c = a.getComputedSize().width;return c-(f.computedLeft+f.computedRight); } else { return [ b.totalWidth,b.totalHeight,f.totalWidth,f.totalHeight,[b.computedTop,b.computedRight,b.computedBottom,b.computedLeft],[p.x,p.y] ]; } }
});

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 doAccordion = function(){
$$('.accordion').each(function(z,i){
var n = new Accordion(z,'.toggler','.element',{'display':-1,'opacity':false,onActive:function(toggler,element){toggler.setStyle('color', '#1F4A82');},onBackground:function(toggler, element){toggler.setStyle('color','#1F4A82');} });
z.getElements('dd').setStyle('display','block');
});
};

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':
b.setStyles({'overflow':'hidden','overflow-y':'scroll','scroll':'scroll','background-color':'#fff','background-image':'none'});break;
}
}

var failY = function(a,b){
switch(a){
case 'latest': loadPromo(1); break;
default: b.setStyles('background','#fff none top left no-repeat').set('html','<span class="s-fail">Sorry, the request to the remote server failed: unable to connect.</span>');
}
}

var sendER = function(a,b,c,d,e){
var hh = 'auto';if(c && c.getCoordinates().height < 100){hh = '100px';}if( a == 'search' && $('search_result') ){hh = '22em';}
var snk = new Request.HTML({url:curl+a+cext+'.pl?'+b,evalScripts:d,update:c,
onRequest: function(){ if(e){e.setStyle('background','transparent url(IMAGE/loading.gif) center center no-repeat').set('html','<span class="s-req"></span>');} },
onSuccess: function(tree,xml,htm,js){if( htm.test(/^forwarding page to: /) ){ var p = htm.replace(/^forwarding page to: /,'');window.location = p; } else if(a == 'latest'){gUndo?loadPromo():failY(a);} else {c.setStyles({'height':hh,'background-color':'transparent','background-image':'none','background-position':'top left','background-repeat':'repeat-x'});endY(a,e);}},
onFailure: function(){failY(a,e);}
});

snk.get();
}

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') );return false;} else {return true;}
}

var upCrumb = function(a){
if( a && $$(',crumb') ){
a = a.replace(/\?$/,'').replace(/\.html$/,'');
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:#000;"> &gt; </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(/^\//,'');
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'}); } }); 
}

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 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:'transparent',bgcolor:m.getStyle('background-color')},container:m });m.setStyle('background-image','none');z.dispose(); }); }}
var rssMe = function(){ $$('dd.rss').each(function(z,i){ var b = 'rss';if( z.get('class').test(/(wordpress|twitter|blogger|facebook)/) ){b = RegExp.$1;}var c = z.getElement('a').getProperty('title').replace(/[^0-9]/g,'').toInt();if( isNaN(c) ){c = 1;}if( z.getElement('a') ){var a = new Rss(z,z.getElement('a').get('href'),{type:b,count:c});} }); };

var doRotate = function(a,b,c,d,e){ return new Rotator({'outer':a,'inner':b,'items':c,'controls':d,'dir':e}); }

var loadPromo = function(a){
$$('dd.promo').each(function(z,i){

if(a){
z.setStyle('background','#c00 url(LIB/blankpromo.gif) top left repeat-x');
} else {
var c = z.getParent('dl');var d = [c.getSize().x,c.getSize().y],t = z.getElement('a').getProperty('title');
for(var i=0;i<gUndo.length;i++){
var f = gUndo[i][1],g = 'west',h = 0;

if( gUndo[i][0].test(/^rotate_d|all_d/) ){
var u = c.getParent('li');

if( t.test(/^link to our latest promotions/) ){
var nw = new Element('dl',{'class':'cs-inner','style':'position:relative; margin:0; float:left;'}).replaces(c);
u.addClass('rotator').setStyles({'height':'auto','background':'transparent none no-repeat','overflow':'hidden'});
if( z.get('class').test(/(north|south|east|west)/) ){g = RegExp.$1;if( g.test(/north|south/) ){h = 1;}}g == 'east'?g = -1:g = 1;
for(var j=0;j<f.length;j++){ new Element('dd',{'class':'cs','html':f[j]}).setStyles({'float':'left','clear':'none'}).inject(nw); }
var p = doRotate(u,nw,'dd.cs',h,g);
} else {
if( t.test(/^view our latest promotions/) ){
for(var j=0;j<f.length;j++){ new Element('dd',{'class':'cs','html':f[j]}).setStyles({'float':'none','clear':'both'}).inject(z,'after'); }
z.destroy();
}
}

} else {
if( t == 'link to promotions page' || t == gUndo[i][0] ){var x = new Element('dl',{'html':f[0]}).setStyles({'width':d[0],'height':'auto'}).replaces(c);gUndo.erase(gUndo[i]);}
}

}

}

});
}

var rotateMe = function(){
$$('dd.rotator').each(function(z,i){
var g = 'west',h = 0;if( z.get('class').test(/(north|south|east|west)/) ){g = RegExp.$1;if( g.test(/north|south/) ){h = 1;}}g == 'east'?g = -1:g = 1;
var u = z.getParent('dl'),d = [z.getSize().x,z.getSize().y],f = z.getElements('dl');
u.setStyles({'width':d[0],'height':d[1],'overflow':'hidden'});
z.removeClass('rotator').addClass('cs-inner').setStyles({'position':'relative','width':'auto','height':'100%','margin':0,'float':'left'});
for(var j=0;j<f.length;j++){ f[j].addClass('cs').setStyles({'width':d[0],'height':'auto','float':'left','clear':'none','overflow':'hidden'}); }
var p = doRotate(u,z,'dl.cs',h,g);
});
}

var promoMe = function(){
var a,b = [];
$$('dd.promo').each(function(z,i){
z.getParent('dl').setStyle('background','#fff url(IMAGE/loading.gif) center center no-repeat');
a = z.getElement('a');
var p = a.getProperty('title').split(',');
if(p[0] == 'view our latest promotions'){p[0] = 'all_d';} else if(p[0] == 'link to our latest promotions'){p[0] = 'rotate_d';} else {if(p[0] == 'link to promotions page'){p[0] = 'random_d';}}
b.push( p.join(',') );
if( z.get('class').test(/(north|south|east|west)/) ){z.getParent().addClass(RegExp.$1);}
});
if(b.length){ sendER('latest','promo='+gPro+'&target='+b.join('|'),null,'true'); }
}

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,'',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 {
//
}

} else {
sendY(a,'mail');
}
}

var focusMe = function(a){ a.addEvents({ 'focus':function(){this.set('value','').setStyle('background-color','#FFCCCC'); },'blur':function(){this.setStyle('background-color','#fff');} }); }

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),'',$(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 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 newDrop = new Class({
Implements: [Events,Options],
property:'MEN',
options:{interval:250,length:200,limit:1,opacity:1,switched:0},

initialize:function(a,opts){
this.menu = this.element = a.getElement('ul');if( !this.menu ){return false;}
this.m = a;
this.v = (this.menu.hasClass('vert'))?1:null;
this.setOptions(opts);
this.d = this.options.length;
this.j = this.options.interval;
this.o = (Browser.ie6 || Browser.ie7)?1:this.options.opacity;
this.t1 = 'sine';
this.t2 = 'bounce';

this.menu.getChildren('li').addClass('nav');
this.addF(this.menu);
this.c = new Element('li',{html:'&#160;',styles:{clear:'both',display:(Browser.ie?'inline':'block'),position:'relative',top:0,height:0,width:0,fontSize:0,lineHeight:0,margin:0,padding:0}}).inject(this.menu);
},

addF: function(a){
var d = $$(a.getChildren('li'));
d.each(function(z,i){
var b;
if( z.getFirst('ul') ){
b = z.getFirst('ul');
var c = b.getChildren('li'),t = b.trigMe()[0];var p = this.setF(a,z,t);
b.store('anim',{
'aj':null,
'show':new Fx.Morph(b,{'duration':this.j,'transition':this.t1+':out','link':'chain',onComplete:function(){ $$(c).setStyle('display','block'); } }),
'hide':new Fx.Morph(b,{'duration':this.j,'transition':this.t1+':in','link':'chain',onComplete:function(){ b.getChildren('li').setStyle('display','none');b.setStyle('display','none'); } }),
'xy':p }).setStyles({'display':'none','position':'absolute','top':p[1],'opacity':0,'visibility':'hidden'});
$$(c).setStyles({'display':'none','opacity':this.o});
this.addF(b);
z.addClass('sub').addEvents({ 'mouseenter':function(){this.showF(z);}.bind(this),'mouseleave':function(){this.hideF(z);}.bind(this) });
}
},this);
},

hideF: function(a){ var b = a.getFirst('ul');var r = b.retrieve('anim');var w = (r.aj)?0:-r.xy[0];r.aj = null;r.hide.cancel().start({'margin-left':w,'opacity':0}); },
offF: function(){ this.menu.getElements().each(function(z,i){z.erase('style').unclassMe('sprite nav sub'); });this.c.destroy(); },
setF: function(a,b,c){ var s = b.trigMe(),w = c - b.getStyle('border-left-width').toInt(),x = 0,y = 0;if(this.v){ x = w; } else if(a != this.menu){ x = w;y = 1-b.getStyle('border-bottom-width').toInt(); } else { x = 0;y = (s[1]-1); }return [x,y,s[0],s[1]]; },
showF: function(a){ 
var b = a.getFirst('ul');var r = b.retrieve('anim');var x = r.xy[0],u = 0;if(b.edgeMe()['x']){;r.aj = 1;u = -x;x = 0;}
b.setStyles({'display':'block'});//b.setStyles({'display':'block','left':x,'margin-left':-x});
b.getChildren('li')[0].setStyle('display','block');r.show.cancel().start({'opacity':1}); }//'margin-left':u,
});

var enTab = new Class({
Implements: [Events, Options],
options: {
b1: '', //b1: '<b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b>',
b2: '', //b2: '<b class="b4b"></b><b class="b3b"></b><b class="b2b"></b><b class="b1b"></b>',
show: 0,
selector: '.is-tab',
classWrapper: 'tab-wrap',
classMenu: 'tab-menu',
classContainer: 'tab-inner',
onSelect: function(toggle,container,index){toggle.addClass('tab-selected');container.setStyle('display','');},
onDeselect: function(toggle, container, index){toggle.removeClass('tab-selected');container.setStyle('display','none');},
onAdded: Class.empty,getContent: null,ajaxOptions:{},cache:true},

initialize: function(element,options){this.element = $(element);this.setOptions(options);this.selected = null;this.build();},

build: function() {
this.tabs = [];
this.menu = new Element('dl',{'class':this.options.classMenu});
this.wrapper = new Element('dl',{'class':this.options.classWrapper+' t-c1'});
var n = this.element.getElements(this.options.selector).length;
this.element.getElements(this.options.selector).each(function(z,i){
if( z.getNext() ){
z.setStyle('width','auto');
var v = '<dl class="'+z.get('class')+'"'+z.get('html')+'</dl>';
var w = this.options.b1+'<dl class="'+z.getNext().get('class')+' tab-element">'+z.getNext('dl').get('html')+'</dl>'+this.options.b2;
this.addTab(v,w,n,i);
}
}, this);
this.element.empty().adopt(this.menu, this.wrapper);
var tA = [];$(this.menu).getElements('dl.tab-heads').each(function(z,i){ tA.push(z.getDimensions().height); });
var l = Math.max.apply(Math,tA);
$(this.menu).getElements('dl.tab-heads').each(function(z,i){ z.setStyle('margin-top',+parseInt(l - (tA[i] - 1))+'px') });
if(this.tabs.length){this.select(this.options.show);}
},

addTab: function(a,b,n,m){
var container = new Element('dd',{'styles':{'display':'none'} }).set('html',b).addClass(this.options.classContainer).inject(this.wrapper);
var p = this.tabs.length;
var x = parseInt((100/n)-1);
if(m > 0){m = '-1px';}
var evt = (this.options.hover)?'mouseenter':'click';
var tab = { container:container,toggle:new Element('dd',{'class':'tab-heads'}).set('html',this.options.b1+a+this.options.b2).addEvent(evt,this.onClick.bindWithEvent(this,[p])).inject(this.menu) };//'styles':{'width':x+'%','margin-left':m}
this.tabs.push(tab);
return this.fireEvent('onAdded',[tab.toggle,tab.container,p]);
},

onClick: function(evt, index){this.select(index);return false;},

select: function(index) {
if (this.selected === index || !this.tabs[index]){return this;}
var tab = this.tabs[index];
var params = [tab.toggle,tab.container,index];
if(this.selected !== null){
var current = this.tabs[this.selected];
params.extend([current.toggle,current.container,this.selected]);
this.fireEvent('onDeselect',[current.toggle,current.container,this.selected]);
}
this.fireEvent('onSelect',params);
this.selected = index;
return this;
}

});

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 setTab = function(){ $$('li.tabs').each(function(z,i){if( z.getElement('dl.is-tab') ){ var t = new enTab(z); } }); }

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','<a href="Whats-New_Latest-Offers.html"><img src="LIB/'+f+'_'+m[i]+'" width="200" height="175" alt="Latest Offer" /></a>');
});
}

var imgBox = function(){ 
$$('dd.imagebox a').slimbox({},null,function(z){return [z.href,z.getFirst().alt];});
$$("a").filter(function(z){ return z.hasClass('imagebox');}).slimbox({},null,function(z){return (this == z) || this.hasClass('gallery'); });
}
var navMe = function(a){ a.each(function(z,i){ var u = new newDrop(z); }); }
var css3Me = function(){$$('a.blank').setProperty('target','_blank');document.body.setStyle('overflow-y','scroll');}

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);
}

window.addEvent('domready',function(){
if(safari){ $$('body').addClass('safari');}
navMe( $$('.navigation') );
setRandom();
upLink();
rollMe();
if(ie6){ isie6(); } else { if( !$('newstag') && !$('newsresult') && !$('newslist') && !$('newssection') ){rOver();} }
setTab();
rotateMe();
promoMe();
rssMe();
swfMe();
$$('.hori').setStyle('visibility','visible');
sendMe();
doAccordion();
doIframe();
imgBox();
css3Me();
});

