jQuery(document).ready(function() {
	Filters.init();
});

/**
 * Catalogue filters events namespace
 */

var Filters = {version : '0.0.2'
	, init :function () {
        Filters.initRange('price', 10);
        
        jQuery('.intval').keyup(function(){
            jQuery(this).val(Utilites.numberFormat(Utilites.intval(jQuery(this).val().replace(/\s/,''),200000,0)));
        })
        
        jQuery('.block-l').click(function(){
            jQuery(this).parent().parent().find('.block-b').toggle();
        return false;})
        
        jQuery('.block-b').each(function(){
            if ( jQuery(this).find('input:checked').size() > 0 ) jQuery(this).toggle();
        });
        
	return true;}	
    
    , initRange :function (filterName, filterStep) {
		
        if (jQuery("#"+filterName+"From").size() > 0) {
            
            var currentMinValue = jQuery("#"+filterName+"From").val().replace(/\s/,'');
            var currentMaxValue = jQuery("#"+filterName+"To").val().replace(/\s/,'');
            
            if (jQuery("#" + filterName).size() > 0) {
                jQuery("#" + filterName).slider({
                    range: true,
                    step: filterStep,
                    min: 0,
                    max: Number(jQuery("#" + filterName + "Max").find('span').html()),
                    values: [currentMinValue, currentMaxValue],
                    slide: function(event, ui) {
                        jQuery("#"+filterName+"From").val(Utilites.numberFormat(ui.values[0]));
                        jQuery("#"+filterName+"To").val(Utilites.numberFormat(ui.values[1]));
                    }
                });
            }
        }
	return true;}	
}

/**
 *  Utilites namespace (String, number, datetime and array functions)
 */
 
var Utilites = {
	  version : '0.0.1'
	  
	, number_format: function (number, decimals, dec_point, thousands_sep ) {

		var n = number, prec = decimals;
		var toFixedFix = function (n,prec) {
			var k = Math.pow(10,prec);
			return (Math.round(n*k)/k).toString();
		};

		n = !isFinite(+n) ? 0 : +n;
		prec = !isFinite(+prec) ? 0 : Math.abs(prec);
		var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
		var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

		var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

		var abs = toFixedFix(Math.abs(n), prec);
		var _, i;

		if (abs >= 1000) {
			_ = abs.split(/\D/);
			i = _[0].length % 3 || 3;

			_[0] = s.slice(0,i + (n < 0)) +
				  _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
			s = _.join(dec);
		} else {
			s = s.replace('.', dec);
		}
		if (s.indexOf(dec) === -1 && prec > 1) {
			s += dec+new Array(prec).join(0)+'0';
		}
		return s;
	}
	
	, numberFormat : function (number) {
		return Utilites.number_format(number,0,'',' ');
	}
	
	, intval : function (value, max, min) {
		var tmp;
		var type = typeof( value );
		if(type == 'boolean'){
			if (value == true) {
				return 1;
			} else {
				return 0;
			}
		} else if(type == 'string'){
			tmp = parseInt(value * 1, 10);
			if(isNaN(tmp) || !isFinite(tmp)){
				return 0;
			} else{
				return ((tmp <= max) ? ((tmp >= min) ? tmp.toString(10) : min) : max);
			}
		} else if(type == 'number' && isFinite(value) ){
			return ((value <= max) ? ((value > min) ? Math.floor(value) : min) : max);
		} else{
			return 0;
		}
	}
		
	, getXHTTPTransport : function() {
		var result = false;
		var actions = [
		  function() {return new XMLHttpRequest()},
		  function() {return new ActiveXObject('Msxml2.XMLHTTP')},
		  function() {return new ActiveXObject('Microsoft.XMLHTTP')}
		];
		for(var i = 0; i < actions.length; i++) {
			try{
				result = actions[i]();
				break;
			} catch (e) {}	
		}
		return result;
	}
	
	, getBodyScrollTop : function () {
		return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
	}
	
	, getClientHeight : function () {
		return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientHeight:document.body.clientHeight;
	}
}


function $() {    
  var elements = new Array();    
  for (var i = 0; i < arguments.length; i++) {    
    var element = arguments[i];    
    if (typeof element == 'string')    
      element = document.getElementById(element);    

    if (arguments.length == 1)    
      return element;    

    elements.push(element);    
  }    

  return elements;    
}    
function MyUserFunction(){}

