﻿/* Global variables
---------------------------------------------------------------- */

var tictim;var ajaxtim;
var sliding = false;

/* Singleline functions
---------------------------------------------------------------- */

function $d(d){
	return document.getElementById(d);
}

/* Toogle text
---------------------------------------------------------------- */

var field = function(){
	return {
		focus:function(f,txt){
			if(f.value==txt){
				f.value='';
			}else{
				f.select();
			}
		},
		blur:function(f,txt){
			if(f.value==''){
				f.value=txt;
			}
		},
		click:function(f){
			var obj = $d(f);
			if(obj){obj.focus();}
		}
	};
}();

/* Link function
---------------------------------------------------------------- */

var url = function(){
	return {
		href:function(url,blank){
			if(blank){
				window.open(url);
			}else{
				location.href = url;
			}
		}
	};
}();

/* Ajax <|> ajax.load('http://','ajaxdiv',true,hash,['customfunction()','anotherfunction()']);
---------------------------------------------------------------- */

var ajax = function(){
	return {
		nocache:function(){
			var minutes = 1000 * 60;
			var hours = minutes * 60;
			var days = hours * 24;
			var years = days * 365;
			var d = new Date();
			var t = d.getTime();
			return t;
		},
		load:function(url,container,load,store,functions){
			var obj = document.getElementById(container);
			var loader = '';'<div class="loading"><span>Loading...</span></div>';
			if(obj && url){
				if(load){obj.innerHTML = loader;}
				ajax.page(url,container,functions);
				if(store){bookmarks.sethash(store,url,container);}
			}
		},
		page:function(url,container,functions){
			var _url = '';var _no = '';var page_request = false;
			if(url.indexOf("?")==-1){_no = '?nocache=' + ajax.nocache();}else{_no = '&nocache=' + ajax.nocache();}
			_url = url + _no;
			
			if(window.XMLHttpRequest){
				page_request = new XMLHttpRequest();
			}else if(window.ActiveXObject){
				try{
					page_request = new ActiveXObject('Msxml2.XMLHTTP');
				}catch(e){
					try{
						page_request = new ActiveXObject('Microsoft.XMLHTTP');
					}catch(e){}
				}
			}else{
				return false;
			}

			page_request.onreadystatechange = function(){
				ajax.parse(page_request,container,functions);
			}
			page_request.open('GET', _url, true);
			page_request.send(null);
		},
		parse:function(page_request,container,functions){
			if(page_request.readyState==4 && (page_request.status==200 || window.location.href.indexOf('http')==-1)){
				document.getElementById(container).innerHTML = page_request.responseText;
				ajax.completed(functions);
			}
		},
		completed:function(functions){
			// After complete functions here..
			if(functions){
				for(var i=0;i<functions.length;i++){
					try{eval(functions[i]);}catch(e){alert(e.description);}
				}
			}
			Cufon.refresh();
		}
	};
}();

/* Bookmarks (ajax history back / forward fix)
---------------------------------------------------------------- */

var bookban = false;

var bookmarks = function(){
	var lasthash = '';
	var isie = false;
	var iec = 0;
	var iev = 0;
	var bookmarked = new Array();
	return {
		initialize:function(){
			var quirks = document.compatMode;
			if(document.all){
				if(/MSIE (\d+\.\d+);/.test(navigator.userAgent)){iev = new Number(RegExp.$1);}
				if(iev>=8 && quirks=='BackCompat' || iev<8){
					bookmarks.iframe();
					isie = true;
				}
			}
			setInterval("bookmarks.checkhash();", 400);
		},
		sethash:function(hash,url,container){
			if(hash){
				if(isie){iec++;}
				var str = hash + ',' + url + ',' + container + ',' + iec;
				var num = '';
				var partof = false;
				lasthash = hash;
				window.location.href = hash;
				for(var i=0;i<bookmarked.length;i++){
					var tmp = bookmarked[i].split(",");
					if(tmp[0]==hash){
						partof = true;
						num = tmp[3];
					}
				}
				if(isie){
					if(!partof){
						bookmarks.setiframe(hash,iec);
					}else{
						bookmarks.setiframe(hash,num);
					}
				}
				if(!partof){bookmarked.push(str);}
			}
		},
		checkhash:function(){
			var obj = window.location.hash;
			var hrf = window.location.href;
			var purl, pctn, phas;
			if(obj){
				if(obj!=lasthash){
					if(lasthash!=undefined){
						for(var i=0;i<bookmarked.length;i++){
							var tmp = bookmarked[i].split(",");
							if(tmp[0]==obj){
								phas = tmp[0];purl = tmp[1];pctn = tmp[2];
								break;
							}
						}
						if(phas && purl && pctn){
							lasthash = phas;
							ajax.load(purl,pctn,false,'','');
						}
					}
					// Workaround
					//if(!sliding){
					//	var tmp = obj.split("/");
					//	for(var i=0;i<tmp.length;i++){
					//		var str = tmp[i].toLowerCase();
					//		if(str=='case'){cases.movefront();}
					//	}
					//}
				}
			}
			// Workaround
			if(!sliding){
				if(!obj){
					var tmp = hrf.split("/");
					for(var i=0;i<tmp.length;i++){
						var str = tmp[i].toLowerCase();
						if(str=='cases'){
							cases.moveback();
						}
					}
				}else{
					var tmp = obj.split("/");
					for(var i=0;i<tmp.length;i++){
						var str = tmp[i].toLowerCase();
						if(str=='case'){
							cases.movefront();
						}
					}
				}
			}
		},
		iframe:function(){
			var bug = document.createElement("iframe");
			bug.src = '/bookmarks/blank.html';
			bug.id = 'bugframe';
			bug.style.width = '100px';
			bug.style.height = '100px';
			bug.style.display = 'none';
			document.body.appendChild(bug);
		},
		setiframe:function(f,num){
			document.getElementById('bugframe').src = '/bookmarks/blank.html?' + num + f;
		},
		fixiframe:function(f){
			var obj = window.location.hash;
			if(f){if(f!=obj){window.location.href = f;}}
		}
	};
}();

/* Dark layer
---------------------------------------------------------------- */

var darken = function(){
	return {
		create:function(){
			var dark = $d('layerdark');
			if(!dark){
				var dot = document.createElement("div");
				dot.id = 'layerdark';
				dot.style.opacity = 0.5;
				dot.style.filter = 'alpha(opacity=50)';
				dot.style.width = '100%';
				dot.style.height = '100%';
				dot.style.position = 'absolute';
				dot.style.zIndex = '1000';
				dot.style.backgroundColor = '#000000';
				dot.style.left = '0px';
				dot.style.top = '0px';
				dot.onclick = function(){darken.kill();}
				document.body.appendChild(dot);
			}
		},
		show:function(){
			darken.create();
			var dark = $d('layerdark');
			var height = document.documentElement.scrollHeight;
			if(dark){
				dark.style.height = height + 'px';
				dark.style.display = 'block';
			}
		},
		fixed:function(){
			var dark = $d('layerdark');
			var height = document.documentElement.scrollHeight;
			if(dark){
				dark.style.height = height + 'px';
			}
		},
		kill:function(){
			var dark = $d('layerdark');
			if(dark){dark.style.display = 'none';}
		}
	};
}();

