/******************************** O N M O U S E O V E R ********************************/

function buttonroll(o, state){
	o.style.cursor = (state=="on") ? 'pointer' : ''
	o.src = (state=="on") ? o.src.split('_off.').join('_on.') : o.src.split('_on.').join('_off.')
}
function buttonhand(o, state){
	o.style.cursor = (state=="on") ? 'pointer' : ''
}

function buttonfade(o, state){
	var parent = this;
	parent.o = o;
	parent.state = state;
	parent.t = null;
	SetOpacity(o, (parent.state=='off')? 0:1); 
	
	parent.fade = function(){
		var p = GetOpacity(parent.o);
		p += (parent.state=='off')? 0.25:-0.5;
		SetOpacity(parent.o, p);
		window.clearTimeout(parent.t);
		if( p>0 & p<1 ) parent.t = window.setTimeout(parent.fade, (parent.state=='off')? 100:100);
	}
	
	parent.fade()
}

var imgs = getElementsByClassName('js_buttonroll', 'img', document);
for(i in imgs){
	addEvent(imgs[i], "mouseover", function(){ buttonroll(this, 'on'); } );
	addEvent(imgs[i], "mouseout", function(){ buttonroll(this, 'off'); } );
}

var imgs = getElementsByClassName('js_buttonhand', 'img', document);
for(i in imgs){
	addEvent(imgs[i], "mouseover", function(){ buttonhand(this, 'on'); } );
	addEvent(imgs[i], "mouseout", function(){ buttonhand(this, 'off'); } );
}

var imgs = getElementsByClassName('js_buttonfade', 'img', document);
for(i in imgs){
	//SetOpacity(imgs[i], 1);
	addEvent(imgs[i], "mouseover", function(){ new buttonfade(this, 'on'); } );
	addEvent(imgs[i], "mouseout", function(){ new buttonfade(this, 'off'); } );
}


/******************************** OPENMORE ********************************/

var openmore = function(type){
	var parent = this;
	parent.type = type;
	parent.o = null;
	parent.t = null;
	
	parent.load = function(){
		var imgs = getElementsByClassName('js_openmore', type, document);
		for(k in imgs){
			addEvent(imgs[k], "mouseover", function(){
				if(!isObject(parent.o)){
					var title = this.getAttribute('title');
					var e = createTag('div',{position:"absolute",id:'js_openmore_div',width:'200px',left:(_x-25)+'px',top:(_y-(15*(parent.slicetext(title, 30).length))-50)+'px',zIndex:200});
					var e1 = createTag('div',{background:'url(\'images/openmore_bck.gif\') no-repeat top'});
					var e2 = createTag('div',{padding:'10px 10px 0px 10px',fontSize:'12px'});
					e2.innerHTML = parent.slicetext(title, 30).join('<br>');
					e.appendChild(e1);
					e1.appendChild(e2);
					var img = createTag('img',{src:'images/openmore_down.gif',height:'30px'});
					e.appendChild(img);
					SetOpacity(e, 0.1);
					document.body.appendChild(e);
					window.clearTimeout(parent.t);
					parent.t = window.setTimeout(parent.fade, 10);
					parent.o = e;
				}
				//buttonroll(this,'on');
			} );
			addEvent(imgs[k], "mousemove", function(e){
				if(isObject(parent.o)){
					var title = this.getAttribute('title');
					var l = parent.o.innerHTML.split('<br>').length;
					var _x = getMouseAbsolute(e)[0];
					var _y = getMouseAbsolute(e)[1];
					parent.o.style.left = (_x-25)+'px';
					parent.o.style.top = (_y-(15*(parent.slicetext(title, 30).length))-50)+'px';
				}
			} );
			addEvent(imgs[k], "mouseout", function(){
				if(isObject(parent.o)){
					document.body.removeChild(parent.o, true);
					parent.o = null;
				}
				//buttonroll(this,'off');
			} );
			
		}
	}
	
	parent.fade = function(){
		window.clearTimeout(parent.t);
		var p = GetOpacity(parent.o) + 0.3;
		SetOpacity(parent.o, p);
		if(p<1) parent.t = window.setTimeout(parent.fade, 10);
		
	}
	
	parent.slicetext = function(str, length){
		var array1 = new Array();
		var array2 = str.split(' ');
		var tmp = '';
		for(i=0;i<array2.length;i++){
			var txt = tmp + ' ' + array2[i];
			if( txt.length<length){
				tmp = txt;
			}else{
				array1.push(tmp);
				tmp = array2[i];
			}
		}
		if(tmp.length>0) array1.push(tmp);
		return array1;
	}
	
	parent.load();
	
}
new openmore('img');
new openmore('a');


