function $A(C){
    if(!C){
	return[]
	}
	if(C.toArray){
	return C.toArray()
	}
	var B=C.length||0,A=new Array(B);
    while(B--){
	A[B]=C[B]
	}
	return A
    }
    Object.extend=function(A,C){
    for(var B in C){
	A[B]=C[B]
	}
	return A
    };

Object.extend(Object,{
    inspect:function(A){
	try{
	    if(Object.isUndefined(A)){
		return"undefined"
		}
		if(A===null){
		return"null"
		}
		return A.inspect?A.inspect():A.toString()
	    }catch(B){
	    if(B instanceof RangeError){
		return"..."
		}
		throw B
	    }
	},
toQueryString:function(A){
    return $H(A).toQueryString()
    },
toHTML:function(A){
    return A&&A.toHTML?A.toHTML():String.interpret(A)
    },
keys:function(A){
    var B=[];
    for(var C in A){
	B.push(C)
	}
	return B
    },
values:function(B){
    var A=[];
    for(var C in B){
	A.push(B[C])
	}
	return A
    },
isElement:function(A){
    return A&&A.nodeType==1
    },
isArray:function(A){
    return A&&A.constructor===Array
    },
isHash:function(A){
    return A instanceof Hash
    },
isFunction:function(A){
    return typeof A=="function"
    },
isString:function(A){
    return typeof A=="string"
    },
isNumber:function(A){
    return typeof A=="number"
    },
isUndefined:function(A){
    return typeof A=="undefined"
    }
});
var Class={
    create:function(){
	var E=null,D=$A(arguments);
	if(Object.isFunction(D[0])){
	    E=D.shift()
	    }
	    function A(){
	    this.initialize.apply(this,arguments)
	    }
	    Object.extend(A,Class.Methods);
	A.superclass=E;
	A.subclasses=[];
	if(E){
	    var B=function(){};

	    B.prototype=E.prototype;
	    A.prototype=new B;
	    E.subclasses.push(A)
	    }
	    for(var C=0;C<D.length;C++){
	    A.addMethods(D[C])
	    }
	    if(!A.prototype.initialize){
	    A.prototype.initialize=function(){}
	}
	A.prototype.constructor=A;
    return A
    }
};

Class.Methods={
    addMethods:function(G){
	var C=this.superclass&&this.superclass.prototype;
	var B=Object.keys(G);
	if(!Object.keys({
	    toString:true
	}).length){
	    B.push("toString","valueOf")
	    }
	    for(var A=0,D=B.length;A<D;A++){
	    var F=B[A],E=G[F];
	    if(C&&Object.isFunction(E)&&E.argumentNames().first()=="$super"){
		var H=E,E=Object.extend((function(I){
		    return function(){
			return C[I].apply(this,arguments)
			}
		    })(F).wrap(H),{
		    valueOf:function(){
			return H
			},
		    toString:function(){
			return H.toString()
			}
		    })
	}
	this.prototype[F]=E
	}
	return this
}
};

var isWebkit = (/WebKit/i.test(navigator.userAgent));
var isIE = (navigator.appName == "Microsoft Internet Explorer");
var isFF = (!isIE && !(navigator.appVersion.indexOf("MSIE")>-1));
var isOPR = (navigator.userAgent.indexOf("Opera")!=-1);
var isIE7 = navigator.userAgent.indexOf("MSIE 7.0") >= 0;
var isIE6 = navigator.userAgent.indexOf("MSIE 6.0") >= 0;
if (isOPR) {
    isIE = false;
}

var lastDate = '';
var lastId = '';

var cart = false;
var cart2 = false;

$ = function(id) {
    return document.getElementById(id)
}

var cacheStore = new Array;


window.onload = function ()	{
    init();
}

// Инит
function init()
{
    try {
	lastDate = $('galLastDate').value;
    }
    catch(e) {
	lastDate = '';
    }

    try {
	lastId = $('galLastId').value;
    }
    catch(e) {
	lastId = '';
    }

    if ($$('.rat'))
    {
	nodes = $$('.rat');
	for (k=0;k<nodes.length;k++)
	{
	    observeRate(nodes[k]);
	}
    }

}

function observeRate(objRate)
{
    starLinks = $$('#'+objRate.id+' img');
    var oldStars = new Array();
    for (i=0; i<starLinks.length; i++)
    {
	oldStars[i] = starLinks[i].src;
	Event.observe(starLinks[i], 'mouseover', function (event) {
	    colorStars(Event.element(event));
	    Event.stop(event);
	});
	Event.observe(starLinks[i], 'mouseout', function (event) {
	    Event.stop(event);
	});
	Event.observe(starLinks[i], 'click', function (event) {
	    c = 0;
	    obj = Event.element(event);
	    starLinks = $$('#'+objRate.id+' img');
	    for (i=0; i<starLinks.length; i++) if (obj==starLinks[i]) c = i + 1;
	    lookup({
		url:'/api/rating.api.php',
		values:'id='+obj.parentNode.id.replace('rat_div_','')+'&rate='+c,
		postFunction:'observeRate()',
		dest:obj.parentNode.id
		});
	});
    }

    Event.observe(objRate.id, 'mouseout', function (event) {
	starLinks = $$('#'+objRate.id+' img');
	for (i=0; i<starLinks.length; i++)
	{
	    starLinks[i].src = oldStars[i];
	}
    });

}


function colorStars(obj)
{
    starLinks = $$('#'+obj.parentNode.id+' img');
    catchObj = false;
    for (i=0; i<starLinks.length; i++)
    {
	if (catchObj) starLinks[i].src='http://img.nashi.su/nashi.su/images/star.gif';
	else starLinks[i].src='http://img.nashi.su/nashi.su/images/star_a.gif';

	if (obj==starLinks[i]) catchObj = true;
    }
}



function cutsymbols(e)
{
    e=e||event;
    var key=e.charCode||e.keyCode;
    if (e.shiftKey) return false;
    if ((key>47&&key<58)||key==8||key==46) return true;
    else return false;
}

