/* == DIRTY MOOTOOLS FIX ============================================ */
 
    Request.HTML.implement({
 
        processHTML: function(text){
            var match = text.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
            text = (match) ? match[1] : text;
            
            var container = new Element('div');
            
            return $try(function(){
                var root = '<root>' + text + '</root>', doc;
                if (Browser.Engine.trident){
                    doc = new ActiveXObject('Microsoft.XMLDOM');
                    doc.async = false;
                    doc.loadXML(root);
                } else {
                    doc = new DOMParser().parseFromString(root, 'text/html');
                }
                root = doc.getElementsByTagName('root')[0];
                for (var i = 0, k = root.childNodes.length; i < k; i++){
                    var child = Element.clone(root.childNodes[i], true, true);
                    if (child) container.grab(child);
                }
                return container;
            }) || container.set('html', text);
        }
    
    });
 
/* == END OF DIRTY MOOTOOLS FIX ===================================== */

window.addEvent('domready',function(){
	var th_active = 0;
	var thScroll = new Fx.Morph('th_active', {duration: 500, transition: Fx.Transitions.Sine.easeOut});
	var thambs = $$('div.thambs')[0].getElements('div').erase($('th_active'));
	var cntview = $('view').getElements('div.cnt')[0];	
	var cntScroll = new Fx.Morph(cntview, {duration: 1000, transition: Fx.Transitions.Sine.easeOut});
	var active = 0;
	
	if (Browser.Engine.trident4 ){
		$('gright').setStyles({
			'background': 'transparent',
			'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/assets/templates/razrushim/i/gright.png', sizingMethod='crop')"
		});
		$('gleft').setStyles({
			'background': 'transparent',
			'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/assets/templates/razrushim/i/gleft.png', sizingMethod='crop')"
		});
	}
	
	function setHeight(){
    $$(".view")[0].style.height = $$("#gall-cpt")[0].offsetHeight + $$("div.cnt")[0].offsetHeight + $$(".pic-cmnt")[0].offsetHeight + 60+ 'px';
    if (navigator.appName == "Microsoft Internet Explorer"){
    $$("div.footer")[0].style.bottom = 1 + 'px';
    $$("div.footer")[0].style.bottom = 0 + 'px';
    };
	}
	
	function workload(){
		active = 0;
		cntview = $('view').getElements('div.cnt')[0];
		cntScroll = new Fx.Morph(cntview, {duration: 1000, transition: Fx.Transitions.Sine.easeOut});
		cntview.getElements('div').each(function(el){el.setStyles({'opacity':0.4});});
		cntview.getElements('div')[active].setStyles({'opacity':1});
		if (cntview.getElements('div').length>1){
			$('gright').setStyles({'display':'block'});
		}
		
		cntview.getElements('div').each(function(element,index){
			element.setStyles({'left':(index*50)+'%'});
			element.getElements('img')[0].addEvent('click',function(){
				active = cntview.getElements('div').indexOf(this.getParent());
				if (active==0){$('gleft').setStyles({'display':'none'});}else{$('gleft').setStyles({'display':'block'});}
				if (active==cntview.getElements('div').length-1){$('gright').setStyles({'display':'none'});}else{$('gright').setStyles({'display':'block'});}
				cntScroll.cancel();
				cntview.getElements('div').each(function(el){el.setStyles({'opacity':0.4});});
				cntScroll.start({'left': -0.5*active*document.body.offsetWidth});
				cntview.getElements('div')[active].setStyles({'opacity':1});
			});
		});
		
		$$('#gright')[0].style.top = $$('div#gall-cpt')[0].offsetHeight + 10 + $$('div.cnt')[0].offsetHeight/2 +'px';
    $$('#gleft')[0].style.top = $$('div#gall-cpt')[0].offsetHeight + 10 + $$('div.cnt')[0].offsetHeight/2 +'px';
    setHeight();
    
		$('gright').removeEvents('click');
		$('gright').addEvent('click',function(event){
			event.stop();
			if (cntview.getElements('div')[active+1]){
				cntScroll.set({'left': -0.5*active*document.body.offsetWidth});
				active++;
				if (active==cntview.getElements('div').length-1){$('gright').setStyles({'display':'none'});}
				$('gleft').setStyles({'display':'block'});
				cntScroll.cancel();
				cntview.getElements('div').each(function(el){el.setStyles({'opacity':0.4});});
				cntScroll.start({'left': -0.5*active*document.body.offsetWidth});
				cntview.getElements('div')[active].setStyles({'opacity':1});
				setHeight();
			}
		});
		$('gleft').removeEvents('click');
		$('gleft').addEvent('click',function(event){
			event.stop();
			if (cntview.getElements('div')[active-1]){
				cntScroll.set({'left': -0.5*active*document.body.offsetWidth});
				active--;
				if (active==0){$('gleft').setStyles({'display':'none'});}
				$('gright').setStyles({'display':'block'});
				cntScroll.cancel();
				cntview.getElements('div').each(function(el){el.setStyles({'opacity':0.4});});
				cntScroll.start({'left': -0.5*active*document.body.offsetWidth});
				cntview.getElements('div')[active].setStyles({'opacity':1});
				setHeight();
			}
		});
	}
	
	$('gleft').setStyles({'display':'none'});
	$('gright').setStyles({'display':'none'});
	$('view').empty();
	$$('div.view')[0].addClass('loading');
	var workRQ = new Request.HTML({
		update: $('view'),
		onComplete: function(){
			$$('div.view')[0].removeClass('loading');
			workload();
		}
	}).send({'url':thambs[0].getElements('a')[0].href+'?mode=content'});
	
	
	thambs.each(function(element){
		element.getElements('a')[0].addEvent('click',function(event){
			event.stop();
			th_active = thambs.indexOf(this.getParent().getParent());
			pos = this.getParent().getParent().getPosition($$('div.thambs')[0]);
			thScroll.start({
				'left': pos.x,
				'top': pos.y
			});
			$('gleft').setStyles({'display':'none'});
			$('gright').setStyles({'display':'none'});
			$('view').empty();
			$$('div.view')[0].addClass('loading');
			workRQ.send({'url':this.href+'?mode=content'});
		});
		element.addEvent('click',function(){
			th_active = thambs.indexOf(this);
			pos = this.getPosition($$('div.thambs')[0]);
			thScroll.start({
				'left': pos.x,
				'top': pos.y
			});
			$('gleft').setStyles({'display':'none'});
			$('gright').setStyles({'display':'none'});
			$('view').empty();
			$$('div.view')[0].addClass('loading');
			workRQ.send({'url':this.getElements('a')[0].href+'?mode=content'});
		});
	});
	

	window.onresize = resize;
	function resize(){
		cntScroll.start({'left': -0.5*active*document.body.offsetWidth});
		pos = thambs[th_active].getPosition($$('div.thambs')[0]);
		thScroll.start({
			'left': pos.x,
			'top': pos.y
		});
	}
});

