// C 2008 SuperSite SRL 
// Axiucits Alexandr



function findStyleRule(styleName) {
	if(window.showHelp){
		for (i = 0; i < document.styleSheets.length; i++) {
			 for (j = 0; j < document.styleSheets[i].rules.length; j++) {
				  if (document.styleSheets[i].rules[j].selectorText == styleName) {
						return document.styleSheets[i].rules[j];
				  }
			 }
		}
	}else{
		for (i = 0; i < document.styleSheets.length; i++) {
			 for (j = 0; j < document.styleSheets[i].cssRules.length; j++) {
				  if (document.styleSheets[i].cssRules[j].selectorText == styleName) {
						return document.styleSheets[i].cssRules[j];
				  }
			 }
		}
	}
}

////////////////////////
function iin(obj){
	var str='';
	for(var i in obj){
		str+=i+' = '+obj[i]+'\n';
	}
	return str;
}

function initSlider(idArr){
	idArr = idArr.split(",");
	for(i=0; i<idArr.length; i++){
    if(document.getElementById(idArr[i]))
      aaSlider.init(idArr[i]);
	}
}

var aaSlider = {
	ua : navigator.userAgent,
	ie : window.showHelp ? true : false,
	ff : /Gecko/.test(this.ua),
	count : 0,
	slider : [[]],
	
	
	init : function(id){
		var $ = this.$;
		var count = this.count;
		var slider = this.slider;
		
		//$(id).style.height = $(id).offsetHeight + 'px';
		//alert($(id).style.height)
		if(!$(id))return false;
		$(id).style.height = $(id).offsetHeight + 'px';
		slider[count]['par'] = $(id);
		
		var arr = this.getByClassName($(id),'thumb','DIV');
		
		for(var i=0; i<arr.length; i++){
			slider[count][i] = arr[i];
			slider[count][i].innerHTML = this.clearHTML(slider[count][i].innerHTML);
			slider[count][i][0] = slider[count][i].childNodes[0];
			slider[count][i][1] = slider[count][i].childNodes[1];
			slider[count][i][2] = slider[count][i].childNodes[2];
			this.addSlide(count,i);
		}
		
		
		//slider[count][0] = $(id);
		//slider[count][1] = slider[count][0]
		
		//alert(slider[count][0].id)
		//alert(this.getByClassName(slider[count][0],'thumb','DIV').length)
		
		count++;
	},
	
	addSlide : function(count,num){
		var slider = this.slider;
		var showhide = this.showhide;
		var stat;
		var interval;
		var koeff = 2;
		//var par = slider[count]['par'];
		var img = slider[count][num][0];
		var panel = slider[count][num][1];
		var text = slider[count][num][2];
		var gg=0;
		
		if(img.offsetHeight){
			slider[count]['act'] = num;
			img.style.display = 'block';
			img.maxH = img.offsetHeight;
		}else{
			//par.style.height = par.offsetHeight + 'px';
			img.style.display = 'block';
			img.maxH = img.offsetHeight;
			img.style.display = 'none';
			img.style.height = '0px';
		}
		if(text.offsetHeight){
			text.style.display = 'block';
			text.maxH = text.offsetHeight;
		}else{
			text.style.display = 'block';
			text.maxH = text.offsetHeight;
			text.style.display = 'none';
		}
		//par.style.height = '';
		
		panel.onclick = function(){
			if(slider[count]['act'] != num && !slider[count]['move']){
				slider[count]['move'] = true;
				//showhide(img, text, koeff);
				//showhide(img, text, koeff, slider, count, i);
				if(slider[count][slider[count]['act']][0].offsetHeight)
					for(var i=0; i<slider[count].length; i++){
						if(slider[count]['act'] == i){
							showhide(img, text, koeff, slider, count, i);
							//showhide(slider[count][i][0], slider[count][i][2], koeff)
							//slider[count][i][1].onclick();
							//window.status +=i+' ';
						}
					}
				slider[count][slider[count]['act']].className = slider[count][slider[count]['act']].className.replace(/\bact\b/,'');
				slider[count]['act'] = num;
				slider[count][num].className += ' act';
			}
		}
		
		/*obj.intervalID = setInterval(function(){
			obj.x = Math.ceil((obj.x-1)/(1.01-obj.i));
			obj.albumPages.style.marginLeft = -(obj.interval-obj.x)+"px";
			if(obj.i>-0.04)
			obj.i-=0.002;
			if(obj.x==0){obj.albumPages.style.marginLeft = -obj.interval+"px"; clearInterval(obj.intervalID); obj.albumAccess = 1;}
		}, 5);*/
		
		
	},
	
// show/hide slide function
	showhide : function(img, text, koeff, slider, count, num) {
		
		if(img.offsetHeight > img.maxH/2){
			img.stat = 0;
			img.style.height = (img.maxH - 1) + 'px';
		}
		if(img.offsetHeight < img.maxH/2){
			img.stat = 1;
			img.style.display = 'block';
			text.style.display = 'block';
			img.style.height = '1px';
			text.style.height = '1px';
			
		}
		
		var img2 = slider[count][num][0];
		var text2 = slider[count][num][2];
		img2.style.borderTopWidth = '0px';
		text2.style.borderTopWidth = '0px';
		var interval;
		interval = setInterval(function(){//alert(img.offsetHeight+' <= '+1+" "+img.stat)
				//if(!stat){
					if(img.offsetHeight <= 1 && !img.stat){
						img.style.height = '0px';
						text.style.height = '0px';
						img.style.display = 'none';
						text.style.display = 'none';
						slider[count]['move'] = false;
						clearTimeout(interval);
						return false;
					}
					if(img.offsetHeight >= (img.maxH-1) && img.stat){
						img.style.height = img.maxH + 'px';
						img2.style.height = '0px';
						text2.style.height = '0px';
						img2.style.display = 'none';
						text2.style.display = 'none';
						img2.style.borderTopWidth = '1px';
						text2.style.borderTopWidth = '1px';
						slider[count]['move'] = false;
						//text.style.height = '0px';
						clearTimeout(interval);
						return false;
					}
					//alert(img.maxH)
					//window.status +=gg; gg++;
					//window.status +=img.offsetHeight+' ';
					//window.status += img.offsetHeight - (img.maxH - img.offsetHeight)*koeff +'px'+' ';
					//alert(img.offsetHeight+' '+img.maxH/2)
					if(!img.stat){
						if(img.offsetHeight > img.maxH/2 && (img.maxH - img.offsetHeight) < img.maxH/2/koeff){
							//img.style.height = img.offsetHeight - (img.maxH - img.offsetHeight)*koeff +'px';
							img.style.height = img.offsetHeight - (img.maxH - img.offsetHeight)*koeff +'px';
						}else{
						//if(img.offsetHeight <= img.maxH/2)
							img.style.height = img.offsetHeight/koeff +'px';
						}
						text.style.height = text.maxH * img.offsetHeight/img.maxH + 'px';
						
						//img2.style.height = img.maxH - img.offsetHeight;
						//text2.style.height = text2.maxH * img2.offsetHeight/img2.maxH + 'px';
					}else{
						if(img.offsetHeight < img.maxH/2 && img.offsetHeight < img.maxH/2/koeff){
							img.style.height = img.offsetHeight*koeff + 'px';
							
						}else{
						//if(img.offsetHeight <= img.maxH/2)
							img.style.height = img.offsetHeight + (img.maxH - img.offsetHeight)/koeff +'px';
						}
						text.style.height = text.maxH * img.offsetHeight/img.maxH + 'px';
						
						img2.style.height = img.maxH - img.offsetHeight + 'px';
						text2.style.height = text.maxH - text.offsetHeight + 'px';
						//text2.style.height = text2.maxH * img2.offsetHeight/img2.maxH + 'px';
						
					}
					
					//stat = 1;
				//}
			},40);
	},
	
// clearHTML		
	clearHTML : function (str) {
		//var str = '<aaa bbb>  <ccc>   hgj  <ddd>\n\t<eee>\t\t\t<fff>';
		str = str.replace(/>\s+/g,'>');
		str = str.replace(/\s+</g,'<');
		return str;
	},	
	
// GET BY ID		
	$ : function (id) {
		return document.getElementById(id) || false;
	},
	
// GET BY CLASS		
	getByClassName : function (container, className, tagName) {
		/*elem.className += " greenText";//добавляем новый класс к элементу
		elem.className.replace(/\bgreenText\b/, ' ');//удаляем класс greenText из списка классов, назначенных элементу
		if (elem.className.match(/\bgreenText\b/) { ... }//проверяем назначен ли класс greenText элементу*/
		var regexp = new RegExp('\\b'+className+'\\b');
		if(container){
			var arr = container.getElementsByTagName(tagName);
		}else{
			var arr = document.getElementsByTagName(tagName);
		}
		var res = [];
		var k=0;
		var len = arr.length;
		for(var i=0; i<len; i++){
			//if(arr[i].className == className){
			if(arr[i].className.match(regexp)){
				res[k] = arr[i];
				k++;
			}
		}
		return res || false;
	},
	
// menu show function
	show : function(el) {
		if(el){
			el.style.visibility = 'visible';
			el.style.display = '';
			return el;
		}
		return false;
	},
	
// menu hide function
	hide : function(el) {
		if(el){
			el.style.visibility = 'hidden';
			el.style.display = 'none';
			return el;
		}
		return false;
	},
	
	end : ''
}