/* Fader
---------------------------------------------------------------- */

var fader = function(){
	return {
		create:function(){
			var dot = document.createElement("div");
			dot.id = 'layerfade';
			dot.style.opacity = 0;
			dot.style.filter = 'alpha(opacity=0)';
			dot.style.width = '100%';
			dot.style.height = '100%';
			dot.style.position = 'absolute';
			dot.style.zIndex = '1000';
			dot.style.backgroundColor = '#000000';
			dot.style.left = '0px';
			dot.style.top = '0px';
			document.body.appendChild(dot);
		},
		set:function(elm,opa){
			var obj = $d(elm);
			var deci = opa;
			if(opa>100){opa=deci=100;}else if(opa<0){opa=deci=0;}
			deci /= 100;
			if(opa<1){opa = 1;}
			obj.style.opacity = deci;
			obj.style.filter = "alpha(opacity="+opa+")";
		},
		fade:function(elm,from,to,time,fps){
			var obj = $d('layerfade');
			if(!obj){fader.create();}
			var steps = Math.ceil(fps * (time / 1000));
			var delta = (to - from) / steps;
			fader.step(elm,0,steps,from,delta,(time/steps));
		},
		step:function(elm,step,steps,from,delta,timeps){
			fader.set(elm,Math.round(parseInt(from) + (delta * step)));
		    if(step<steps){setTimeout("fader.step('"+elm+"',"+(step+1)+","+steps+","+from+","+delta+","+timeps+");", timeps);}
		}
	};
}();

/* Validation
---------------------------------------------------------------- */

var validate = function(){
	var execute = true;
	return {
		err:function(f,act){
			var obj = $d(f);
			if(obj){if(act=='reset'){obj.style.backgroundColor = '#ebebeb';}else{obj.style.backgroundColor = '#eccdce';}}
		},
		email:function(str){
			var filter = /^[^\s@]+@[^\s@]+\.[a-z]{2,6}$/i;
			if(filter.test(str)){return true;}else{return false;}
		},
		empty:function(str){
			var filter = /^\s+$/;
			var expression;
			if(filter.test(str) || str==''){expression = false;}else{expression = true;}
			return expression;
		},
		onlynumbers:function(evt){
			var charCode = (evt.which) ? evt.which : event.keyCode;
			if(charCode > 31 && (charCode < 48 || charCode > 57)){return false;}else{return true;}
		},
		search:function(f){
			if(!validate.empty(f.q.value)){
				execute = false;
				//validate.err('1',f.q.id);
			}
			return execute;
		},
		subscribe:function(f,act){
			execute = true;
			var errname = $d('realname-err1');
			//var errtitle = $d('title-err1');
			var erremail = $d('email-err1');
			//var errcompany = $d('company-err1');
			var conname = $d('confirm-name');
			var conemail = $d('confirm-email');
			
			var frm = $d('subscribe-frm1');
			var con = $d('subscribe-frm2');
			var sbt = $d('subscribe-frm3');
			
			if(act=='confirmed'){
				if(frm && con && sbt){
					frm.style.display = 'none';
					con.style.display = 'block';
					sbt.style.display = 'none';
				}
			}else{
				// Reset
				if(errname && erremail){ // errtitle &&  && errcompany
					errname.style.display = 'none';
					erremail.style.display = 'none';
					//errtitle.style.display = 'none';
					//errcompany.style.display = 'none';
					validate.err(f.realname.id,'reset');
					validate.err(f.email.id,'reset');
					//validate.err(f.title.id,'reset');
					//validate.err(f.company.id,'reset');
				}
				// Validate
/*
				if(!validate.empty(f.title.value)){
					execute = false;
					validate.err(f.title.id);
//					errtitle.style.display = 'block';
				}
				if(!validate.empty(f.company.value)){
					execute = false;
					validate.err(f.company.id);
					errcompany.style.display = 'block';
				}*/
				if(!validate.empty(f.realname.value)){
					execute = false;
					validate.err(f.realname.id);
					errname.style.display = 'block';
				}
				if(!validate.email(f.email.value)){
					execute = false;
					validate.err(f.email.id);
					erremail.style.display = 'block';
				}
				// Transfer
				if(execute){
					if(conname && conemail){
						conname.innerHTML = f.realname.value;
						conemail.innerHTML = f.email.value;
					}
				}
				// Return
				return execute;
			}

		}
	};
}();

/* Format
---------------------------------------------------------------- */

var format = function(){
	return {
		pretty:function(f){
			// Format: YYYY/MM/DDTHH:MM:SS+ZZZZ
			if(f){
				//var e = $d('servertime-ajax');
				var _from = new Date();
				var _to = new Date(f);
				if(!isNaN(_to)){
					var _diff = ((_from.getTime()-_to.getTime())/1000);
					var _day_diff = Math.floor(_diff/(60*60*24));
					var _stamp,_lbl_year;
					
					// Extract names of month, month + day + time
					var _arr_month = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
					var _arr_day = new Array("Sun", "Mon", "Tues", "Wed", "Thur", "Fri", "Sat");
					var _name_month = _arr_month[_to.getMonth()];
					var _name_day = _arr_day[_to.getDay()];
					var _hrs_day = _to.getDate();
					var _mins = _to.getMinutes();_mins = _mins.toString();if(_mins.length==1){_mins='0'+_mins;}
					var _hrs = _to.getHours();_hrs = _hrs.toString();if(_hrs.length==1){_hrs='0'+_hrs;}
					var _hrs_mins = _hrs + ':' + _mins;
					
					// Year compare
					var _year_from = _from.getYear();
					var _year_to = _to.getYear();
					if(_year_from!=_year_to){_lbl_year=_year_to}else{_lbl_year='';}
					
					// Cases
					if(_diff<0 || _diff==0 || _diff==1){
						_stamp = '2 seconds ago';
					}else if(_diff<60){
						_stamp = Math.floor(_diff) + ' seconds ago';
					}else if(_diff<120){
						_stamp = 'about a minute ago';
					}else if(_diff<3600){
						_stamp = Math.floor(_diff / 60) + ' minutes ago';
					}else if(_diff<7200){
						_stamp = '1 hour ago';
					}else if(_diff<86400){
						_stamp = Math.floor(_diff / 3600) + ' hours ago';
					}else if(_day_diff==1){
						_stamp = 'Yesterday' + ' at ' + _hrs_mins;
					}else if(_day_diff<5){
						_stamp = _name_day + ' at ' + _hrs_mins;
					}else{
						_stamp = _hrs_day + ' ' + _name_month + ' ' + _lbl_year + ' at ' + _hrs_mins;
					}
				}else{
					_stamp = 'Error';
				}
				return _stamp;
			}
		},
		prettyupdate:function(){
			var items = document.getElementsByTagName('span');
			var current = items.length;
			for(var d=0;d<current;d+=1){
				if(items[d].className=='time'){
					var _cur = items[d].title;
					var date = format.pretty(_cur);
					items[d].innerHTML = date;
				}
			}
			clearTimeout(timer);
			timer = setTimeout("format.prettyupdate();", 60000);
		},
		servertime:function(){
			var obj = $d('servertime-ajax');
			var e = new Date();
			//var e = new Date(obj.innerHTML);
			e.setSeconds(e.getSeconds()+1);
			obj.innerHTML = e;
			//setTimeout("format.servertime()", 1000);
		}
	};
}();