toggleSubrow = function(id) {

	if ($('row'+id).style.display == 'none') {
		$('row'+id).style.display = 'block';
	} else {
		$('row'+id).style.display = 'none';
	}
}

AddFav = function ()
{
	browserVer = parseInt(navigator.appVersion);
	if (navigator.appName == "Microsoft Internet Explorer" && browserVer >= 4)
	{
		window.external.AddFavorite('http://www.mir66.ru', 'Мир 66. Современный портал Екатеринбурга.');
	} 
	else 
	{ 
		alert("К сожалению ваш браузер не поддерживает автоматическое добавление в избранное. Пожалуйста нажмите Ctrl-D"); 
	}
}
SetHome = function () {
	var HomePage = document.location.href;
	if ((navigator.appName == "Microsoft Internet Explorer") && (navigator.appVersion.indexOf("MSIE") != -1) && (parseInt(navigator.appVersion.substr(navigator.appVersion.indexOf("MSIE")+5)) >= 5)) 
	{
		document.body.style.behavior='url(#default#homepage)';
		if (document.body.isHomePage(HomePage))
		{
			alert('"'+HomePage+'" - уже ваша текущая стартовая страница!');
		}
		else
		{
			document.body.setHomePage(HomePage);
		}
	}
	else 
	{
		alert("К сожалению ваш браузер не поддерживает автоматическую установку стартовой страницы. Вы может установить её воспользовавшись настройками, предоставляемыми вашим браузером."); 
	}
}
printit = function ()
{
		var browser_name = navigator.appName;
		if(window.print) 
		{
			window.print();
		} 
		else 
		{
			var WebBrowser = '<object id="WebBrowser1" width="0" height="0" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
			document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
			WebBrowser1.ExecWB(6, 2);
		}
}


/* Plugin: Registration */
checkmail = function (email) 
{ 
	if (email.indexOf(".") == -1)
	{ 
		return false; 
	} 
	dog = email.indexOf("@"); 
	if (dog == -1)
	{ 
		return false; 
	} 
	if ((dog < 1) || (dog > email.length - 5))
	{ 
		return false; 
	} 
	if ((email.charAt(dog - 1) == '.') || (email.charAt(dog + 1) == '.'))
	{ 
		return false; 
	} 
	return true;
} 
CheckRegForm = function()
{
	var error = 0;

	$('error_login').innerHTML = '';
	$('error_password').innerHTML = '';
	$('error_password_rep').innerHTML = '';
	$('error_fullname').innerHTML = '';
	$('error_email').innerHTML = '';

	for (var i=0; i<FieldArray.length; i++ )
	{
		$('error_'+FieldArray[i]).innerHTML = '';
	}
	
	var regexp = new RegExp('[^A-Za-z0-9_]','g');
	var regexprus = new RegExp('[^А-Яа-яA-Za-z0-9_]','g');
	var space = new RegExp(' ','g');
	var str = String($('login').value);
	if (str.length < 5)
	{
		$('error_login').innerHTML = 'Имя слишком маленькое.'; 
		error = 1;
	}
	if (str.length > 16)
	{
		$('error_login').innerHTML = 'Имя слишком большое.'; 
		error = 1;
	}
	if (str.match (regexp))
	{
		$('error_login').innerHTML = 'Некоректное имя. Внимательно прочитайте пояснение.'; 
		error = 1;
	}
	if ($('login').value == '')
	{
		$('error_login').innerHTML = 'заполните данное поле'; 
		error = 1;
	}

	var pass = String($('password').value);
	if (pass.match (regexp))
	{
		$('error_password').innerHTML = 'некоректный пароль. Внимательно прочитайте пояснение.'; 
		error = 1;
	}
	if (pass.length < 8)
	{
		$('error_password').innerHTML = 'пароль слишком маленький (должен состоять из более чем 7 символов).'; 
		error = 1;
	}
	if ($('password').value == '')
	{
		$('error_password').innerHTML = 'заполните данное поле'; 
		error = 1;
	}

	var pass2 = String($('password_rep').value);
	if ($('password_rep').value == '')
	{
		$('error_password_rep').innerHTML = 'заполните данное поле'; 
		error = 1;
	}
	if (pass != pass2)
	{
		$('error_password_rep').innerHTML = 'значение данного поля должно совпадать со значение поля "пароль"'; 
		error = 1;
	}

	var fullname = String($('fullname').value);

	fullname = fullname.replace(space,'');

	if (fullname.match(regexprus))
	{
		$('error_fullname').innerHTML = 'некоректное имя. Внимательно прочитайте пояснение.'; 
		error = 1;
	}
	if ($('fullname').value == '')
	{
		$('error_fullname').innerHTML = 'заполните данное поле'; 
		error = 1;
	}

	var email = String($('email').value);

	if (!checkmail(email))
	{
		$('error_email').innerHTML = 'Неккоректный email'; 
		error = 1;
	}
	
	if ($('email').value == '')
	{
		$('error_email').innerHTML = 'заполните данное поле'; 
		error = 1;
	}

	for (var i=0; i<FieldArray.length; i++ )
	{
		if ($('addfield_'+FieldArray[i]))
		{
			if ($('addfield_'+FieldArray[i]).value == '')
			{
				$('error_'+FieldArray[i]).innerHTML = 'заполните данное поле'; 
				error = 1;
			}
		}
	}

	if (error == 0)
	{
		return true;
	}
	else
	{
		return false;
	}

}

