window.addEvent('domready', function(){
	scrollWindow = new Fx.Scroll(window);
    
    // Генерирование URI "на лету"
    $$('.gen_title').addEvent('keyup', function(e){
    	var uri = getURI(this.value);
        var names = $$('.gen_name');
		names.each(function(name){
			name.value = uri;
		});
    });
    
    // Сервисное сообщение
    $$('.done', '.error', '#msg').addEvent('click', function(e){
    	this.setStyle('display', 'none');
    });
});

// ShadowBox
Shadowbox.init({
	adapter: 'mootools',
	players: ['img'],
	language: 'ru',
	handleOversize: 'drag'
});

// Сообщения
function msg(text, style)
{
	$('msg').addClass(style);
	$('msg').set('html', text);
	$('msg').removeClass('none');
}

// Индикатор
function loader(status)
{
	//
	// status: true - открытие
	//         false - скрытие
	//
	if (status == undefined) {
		var status = true;
	}
	var box = 'loader';
	if (status) {
		$(box).removeClass('none');
	}
	else {
		$(box).addClass('none');
	}
}

///////////////////
// Запрос данных //
function getData(action, params)
{
	var url = '/ajax?json&action=' + action;
	var request = new Request.JSON({
		url: url,
		onComplete: function(jsonObj){
			resultData(action, jsonObj);
		}
	}).get(params);
}
function getDataPost(action, params)
{
	var url = '/ajax?json&action=' + action;
	var request = new Request.JSON({
		method: 'post',
		url: url,
		data: params,
		onComplete: function(jsonObj){
			resultData(action, jsonObj);
		}
	}).send();
}
function getExternalData(url, userFunc)
{
	new JsonP(url, {
		onComplete: userFunc
	}).request();
}
// Запрос данных //
///////////////////

// Готовим URI
function getURI(txt)
{
	txt = txt.toLowerCase();
	var rus = new Array(
		/ /g,	/ж/g,	/ю/g,	/я/g,	/ц/g,	/ч/g,	/ш/g,	/щ/g,	/эй/g,		/а/g,
		/б/g,	/в/g,	/г/g,	/д/g,	/е/g,	/ё/g,	/з/g,	/и/g,	/й/g,		/ы/g,
		/к/g,	/л/g,	/м/g,	/н/g,	/о/g,	/п/g,	/р/g,	/с/g,	/т/g,		/у/g,
		/ф/g,	/х/g,	/ъ/g,	/ю/g,	/ь/g,	/э/g,	/\!/g,	/\?/g,	/\+/g,		/—/g,
		/-/g,	/\./g,	/,/g,	/\(/g,	/\)/g,	/\[/g,	/\]/g,	/%/g,	/&prime;/g,	/&quot;/g,
		/«/g,	/»/g,	/:/g,	/'/g,	/__/g,	/"/g,	"/",	"…",	"#",		/---|--/g
	);
	var eng = new Array(
		'-',	'zh',	'ju',	'ja',	'ts',	'ch',	'sh',	'csh',	'a',		'a'	,
		'b',	'v',	'g',	'd',	'e',	'e',	'z',	'i',	'i',		'y',
		'k',	'l',	'm',	'n',	'o',	'p',	'r',	's',	't',		'u',
		'f',	'h',	'',		'y',	'',		'e',	'',		'',		'',			'-',
		'-',	'',		'',		'',		'',		'',		'',		'',		'',			'',
		'',		'',		'',		'_',	'_',	'',		'',		'',		'',			'-'
	);
	for (i=0; i<eng.length; i++) {
		txt = txt.replace(rus[i], eng[i])
	}
	return txt;
}

// Фиксим PNG
function fixPNG(element)
{
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
		var src;
		if (element.tagName == 'IMG') {
			if (/\.png$/.test(element.src)) {
				src = element.src;
				element.src = "/tpl/img/blank.gif";
			}
		}
		else {
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if (src) {
				src = src[1];
				element.runtimeStyle.backgroundImage = "none";
			}
		}
		
		var re_scale_mode = /iesizing\-(\w+)/;
		var m = re_scale_mode.exec(element.className);
		
		var scale_mode = (m) ? m[1] : 'crop';
		
		if (src)
			element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='" + scale_mode + "')";
	}
}

function see(obj, objName)
{
	var result = "The properties for the " + objName + " object:" + "\n";
	for (var i in obj) {result += i + " = " + obj[i] + "\n";}
	return result;
}
