var mark_init = false;
var mark = model = engine = null;
var cmark = cmodel = cengine = '';
var engine_x = '';
var mod_clicked = false;
var w2_cat_base = '';

$(document).ready(function(){
	$('#mark>li').live('click', function(){
		mark_changed($(this).attr('x'));
		$('#mark-value>span').html($(this).attr('x'));
		$('#mark').css('display','');
	});

	$('#model>li').live('click', function(){
		model_changed($(this).attr('x'));
		$('#model-value>span').html($(this).attr('x'));
		$('#model').css('display','');
	});

	$('#engine>li').live('click', function(){
		engine_changed($(this).attr('x'));
		x = $(this).attr('x');
		y = x.split('@');
		$('#engine-value>span').html(y[2]);
		$('#engine').css('display','');
	});

	$('#season>li').live('click', function(){
		$('#season-value>span').html($(this).attr('x'));
		$('#season').css('display','');
	});

$('.coption').live('click', function(event){
	event.preventDefault();
	$(this).children('.cselect').css('display', 'block') ;
	return false;
});

$('li.data').live('click', function(event){
	event.preventDefault();
	$(this).parent('.cselect').css('display', 'none');
	return false;
});
$('body').live('click', function(event){
	$('.cselect').css('display', 'none');
});

});

function accum_binds(){
	$("#goods>tbody>tr").bind('mouseover', function(){
		$('#pict-a-cont').html($(this).find('td.last>div.arrow-a>div').html());
	});
	$("#goods>tbody>tr").bind('mouseleave', function(){
		$('#pict-a-cont').html('');
	});
}

function tireinfo_binds(){
	/*$("#goods>tbody>tr").bind('mouseover', function(){
        if( ! mod_clicked ) $('#tyres-cool-info').html($(this).find('td.last>div.last_model').html());
	});
	$("#goods>tbody>tr").bind('mouseleave', function(){
        if( ! mod_clicked ) $('#tyres-cool-info').html('');
	});
*/
    $("#goods>tbody>tr").bind('click', function(){
         $('#tyres-cool-info').html($(this).find('td.last>div.last_model').html());
            mod_clicked = true;
    });
}

function loadcat(u,ii,base){
	w2_cat_base = base;
	$.get(u, function(d){
		if( d != null && d.r == 'p' ){

			$('#table-col').html(d.c);
			$('#table-h').html(d.h);
			$('#table-tr').html(d.tr);
			$('#table-h tr th a').replaceWith( function(){ return $(this).html();});
			if( ii == 1 )
			{
				$('div.pagers').html(d.pager);
				$('div.pagers a').bind('click', function(){
					loadcat(w2_cat_base+$(this).attr('href'), 1, w2_cat_base);
					return false;
				});
			}
		}
		else
		{
			alert('epic fail')
		}
	}, "json");
}

function kick(x)
{
	l = $('#'+x);
	if( l.css('display') == 'block' ) l.css('display', '');
	else l.css('display', 'block');
}

function do_model_search(){
	var x = engine_x;
	var y = x.split('@');
	var s = $('#season-value>span').html();

	if( engine_x == '' && $('#mdef').attr('value') != '' )
	{
		x = $('#mdef').attr('value');
		y = x.split('@');
	}

	if( s != '' )
		document.location = w2theme.domainw +'/'+ w2theme.locale + '/search/tyres/'+s+'/?filters=['+y[1]+'][1:ASC]&search='+	y[0] +'';
	else
		document.location = w2theme.domainw +'/'+ w2theme.locale + '/search/tyres/?filters=['+y[1]+'][1:ASC]&search='+	y[0] +'';
}

function mark_changed(x){
	$('#model .data').remove();
	$('#engine .data').remove();
	$("#mark-search-but").hide();

	if( x ) v = x;
	else v = mark.val();

	$.get('/_/search/model/', {'mark': v}, function(d){
			if( d != null && d.r == 'p' )
			{
				$('#model').append(d.c);
			}
			else
			{
				alert('epic fail')
			}
		}, "json");

	$('#model>li').live('click', function(){
		model_changed($(this).attr('x'));
	});
}

function model_changed(x){
	$('#engine .data').remove();
	$("#mark-search-but").hide();

	if( x ) v = x;
	else v = mark.val();

	$.get('/_/search/engine/', {'model': v}, function(d){
			if( d != null && d.r == 'p' )
			{
				$('#engine').append(d.c);
			}
			else
			{
				alert('epic fail')
			}
		}, "json");

	$('#engine>li').live('click', function(){
		engine_changed($(this).attr('x'));
	});
}

function engine_changed(x){
	engine_x = x;
	$("#mark-search-but").show();
}