CheckDataForm = function()
{

	var error = 0;

	$('error_password').innerHTML = '';
	$('error_password_rep').innerHTML = '';
	$('error_fullname').innerHTML = '';
	$('error_email').innerHTML = '';

	for (var i=0; i<FieldArray.length; i++ )
	{
		$('error_'+FieldArray[i]).innerHTML = '';
	}
	
	var regexp = new RegExp('[^A-Za-z0-9_]','g');
	var regexprus = new RegExp('[^А-Яа-яA-Za-z0-9_]','g');
	var space = new RegExp(' ','g');
	
	if ($('password').value != '')
	{
	
		var pass = String($('password').value);
		if (pass.match (regexp))
		{
			$('error_password').innerHTML = 'некоректный пароль. Внимательно прочитайте пояснение.'; 
			error = 1;
		}
		if (pass.length < 8)
		{
			$('error_password').innerHTML = 'пароль слишком маленький (должен состоять из более чем 7 символов).'; 
			error = 1;
		}


		var pass2 = String($('password_rep').value);
		if ($('password_rep').value == '')
		{
			$('error_password_rep').innerHTML = 'заполните данное поле'; 
			error = 1;
		}
		if (pass != pass2)
		{
			$('error_password_rep').innerHTML = 'значение данного поля должно совпадать со значение поля "пароль"'; 
			error = 1;
		}
	}
	var fullname = String($('fullname').value);

	fullname = fullname.replace(space,'');

	if (fullname.match(regexprus))
	{
		$('error_fullname').innerHTML = 'некоректное имя. Внимательно прочитайте пояснение.'; 
		error = 1;
	}
	if ($('fullname').value == '')
	{
		$('error_fullname').innerHTML = 'заполните данное поле'; 
		error = 1;
	}

	var email = String($('email').value);

	if (!checkmail(email))
	{
		$('error_email').innerHTML = 'Неккоректный email'; 
		error = 1;
	}
	
	if ($('email').value == '')
	{
		$('error_email').innerHTML = 'заполните данное поле'; 
		error = 1;
	}

	for (var i=0; i<FieldArray.length; i++ )
	{
		if ($('addfield_'+FieldArray[i]))
		{
			if ($('addfield_'+FieldArray[i]).value == '')
			{
				$('error_'+FieldArray[i]).innerHTML = 'заполните данное поле'; 
				error = 1;
			}
		}
	}

	if (error == 0)
	{
		return true;
	}
	else
	{
		return false;
	}
}
function exit()
{
	var data;
	data = 'regExit=1';
	data = data + '&ajax=1';

	ExecuteXMLCall(URL, 'regFrom','post',data);
}