/* Cookies
---------------------------------------------------------------- */

var cookies = function(){
	return {
		create:function(name,value,days){
			if(days){
				var date = new Date();
				date.setTime(date.getTime()+(days*24*60*60*1000));
				var expires = "; expires="+date.toGMTString();
			}
			else var expires = "";
			document.cookie = name+"="+value+expires+"; path=/";
		},
		read:function(name){
			var nameEQ = name + "=";
			var ca = document.cookie.split(';');
			for(var i=0;i < ca.length;i++){
				var c = ca[i];
				while (c.charAt(0)==' ') c = c.substring(1,c.length);
				if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
			}
			return null;
		},
		erase:function(name){
			cookies.create(name,"",-1);
		}
	};
}();

/* Menu
---------------------------------------------------------------- */

var menu = function(){
	return {
		cases:function(f){
			return true;
			//var obj = $d('pagectn');var plft;
			//if(obj){plft = parseInt(obj.style.left);}else{plft=0;}
			//if(plft<0){
			//	menu.casesreset();
			//	mover.move('pagectn',-960,0,['cases.adjust("0")']);
			//	return false;
			//}else{
			//	return true;
			//}
			try{f.blur();}catch(e){}
		},
		casesreset:function(){
			var items = document.getElementsByTagName('span');
			for(var d=0;d<items.length;d+=1){
				if(items[d].className=='des'){
					items[d].style.display = 'none';
				}
			}
		}
	};
}();

/* Cases
---------------------------------------------------------------- */

var cases = function(){
	return {
		load:function(f,url,hash){
			bookban = true;
			var fid = f.id;
			if(!fid){fid=f;}
			var load = $d(fid+'-load')
			if(load){load.style.display = 'block';}
			try{f.blur();}catch(e){}
			ajax.load(url+'&ajax=true','page2',false,'#!/case',['cases.delay("1",\''+fid+'\')','scroller.stat("top")']);
		},
		alpha:function(f,url){
			var obj = $d('alpha');
			if(obj){
				var items = obj.getElementsByTagName('a');
				for(var d=0;d<items.length;d+=1){items[d].className = '';}
				f.className = 'selected';
				cases.smooth();
				ajax.load(url+'&ajax=true','cases-ajax',true,'#!/cases',['cases.resizedelay()']);
			}
		},
		comp:function(f,url){
			var obj = $d('complist');
			if(obj){
				var items = obj.getElementsByTagName('a');
				for(var d=0;d<items.length;d+=1){items[d].className = '';}
				f.className = 'selected';
				cases.smooth();
				ajax.load(url+'&ajax=true','cases-ajax',true,'#!/cases',['cases.resizedelay()']);
			}
		},
		branche:function(f,url){
			var obj = $d('branchelist');
			if(obj){
				var items = obj.getElementsByTagName('a');
				for(var d=0;d<items.length;d+=1){items[d].className = '';}
				f.className = 'selected';
				cases.smooth();
				ajax.load(url+'&ajax=true','cases-ajax',true,'#!/cases',['cases.resizedelay()']);
			}
		},
		kundetype:function(f,url){
			var obj = $d('kundetypelist');
			if(obj){
				var items = obj.getElementsByTagName('a');
				for(var d=0;d<items.length;d+=1){items[d].className = '';}
				f.className = 'selected';
				cases.smooth();
				ajax.load(url+'&ajax=true','cases-ajax',true,'#!/cases',['cases.resizedelay()']);
			}
		},
		smooth:function(){
			var obj = $d('cases-ajax');
			var elm = $d('cases-smooth');
			var pag = $d('pagectn');
			if(obj && elm && pag){
				pag.style.height = '';
				pag.style.height = 'auto';
				elm.style.height = parseInt(obj.offsetHeight) + 'px';
			}
		},
		resizedelay:function(){
			setTimeout("cases.resize();", 500);
		},
		resize:function(){
			adjuster.init('cases-smooth','cases-ajax');
		},
		delay:function(step,res){
			ajaxtim = setTimeout("cases.delaycall("+step+","+res+");", 1000);
			sliding = true;
		},
		delaycall:function(step,res){
			sliding = false;
			cases.move(step);
			cases.resetload(res);
			setTimeout("cases.clearban()", 1000);
		},
		move:function(step){
			if(step=='0'){
				mover.move('pagectn',-960,0,['cases.adjust(\''+step+'\')']);
			}else if(step=='1'){
				mover.move('pagectn',0,-960,['cases.adjust(\''+step+'\')']);
			}
		},
		moveback:function(){
			var obj = $d('pagectn');
			if(obj){
				var str = parseInt(obj.style.left);
				if(str=='-960'){
					menu.casesreset();
					mover.move('pagectn',-960,0,['cases.adjust("0")','scroller.stat("top")','cases.resizedelay()']);
				}
			}
		},
		movefront:function(){
			var obj = $d('pagectn');
			if(obj){
				var str = parseInt(obj.style.left);
				if(str=='0' && !bookban){
					mover.move('pagectn',0,-960,['cases.adjust("1")','scroller.stat("top")','cases.resizedelay()']);
				}
			}
		},
		recase:function(f,url,hash){
			var fid = f.id;
			if(!fid){fid=f;}
			var load = $d(fid+'-load');
			if(load){load.style.display = 'block';}
			try{f.blur();}catch(e){}
			setTimeout("cases.recaseload('"+url+"','"+hash+"');", 1000);
		},
		recaseload:function(url,hash){
			ajax.load(url+'&ajax=true','page2',false,'#!/case',['Cufon.refresh()','cases.adjust("1")','scroller.stat("top")']);
		},
		resetload:function(f){
			var load = $d(f+'-load');
			if(load){load.style.display = 'none';}
			Cufon.refresh();
		},
		clearban:function(){
			bookban = false;
		},
		adjust:function(step){
			var obj = $d('pagectn');
			var elm1 = $d('page1');
			var elm2 = $d('page2');
			if(step=='0'){
				obj.style.height = elm1.offsetHeight + 'px';
			}else if(step=='1'){
				obj.style.height = elm2.offsetHeight + 'px';
			}
		},
		over:function(fid){
			var obj = $d('case'+fid+'-label');
			if(obj){obj.style.display = 'block';}
		},
		out:function(fid){
			var obj = $d('case'+fid+'-label');
			if(obj){obj.style.display = 'none';}
		}
	};
}();

/* Toogle text
---------------------------------------------------------------- */

var share = function(){
	return {
		click:function(f){
			var obj = $d('share');
			if(obj){obj.style.display = 'block';}
			f.blur();
		}
	};
}();

/* Toogles
---------------------------------------------------------------- */

