var modA = [];

var burl = "http://www.ardentsolutions.co.uk/";

var curl = burl+"cgi-bin/";

var cext = 'Z';

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+cext+'.pl?'+b,evalScripts:d,update:c,

onRequest: function(){ c.setStyle('background','#fff url(IMAGE/WAIT.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 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 setTab = function(){ }



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"> &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'}); } }); 

//$$('.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.set('value','').setStyle('background-color','#FF9966'); },'blur':function(){this.setStyle('background-color','#fff');} }); }



var sendMe = function(){

$$('.form-r input,.form-r textarea').each(function(z,i){ if(z.get('type') != 'button'){focusMe(z);} });

$$('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 { 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');a = a.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 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:0,marginLeft:(Browser.Engine.trident?1:-1)});

this.createSubmenu(this.menu);

this.menu.getChildren('li').addClass('nav').setStyles({'float':'left',display:'block',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'] );

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 textMe = function(){

if(uu){

new Asset.css('text'+cext+'.css', {id:'text'+cext});

$$('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();

}



window.addEvent('domready',function(){

if(safari){ $$('body').addClass('safari');}//$$('.form-sg').setStyle('margin-top','0.2em');

navMe( $$('.pagenav') );

textMe();

});

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

		}