function setimg(){
	var c=Math.floor(arrimg.length*Math.random());
	var s=arrimg[c];
	for(var i in imgarr){
		var o=document.getElementById(imgarr[i]);
		if(!o)continue;
		o.style.backgroundImage='url('+s+')';
	}
}

function setpng(){
	for(var i in arrpng){
		var o=document.getElementById(arrpng[i]);
		if(!o)continue;
		if(/MSIE (5\.5|6|7).+Win/.test(navigator.userAgent));else continue;
		var src = o.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
		// window.status=o.currentStyle.backgroundImage;
		if(src){
			src = src[1];
			o.runtimeStyle.backgroundImage="none";
			o.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
		}
	}
}

function fixpng(){
	for(var i in badpng){
		// alert(badpng[i]);
		var o=document.getElementById(badpng[i]);
		if(!o)continue;
		if(/MSIE (5\.5|6|7).+Win/.test(navigator.userAgent)){
			var src = o.currentStyle.backgroundImage.match(/url\("(.+\.(png|msk))"\)/i);
			if(src){
				src = src[1];
				o.runtimeStyle.backgroundImage="none";
				o.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
			}
		}
		o.style.visibility="visible";
	}
}

var difx=0;
var dify=0;

var posalign_page=new Array(
	new Array('div_road','id_bottom',-171,-226)
	,new Array('div_line','id_center',295,235)
	,new Array('div_path','#',300,295)
);

posaling_x=0;
posalign_y=0;

function posalign_do(arr){
	for(var i in arr){
		if(arr[i]=='')break;
		var src=arr[i][1];
		var dst=arr[i][0];
		var dx=arr[i][2]+difx;
		var dy=arr[i][3]+dify;
		var x,y;
		if(src!='#'){
			x=0; y=0;
			for(var o=document.getElementById(src); o!=document.body;o=o.offsetParent){
				y=y+o.offsetTop;
				x=x+o.offsetLeft;
			}
		}else{
			x=posalign_x;
			y=posalign_y;
		}
		o=document.getElementById(dst); if(o);else continue;
		o.style.left=x+dx;
		o.style.top=y+dy;
		o.style.visibility='visible';
		posalign_x=x;
		posalign_y=y;
	}
}

function posalign_show(eid){
	var obj=document.getElementById(eid);
	if(obj);else return false;
	obj.style.display='block';
	return true;
}

function posalign_hide(eid){
	var obj=document.getElementById(eid);
	if(obj);else return false;
	obj.style.display='none';
	return true;
}

// ----------------------- Работа с ролловером каталога

// Массив пунктов меню
catmenu_array=new Array();

// Текущий пункт, который находится в процессе раскрытия, или уже раскрыт
catmenu_current='';

// Функция помечает все пункты меню как закрытые
function catmenu_unset(){ for(var i in catmenu_array)catmenu_array[i]=false; }

// Функция закрывает все пункты, помеченные как закрытые
function catmenu_close(){
	for(var i in catmenu_array){
		if(catmenu_array[i])continue;
		var o=document.getElementById('d'+i);
		if(!o)continue;
		// o.style.display='none';
		// o.filters[0].opacity='50';
		catmenu_opacity(o,100);
		if(i==catmenu_current)catmenu_current='';
	}
}

// Функция закрывает все пункты меню
function catmenu_call(){
	catmenu_unset();
	catmenu_close();
}

// Ссылка на текущий открываемый пункт
catmenu_object='';

// Функция мульбраузерной прозрачности
function catmenu_opacity(o,v){
	o.filters[0].opacity=v;
}

// Функция mouseover
function catmenu_over(mi,tt){
	// 0. Установить название
	if(tt!=''){
		var srv=document.getElementById('id_srv');
		if(!srv)return; srv.innerHTML=': '+tt;
	}

	// 1. Алфавитный ключ пункта меню
	var m='m'+mi;
	// 2. Пометить все пункты закрытыми
	catmenu_unset();

	// 3. Пометить текущий пункт открытым, чтобы его не закрыл OUT без OVER
	var last_value=catmenu_array[m];
	catmenu_array[m]=true;

	// 4. Если этот пункт в процессе или уже открыт, дальше ничего делать не надо
	if( (catmenu_current==m) && catmenu_array[m] )return;

	// 5. Закрыть все пункты, помеченные как закрытые
	catmenu_close();

	// 6. Пометить этот пункт как в процессе
	catmenu_current=m;

	// 7. Найти его див
	o=document.getElementById('d'+m);
	if(!o)return;

	// 8. Прописать ссылку на него вне функции
	catmenu_object=o;

	// 8. Сделать альфу нулевой
	// if(o.filters)o.filters[0].opacity=50;
	catmenu_opacity(o,100);

	// 10. Установить CLIP в 0 0 0 0
	o.style.clip='rect(0 0 auto 0)';

	// 9. Сделать видимым
	o.style.display='block';

	// 10. Запомнить ширину и высоту
	catmenu_width=o.style.pixelWidth;
	catmenu_height=o.style.pixelHeight;

	// 10. Установить стадию в начало
	catmenu_procents=0;

	// 11. Запустить процесс отрытия
	catmenu_process();
}

// Ключ таймера тотального закрытия
catmenu_idcls=false;

// Функция mouseout
function catmenu_out(mi){
	// 1. Алфавитный ключ пункта
	var m='m'+mi;

	// 2. Пометить текущий пункт меню как закрытый
	catmenu_array[m]=false;	

	// 3. Перезапустить тотальное закрытие через 330 мс
	if(catmenu_idcls)clearTimeout(catmenu_idcls);
	catmenu_idcls=setTimeout('catmenu_close()',330);
}

// Состояние открытия пункта в процентах
catmenu_procents=0;

// Запомненная ширина высота пункта
catmenu_width=0;
catmenu_height=0;

// Функция процессит обработку открытия
function catmenu_process(){
	// 1. Если уже 100%, то выходим
	if(catmenu_procents==100)return;

	// Если пункт помечен как закрытый, то реально закрываем его выходим
	if(!catmenu_array[catmenu_current]){
		// catmenu_object.style.display='none';
		catmenu_current='';
		return;
	}

	// 2. Меняем ему альфу
	catmenu_procents+=20;
	// if(catmenu_object.filters)catmenu_object.filters[0].opacity=catmenu_procents/2+50;
	if(catmenu_object.filters)catmenu_opacity(catmenu_object,100-catmenu_procents*.5);

	// Переустанавливаем ему клип
	catmenu_object.style.clip='rect(0 '+Math.sqrt(catmenu_procents)*20+' auto 0)';
	
	// 3. Продолжаем процесс
	setTimeout('catmenu_process()',55);
}