var toogle = function(){
	return {
		submenu:function(f,m){
			var tst = $d(m);
			if(tst){
				if(f.className=='plus'){
					f.className = 'minus';
					slider.down(m);
				}else{
					f.className = 'plus';
					slider.up(m);
				}
			}
			try{f.blur();}catch(e){}
		},
		sub:function(f,m){
			var tst = $d(m);
			if(tst){slider.toogle(f,m);}
		},
		tease:function(f,m){
			var sm = $d('show-more');
			var tmin = $d('tease-min');
			var tmax = $d('tease-max');
			if(tmin && tmax){
				if(tmax.style.display == 'block'){
					slider.up('tease-max');
					f.className = '';
				}else{
					slider.down('tease-max');
					f.className = 'up';
				}
				//if(m=='hide'){if(sm){sm.style.display = 'none';}}
				f.blur();
			}
		},
		sortfilter:function(f,sec,url){
			toogle.resetfilter();
			f.className = 'selected';
			if(sec=='newest'){
				cases.smooth();
				ajax.load(url+'&ajax=true','cases-ajax',true,'#!/cases',['cases.resizedelay()']);
			}else if(sec=='alpha'){
				slider.down('alpha');
			}else if(sec=='compt'){
				slider.down('complist');
			} else if(sec=='kundetype') {
				slider.down('kundetypelist');
			} else if(sec=='branche') {
				slider.down('branchelist');
			}else if(sec=='select'){
				cases.smooth();
				ajax.load(url+'&ajax=true','cases-ajax',true,'#!/cases',['cases.resizedelay()']);
			}
			try{f.blur();}catch(e){}
		},
		resetfilter:function(){
			var obj = $d('sortfilter');
			if(obj){
				var items = obj.getElementsByTagName('a');
				for(var d=0;d<items.length;d+=1){items[d].className='';}
			}
			$d('complist').style.display = 'none';
			$d('alpha').style.display = 'none';
			$d('kundetypelist').style.display = 'none';
			$d('branchelist').style.display = 'none';
		},
		subcheck:function(f){
			var str = f.className;
			var obj = $d('emailsubscribe');
			if(str.indexOf('checked')!=-1){obj.value = 'false';f.className = 'check';}else{obj.value = 'true';f.className = 'check checked';}
			try{f.blur();}catch(e){}
		}
	};
}();

/* Ticker
---------------------------------------------------------------- */

var slideset = 1;
var marktimer;
var slidetimer;
var settimer;
var curslide;
var markeritem;

var slidex = function(){
	return {
		init:function(){
			slidex.auto();
		},
		auto:function(){
			var obj = $d('slide-set'+slideset);
			var elm = $d('slide-show');
			if(obj && elm){
				curslide = slideset;
				slidex.reset();
				obj.style.display = 'block';
				slidetimer = setTimeout("slidex.auto();", 20000);
				if(slideset==2){slideset=1;}else{slideset++;}
				slidex.set('slide-set'+curslide+'-id1',0);
				slidex.set('slide-set'+curslide+'-id2',0);
				slidex.set('slide-set'+curslide+'-id3',0);
				slidex.set('slide-set'+curslide+'-id4',0);
//				setTimeout("slidex.shower(1);", 400);
				setTimeout("slidex.shower(1);", 0);
				markeritem = 1;
				clearTimeout(marktimer);
				marktimer = setTimeout("slidex.marker();", 1000);
				elm.style.display = 'none';
			}
		},
		shower:function(num){
			var tim = 0; //Math.floor(Math.random() * (800 - 100 + 1) + 100);
			if(num==5){
				slidex.fade('slide-set"+curslide+"-id'+num,0,100,800,30);
				num = 1;
			}else{
				slidex.fade('slide-set'+curslide+'-id'+num,0,100,800,30);
				num++;
				setTimeout("slidex.shower("+num+");", tim);
			}
		},
		shift:function(f,num){
			var str = f.className;
			if(str!='current'){
				clearTimeout(slidetimer);
				clearTimeout(marktimer);
				clearTimeout(settimer);
				slideset = num;
				markeritem = 1;
				slidex.auto();
			}
		},
		reset:function(){
			var sl1 = $d('slide-set1');
			var sl2 = $d('slide-set2');
//			var sl3 = $d('slide-set3');
//			var sl4 = $d('slide-set4');
			var ctr1 = $d('slide-main-control1');
			var ctr2 = $d('slide-main-control2');
//			var ctr3 = $d('slide-main-control3');
//			var ctr4 = $d('slide-main-control4');
			var ctrx = $d('slide-main-control'+slideset);
//			if(sl1 && sl2 && sl3 && sl4 && ctr1 && ctr2 && ctr3 && ctr4 && ctrx){
			if(sl1 && sl2 && ctr1 && ctr2 && ctrx){
				sl1.style.display = 'none';
				sl2.style.display = 'none';
//				sl3.style.display = 'none';
//				sl4.style.display = 'none';
				ctr1.className = '';
				ctr2.className = '';
//				ctr3.className = '';
//				ctr4.className = '';
				ctrx.className = 'current';
			}
		},
		border:function(){
			var obj = $d('slide-items');
			var items = obj.getElementsByTagName('img');
			for(var d=0;d<items.length;d+=1){
				if(items[d].className=='slide-img'){
					// MLU: Set normal opacity
					slidex.set(items[d].id,100);
					//items[d].style.border = '5px solid #ebebeb';
				}
			}
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				if(items[d].className=='itm'){
					// MLU: Set normal opacity
					slidex.set(items[d].id,100);
					//items[d].style.border = '5px solid #ebebeb';
				}
			}
		},
		hider:function(){
			var obj = $d('slide-main');
			var items = obj.getElementsByTagName('div');
			var current = items.length;
			for(var d=0;d<items.length;d+=1){
				var str = items[d].className;
				if(str.indexOf('slide-mot')!=-1){
					items[d].style.display = 'none';
				}
			}
		},
		marker:function(){
			var obj = $d('slide-set'+curslide+'-lnk'+markeritem);
			var elm = $d('slide-set'+curslide+'-mot'+markeritem);
			var str = 'slide-set'+curslide+'-mot'+markeritem;
			if(obj && elm){
				slidex.border();
				slidex.hider();
				// Set opacity for selected here
				slidex.set(obj.id,50);
				// obj.style.border = '5px solid #456f81';
				//slidex.set(str, 0);
				elm.style.display = 'block';
//				slidex.fader(str,0,100,200);
				settimer = setTimeout("slidex.setbg('"+str+"');", 0);
				if(markeritem==4){markeritem=1;}else{markeritem++;}
				marktimer = setTimeout("slidex.marker();", 5000);
			}
		},
		setbg:function(f){
			var obj = $d('slide-main');
			var elm = $d(f+'-img');
			if(obj && elm){
				obj.style.backgroundImage = 'url('+elm.src+')';
			}
		},
		fade:function(elm,from,to,time,fps){
			var obj = $d(elm);
			if(obj){
				obj.style.display = 'block';
				slidex.set(elm,100);
			}
		},
		fader:function(id,opacStart,opacEnd,millisec){
			var speed = Math.round(millisec / 100);
			var timer = 0;
			if(opacStart>opacEnd){
				for(i=opacStart;i<=opacEnd;i=i-2){
					setTimeout("slidex.set('" + id + "'," + i + ")",(timer * speed));
					timer++;
				}
			}else if(opacStart<opacEnd){
				for(i=opacStart;i<=opacEnd;i=i+2){
					setTimeout("slidex.set('" + id + "'," + i + ")",(timer * speed));
					timer++;
				}
			}
		},
		set:function(id,opacity){
			var obj = $d(id).style;
			obj.opacity = (opacity / 100);
			obj.MozOpacity = (opacity / 100);
			obj.KhtmlOpacity = (opacity / 100);
			obj.filter = "alpha(opacity=" + opacity + ")";
			//obj.backgroundColor = '#ffffff';
		},
		mouseover:function(f,a,b){
			var obj = $d('slide-show');
			if(obj){
				obj.innerHTML = '<a href="'+a+'" title=""><img src="'+b+'" alt="" /></a>';
				obj.style.display = 'block';
				slidex.border();
				slidex.set(f.id,50);

				clearTimeout(slidetimer);
				clearTimeout(marktimer);
			}
		},
		mouseout:function(f){
			slidetimer = setTimeout("slidex.auto();", 4000);
		}
	};
}();