function am_mark(id){
	if( ! mark_init ){

		$('#_mcx'+id).addClass('active').removeClass('active').unbind('mouseleave').unbind('mouseout');

		mark_init = true;
		mark = $('#mark');
		model = $('#model');
		engine = $('#engine');

		$.get('/_/search/mark/', {'mark': cmark}, function(d){
			if( d != null && d.r == 'p' )
			{
				$('#mark').append(d.c);
			}
			else
			{
				alert('epic fail')
			}
		}, "json");
		$('#mark').live('change', mark_changed)
		$('#model').live('change', model_changed);
		$('#engine').live('change', engine_changed);
	}
}


function app_menu1(){
	document.location = w2theme.domainw + '/' + w2theme.locale + '/tyres/summer/pas/?filters=[width:195,height:65,diam:15,brands:,li:,si:,ms:][1:ASC]';
}

function app_menu2(){
	document.location = w2theme.domainw + '/' + w2theme.locale + '/wheels/cars/light-alloy/';
}

function app_menu3(){
	document.location = w2theme.domainw + '/' + w2theme.locale + '/tests/read/zr-2010-summer.html';
}

function app_menu4(){
	document.location = w2theme.domainw + '/' + w2theme.locale + '/accumulators/';
}

function app_menu5(){
	document.location = w2theme.domainw + '/' + w2theme.locale + '/service/';
}

function app_menu6(){
	document.location = w2theme.domainw + '/' + w2theme.locale + '/actions/';
}

// menu
var shown_subs = new Array;
var while_subs = false;
var dis_subs = false;


function w2app( opts )
{
	this.opt = opts;
	this._ = this;

	this.init();

	this.unlock = false;
}

w2app.prototype.init = function(){

	//Navigator.init();

	if( typeof(this.opt.run) == 'function' )
		this.opt.run();



};


w2app.prototype.include = function(){
};

w2app.prototype.loadStart = function(){ $("#tip-loading").fadeIn("fast"); };
w2app.prototype.loadEnd = function(){ /*if (this.unlock)*/ { $("#tip-loading").fadeOut("fast"); } };
w2app.prototype.lockPage = function(){ $("#background").show(); };
w2app.prototype.unlockPage = function(){ $("#background").hide(); };

w2app.prototype.lockForms = function(){
	$("input[type=submit][disabled=disabled], input[type=button][disabled=disabled]").attr("asis", "asis");
	$("input[type=checkbox][disabled=disabled], input[type=text][disabled=disabled], input[type=password][disabled=disabled], input[type=radio][disabled=disabled]").attr("asis", "asis");
	$("textarea[readonly=readonly]").attr("asis", "asis");
	$("select[readonly=readonly]").attr("asis", "asis");

	$("input[type=submit], input[type=button]").attr("disabled", "disabled");
	$("input[type=checkbox], input[type=text], input[type=password], input[type=radio]").attr("readonly", "readonly");
	$("textarea").attr("readonly", "readonly");
	$("select").attr("readonly", "readonly");
};

w2app.prototype.unlockForms = function(){
	/*if(this.unlock){*/
		$("input[type=submit][asis!=asis], input[type=button][asis!=asis]").attr("disabled", "");
		$("input[type=checkbox][asis!=asis], input[type=text][asis!=asis], input[type=password][asis!=asis], input[type=radio][asis!=asis]").attr("readonly", "");
		$("textarea[asis!=asis]").attr("readonly", "");
		$("select[asis!=asis]").attr("readonly", "");

		$("*").removeAttr("asis", "");
	/*}*/
};


w2app.prototype.load_menu = function( id, callback ){

	$('#menu').show();



	$.post(w2theme.domainw + '/_/menu/get/'+div_ids[id], function(d){
		if( d != null && d.r == 'p' && d.c != '' )
		{

			$('#menu').html(d.c);

			$('#menu').animate({
				left: '-3px',
				opacity:'1'
			}, function(){
				//User.style.display="none";
			});

			$('#user').fadeOut();

			if( callback && isFunction(callback) )
			{
				eval(callback);
			}

			$('#menu').bind('mouseleave', function(){
				for( q in shown_subs)
				{
					hide_subs(q);
				}
			});

			$('#menu .menu-head').live('click', function(){
				Icons[Obj][2].style.display="block";
				$('#user').fadeIn();
				//$('#menu').hide('slow');
				$('#menu').animate({
					'left': '-24%',
					'opcity': '0'
				});
			});
		}
		else
		{
			alert('Unable to load Menu');
		}
	}, 'json');
};