/******************************** JS POPUPS ********************************/

var as = getElementsByClassName('js_popup', 'a', document);
for(i=0;i<as.length;i++){
	as[i].onclick = function(){
		var link = 'image.html?file='+this.getAttribute('href');
		openWindow(link,'',640,480);
		return false;
	}
}

function openWindow(url, title, width, height) {
	window.open(url, title, 'width=' + width + ', height=' + height + ',resizable=0,scrollbars=no,menubar=no');
}

/******************************** A N I M A T I O N ********************************/

var Animation = function(box){
	var parent = this;
	parent.box = box;
	parent.st = false;
	parent.tmp = false;
	parent.l = 0;
	parent.k = 0;
	parent.dir = 1;
	parent.images = new Array();
	parent.srcs = new Array();
	parent.durations = new Array();
	parent.speeds = new Array();
	parent.attributes = new Array();
	parent.links = new Array();
	parent.width = 1;
	
	parent.load = function(src, duration, speed, attribute, link){
	 	if( !duration | duration<0 ) duration = 3000;
		if( !speed | speed===undefined ) speed = 2;
		if( src!='' ){
			parent.srcs.push(src);
			parent.durations.push(duration);
			parent.speeds.push(speed);
			parent.attributes.push(attribute);
			parent.links.push(link? link:false);
		}else{
			alert('error!');
		}
	}
	parent.width = function(val){
		SetW(parent.box, val);
	}
	parent.height = function(val){
		SetH(parent.box, val);
	}
	
	parent.initbuttons = function(){
		var parent2 = this;
		parent2.dir2 = 1;
		parent2.o2 = false;
		parent2.st2 = false;

		var as = getElementsByClassName('js_anim', 'a', document);
		for(k in as){
			addEvent(as[k], 'mouseover', function(){
				var divs = createTag('div', {position:'absolute',overflow:'hidden',left:'0px',width:'0px',top:'0px',padding:'3px',backgroundColor:'#000',color:'#FFF',fontSize:'15px',fontFamily:'Courier New',textAlign:'center',whiteSpace:'nowrap'});
				divs.innerHTML = this.getAttribute('title');
				divs.style.zIndex = 1100;
				this.insertBefore(divs, this.childNodes[0]);
				parent2.dir2 = 1;
				parent2.o2 = divs;
				window.clearTimeout(parent2.st2);
				parent2.st2 = window.setTimeout(parent2.roll, 100);
				this.style.cursor = 'pointer';
			}, false);
			as[k].onmouseout = function(){
				this.removeChild(this.childNodes[0]);
			}
			as[k].onclick = function(){
				var frame = parseInt(this.getAttribute('name'));
				if( !frame ) return false;
				for(k in parent.images){
					SetOpacity(parent.images[k], 0);
					parent.images[k].style.display = 'none';
				}
				parent.k = frame-1;
				parent.dir = 1;
				window.clearTimeout(parent.st);
				parent.st = window.setTimeout(parent.fade, 100);
				return false;
			}
		}
		
		parent2.roll = function(){
			if(isObject(parent2.o2)){
				var max = parseInt(parent2.o2.innerHTML.length)*10;
				var w = GetW(parent2.o2);
				if(w==0) w = 10;
				var ratio = (w/max)*300;
				w += ((parent2.dir2>0)? ratio:-ratio);
				SetW(parent2.o2, w);
				if(parent.width==1 | 1) parent2.o2.style.left = '-'+(w)+'px';
				if(w<max & w>0) parent2.st2 = window.setTimeout(parent2.roll, 50);
				else{
				 	SetW(parent2.o2, parseInt(max+4));
				 	if(parent.width==1 | 1) parent2.o2.style.left = '-'+(max+4)+'px';
					parent2.o2 = false;
				}
			}
		}
	}
	
	parent.setbuttons = function(){
		var as = getElementsByClassName('js_anim', 'a', document);
		for(k in as){
			var i = parseInt(as[k].getAttribute('name'))-1;
			var img = as[k].getElementsByTagName('img')[0];
			img.src = img.src.split( (i<=parent.k)?'_anim_nact':'_anim_act' ).join( (i<=parent.k)?'_anim_act':'_anim_nact' );
		}
	}
	
	parent.start = function(){
		parent.srcs.push(parent.srcs[0]);
		parent.speeds.push(parent.speeds[0]);
		parent.durations.push(100);
		parent.attributes.push('');
		parent.links.push('');
						
		parent.l = parent.srcs.length;
		parent.load_image();
		//parent.initbuttons();
	}
	
	parent.debug = function( val ){
		if( !parent.debug_field ){
			parent.debug_field = createTag('div', {position:'absolute',top:'0px',left:'0px',zIndex:'2000',background:'#FFF'});
			//document.insertBefore(document.childNodes[0], parent.debug_field);
			document.body.appendChild(parent.debug_field);
		}
		parent.debug_field.innerHTML += val + '<br>';
	}
	//alert(document.body.childNodes[0]);
	parent.load_image = function(){
		window.clearTimeout(parent.st);
		parent.loader(1-parent.srcs.length/parent.l);
		if( parent.srcs.length>0 ){
			parent.tmp = new Image();
			SetOpacity(parent.tmp, 0);
			parent.tmp.style.zIndex = 1000 + parent.images.length;
			parent.tmp.style.position = 'absolute';
			parent.tmp.style.display = 'none';
			var w = GetW(parent.box);
			var h = GetH(parent.box);
			SetL(parent.tmp, 0);
			SetT(parent.tmp, 0);
			addEvent(parent.tmp, 'load', function(){ 
				parent.images.push(parent.tmp);
				parent.st = window.setTimeout(parent.load_image, 10);
			}, false);
			parent.tmp.src = parent.srcs.shift();
			parent.box.appendChild(parent.tmp);
		}else{
			parent.st = window.setTimeout(function(){
			 	parent.loader(2);
			 	parent.fade();
			}, 10);
		}
	}
	
	parent.loader = function(state){
		if(state==0){
			parent.div = createTag('div', {textAlign:'center',fontSize:'16px',color:'#FFF',paddingTop:'60px',fontSize:'40px',left:'0px',top:'0px',overflow:'hidden'});
			parent.div.innerHTML = '0%';
			parent.box.appendChild(parent.div);
		}
		if(parent.div){
			parent.div.innerHTML = parseInt(state*100)+'%';
			if(state==2) parent.div.parentNode.removeChild(parent.div);
		}
	}
	parent.fade = function(){
	 	var o = parent.images[parent.k];
		o.style.display = 'block';
		//var step = 0.2; var speed = 150;
		switch( parent.speeds[parent.k] ){
			case 1: var step = 0.125; var speed = 20; break
			case 2: var step = 0.0625; var speed = 35; break
			case 3: var step = 0.02; var speed = 70; break
			default: var step = 0.0625; var speed = 35;
		}
		var p = stardust.opacity(o);
		//if( Math.round(p)==0 ) parent.setbuttons();
		p += (parent.dir>0)? step:-step;
		var w = stardust.width(parent.box);
		var h = stardust.height(parent.box);

		switch( parent.attributes[ parent.k ] ){
			case 'left': stardust.left(o, -((1-p)*w)); break;
			case 'right': stardust.left(o, ((1-p)*w)); break;
			case 'top': stardust.top(o, -((1-p)*h)); break;
			case 'bottom': stardust.top(o, ((1-p)*h)); break;
			case 'behind': stardust.top(o, (1-p)*h/2 );	stardust.left(o, (1-p)*w/2 ); stardust.height(o, p*h );	stardust.width(o, p*w ); break;
			case 'cutleft': stardust.crop(o, 0, (p*w), h, 0); break
			case 'cutright': stardust.crop(o, 0, w, h, ((1-p)*w)); break
			case 'cuttop': stardust.crop(o, 0, w, (p)*h, 0); break
			case 'cutbottom': stardust.crop(o, (1-p)*h, w, h, 0); break
			case 'cuthorizontal': stardust.crop(o, (h-p*h)/2, w, (h+p*h)/2, 0 ); break
			case 'cutvertical': stardust.crop(o, 0, (w+p*w)/2, h, (1-p)*w/2 ); break
			case 'cutbehind': stardust.crop(o, (h-p*h)/2, (w+p*w)/2, (h+p*h)/2, (1-p)*w/2 ); break
			//default: SetL(parent.tmp, 0); SetT(parent.tmp, 0); break;
		}
		stardust.opacity(o, p);
		if( p>=1 & parent.attributes[ parent.k ]=='clear' ){
			for(i=0;i<parent.k-1;i++) parent.images[i].style.display = 'none';
		}
		window.clearTimeout(parent.st);
		if(p<1 & p>0){
			parent.st = window.setTimeout(parent.fade, speed);
		}else if( Math.round(p)==1 ){
			stardust.opacity(parent.images[0], 1);
			parent.images[0].style.display = 'block';
			stardust.width(o, w);
			stardust.height(o, h);
			stardust.left(o, 0);
			stardust.top(o, 0);
			parent.k += 1;
			
			//parent.debug( parent.k+'/'+parent.l+' = '+parent.durations[parent.k] );
			if( parent.k==parent.l ){
				for(i=1;i<parent.l-1;i++){
					SetOpacity(parent.images[i], 0);
					parent.images[i].style.display = 'none';
				}
				parent.k = parent.l-1;
				parent.dir = -1;
			}
			parent.st = window.setTimeout(parent.fade, parent.durations[parent.k-1]);
			
		}else if( Math.round(p)==0 ){
			parent.k = 1;
			parent.dir = 1;
			parent.st = window.setTimeout(parent.fade, parent.durations[parent.k]);
		}
		o.parentNode.onmouseover = function(){ this.style.cursor = (parent.links[parent.k-1]===false)? '':'pointer'; }
		o.parentNode.onclick = function(){ if(parent.links[parent.k-1]===false) return false; else window.location.href = parent.links[parent.k-1]; }
		return true;
	}
}

var anim = new Animation($('header_animation'));
anim.width(740);
anim.height(180);

anim.load('images/header_image_1.jpg', 500, 2, 'clear');
anim.load('images/header_image_1_1.gif', 2000, 2, 'cutleft');
anim.load('images/header_image_1_2.gif', 4000, 2, 'cutleft');
anim.load('images/header_image_2.jpg', 500, 2, 'clear');
anim.load('images/header_image_2_1.gif', 500, 2, 'cutleft');
anim.load('images/header_image_2_2.gif', 4000, 2, 'cutleft');
anim.load('images/header_image_3.jpg', 500, 2, 'clear');
anim.load('images/header_image_3_1.gif', 2000, 2, 'cutleft');
anim.load('images/header_image_3_2.gif', 4000, 2, 'cutleft');
anim.start();

if( $('index_offices') ) $('index_offices').style.zIndex = 10000;