/* Ticker
---------------------------------------------------------------- */

var shtcur;

var shifter = function(){
	return {
		initialize:function(){
			shtcur = 0;
			shifter.reset();
			shifter.run();
		},
		show:function(){
			
		},
		run:function(){
			shifter.reset();
			var shfters = shifter.count();
			if(shtcur==shfters){shtcur=1;}else{shtcur++;}
			var obj = $d('main-slide-'+shtcur);
			if(obj){
				obj.style.zIndex = 150;
				obj.className = 'itm';
				obj.style.display = 'block';
			}
			setTimeout("shifter.run();", 8000);
		},
		reset:function(f){
			var count = 100;
			var upp = 1;
			var obj = $d('main');
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				items[d].className = 'itm hide';
				items[d].style.zIndex = count;
				items[d].id = 'main-slide-'+upp;
				count--;upp++;
			}
		},
		count:function(){
			var obj = $d('main');
			var count = 0;
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				var str = items[d].className;
				if(str.indexOf("itm")>-1){count++;}
			}
			return count;
		}
	};
}();

/* News shift
---------------------------------------------------------------- */

var nwsrcur;var nwsrtim;

var newsr = function(){
	return {
		initialize:function(){
			var elm = $d('news-controls');
			var newsters = newsr.count();
			if(newsters>0){
				if(elm){
					elm.innerHTML = '';
					for(var d=0;d<newsters;d+=1){
						var dc = d + 1;
						if(d==0){
							elm.innerHTML += '<li id="news-itm'+(dc)+'" class="current" onclick="newsr.click(\''+(dc)+'\');"><span>Dot</span></li>';
						}else{
							elm.innerHTML += '<li id="news-itm'+(dc)+'" onclick="newsr.click(\''+(dc)+'\');"><span>Dot</span></li>';
						}
					}
				}
				nwsrcur = 0;
				newsr.reset();
				newsr.run();
			}
		},
		click:function(num){
			newsr.reset();
			var elm = $d('news-itm'+num);
			var obj = $d('news-slide-'+num);
			if(elm){elm.className = 'current';elm.blur();}
			if(obj){
				obj.className = 'itm';
				obj.style.display = 'block';
				obj.style.opacity = 0;
				nwsrcur = num;
				setTimeout("newsr.visi();", 100);
			}
			clearTimeout(nwsrtim);
		},
		run:function(){
			newsr.reset();
			var newsters = newsr.count();
			if(nwsrcur==newsters){nwsrcur=1;}else{nwsrcur++;}
			var obj = $d('news-slide-'+nwsrcur);
			var elm = $d('news-itm'+nwsrcur);
			if(obj && elm){
				obj.className = 'itm';
				obj.style.display = 'block';
				obj.style.opacity = 0;
				elm.className = 'current';
				setTimeout("newsr.visi();", 100);
			}
//			nwsrtim = setTimeout("newsr.run();", 9000);
		},
		visi:function(){
			var obj = $d('news-slide-'+nwsrcur);
			if(obj){obj.style.opacity = 100;}
		},
		reset:function(f){
			var upp = 1;
			var obj = $d('news');
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				var str = items[d].className;
				if(str.indexOf("itm")>-1){
					items[d].className = 'itm hide';
					items[d].id = 'news-slide-'+upp;
					items[d].style.display = 'none';
					upp++;
				}
			}
			var elm = $d('news-controls');
			var itemx = elm.getElementsByTagName('li');
			for(var d=0;d<itemx.length;d+=1){itemx[d].className = '';}
		},
		count:function(){
			var obj = $d('news');
			var count = 0;
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				var str = items[d].className;
				if(str.indexOf("itm")>-1){count++;}
			}
			return count;
		}
	};
}();

/* testimonials shift
---------------------------------------------------------------- */

var tesrcur;var tesrtim;

var tesr = function(){
	return {
		initialize:function(){
			var elm = $d('testimonials-controls');
			var testimonialsters = tesr.count();
			if(testimonialsters>0){
				if(elm){
					elm.innerHTML = '';
					for(var d=0;d<testimonialsters;d+=1){
						var dc = d + 1;
						if(d==0){
							elm.innerHTML += '<li id="testimonials-itm'+(dc)+'" class="current" onclick="tesr.click(\''+(dc)+'\');"><span>Dot</span></li>';
						}else{
							elm.innerHTML += '<li id="testimonials-itm'+(dc)+'" onclick="tesr.click(\''+(dc)+'\');"><span>Dot</span></li>';
						}
					}
				}
				tesrcur = 0;
				tesr.reset();
				tesr.run();
			}
		},
		click:function(num){
			tesr.reset();
			var elm = $d('testimonials-itm'+num);
			var obj = $d('testimonials-slide-'+num);
			if(elm){elm.className = 'current';elm.blur();}
			if(obj){obj.className = 'itm';obj.style.display = 'block';}
			clearTimeout(tesrtim);
		},
		run:function(){
			tesr.reset();
			var testimonialsters = tesr.count();
			if(tesrcur==testimonialsters){tesrcur=1;}else{tesrcur++;}
			var obj = $d('testimonials-slide-'+tesrcur);
			var elm = $d('testimonials-itm'+tesrcur);
			if(obj && elm){
				obj.className = 'itm';
				obj.style.display = 'block';
				elm.className = 'current';
			}
			tesrtim = setTimeout("tesr.run();", 10000);
		},
		reset:function(f){
			var upp = 1;
			var obj = $d('testimonials');
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				var str = items[d].className;
				if(str.indexOf("itm")>-1){
					items[d].className = 'itm hide';
					items[d].id = 'testimonials-slide-'+upp;
					items[d].style.display = 'none';
					upp++;
				}
			}
			var elm = $d('testimonials-controls');
			var itemx = elm.getElementsByTagName('li');
			for(var d=0;d<itemx.length;d+=1){itemx[d].className = '';}
		},
		count:function(){
			var obj = $d('testimonials');
			var count = 0;
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				var str = items[d].className;
				if(str.indexOf("itm")>-1){count++;}
			}
			return count;
		}
	};
}();

/* Move divs <|> slider.toogle('divname',['customfunction()','anotherfunction()']);
---------------------------------------------------------------- */