w2app.prototype.load_menu_from_id = function( id, callback, main, params ){

	$('#menu').show();

	if( main && main != 'undefined' )
		var par = main;
	else
		var par = 0;

	$.post(w2theme.domainw + '/_/menu/get/'+id+'?p='+par, params, function(d){
//alert(1);
		if( d != null && d.r == 'p' && d.c != '' )
		{
			if( main && main != 'undefined' )
			{
				dis_subs = '_mcx'+main;
				//setTimeout("$('#mcx"+main+"').unbind('mouseleave'); $('#_mxc"+main+"').unbind('mouseleave');", 1000);

			}

			$('#menu').html(d.c);

			$('#menu').animate({
				left: '-3px',
				opacity:'1'
			}, function(){
				//User.style.display="none";
			});

			$('#user').fadeOut();

			if( callback && ! isFunction(callback) )
			{
				eval(callback);
			}
			else if( callback ){
				callback();
			}

			$('#menu').live('mouseleave', function(){
				for( q in shown_subs)
				{
					if( q != 'mcx'+main )
					{
						hide_subs(q);
						while_subs = false;
					}
				}
			});

			$('#menu .menu-head').live('click', function(){
				Icons[Obj][2].style.display="block";
				$('#user').fadeIn();
				//$('#menu').hide('slow');
				$('#menu').animate({
					'left': '-24%',
					'opcity': '0'
				});
			});

			//$(".notactive").unbind('mouseover');

		}
		else
		{
			alert('Unable to load Menu');
		}
	}, 'json');
};

/**
 * Разворачивает третий уровень элементов меню
 * @param id	id третьего уровня
 * @param main	id контенера
 */
function show_subs(id,main, x,y)
{
	if( shown_subs[id] == main || while_subs ){
		//console.log(shown_subs, dis_subs, main, while_subs);
		return;
	}

	while_subs = true;

	if(dis_subs != main )
	{
		eval("$('#"+id+"').slideDown(function(){  $('#_'+id).addClass('open'); while_subs = false; shown_subs['"+id+"'] = '"+main+"';});");
		eval("$('#"+main+"').bind('mouseleave', function(){ hide_subs('"+id+"','"+main+"'); shown_subs["+id+"]=0; })");
	}
	else
	{
		eval("$('#"+id+"').slideDown(function(){  $('#_'+id).addClass('open');  while_subs = false; shown_subs['"+id+"'] = '"+main+"';});");
		//eval("$('#"+main+"').bind('mouseleave', function(){hide_subs('"+id+","+main+"');");
		//eval("$('#"+main+"').bind('mouseleave', function(){hide_subs('"+id+","+main+"'); alert(1); })");
	}
	return true;
}

/**
 * Сворачивает третий уровень элементов меню
 * @param id	id третьего уровня
 * @param main	id контенера
 */
function hide_subs(id,main)
{
	if(  while_subs ){while_subs = false; return; }
	shown_subs[id] = 0;
	while_subs = false;

	//$('.'+id).hide();
	$('#_'+id).removeClass('open');
	$('#'+id).slideUp(function(){
		while_subs = false;
		chr_subs = false;
	});


	//$('#_'+id+' > img.proc70').css('display', 'none');

	while_subs = false;
	return true;
}

w2app.prototype.chlng = function(old,lang){
	langold="/"+old+"/";
	addr=window.top.location.href.split(langold);
	window.top.location.href=addr[0]+"/"+lang+"/"+addr[1];
}





var foot_e_type;
var foot_animating = false;

function foot_checkType(e){
    foot_e_type = $(e.originalEvent.target).hasClass("ui-slider-handle") ? 'drag' : 'click';
}
function foot_change(e, ui){
	var maxScroll = $("#foot-scroll").attr("scrollWidth") -
					$("#foot-scroll").width();
	  $("#foot-scroll").animate({scrollLeft: ui.value *
		 (maxScroll / 100) }, 1000);
}

function foot_slide(e, ui){
	var maxScroll = $("#foot-scroll").attr("scrollWidth") -
                  	$("#foot-scroll").width();
	$("#foot-scroll").attr({scrollLeft: ui.value * (maxScroll / 100) });
}

function doSlide(e, ui){

    var parent = $("#foot-scroll"),
    maxScroll = parent.attr("scrollWidth") - parent.width();

    if (foot_e_type == 'drag'){
        $("#foot-scroll").attr({scrollLeft: ui.value * (maxScroll / 500) });
	}
    else{
		if( foot_animating ){  return; }
		foot_animating = true;
        //$("#foot-scroll").animate({scrollLeft: ui.value * (maxScroll / 750) }, 400);
		$("#foot-scroll").animate({
				scrollLeft: (ui.value * (maxScroll / 500))
			}, {
				duration: 400,
				easing: 'easeOutBack',
				complete: function(){
					foot_animating = false;
		}});
	}

}


function foot_ready(){
	$("#foot").css( 'width', $(window).width() );
	$("#foot-holder").css( 'width', $(window).width() );
	$("#foot-scroll").css( 'width', $(window).width() );
	$("#foot-slider").slider({
		animate: false,
		start: foot_checkType,
    	slide: doSlide,
		max:500,
		step:5
	});
}
