function wop(url,wnd_name,width,height){w=window.open(url,wnd_name,'width='+width+',height='+height+',status=no,menubar=no,resizable=yes,scrollbars=yes,left='+String((screen.width-width)/2)+',top='+String((screen.height-height)/2));w.focus();return w;}

function view(url,wnd_name,width,height)
{

// Просмотор картинки без скролл-бара и боковых отступов. Извращение, но по другому пока не получилось.
// Работает только для картинок! В url нужно передавать прямую ссылку на картинку!

//w = window.open(url,wnd_name,'width='+width+',height='+height+',status=no,menubar=no,resizable=yes,scrollbars=no,left='+String((screen.width-width)/2)+',top='+String((screen.height-height)/2));

//RUFF

var window_w = screen.width,
	window_h = screen.height,
	scrollbars = 'no',
	nw_width = width,
	nw_height = height;

if (width > window_w){
	nw_width = window_w + 18;
	scrollbars = 'yes';
}

if (height > window_h){
	nw_height = window_h;
	scrollbars = 'yes';
}

w = window.open(url,wnd_name,'width='+nw_width+',height='+nw_height+',status=no,menubar=no,resizable=yes,scrollbars=' + scrollbars + ',left='+String((window_w-nw_width)/2)+',top='+String((window_h-nw_height)/2));

//--end RUFF

w.document.open();
w.document.write('<html><body style="padding: 0; margin: 0;"><img src="'+url+'" width="'+width+'" height="'+height+'" alt=""></body></html>');
w.document.close();

w.focus();
return w;
}

function newsMaker(currentNews)
{
//	0 89 189
//	255 255 255
//changeColor("news_desc","FFFFFF", "0059BD",10,1000);

	currentNews++;
	if (currentNews>(allDate.length - 1))	currentNews = 0;
	document.getElementById("news_date").innerHTML = allDate[currentNews];
	document.getElementById("news_href1").href = allHref[currentNews];
	document.getElementById("news_href2").href = allHref[currentNews];
	document.getElementById("news_desc").innerHTML = allDesc[currentNews];
	setTimeout("newsMaker("+currentNews+")", 10000);
}

function changeColor(id,from,to,steps,time)
{
//	0 89 189
//	255 255 255
	var frq = 0;
	var colorstep = 0;
	if(steps>0)
		frq = Math.round(time/steps);
	time -= frq;

	if((tgt = document.getElementById(id))&&(frq > 0))
	{
		fromDec = colorHexToDec(from);
		toDec = colorHexToDec(to);
		for(i in fromDec)
		{
			colorstep = Math.floor((toDec[i] - fromDec[i])/frq);
			fromDec[i] += colorstep;
		}
		from = arrayDecToHex(fromDec);
		tgt.style.color = from;
		steps--;
		setTimeout('changeColor('+id+',"'+from+'","'+to+'",'+steps+','+time+')', time);
	}
}

function colorHexToDec(hex)
{
	var RBG = Array(0,0,0);

	var dec = 0;
	var current = 0;
	var len = 0;
	
	for(k in RBG)
	{
		dec = 0;
		current = 0;
		first = k*2;
		len = 2 + first;
	
		for(i=first;i<len;i++)
		{
			current = hex.substr(i,1);

			switch (current){
				case 'a','A': current = 10;
					break;
				case 'b','B': current = 11;
					break;
				case 'c','C': current = 12;
					break;
				case 'd','D': current = 13;
					break;
				case 'e','E': current = 14;
					break;
				case 'f','F': current = 15;
					break;
			}
		dec += current*(Math.pow(16,(len-i-1)));
		}
		RBG[k] = dec;
	}
	return RBG;
}

function arrayDecToHex(RBG)
{
	var hex = "";
	var current = 0;
	var logic = "";
	
	for(k in RBG)
	{
		hex = "";
		num = "";
		current = RBG[k];
		tail = 1;

		while(tail > 0)
		{
			logic += "Current(old) - "+current+"; ";
			tail = current%16;
			current = Math.floor(current/16);
			logic += "Current(new) - "+current+"; ";
			if(current < 1)
			{
				current = tail;
				tail = 0;
			}

			switch (current){
			case 10: hex += 'A';
				break;
			case 11: hex += 'B';
				break;
			case 12: hex += 'C';
				break;
			case 13: hex += 'D';
				break;
			case 14: hex += 'E';
				break;
			case 15: hex += 'F';
				break;
			default: hex += current;
				break;
			}
//			logic += "Current(after switch) - "+current+"; hex="+hex+"\n";
		}
		RBG[k] = hex;
	}
//	alert(logic);
	return "#" + RBG.join();
}

function convertor(hex)
{
	var dec = 0;
	var current = 0;
	var len = hex.length;
	var logic = "";
	for(i=0;i<len;i++)
	{
		current = hex.substr(i,1);
		switch (current){
			case 'a','A': current = 10;
				break;
			case 'b','B': current = 11;
				break;
			case 'c','C': current = 12;
				break;
			case 'd','D': current = 13;
				break;
			case 'e','E': current = 14;
				break;
			case 'f','F': current = 15;
				break;
		}
//		logic += "\ncurrent - " + current + "; pow - " + Math.pow(16,(len-i-1)) + "; all - " + current*(Math.pow(16,(len-i-1))) + "; dec=" + dec + ";";
		dec += current*(Math.pow(16,(len-i-1)));
	}
	return dec;
//alert(logic);
} 