var mover = function(){
	var slideAtClose=true,duration=0.4,obj,newLeft,curLeft;
	return {
		init:function(elm,from){
			obj = $d(elm);
			if(obj){obj.style.left = from + 'px';}
		},
		move:function(elm,from,to,functions){
			if(!sliding){
				mover.init(elm,from);
				newLeft = to;
				curLeft = from;
				mover.slide(elm,functions);
			}
		},
		slide:function(elm,functions){
			sliding = true;
			var frames = 30 * duration;
			var tinc = (duration * 1000) / frames;
			tinc = Math.round(tinc);
			var sinc = (curLeft - newLeft) / frames;
			var frameSizes = new Array();
			for(var i=0;i<frames;i++){
				if(i < frames / 2){
					frameSizes[i] = (sinc * (i / frames)) * 4;
				} else {
					frameSizes[i] = (sinc * (1 - (i / frames))) * 4;
				}
			}
			for(var i=0;i<frames;i++){
				curLeft = curLeft - frameSizes[i];
				window.setTimeout("document.getElementById('"+elm+"').style.left = '"+Math.round(curLeft)+"px';", tinc * i);
				if((i + 1) == frames){window.setTimeout("mover.complete("+functions+");", tinc * (i + 5));}
			}
		},
		hide:function(){
			obj.style.display = 'none';
		},
		auto:function(){
			//obj.style.height = 'auto';
		},
		complete:function(functions){
			sliding = false;
			if(functions){
				for(var i=0;i<functions.length;i++){
					try{eval(functions[i]);}catch(e){alert(e.description);}
				}
			}
			mover.auto();
		}
	};
}();

/* Move divs <|> slider.toogle('divname',['customfunction()','anotherfunction()']);
---------------------------------------------------------------- */

var moverx = function(){
	var slideAtClose=true,duration=0.4,obj,newLeft,curLeft;
	return {
		init:function(elm,from){
			obj = $d(elm);
			if(obj){obj.style.left = from + 'px';}
		},
		move:function(elm,from,to,functions){
			if(!sliding){
				moverx.init(elm,from);
				newLeft = to;
				curLeft = from;
				moverx.slide(elm,functions);
			}
		},
		slide:function(elm,functions){
			sliding = true;
			var frames = 30 * duration;
			var tinc = (duration * 1000) / frames;
			tinc = Math.round(tinc);
			var sinc = (curLeft - newLeft) / frames;
			var frameSizes = new Array();
			for(var i=0;i<frames;i++){
				if(i < frames / 2){
					frameSizes[i] = (sinc * (i / frames)) * 4;
				} else {
					frameSizes[i] = (sinc * (1 - (i / frames))) * 4;
				}
			}
			for(var i=0;i<frames;i++){
				curLeft = curLeft - frameSizes[i];
				window.setTimeout("document.getElementById('carousel1').style.left = '"+Math.round(curLeft)+"px';document.getElementById('carousel2').style.left = '"+Math.round(curLeft)+"px';document.getElementById('carousel3').style.left = '"+Math.round(curLeft)+"px';document.getElementById('carousel4').style.left = '"+Math.round(curLeft)+"px';", tinc * i);
				if((i + 1) == frames){window.setTimeout("moverx.complete("+functions+");", tinc * (i + 5));}
			}
		},
		hide:function(){
			obj.style.display = 'none';
		},
		auto:function(){
			//obj.style.height = 'auto';
		},
		complete:function(functions){
			sliding = false;
			if(functions){
				for(var i=0;i<functions.length;i++){
					try{eval(functions[i]);}catch(e){alert(e.description);}
				}
			}
			moverx.auto();
		}
	};
}();

/* Switches
---------------------------------------------------------------- */

var currentMiniCase='';
var currentMiniCaseContainer;

var minicase = function(){
	return {
		over:function(f,mot){
//			minicase.reset(mot);
			var obj = $d(mot+'-lbl');
			var str = f.title;
			if(str && obj){obj.innerHTML = str;}
//			f.className = 'over';
		},
		reset:function(mot){
			if(mot){
				var objs = $d(mot);
				var items = objs.getElementsByTagName('a');
				var current = items.length;
				for(d=0;d<current;d+=1){
					items[d].className = '';
				}
			}
		},
		toogle:function(f,nod){
			var str = f.className;
			if(str.indexOf('-sel')!=-1){
				document.getElementById(nod).style.display="none";
//				slider.up(nod);
				f.className = str.replace('-sel','');
			}else{
				if (currentMiniCase!="") {
					document.getElementById(currentMiniCase).style.display="none";
					currentMiniCaseContainer.className = str.replace('-sel','');
				}
				f.className = str + '-sel';
				document.getElementById(nod).style.display="block";
				currentMiniCase = nod;
				currentMiniCaseContainer = f;
//				slider.down(nod);
			}
			f.blur();
		}
	};
}();

/* Anchor scroll (scroller.stat('top');)
---------------------------------------------------------------- */

var scroller = function(){
	return {
		stat:function(f){
			//var url = f.href;
			//var arr = url.split('#');
			var link = library.scrollposition();
			var _link = link.split('/');
			var linkY = parseInt(_link[1]);
			var anchor = scroller.locate(f);
			if(anchor!=null){
				var _anchor = anchor.split('/');
				var anchorY = parseInt(_anchor[1]);
				scroller.slide(linkY,anchorY);
			}
		},
		move:function(f){
			var url = f.href;
			var arr = url.split('#');
			var link = library.scrollposition();
			var _link = link.split('/');
			var linkY = parseInt(_link[1]);
			var anchor = scroller.locate(arr[1]);
			if(anchor!=null){
				var _anchor = anchor.split('/');
				var anchorY = parseInt(_anchor[1]);
				scroller.slide(linkY,anchorY);
				return false;
			}else{
				return true;
			}
		},
		slide:function(from,to,functions){
			var duration=1,_from=from,_to=to;
			var frames = 60*duration;
			var tinc = (duration*1000)/frames;
			tinc = Math.round(tinc);
			var sinc = (_from-_to)/frames;
			var frameSizes = new Array();
			for(var i=0;i<frames;i++){
				if(i<frames/2){
					frameSizes[i] = (sinc*(i/frames))*4;
				} else {
					frameSizes[i] = (sinc*(1-(i/frames)))*4;
				}
			}
			for(var i=0;i<frames;i++){
				_from = _from-frameSizes[i];
				window.setTimeout("window.scrollTo(0,"+Math.round(_from)+")",tinc*i);
				if((i+1)==frames){window.setTimeout("scroller.complete("+functions+");",tinc*(i+5));}
			}
		},
		locate:function(f){
			var found = false, anchor;
			var items = document.getElementsByTagName('a');
			var current = items.length;
			for(d=0;d<current;d+=1){
				var str = items[d].name;
				if(f==str){
					found = true;
					anchor = library.elementposition(items[d]);
				}
			}
			if(found){return anchor;}else{return null;}
		},
		complete:function(functions){
			if(functions){
				for(var i=0;i<functions.length;i++){
					try{eval(functions[i]);}catch(e){alert(e.description);}
				}
			}
		},
		init:function(){
			var items = document.getElementsByTagName('a');
			var current = items.length;
			for(d=0;d<current;d+=1){
				var str = items[d].href;
				if(str.indexOf('#')>-1){
					var tmp = str.split('#');
					if(tmp[1]!=''){
						items[d].onclick = function(){return scroller.move(this);}
					}
				}
			}
		}
	};
}();