var IsClearLogin = 0;
clearRegLogin = function ()
{
	if (IsClearLogin == 0)
	{
		$('regLogin').value = '';
		IsClearLogin = 1;
	}
}
var IsClearPassword = 0;
clearRegPassword = function ()
{
	if (IsClearPassword == 0)
	{
		$('regPassword').value = '';
		IsClearPassword = 1;
	}
}
function check()
{
	var error = 0;

	$('regPassSpan').innerHTML = '&nbsp;';
	$('regLoginSpan').innerHTML = '&nbsp;';

	var regexp = new RegExp('[^A-Za-z0-9_]','g');

	var str = String($('regLogin').value);

	if (str.match (regexp))
	{
		$('regLoginSpan').innerHTML = 'некоректное имя'; 
		error = 1;
	}
	if ($('regLogin').value == '')
	{
		$('regLoginSpan').innerHTML = 'наберите логин'; 
		error = 1;
	}

	var pass = String($('regPassword').value);

	if (pass.match (regexp))
	{
		$('regPassSpan').innerHTML = 'некоректный пароль'; 
		error = 1;
	}
	if ($('regPassword').value == '')
	{
		$('regPassSpan').innerHTML = 'наберите пароль'; 
		error = 1;
	}

	if (error == 0)
	{		
		var data;
	
			data = 'regLogin=' + $('regLogin').value;
			data = data + '&regPassword=' + $('regPassword').value;
			data = data + '&ajax=1';
			ExecuteXMLCall(URL, 'regFrom','post',data);

			/* Special for eshop */
			try
			{
				for (var j=0; j< cat_pos_array.length; j++)
				{
					PositionSelect(cat_pos_array[j], true);
				}
			}
			catch (e){}

		return true;		
	}
	else
	{
		return false;
	}
	
}
function checkLogin()
{
	var error = 0;

	$('regLoginSpan').innerHTML = '&nbsp;';

	var regexp = new RegExp('[^A-Za-z0-9_]','g');

	var str = String($('regLogin').value);

	if (str.match (regexp))
	{
		$('regLoginSpan').innerHTML = 'некоректное имя'; 
		error = 1;
	}
	if ($('regLogin').value == '')
	{
		$('regLoginSpan').innerHTML = 'наберите своё имя'; 
		error = 1;
	}

	if (error == 0)
	{
		data = 'regLogin=' + $('regLogin').value;
		data = data + '&regPassword=' + $('regPassword').value;
		data = data + '&ajax=1';
		data = data + '&regForget=1';
		ExecuteXMLCall(URL, 'regFrom','post',data);
	}
	else
	{
		return false;
	}
}


function checkFaqForm()
{
	var error = 0;

	$('faqNameSpan').innerHTML = '&nbsp;';
	$('faqEmailSpan').innerHTML = '&nbsp;';
	$('faqQuestionSpan').innerHTML = '&nbsp;';

	if ($('faqName').value =='')
	{
		$('faqNameSpan').innerHTML = 'Введите свое имя'; 
		error = 1;
	}
	if ($('faqEmail').value != '')
	{

		var email = String($('faqEmail').value);

		if (!checkmail(email))
		{
			$('faqEmailSpan').innerHTML = 'Неккоректный email'; 
			error = 1;
		}
	}

	if ($('faqQuestion').value =='')
	{
		$('faqQuestionSpan').innerHTML = 'Введите вопрос'; 
		error = 1;
	}

	if (error == 0)
	{
		var data;
	
		data = 'faqName=' + $('faqName').value;
		data = data + '&faqEmail=' + $('faqEmail').value;
		data = data + '&faqQuestion=' + $('faqQuestion').value;
		data = data + '&faqImage=' + $('faqImage').value;
		data = data + '&ajax=1';
		ExecuteXMLCall(URL_FAQ, 'faqForm','post',data);
	}
	else
	{
		return false;
	}
}



/* Cookie */

	// Выставляет cookie: имя=значение
	setCookie = function (name, value)
	{
		var exp = new Date();
		var e = exp.getTime()+(24*60*60*30*1000);
		exp.setTime(e);
		
		var newCookie = name + "=" + escape(value) + ";path=/;expires="+exp.toUTCString();
		document.cookie = newCookie;
	}

	// Забирает значение cookie с данным именем
	getCookie = function (name)
	{
		var prefix = name + "=";
		var start = document.cookie.indexOf(prefix);
		if (start == -1)
		{
			return false;
		}
		var end = document.cookie.indexOf(";", start + prefix.length)
		if (end == -1)
		{
			end = document.cookie.length;
		}
		return unescape(document.cookie.substring(start + prefix.length, end));
	}

/* ПРОВЕРКА ОБЯЗАТЕЛЬНЫХ ПОЛЕЙ */