// Сахер
function $(id)
{
    return document.getElementById(id);
}

function hasClassName(element, className)
{
    var elementClassName = element.className;
    return (elementClassName.length > 0 && (elementClassName == className ||
	new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
}

function addClassName(element, className)
{
    if (!hasClassName(element,className))
	element.className += (element.className ? ' ' : '') + className;
}

function removeClassName(element, className)
{
    element.className = element.className.replace(new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ');
}

function getElementsByClass(searchClass,node,tag)
{
    var classElements = new Array();
    if (node == null) node = document;
    if (tag == null) tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++)
    {
	if (pattern.test(els[i].className))
	{
	    classElements[j] = els[i];
	    j++;
	}
    }
    return classElements;
}

//аякс
function getHTTP()
{
    var xmlhttp;
    /*@cc_on
		@if (@_jscript_version >= 5)
			try
				{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				}
			catch (e)
				{
				try
					{
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
					}
				catch (E)
					{
					xmlhttp = false;
					}
				}
		@else
			xmlhttp = false;
		@end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
    {
	try
	{
	    xmlhttp = new XMLHttpRequest();
	}
	catch (e)
	{
	    xmlhttp = false;
	}
    }
    return xmlhttp;
}

function lookup(lookupSettings)
{
    if (!lookupSettings) lookupSettings = new Object();

    if (!lookupSettings.values)   lookupSettings.values   = '';
    if (!lookupSettings.dest)  lookupSettings.dest = false;
    if (!lookupSettings.cache)  lookupSettings.cache = false;
    if (!lookupSettings.postFunction)   lookupSettings.postFunction   = '';


    if (lookupSettings.url)
    {
	if (lookupSettings.cache && cacheStore[lookupSettings.url+'?'+lookupSettings.values])
	{
	    try {
		document.getElementById(lookupSettings.dest).innerHTML = cacheStore[lookupSettings.url+'?'+lookupSettings.values].responseText
	    }
	    catch (e) { }
	    if (lookupSettings.postFunction) lookupSettings.postFunction(cacheStore[lookupSettings.url+'?'+lookupSettings.values]);
	}
	else
	{
	    this.working = false;
	    if (!this.working && (this.http = getHTTP()))
	    {
		var http = this.http;
		this.http.open("POST", lookupSettings.url, true);
		this.http.onreadystatechange = function()
		{
		    if (http.readyState == 4)
		    {
			if (lookupSettings.cache)
			{
			    cacheStore[lookupSettings.url+'?'+lookupSettings.values] = http;
			}
			try {
			    destObj = document.getElementById(lookupSettings.dest).innerHTML = http.responseText
			}
			catch (e) { }
			if (lookupSettings.postFunction) lookupSettings.postFunction(http);
			this.working = false;
			this.http = false;
		    }
		}
		this.working = true;
		this.http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		this.http.send(lookupSettings.values);
	    }
	}
    }
}

engineLoaded = true;

accordion = {};

accordion.init = function(objs) {
    for (i=0; i<objs.length; i++)
    {
	objs[i].onclick = function() {
	    accordion.open(this);
	    return false
	}
    }
}

accordion.open = function(obj) {
    if (obj.id=='links')
    {
	if ($(obj.id).innerHTML=='скрыть')
	    $(obj.id).innerHTML='остальные ссылки';
	else
	    $(obj.id).innerHTML='скрыть';
    }
    openObj = $(obj.id+'_content');
    if (!openObj.isWorking)
    {
	openObj.isWorking = true;
	openObj.t = 0;
	openObj.sh = openObj.offsetHeight;
	if (openObj.sh != 0)
	{
	    openObj.h = 0;
	    openObj.timer = setInterval('accordion.movement(openObj,Back.easeIn)', 15);
	}
	else
	{
	    openObj.style.height = 'auto';
	    openObj.h = openObj.offsetHeight;
	    openObj.style.height = '0';
	    openObj.timer = setInterval('accordion.movement(openObj,Back.easeOut)', 15);
	}
    }
    return false;
}

accordion.movement = function(obj, f)
{
    //if (obj.t == 0) alert(obj.h);
    obj.t++;
    h = parseInt(f(obj.t, obj.sh, obj.h - obj.sh, 15));

    if (h < 0) h = 0;
    obj.style.height = h + 'px';
    if (obj.t >= 15)
    {
	if (obj.sh != 0) obj.style.height = '0px'
	clearInterval(obj.timer)
	obj.t = 0;
	obj.isWorking = false;
    }
}

var Back = {
    easeIn: function (t, b, c, d, s)
    {
	if (s == undefined) s = 1.70158;
	return c*(t/=d)*t*((s+1)*t - s) + b;
    },

    easeOut: function (t, b, c, d, s)
    {
	if (s == undefined) s = 1.70158;
	return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
    },

    easeInOut: function (t, b, c, d, s)
    {
	if (s == undefined) s = 1.70158;
	if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
	return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
    }
}


function showMainNews(type,region){
    $('content_'+type).innerHTML = '<img class="step_preloader" src="http://img.nashi.su/nashi.su/images/preloader.gif" />';
    lookup({
	url: '/api/news_main.api.php',
	values: 'type='+type+'&region='+region,
	postFunction: function(transport)
	{
	    $('content_'+type).innerHTML = transport.responseText;
	}
    });
}

function showMainLast(type){
    $('content_news').innerHTML = '<img class="step_preloader" src="http://img.nashi.su/nashi.su/images/preloader.gif" />';
    lookup({
	url: '/api/new_main.api.php',
	values: 'type='+type,
	postFunction: function(transport)
	{
	    $('content_news').innerHTML = transport.responseText;
	}
    });
}

function newsTags(region,ord){
    $('tags').innerHTML = '<img class="step_preloader" src="http://img.nashi.su/nashi.su/images/preloader.gif" />';
    lookup({
	url: '/api/tags_news.api.php',
	values: 'region='+region+'&ord='+ord,
	postFunction: function(transport)
	{
	    $('tags').innerHTML = transport.responseText;
	}
    });
}

/* поехали */
var mainTimer = false;
var canMove = true;
var inted=0;
var scrollLength;
var parentWidth;
var inted_b=-1;
var obLength;
var objElements;

function prepend(id, tag) {
    var node = document.getElementById(id),
    first = node.firstChild,
    newNode = document.createElement(tag);
    node.insertBefore(newNode, first);
    return newNode;
}

function move(obj,direction,parentElement,target)
{
    if (!parentWidth) parentWidth = document.getElementById(parentElement).offsetWidth;

    if (mainTimer) return false;

    if (parentElement == 'partn')
    {
	if (!objElements)
	{
	    tmpEl = new Array();
	    tmpEl = $('massiv').getElementsByTagName('TD');
	    objElements = new Array();
	    for (i=0; i<tmpEl.length; i++)
		objElements[i] = tmpEl[i]
	    obLength = objElements.length;

	}
    }

    //		if (!target) target = 'gallery';
    obj.time = 0;
    obj.start = obj.style.left.replace('px','')-0;
    movedObj = obj;
    movedPerent = parentElement;
    if (!scrollLength) {
	scrollLength = parentWidth;
    }
    if (parentElement == 'part') scrollLength = 110;
    if (parentElement == 'catalogs') scrollLength = 138;
    if (parentElement == 'partn') scrollLength = 180;
    var last = '';
    switch(target){
	case 'shop':
	    last = lastId;
	    break;
	default:
	    last = lastDate;
	    break;
    }

    if (direction == 'forward')
    {
	if (parentElement == 'partn')
	{
	    if (parseInt(obj.style.left.replace('px', ''))<scrollLength-obj.offsetWidth+parentWidth)
	    {
		if( inted == obLength ) inted = 0;
		newPartner = document.createElement('td');
		newPartner.innerHTML = objElements[inted].innerHTML;
		$('massiv').appendChild(newPartner);
		inted++;
	    }
	}

	if (eval(obj.style.left.replace('px', ''))<document.getElementById(parentElement).offsetWidth-obj.offsetWidth+50)
	{
	// А нефик
	}
	else
	{
	    if (target)
	    {
		lookup({
		    url:'/api/'+target+'.api.php',
		    postFunction:function(transport)
		    {
			if (transport.responseText)
			{
			    newElementObj = top.document.createElement('td');
			    newElementObj.innerHTML = transport.responseText;
			    if (document.getElementById(target+'_tr')) document.getElementById(target+'_tr').appendChild(newElementObj);
			    switch(target)
			    {
				case 'shop':
				    last = /LastId: ([0-9 :-]+)-->/.exec(transport.responseText);
				    if (last) lastId = last[1];
				    break;
				default:
				    last = /LastDate: ([0-9 :-]+)-->/.exec(transport.responseText);
				    if (last) lastDate = last[1];
				    break
			    }
			}
		    },
		    values:'galleryPage='+(Math.round(obj.offsetWidth/110))+'&date='+last
		});
	    }
	    mainTimer = setInterval('forwardMovement(movedObj,movedPerent,scrollLength)', 50);
	}
    }
    else
    {
	if (parentElement == 'partn')
	{
	    if (obj.style.left.replace('px', '') >= 0)
	    {
		obj.start = -180;
		if(inted_b<=0) inted_b = obLength;
		prepend('massiv', 'td');
		$('massiv').childNodes[0].innerHTML = objElements[inted_b-1].innerHTML;
		//					$('massiv').innerHTML = '<td>'+objElements[inted_b-1].innerHTML+'</td>' + $('massiv').innerHTML;
		obj.style.left = '-180px';
		inted_b--;
	    }
	}
	if (eval(obj.style.left.replace('px', '')) < 0)
	    mainTimer = setInterval('backwardMovement(movedObj,movedPerent,scrollLength)', 50);
    }
}

function forwardMovement(obj,parentElement,scrollLength,target)
{
    //		if (!target) target = 'gallery';
    scrollLength = -scrollLength;
    left = Math.round(linear(obj.time, obj.start, scrollLength, 10));
    obj.style.left = left + 'px';

    if (left < 0)
    {
	if (document.getElementById(parentElement+'_l')) document.getElementById(parentElement+'_l').style.display = 'block';
    }

    if (obj.offsetWidth-parentWidth+left < 10)
    {
	// Приехали
	if (obj.id!='partners') document.getElementById(parentElement+'_r').style.display = 'none';
	clearInterval(mainTimer);
	mainTimer = false;
    }

    obj.time++;
    if (obj.time == 11)
    {
	clearInterval(mainTimer);
	mainTimer = false;
	if (canMove) move(obj,'forward',null,target);
    }
}

function backwardMovement(obj,parentElement,scrollLength,target)
{
    left = Math.round(linear(obj.time, obj.start, scrollLength, 10));
    //		if (!target) target = 'gallery';
    obj.style.left = left + 'px';

    if (left >= 0)
    {
	// Приехали
	obj.style.left = '0px';
	if (obj.id!='partners')
	{
	    document.getElementById(parentElement+'_l').style.display = 'none';
	    document.getElementById(parentElement+'_r').style.display = 'block';
	}
	clearInterval(mainTimer);
	mainTimer = false;
    }

    obj.time++;
    if (obj.time == 11)
    {
	if (left >= 0)
	{
	    if (obj.id!='partners') document.getElementById(parentElement+'_l').style.display = 'none';
	}
	clearInterval(mainTimer);
	mainTimer = false;
	if (canMove) move(obj,'backward',null,target);
    }
}
function backOut (t, b, c, d, s)
{
    if (s == undefined) s = 1.70158;
    return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
}

function backIn (t, b, c, d, s)
{
    if (s == undefined) s = 1.70158;
    return c*(t/=d)*t*((s+1)*t - s) + b;
}

function easeIn (t, b, c, d)
{
    return c*t/d + b;
}

function linear (t, b, c, d)
{
    return c*t/d + b;
}

// Комплитар
var Autocompleter2 = { }
Autocompleter2 = Class.create({
    initialize: function(element, url) {

	var Autocompleter2 = this;

	this.id = element;
	this.selected = null;
	this.lis = new Array;
	this.input = null;
	this.url = url;
	this.focused = false;

	Autocompleter2.ac = {};

	this.input = $(this.id);
	//$(this.id).autocomplete = 'off';
	this.input.onkeyup = function(event) {
	    if (!this.value && $('ac_'+this.id) && !Autocompleter2.focused) {
		$('ac_'+this.id).style.display='none';
	    }
	    Autocompleter2.autocomplete(Autocompleter2, event, this);
	    return false
	};
	this.input.onblur = function() {
	    if ($('education')) cloneEdu($('education'));
	    if ($('ac_'+this.id)) $('ac_'+this.id).style.display = 'none'
	};
	this.input.onfocus = function(event) {
	    if (this.value == '') Autocompleter2.acFocus(Autocompleter2, this, event)
	}
	this.initialized = true;
    },

    autocomplete: function(Autocompleter2, event, obj) {
	//$('test').innerHTML += this.selected + '<br />';
	event = event || window.event;
	//obj.autocomplete = 'off';

	if ((event.keyCode != 40 && event.keyCode != 38 && event.keyCode != 13) && obj.value)
	{
	    Autocompleter2.focused = false;
	    obj.onkeydown = function(event) {
		Autocompleter2.autocompleteNavigation(Autocompleter2,event)
	    }

	    lookup({
		url:'/api/'+Autocompleter2.url,
		values:'query='+encodeURIComponent(obj.value),
		postFunction: function(transport)
		{
		    if (!$('ac_'+obj.id))
		    {
			newAC = document.createElement('span')
			newAC.id = 'ac_'+obj.id;
			newAC.className = 'autocompliter';
			newAC.style.position = 'absolute';
			newAC.style.zIndex = '20';
			obj.parentNode.style.position = 'relative';
			newAC.style.top = obj.offsetHeight + obj.offsetTop + 'px';
			obj.parentNode.appendChild(newAC);
			Autocompleter2.ac = newAC;
		    }

		    Autocompleter2.ac.style.display = 'block';
		    Autocompleter2.ac.innerHTML = transport.responseText;
		    //$('test').innerHTML = newAC.innerHTML;
		    Autocompleter2.lis = $(Autocompleter2.ac.id).getElementsByTagName('a');
		    Autocompleter2.selected = null;
		    for (i=0; i<Autocompleter2.lis.length; i++)
		    {
			//$('test').innerHTML += this.lis[i]+'<br />'
			Autocompleter2.lis[i].num = i;
			Autocompleter2.lis[i].onmousedown = function() {
			    obj.value = this.innerHTML.replace(/<small>(.*?)<\/small>/i,'');
			    obj.value = obj.value.replace(/<(.*?)>/ig,'');
			    if ($(obj.id+'_id')) {
				$(obj.id+'_id').value=this.id;
			    }
			    $('ac_'+obj.id).style.display = 'none';
			}
			Autocompleter2.lis[i].onmouseover = function() {
			    if (Autocompleter2.selected) {
				Autocompleter2.selected.className = '';
			    }
			    Autocompleter2.selected = this;
			    this.className = 'active'
			}
			Autocompleter2.lis[i].onmouseout = function() {
			    this.className = ''
			}
		    }
		//alert(Autocompleter2.lis)
		}
	    });
	}
    },

    autocompleteNavigation: function(Autocompleter2,event)
    {
	event = event || window.event;

	if (event.keyCode == 40)
	{
	    if (event.preventDefault)
		event.preventDefault();
	    else
		event.returnValue = false;

	    if (!Autocompleter2.selected && this.lis.length>0)
	    {
		Autocompleter2.selected = this.lis[0];
		Autocompleter2.lis[0].className = 'active';
	    }
	    else
	    {
		Autocompleter2.selected.className = '';
		if (Autocompleter2.selected.num != Autocompleter2.lis.length-1 )
		    Autocompleter2.selected = Autocompleter2.lis[Autocompleter2.selected.num+1];
		else
		    Autocompleter2.selected = Autocompleter2.lis[0];

		Autocompleter2.selected.className = 'active';
	    }
	}

	if (event.keyCode == 38)
	{
	    if (event.preventDefault)
		event.preventDefault();
	    else
		event.returnValue = false;

	    if (!Autocompleter2.selected)
	    {
		Autocompleter2.selected = Autocompleter2.lis[Autocompleter2.lis.length-1];
		Autocompleter2.lis[Autocompleter2.lis.length-1].className = 'active';
	    }
	    else
	    {
		Autocompleter2.selected.className = '';
		if (Autocompleter2.selected.num != 0)
		    Autocompleter2.selected = Autocompleter2.lis[Autocompleter2.selected.num-1];
		else
		    Autocompleter2.selected = Autocompleter2.lis[Autocompleter2.lis.length-1]

		Autocompleter2.selected.className = 'active';
	    }
	}

	if (event.keyCode == 13)
	{
	    if (event.preventDefault)
		event.preventDefault();
	    else
		event.returnValue = false;

	    Autocompleter2.input.value = Autocompleter2.selected.innerHTML.replace(/<small>(.*?)<\/small>/i,'');
	    Autocompleter2.input.value = Autocompleter2.input.value.replace(/<(.*?)>/ig,'');
	    Autocompleter2.ac.style.display = 'none';
	    if ($(Autocompleter2.input.id+'_id')) $(Autocompleter2.input.id+'_id').value=Autocompleter2.selected.id;
	}
    },

    acFocus: function(Autocompleter2, obj, event)
    {
	Autocompleter2.focused = true;
	obj.onkeydown = function(event) {
	    Autocompleter2.autocompleteNavigation(Autocompleter2,event)
	}

	lookup({
	    url:'/api/'+Autocompleter2.url,
	    values:'empty=true',
	    postFunction: function(transport)
	    {

		if (!$('ac_'+obj.id))
		{
		    newAC = document.createElement('span')
		    newAC.id = 'ac_'+obj.id;
		    newAC.className = 'autocompliter';
		    newAC.style.position = 'absolute';
		    newAC.style.zIndex = '20';
		    obj.parentNode.style.position = 'relative';
		    newAC.style.top = obj.offsetHeight + obj.offsetTop + 'px';
		    obj.parentNode.appendChild(newAC);
		    Autocompleter2.ac = newAC;
		}else{
		    Autocompleter2.ac = $('ac_'+obj.id);
		}

		Autocompleter2.ac.style.display = 'block';
		Autocompleter2.ac.innerHTML = transport.responseText;
		//$('test').innerHTML = newAC.innerHTML;
		Autocompleter2.lis = $(Autocompleter2.ac.id).getElementsByTagName('a');
		Autocompleter2.selected = null;
		for (i=0; i<Autocompleter2.lis.length; i++)
		{
		    //$('test').innerHTML += this.lis[i]+'<br />'
		    Autocompleter2.lis[i].num = i;
		    Autocompleter2.lis[i].onmousedown = function() {
			obj.value = this.innerHTML.replace(/<small>(.*?)<\/small>/i,'');
			obj.value = obj.value.replace(/<(.*?)>/ig,'');
			if ($(obj.id+'_id')) {
			    $(obj.id+'_id').value=this.id;
			}
			$('ac_'+obj.id).style.display = 'none';
		    }
		    Autocompleter2.lis[i].onmouseover = function() {
			if (Autocompleter2.selected) {
			    Autocompleter2.selected.className = '';
			}
			Autocompleter2.selected = this;
			this.className = 'active'
		    }
		    Autocompleter2.lis[i].onmouseout = function() {
			this.className = ''
		    }
		}
	    //alert(Autocompleter2.lis)
	    }
	});

    }
});

function delForm(){
    var forms = getElementsByClass('type_comment');
    if(forms){
	for(var i=0; i<forms.length; i++){
	    if(forms[i].id == "answer_form_new"){
		forms[i].style.display = "none";
		$('new_comment_link').style.display = "block";
	    }
	    else{
		document.getElementById('new_comment_'+forms[i].id.substr(12)).style.display = 'block';
		forms[i].parentNode.removeChild(forms[i]);
	    }
	}
    }
}

function newForm(id,news_id,cu_id,cu){
    delForm();
    var div = document.getElementById('c_'+id);
    var p = document.getElementById('new_comment_'+id);
    p.style.display = 'none';
    var form = new Element('form');
    form.target = "server";
    form.method = "post";
    form.action = "/work/comment.tree.work.html";
    form.id = "answer_form_"+id;
    form.className = "type_comment";
    form.innerHTML = '<input type="hidden" name="data[comment_id]" value="'+id+'" />';
    form.innerHTML += '<input type="hidden" name="data[news_id]" value="'+news_id+'" />';
    if(cu_id) form.innerHTML += '<p>Ваше имя: <b style="color: #cc0000">' + cu +'</b></p>';
    else{
	form.innerHTML += '<p>Ваше имя:<br /><input type="text" name="data[name]" /></p>';
	form.innerHTML += '<span id="err_comment_'+id+'_name" class="err"></span><br/>';
    }
    form.innerHTML += '<textarea name="data[text]" id="comment_text"></textarea>';
    form.innerHTML += '<span id="err_comment_'+id+'" class="err"></span><br/>';
    form.innerHTML += '<p><img src="/api/capcha.api.php?reload='+new Date().getTime()+'" alt="капча" />';
    form.innerHTML += '<input type="text" name="capcha" /></p>';
    form.innerHTML += '<span id="err_comment_'+id+'_capcha" class="err"></span><br/>';
    form.innerHTML += '<input type="submit" value="написать" style="margin-top: 5px;"/>';
    div.appendChild(form);
}

function newFormUniversal(id,object,object_id,cu_id,cu){
	delForm();
	var div = document.getElementById('c_'+id);
	var p = document.getElementById('new_comment_'+id);
	p.style.display = 'none';
	var form = new Element('form');
	form.target = "server";
	form.method = "post";
	form.action = "/work/comment.tree.work.html";
	form.id = "answer_form_"+id;
	form.className = "type_comment";
	form.innerHTML = '<input type="hidden" name="data[comment_id]" value="'+id+'" />';
	form.innerHTML += '<input type="hidden" name="data[object]" value="'+object+'">';
	form.innerHTML += '<input type="hidden" name="data[object_id]" value="'+object_id+'" />';
	if(cu_id) form.innerHTML += '<p>Ваше имя: <b style="color: #cc0000">' + cu +'</b></p>';
	else{
		form.innerHTML += '<p>Ваше имя:<br /><input type="text" name="data[name]" /></p>';
		form.innerHTML += '<span id="err_comment_'+id+'_name" class="err"></span><br/>';
	}
	form.innerHTML += '<textarea name="data[text]" id="comment_text"></textarea>';
	form.innerHTML += '<span id="err_comment_'+id+'" class="err"></span><br/>';
	form.innerHTML += '<p><img src="/api/capcha.api.php?reload='+new Date().getTime()+'" alt="капча" />';
	form.innerHTML += '<input type="text" name="capcha" /></p>';
	form.innerHTML += '<span id="err_comment_'+id+'_capcha" class="err"></span><br/>';
	form.innerHTML += '<input type="submit" value="написать" style="margin-top: 5px;"/>';
	div.appendChild(form);
}

function showAutor(page){
    lookup({
	url: '/api/blogs.php',
	values: 'blogsPage='+page,
	postFunction: function(transport)
	{
	    $('autors').innerHTML = transport.responseText;
	}
    });
}

function shopCartReset(){
    lookup({
	url: '/api/cart.php',
	values: 'action=reset'
    });
}

function shopCartShow(){
    lookup({
	url: '/api/cart.php',
	values: 'action=show',
	postFunction: function(transport)
	{
	    var t = transport.responseText.split('|||');
	    if(t[1]=='0'){
		$('cartinf_content').style.display='none';
		$('cart').style.display='none';
	    }
	    else{
		$('cartinf_content').style.display='block';
		$('cart').style.display='block';
	    }
	    $('cart_content').innerHTML = t[0];
	    chsize();
	}
    });
}

function newProp(id,sex,size){
    $('preloader').style.display = "inline";
    lookup({
	url: '/api/prop_new.php',
	values: 'id='+id+'&sex='+sex+'&size='+size,
	postFunction: function(transport)
	{
	    $('prop').innerHTML = transport.responseText;
	    $('preloader').style.display = "none";
	}
    });
}

function shopProp(id){
    //if($('sex').options) var sex = $('sex').options[$('sex').selectedIndex].value;
    //else var sex = $('sex').value;
    if($('sex_m').checked) var sex = 'm';
    if($('sex_w').checked) var sex = 'w';
    if($('sex_u').checked) var sex = 'u';
    var color = null;
    var size = null;
    lookup({
	url: '/api/prop.php',
	values: 'id='+id+'&sex='+sex+'&color='+color+'&size='+size,
	postFunction: function(transport)
	{
	    $('prop').innerHTML = transport.responseText;
	}
    });
}

function chsize()
{
    if ($('cartcont_over'))
    {
	var contH = $('cartcont_over').offsetHeight;
	coll_height = parseInt(document.body.offsetHeight*0.4);
	$('cartcont_over').style.maxHeight = coll_height + 'px';
	if (isIE)
	{
	    if (contH>coll_height)
	    {
		$('cartcont_over').style.height = coll_height + 'px';
	    }
	}
    }
}

function shopByNew(id,sex,size,mer){
    var val = "id="+id+'&sex='+sex+'&size='+size;
    if(mer) val += '&mer=Y';
    lookup({
	url: '/api/cart.php',
	values: val+'&action=add',
	postFunction: function(transport)
	{
	    shopCartShow();
	}
    });
}

function shopBy(id,size,mer){

    var val = "id="+id;

    if($('sex_m') && $('sex_m').checked) val += '&sex=m';
    if($('sex_w') && $('sex_w').checked) val += '&sex=w';
    if($('sex_u') && $('sex_u').checked) val += '&sex=u';

    //if($('color') && $('color').options) val += '&color='+$('color').options[$('color').selectedIndex].value;
    val += '&size='+size;
    if(mer) val += '&mer=Y';
    lookup({
	url: '/api/cart.php',
	values: val+'&action=add',
	postFunction: function(transport)
	{
	    shopCartShow();
	}
    });
}

function getDelSum(){
    var type = parseInt($('delivery').options[$('delivery').selectedIndex].value);
    var col = $('quantity_col').value;
    if(col<=3){
	switch(type){
	    case 1:
		return 200;
		break;
	    case 2:
		return 230;
		break;
	}
    }
    if(col==4){
	switch(type){
	    case 1:
		return 220;
		break;
	    case 2:
		return 240;
		break;
	}
    }
    if(col==5){
	switch(type){
	    case 1:
		return 240;
		break;
	    case 2:
		return 250;
		break;
	}
    }
    if(col==6){
	switch(type){
	    case 1:
		return 260;
		break;
	    case 2:
		return 270;
		break;
	}
    }
    if(col==7){
	switch(type){
	    case 1:
		return 280;
		break;
	    case 2:
		return 290;
		break;
	}
    }
    if(col>=8){
	switch(type){
	    case 1:
		return 300;
		break;
	    case 2:
		return 320;
		break;
	}
    }
    return 0;
}

function shopSave(id,obj,val){
    if(obj=='count' && parseInt(val)>=0){
	// Данные в корзине
	var price = parseInt($('cart_'+id+'_price').innerHTML);
	var old = parseInt($('cart_'+id+'_res').innerHTML);
	var old_col = old/price;
	if($('quantity_col')){
	    $('quantity_col').value = parseInt($('quantity_col').value)-old_col+parseInt(val);
	}
	price =  price*parseInt(val);

	$('cart_'+id+'_res').innerHTML = price.toString();
	var res = parseInt($('cart_result').innerHTML);
	res = res-old+price;
	$('cart_result').innerHTML = res.toString();
	// Данные в заказе
	if($('delivery')){
	    if(getDelSum()){
		$('delSum').innerHTML = getDelSum();
	    }
	    if(parseInt($('delivery').options[$('delivery').selectedIndex].value)!=3){
		res +=  parseInt($('delSum').innerHTML);
	    }
	    $('result').innerHTML = res.toString();
	}
    }
    if(!$('delivery')){
	var valr = 'id='+id+'&obj='+obj+'&val='+val;
	lookup({
	    url: '/api/cart.php',
	    values: valr+'&action=save',
	    postFunction: function(transport)
	    {
		if(obj=='count' && parseInt(val)==0) shopCartShow();
	    }
	});
    }
}

var Box = {
    openWin: function(obj, filter)
    {
	if (!$('imgbox') && !$('imgdark'))
	{
	    imageDark = document.createElement('div');
	    imageDark.id = 'imgdark';
	    imageDark.style.background = '#000';
	    if (isIE || isIE7)
		imageDark.style.filter = 'Alpha(opacity=60)';
	    else
		imageDark.style.opacity = '0.6';

	    if (!isIE)
	    {
		imageDark.style.position = 'fixed';
		imageDark.style.top = '0';
	    }
	    else
	    {
		imageDark.style.position = 'absolute';
	    }

	    imageDark.style.left = '0';
	    imageDark.style.bottom = '0';
	    imageDark.style.right = '0';
	    imageDark.style.zIndex = '1000';

	    //imageDark.style.border = 'solid 1px red';
	    imageDark.onclick = function() {
		$('imgbox').style.display = 'none';
		$('imgdark').style.display = 'none'
		}
	    document.getElementsByTagName('body')[0].appendChild(imageDark)

	    imageBox = document.createElement('div');
	    if (!isIE)
	    {
		imageBox.style.position = 'fixed';
		imageBox.style.top = '50%';
		imageDark.style.height = '100%';
		imageDark.style.width = '100%';
	    }
	    else
	    {
		imageBox.style.position = 'absolute';
		imageBox.style.top = document.documentElement.scrollTop +150+'px';
		imageDark.style.top = document.documentElement.scrollTop;
		imageDark.style.height = document.documentElement.clientHeight + 'px';
		imageDark.style.width = document.documentElement.clientWidth + 'px';
	    }

	    imageBox.id = 'imgbox';
	    imageBox.style.background = '#fff';
	    imageBox.style.padding = '15px';
	    imageBox.style.left = '50%';
	    imageBox.style.zIndex = '1001';
	    imageBox.style.marginLeft = '-32px';
	    imageBox.style.marginTop = '-32px';
	    document.getElementsByTagName('body')[0].appendChild(imageBox);

	}

	openedImage = '<img style="visibility: hidden" onload="Box.winPosition(this)" alt="'+obj.title+'" id="loading_img" src="'+obj.rel+(filter?'/'+filter:'')+'" />';
	$('imgdark').innerHTML = openedImage;

	$('imgbox').style.marginLeft = '-32px';
	$('imgbox').style.marginTop = '-32px';
	$('imgbox').style.display = 'block';
	$('imgdark').style.display = 'block';
	$('imgbox').innerHTML = '<img alt="x" style="position: absolute; right: -8px; top: -8px; cursor: pointer;" onclick="$(\'imgbox\').style.display = \'none\'; $(\'imgdark\').style.display = \'none\'" src="http://img.nashi.su/nashi.su/images/x.gif" /><img id="boxed_img" alt="" src="http://img.nashi.su/nashi.su/images/preloader.gif" />';

	if (isIE) window.onscroll = function()
	{
	    $('imgbox').style.top = document.documentElement.scrollTop + 150 +'px';
	    $('imgdark').style.top = document.documentElement.scrollTop + 'px';
	}

	if (isIE) window.onresize = function()
	{
	    imageDark.style.height = document.documentElement.clientHeight + 'px';
	    imageDark.style.width = document.documentElement.clientWidth + 'px';
	}

	return false;
    },

    winPosition: function(obj)
    {
	$('boxed_img').src=obj.src;
	if (!isIE)
	    $('imgbox').style.marginTop=-(parseInt(obj.offsetHeight/2))+'px';
	$('imgbox').style.marginLeft=-(parseInt(obj.offsetWidth/2))+'px';
    }
}

function opencart()
{
    if ($('cartinf').className='shop_h'){
	$('cartinf').onclick(true);
    }
}
function closecart()
{
    if ($('cartinf').className='shop_h active'){
	$('cartinf').onclick(true);
    }
}

function getPosition(obj)
{
    var elem = obj

    var l = 0;
    var t = 0;

    while (elem)
    {
	l += elem.offsetLeft;
	t += elem.offsetTop;
	elem = elem.offsetParent;
    }
    obj.l = l;
    obj.t = t;
}

function cartMouseOut(obj){

    getPosition(obj);
    var maxH = obj.offsetHeight + obj.t;
    var maxW = obj.offsetWidth + obj.l;
    if(mX>maxW || mX<obj.l || mY<obj.t || mY>maxH){
	//alert(mX+':'+mY+'|'+obj.l+':'+obj.t+"|"+maxW+':'+maxH);
	if($('cartinf').className='shop_h active'){
	    //cart = false;
	    closecart();
	}
    }
}

function cartMouseOver(obj){

    getPosition(obj);
    var maxH = obj.offsetHeight + obj.t;
    var maxW = obj.offsetWidth + obj.l;
    if(mX<maxW && mX>obj.l && mY>obj.t && mY<maxH){
	//alert(mX+':'+mY+'|'+obj.l+':'+obj.t+"|"+maxW+':'+maxH);
	if($('cartinf').className='shop_h'){
	    //cart = true;
	    opencart();
	}
    }
}

function cartMouseMove(obj){
    if(!cart2){
	opencart();
    }
}

function showVideoPage(page,id){
    lookup({
	url: '/api/akcent_video.php',
	values: 'id='+id+'&page='+page,
	postFunction: function(transport)
	{
	    $('video_cont').innerHTML = transport.responseText;
	    // дернем и выполним JS

	    var test = $('video_cont').getElementsByTagName('SCRIPT');
	    for(i=0; i<test.length; i++){
		var t = test[i].innerHTML;
		//alert(t);
		var strs = t.split('\n');
		for(j=0; j<strs.length; j++){
		    var s = strs[j];
		    // alert(s);
		    if (window.execScript) window.execScript(s, 'javascript');
		    else window.eval(s);
		//eval(s);
		}
	    }

	}
    });
}

function showNewsPage(page,id){
    lookup({
	url: '/api/akcent_news.php',
	values: 'id='+id+'&page='+page,
	postFunction: function(transport)
	{
	    $('news_cont').innerHTML = transport.responseText;
	    // дернем и выполним JS

	    var test = $('news_cont').getElementsByTagName('SCRIPT');
	    for(i=0; i<test.length; i++){
		var t = test[i].innerHTML;
		//alert(t);
		var strs = t.split('\n');
		for(j=0; j<strs.length; j++){
		    var s = strs[j];
		    // alert(s);
		    if (window.execScript) window.execScript(s, 'javascript');
		    else window.eval(s);
		//eval(s);
		}
	    }

	}
    });
}

function showFotoPage(page,id){
    lookup({
	url: '/api/akcent_foto.php',
	values: 'id='+id+'&page='+page,
	postFunction: function(transport)
	{
	    $('gallery_cont').innerHTML = transport.responseText;
	    // дернем и выполним JS

	    var test = $('gallery_cont').getElementsByTagName('SCRIPT');
	    for(i=0; i<test.length; i++){
		var t = test[i].innerHTML;
		//alert(t);
		var strs = t.split('\n');
		for(j=0; j<strs.length; j++){
		    var s = strs[j];
		    // alert(s);
		    if (window.execScript) window.execScript(s, 'javascript');
		    else window.eval(s);
		//eval(s);
		}
	    }

	}
    });
}

function showTask(id){
	if(!$('task'))
	{
		taskDIV = document.createElement('div');
		taskDIV.id = 'task';
		taskDIV.className = 'task';
		taskDIV.innerHTML = '<center><div class="all_tasks"><img class="close_task" onclick="$(\'task\').style.display = \'none\'; return false" src="http://img.nashi.su/nashi.su/images_shop/task_close.gif" alt="закрыть" /><div class="task_tbg">&nbsp;</div><div class="task_cbg" id="task_data"></div><div class="task_bbg"></div></div></center>';
		document.getElementsByTagName('body')[0].appendChild(taskDIV);
	}
    lookup({
	url: '/api/task.api.php',
	values: 'id='+id,
	postFunction: function(transport)
	{
//	    mtop = $('l_coll').offsetHeight;
//	    mtop = (mtop + 100)*(-1);
//	    $('task').style.marginTop = mtop+'px';
	    $('task').style.display = 'block';
	    $('task_data').innerHTML = transport.responseText;
	}
    });
}

function showEv(id){
	if(!$('task'))
	{
		taskDIV = document.createElement('div');
		taskDIV.id = 'task';
		taskDIV.className = 'task';
		taskDIV.innerHTML = '<center><div class="all_tasks"><img class="close_task" onclick="$(\'task\').style.display = \'none\'; return false" src="http://img.nashi.su/nashi.su/images_shop/task_close.gif" alt="закрыть" /><div class="task_tbg">&nbsp;</div><div class="task_cbg" id="task_data"></div><div class="task_bbg"></div></div></center>';
		document.getElementsByTagName('body')[0].appendChild(taskDIV);
	}
    lookup({
	url: '/api/event.api.php',
	values: 'id='+id,
	postFunction: function(transport)
	{
//	    mtop = $('l_coll').offsetHeight;
//	    mtop = (mtop + 100)*(-1);
//	    $('task').style.marginTop = mtop+'px';
	    $('task').style.display = 'block';
	    $('task_data').innerHTML = transport.responseText;
	}
    });
}

	hightlightChanger = {}
	
	hightlightChanger.hightlight = function(obj, settings) {
		obj.t++;
		if (isIE) obj.t = settings.time;
		opacity = settings.behavior(obj.t, 0, 1, settings.time);
		
		if (opacity > 1) opacity = 1;
			
		if (!isIE)
			{
			obj.style.opacity = opacity;
			settings.activated.style.opacity = 1 - opacity;
			}
		else
			{
			obj.style.filter = 'Alpha(opacity='+parseInt(opacity*100)+')';
			settings.activated.style.filter = 'Alpha(opacity='+parseInt((1 - opacity)*100)+')';
//			а вот это уабще нипонятно
		//	obj.t = settings.time;
			}
		
		if (obj.t == settings.time)
			{
			clearInterval(obj.timer);
			
			if (!isIE)
				{
				obj.style.opacity = 1;
				settings.activated.style.opacity = 0;
				}
			else
				{
				obj.style.filter = 'Alpha(opacity=100)';
				settings.activated.style.filter = 'Alpha(opacity=0)';
				}
			
			obj.style.position = 'relative';
			settings.activated.style.display = 'none';
			settings.activated.style.position = 'absolute';
			
			settings.working = false;

			settings.activated = obj;
			}
	}
	
	hightlightChanger.change = function(obj, settings) {
		
		settings.working = true;
		
		if (!isIE)
			obj.style.opacity = 0;
		else
			obj.style.filter = 'Alpha(opacity=0)';
		
		obj.t = 0;
		
		obj.style.display = 'block';
		
		obj.timer = setInterval(function() { hightlightChanger.hightlight(obj, settings) }, settings.delay);
	}
	
	hightlightChanger.init = function(links, settings) {
		
		this.links = links;
		
		this.destroy = hightlightChanger.destroy;
		
		if (!settings)
			this.settings = {};
		else	
			this.settings = settings;		
		
		if (!this.settings.time)
			this.settings.time = 10;
		if (!this.settings.delay)
			this.settings.delay = 10;
		else if (!this.settings.delay && this.settings.time)
			this.settings.delay = settings.time;
		if (!this.settings.behavior)
			this.settings.behavior = Linear;
		
//		this.settings = settings;
		
		var self = this;
		
		for (i=this.links.length-1; i>=0; i--)
			{
			if (!this.settings.thingsToSwitch && this.links[i].id)
				this.links[i].thingToSwitch = $(this.links[i].id+'_container');
			else
				this.links[i].thingToSwitch = this.settings.thingsToSwitch[i];
			
			if (!this.settings.activated && this.links[i].thingToSwitch.offsetHeight != 0)
				{
				this.settings.activated = this.links[i].thingToSwitch;
				}

			if (this.links[i].className == 'active')
				{
				this.settings.prevLink = this.links[i];
				this.prevLink = this.links[i];
				}
			
			this.links[i].onclick = function() {
										if (this.className == 'active' || self.settings.working) 
											return false;
										if (self.settings.linkAnimation) 
											{
											self.settings.clicked = this;
											self.settings.prev = self.prevLink;
											self.settings.linkAnimation();
											};
										this.className = 'active'; 
										self.prevLink.className = ''; 
										self.prevLink = this; 
//										self.settings.prevLink = this;

										hightlightChanger.change(this.thingToSwitch, self.settings); 
										return false;
										}
			}
	}
	
	hightlightChanger.destroy = function() {
		for (i=this.links.length-1; i>=0; i--)
			{
			this.links[i].onclick = function() {  }
			}

		delete this;
	}