/* Sliding divs <|> slider.toogle('divname',['customfunction()','anotherfunction()']);
---------------------------------------------------------------- */

var slider = function(){
	var sliding = false;var slideAtClose=true;var duration=0.4;var obj;var newHeight;var curHeight;
	return {
		init:function(elm){
			obj = $d(elm);
			if(obj.style.display == 'none' || obj.style.display == ''){
				obj.style.display = 'block';
				obj.style.height = parseInt(obj.offsetHeight) + 'px';
				obj.style.display = 'none';
			}else if(obj.style.display == 'block'){
				obj.style.display = 'block';
				obj.style.height = parseInt(obj.offsetHeight) + 'px';
			}
		},
		toogle:function(f,elm,functions){
			obj = $d(elm);
			if(obj.style.display=='none' || obj.style.display==''){
				slider.down(elm,functions);
			}else{
				slider.up(elm,functions);
			}
		},
		down:function(elm,functions){
			if(!sliding){
				slider.init(elm);
				newHeight = parseInt(obj.style.height);
				curHeight = '1';
				obj.style.height = '1px';
				obj.style.display = 'block';
				slider.slide(elm,functions);
			}
		},
		up:function(elm,functions){
			if(!sliding){
				slider.init(elm);
				curHeight = parseInt(obj.style.height);
				newHeight = '1';
				var finishTime = slider.slide(elm,functions);
				window.setTimeout("slider.hide();",finishTime);
			}
		},
		slide:function(elm,functions){
			sliding = true;
			var frames = 30 * duration;
			var tinc = (duration * 1000) / frames;
			tinc = Math.round(tinc);
			var sinc = (curHeight - newHeight) / frames;
			var frameSizes = new Array();
			for(var i=0;i<frames;i++){
				if(i < frames / 2){
					frameSizes[i] = (sinc * (i / frames)) * 4;
				} else {
					frameSizes[i] = (sinc * (1 - (i / frames))) * 4;
				}
			}
			for(var i=0;i<frames;i++){
				curHeight = curHeight - frameSizes[i];
				window.setTimeout("$d('"+elm+"').style.height = '"+Math.round(curHeight)+"px';", tinc * i);
				if((i + 1) == frames){
					window.setTimeout("slider.complete("+functions+");", tinc * (i + 5));
				}
			}
			return tinc * i;
		},
		hide:function(){
			obj.style.display = 'none';
		},
		auto:function(){
			obj.style.height = 'auto';
		},
		complete:function(functions){
			slider.auto();
			sliding = false;
			if(functions){
				for(var i=0;i<functions.length;i++){
					try{eval(functions[i]);}catch(e){alert(e.description);}
				}
			}
		}
	};
}();

/* Employees
---------------------------------------------------------------- */

var emplast = '';
var oldlast = '';

var employee = function(){
	return {
		over:function(f){
			var fll = $d(f.id+'-fg');
			var tra = $d(f.id+'-bg');
			var txt = $d(f.id+'-tx');
			if(fll && tra && txt){
				if(fll.style.display!='block'){
					fll.style.display = 'none';
					tra.style.display = 'block';
					txt.style.display = 'block';
				}
			}
		},
		out:function(f){
			var fll = $d(f.id+'-fg');
			var tra = $d(f.id+'-bg');
			var txt = $d(f.id+'-tx');
			if(fll && tra && txt){
				if(fll.style.display!='block'){
					fll.style.display = 'none';
					tra.style.display = 'none';
					txt.style.display = 'none';
				}
			}
		},
		click:function(f,area,url){
			var conti = true;
			var iso = $d(f.id+'-fg');
			if(iso){
				if(iso.style.display=='block'){
					employee.close();
					conti = false;
				}
			}
			if(conti){
				if(emplast!=area){
					oldlast = emplast;
					if(emplast!=''){
						var lst = $d(emplast+'-div');
						if(lst){lst.style.display = 'none';}
					}
				}
				emplast = area;
				employee.reset();
				var txt = $d(f.id+'-tx');
				var fmc = $d(f.id+'-fg');
				var adi = $d(area+'-div');
				var ajx = $d(area+'-ajax');
				var abx = $d(area+'-abs');
				var are = area+'-ajax';
				var abs = area+'-abs';
				if(fmc && txt && adi){
					fmc.style.display = 'block';
					txt.style.display = 'block';
					adi.style.display = 'block';
					abx.style.display = 'block';
					employee.set(abs,100);
				}
				var obj = $d(area+'-ajax');
				if(obj){ajax.load(url,are,true,'',['employee.callback();']);}
			}
		},
		close:function(f){
			try{f.blur();}catch(e){}
			slider.up(emplast+'-div');
			employee.reset();
		},
		callback:function(){
			var old = $d(oldlast+'-ajax');
			var are = $d(emplast+'-ajax');
			var abs = $d(emplast+'-abs');
			if(are && abs){abs.style.height = parseInt(are.offsetHeight) + 'px';}
			setTimeout("employee.reload();", 100);
			if(old){old.innerHTML = '';}
			Cufon.refresh();
		},
		reload:function(){
			var obj = $d(emplast+'-abs');
			var adj = $d(emplast+'-ajax');
			var taj = emplast+'-div';
			var are = emplast+'-ajax';
			if(obj && adj){
				obj.style.height = parseInt(obj.offsetHeight) + 'px';
			}
			adjuster.init(taj,are,['employee.show()']);
		},
		show:function(){
			var obj = $d(emplast+'-abs');
			if(obj){employee.fade(emplast+'-abs',100,0,200,20);}
			var xlnk = $d('bysted'+emplast+'-lnk');
			var link = library.scrollposition();
			var _link = link.split('/');
			var linkY = parseInt(_link[1]);
			var anchor = library.elementposition(xlnk);
			if(anchor!=null){
				var _anchor = anchor.split('/');
				var anchorY = parseInt(_anchor[1]);
				scroller.slide(linkY,anchorY);
				return false;
			}else{
				return true;
			}
		},
		marker:function(f,cls){
			employee.mreset();
			var obj = $d('emp-list');
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				var str = items[d].className;
				if(str.indexOf("itm")!=-1){
					if(str.indexOf(cls)!=-1){
						var fmc = $d(items[d].id+'-mc');
						if(fmc){fmc.style.display = 'block';}
					}
				}
			}
			try{f.blur();}catch(e){}
		},
		reset:function(){
			var obj = $d('emp-list');
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				if(items[d].className=='fg'){items[d].style.display = 'none';}
				if(items[d].className=='bg'){items[d].style.display = 'none';}
			}
			var items = obj.getElementsByTagName('a');
			for(var d=0;d<items.length;d+=1){
				if(items[d].className=='tx'){items[d].style.display = 'none';}
			}
		},
		mreset:function(){
			var obj = $d('emp-list');
			var items = obj.getElementsByTagName('div');
			for(var d=0;d<items.length;d+=1){
				if(items[d].className=='fg'){items[d].style.display = 'none';}
				if(items[d].className=='bg'){items[d].style.display = 'none';}
				if(items[d].className=='mc'){items[d].style.display = 'none';}
			}
			var items = obj.getElementsByTagName('a');
			for(var d=0;d<items.length;d+=1){
				if(items[d].className=='tx'){items[d].style.display = 'none';}
			}
		},
		set:function(elm,opa){
			var obj = $d(elm);
			var deci = opa;
			if(opa>100){opa=deci=100;}else if(opa<0){opa=deci=0;}
			deci /= 100;
			if(opa<1){opa = 1;}
			obj.style.opacity = deci;
			obj.style.filter = "alpha(opacity="+opa+")";
		},
		fade:function(elm,from,to,time,fps){
			var steps = Math.ceil(fps * (time / 1000));
			var delta = (to - from) / steps;
			employee.step(elm,0,steps,from,delta,(time/steps));
		},
		step:function(elm,step,steps,from,delta,timeps){
			employee.set(elm,Math.round(parseInt(from) + (delta * step)));
		    if(step<steps){setTimeout("employee.step('"+elm+"',"+(step+1)+","+steps+","+from+","+delta+","+timeps+");", timeps);}else{
				var obj = $d(elm);if(obj){obj.style.display = 'none';}
			}
		}
	};
}();