function fck_try_submit(form_name)
{
	var elements = document.getElementById(form_name).elements;
	var error = 'Заполните следующие обязательные поля:\n';
	var text = '';
	for (var i = 0; i < elements.length; i++) {
		if((elements[i].type.toLowerCase() == 'textarea' || elements[i].type.toLowerCase() == 'text') && elements[i].className == 'req' && elements[i].value == '')
		text += to_rus(elements[i].name) + '\n';
	}
	if(text) 
	{
		alert(error + text);
		return false;
	}
	else
		return true;
}

function to_rus(x)
{
	var s = String(x);
	s = s.replace(/my_rus_/g, '');
	return s.replace(/(s1|s2|s3|s4|ch|sh|sch|yu|ya|gh|a|b|v|g|d|e|e|z|i|y|k|l|m|n|o|p|r|s|t|u|f|h|c|Ch|Sh|Sch|S1|S2|S3|S4|Yu|Ya|Gh|A|B|V|G|D|E|E|Z|I|Y|K|L|M|N|O|P|R|S|T|U|F|H|C|_)/g, to_rus_func);
}

function to_rus_func($0, $1) 
{
	switch($1)
	{
		case 's1' : return 'ъ';
		case 's2' : return 'ы';
		case 's3' : return 'ь';
		case 's4' : return 'э';
		case 'ch' : return 'ч';
		case 'sh' : return 'ш';
		case 'sch': return 'щ';
		case 'yu' : return 'ю';
		case 'ya' : return 'я';
		case 'gh' : return 'ж';
		case 'a'  : return 'а';
		case 'b'  : return 'б';
		case 'v'  : return 'в';
		case 'g'  : return 'г';
		case 'd'  : return 'д';
		case 'e'  : return 'е';
		case 'e'  : return 'ё';
		case 'z'  : return 'з';
		case 'i'  : return 'и';
		case 'y'  : return 'й';
		case 'k'  : return 'к';
		case 'l'  : return 'л';
		case 'm'  : return 'м';
		case 'n'  : return 'н';
		case 'o'  : return 'о';
		case 'p'  : return 'п';
		case 'r'  : return 'р';
		case 's'  : return 'с';
		case 't'  : return 'т';
		case 'u'  : return 'у';
		case 'f'  : return 'ф';
		case 'h'  : return 'х';
		case 'c'  : return 'ц';
		                      
		case 'Ch' : return 'Ч';
		case 'Sh' : return 'Ш';
		case 'Sch': return 'Щ';
		case 'S1' : return 'Ъ';
		case 'S2' : return 'Ы';
		case 'S3' : return 'Ь';
		case 'S4' : return 'Э';
		case 'Yu' : return 'Ю';
		case 'Ya' : return 'Я';
		case 'Gh' : return 'Ж';
		case 'A'  : return 'А';
		case 'B'  : return 'Б';
		case 'V'  : return 'В';
		case 'G'  : return 'Г';
		case 'D'  : return 'Д';
		case 'E'  : return 'Е';
		case 'E'  : return 'Ё';
		case 'Z'  : return 'З';
		case 'I'  : return 'И';
		case 'Y'  : return 'Й';
		case 'K'  : return 'К';
		case 'L'  : return 'Л';
		case 'M'  : return 'М';
		case 'N'  : return 'Н';
		case 'O'  : return 'О';
		case 'P'  : return 'П';
		case 'R'  : return 'Р';
		case 'S'  : return 'С';
		case 'T'  : return 'Т';
		case 'U'  : return 'У';
		case 'F'  : return 'Ф';
		case 'H'  : return 'Х';
		case 'C'  : return 'Ц';
		case '_'  : return ' ';
	}                       
}


	PositionSelect = function (id, reload) {
		var data;
		
		data = 'selectedid=' + id;

		if (reload)	data = data + '&reload=1';	
		
		data = data + '&ajax=1';
		
		ExecuteXMLCall('catalogue', 'posblock' + id, 'post', data,true,'','<img style="margin: 9px 0;"src="images/ajax.gif" alt="Ожидайте" title="Ожидайте" />');
		
		var timeout = setTimeout(function(){
			ExecuteXMLCall('refcart', 'cart', 'post', 'ajax=1',true,'',$('cart').innerHTML);
		}, 1000)
	}