/* News
---------------------------------------------------------------- */

var news = function(){
	return {
		click:function(f,url){
			var obj = $d('news-base');
			var elm = $d('news-ajax');
			if(obj && elm){
				if(obj.style.display=='block'){
					obj.style.height = parseInt(elm.offsetHeight) + 'px';
					ajax.load(url,'news-ajax',true,'',['news.resize()']);
				}else{
					obj.style.display = 'block';
					elm.style.display = 'block';
					ajax.load(url,'news-ajax',true);
				}
				news.reset();
				f.className = 'selected';
			}
			try{f.blur();}catch(e){}
		},
		reset:function(f){
			var obj = $d('news-list');
			var items = obj.getElementsByTagName('a');
			for(var d=0;d<items.length;d+=1){
				items[d].className = '';
			}
		},
		resize:function(f){
			adjuster.init('news-base','news-ajax');
		}
	};
}();

/* Competencies
---------------------------------------------------------------- */

var comp = function(){
	return {
		show:function(f,url){
			var obj = $d('comp-pop');
			var elm = $d('pop-pdx');
			if(obj){
				if(obj.style.display=='block'){
					elm.style.height = parseInt(obj.offsetHeight) + 'px';
					ajax.load(url,'comp-ajax',false,'',['comp.resize()']);
				}else{
					obj.style.display = 'block';
					ajax.load(url,'comp-ajax',false,'',['comp.resize()']);
				}
			}
		},
		close:function(f){
			var obj = $d('comp-pop');
			if(obj){obj.style.display = 'none';}
			try{f.blur();}catch(e){}
		},
		resize:function(f){
			adjuster.init('pop-pdx','comp-ajax');
		}
	};
}();

/* Adjuster (adjuster.init('div-to-adjust','div-to-measure',functions);)
---------------------------------------------------------------- */

var adjset;

var adjuster = function(){
	var adjusting = false;var duration=0.6;var obj;var newHeight;var curHeight;
	return {
		init:function(elm,el,functions){
			obj = $d(elm);
			var nel = $d(el);
			if(obj && nel){
				if(!adjusting){
					curHeight = parseInt(obj.offsetHeight);
					newHeight = parseInt(nel.offsetHeight);
					if(curHeight!=newHeight){adjuster.slide(elm,functions);}else{adjuster.complete(functions);}
				}else{
					adjuster.complete(functions);
				}
			}
		},
		slide:function(elm,functions){
			adjusting = true;
			var frames = 30 * duration;
			var tinc = (duration * 1000) / frames;
			tinc = Math.round(tinc);
			var sinc = (curHeight - newHeight) / frames;
			var frameSizes = new Array();
			for(var i=0;i<frames;i++){
				if(i < frames / 2){
					frameSizes[i] = (sinc * (i / frames)) * 4;
				} else {
					frameSizes[i] = (sinc * (1 - (i / frames))) * 4;
				}
			}
			for(var i=0;i<frames;i++){
				curHeight = curHeight - frameSizes[i];
				window.setTimeout("$d('"+elm+"').style.height = '"+Math.round(curHeight)+"px';", tinc * i);
				if((i + 1) == frames){window.setTimeout("adjuster.complete("+functions+");", tinc * (i + 5));}
			}
			return tinc * i;
		},
		complete:function(functions){
			adjusting = false;
			if(functions){
				for(var i=0;i<functions.length;i++){
					try{eval(functions[i]);}catch(e){/*alert(e.description);*/}
				}
			}
		}
	};
}();

/* Library
---------------------------------------------------------------- */

var library = function(){
	return {
		elementposition:function(obj){
			var curleft=curtop=0;
			if (obj.offsetParent){
				curleft=obj.offsetLeft;
				curtop=obj.offsetTop;
				while(obj=obj.offsetParent){
					curleft+=obj.offsetLeft
					curtop+=obj.offsetTop
				}
			}
			return curleft+'/'+curtop;
		},
		cursorposition:function(e){
			e = e || window.event;
		    var cursor = {x:0, y:0};
		    if(e.pageX || e.pageY){
		        cursor.x = e.pageX;
		        cursor.y = e.pageY;
		    }else{
		        var de = document.documentElement;
		        var b = document.body;
		        cursor.x = e.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
		        cursor.y = e.clientY + (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
		    }
		    return cursor.x+'/'+cursor.y;
		},
		documentdimensions:function(){
			var myWidth = 0, myHeight = 0;
			if(typeof(window.innerWidth)=='number'){
				myWidth = window.innerWidth;
				myHeight = window.innerHeight;
			}else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)){
				myWidth = document.documentElement.clientWidth;
				myHeight = document.documentElement.clientHeight;
			}else if(document.body && (document.body.clientWidth || document.body.clientHeight)){
				myWidth = document.body.clientWidth;
				myHeight = document.body.clientHeight;
			}
			return myWidth+'/'+myHeight;
		},
		scrollposition:function(){
			var myTop = 0, myLeft = 0;
			if(document.all){
				myLeft = (document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
				myTop = (document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
			}else{
				myLeft = window.pageXOffset;
				myTop = window.pageYOffset
			}
			return myLeft+'/'+myTop;
		},
		whichelement:function(e){
			var targ,found=false;
			if(!e){var e=window.event;}
			if(e.target){targ=e.target;}else if(e.srcElement){targ=e.srcElement;}
			if(targ.nodeType==3){targ=targ.parentNode;}
			if(targ.className=='contextmenu'){found=true;}else{found=false;}
			return found;
		},
		keycode:function(evt){
			evt = (evt) ? evt : ((event) ? event : null);
			var evver = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null );
			var keynumber = evt.keyCode;
			if(keynumber){return keynumber;}
		},
		getstyle:function(el,prop){
			var x = $d(el);var y;
			if(x.currentStyle){
				y = x.currentStyle[prop];
			}else if (window.getComputedStyle){
				y = document.defaultView.getComputedStyle(x,null).getPropertyValue(prop);
			}
			return y;
		}
	};
}();
