$(document).ready(function(){
    $("#i10fader div").each(function(){
		$(this).find("img:gt(0)").hide();
		$(this).find("img:first").addClass("active");
	})
    $("#arrow_left").click(function(event){
		if (window.models && window.models.length){
            var first = curmodel[0];
            for (var i = 0; i < 3; i++){
                if (i < 2) curmodel[i] = curmodel[i+1];
                else curmodel[i] = window.models.length <= 3 ? first : (curmodel[i]+1 < window.models.length ? curmodel[i]+1 : 0);
            }
            var items = $("#i10fader div").fadeOut().empty();
            for (var i = 0; i < 3; i++){
                if (curmodel[i] >= 0)
                    $(items[i]).append('<img src="' + SITE_URL + window.models[ curmodel[i] ][ (i == 1 ? 'image' : 'icon') ] +'"/>');
            }
            $("#i10fader div").fadeIn();
            $("div.slides").fadeOut();
            if (curmodel[1] >= 0) $("#slide_" + curmodel[1]).fadeIn();
        }
		event.preventDefault();
	})
	$("#arrow_right").click(function(event){
        if (window.models && window.models.length){
            var last = curmodel[2];
            for (var i = 2; i >= 0; i--){
                if (i) curmodel[i] = curmodel[i-1];
                else curmodel[i] = window.models.length <= 3 ? last : (curmodel[i]-1 >= 0 ? curmodel[i]-1 : window.models.length-1);
            }
            var items = $("#i10fader div").fadeOut().empty();
            for (var i = 0; i < 3; i++){
                if (curmodel[i] >= 0)
                    $(items[i]).append('<img src="' + SITE_URL + window.models[ curmodel[i] ][ (i == 1 ? 'image' : 'icon') ] +'"/>');
            }
            $("#i10fader div").fadeIn();
            $("div.slides").fadeOut();
            if (curmodel[1] >= 0) $("#slide_" + curmodel[1]).fadeIn();
        }
		event.preventDefault();
	})
	
	$(".slides dt a").click(function(event){
		if(!$(this).hasClass("active")){
			$(".slides dd").slideUp();
			$(".slides dt a").removeClass("active");
			$(this).addClass("active");
			$(this).parent().next().slideDown();
		}
		else{
			$(this).removeClass("active").parent().next().slideUp();
		}
		event.preventDefault();
	})
    $("#cart_popup_open").click(function(event){
		$("html, body").animate({scrollTop:0}, 'slow');
        if (!$("#cart_popup iframe").length)
            $("#cart_popup .inner").append("<iframe src='" + SITE_URL + "shop/cart.php' scrolling='auto'></iframe>");
		$("#cart_popup").fadeIn();
		event.preventDefault();
	})
	$("#cart_popup_close").click(function(event){
		$("#cart_popup").fadeOut();
        location.reload();
		event.preventDefault();
	})
	$("#next_item").click(function(event){
		if ($(this).parent().find(".item.active").next().length)
			$(this).parent().find(".item.active").fadeOut().removeClass("active").next().addClass("active").fadeIn();
		else{
			$(this).parent().find(".item:last").removeClass("active").fadeOut();
			$(this).parent().find(".item:first").addClass("active").fadeIn();
		}
		event.preventDefault();
	})
	$("#prev_item").click(function(event){
		if ($(this).parent().find(".item.active").prev().length)
			$(this).parent().find(".item.active").fadeOut().removeClass("active").prev().addClass("active").fadeIn();
		else{
			$(this).parent().find(".item:first").removeClass("active").fadeOut();
			$(this).parent().find(".item:last").addClass("active").fadeIn();
		}
		event.preventDefault();
	})
	$("#item_popup .close").click(function(event){
		$("#item_popup").fadeOut();
		event.preventDefault();
	})
	$(".catalog .item .link a,.catalog .item .image a").click(function(event){
		$("html, body").animate({scrollTop:0}, 'slow');
        $("#item_popup .item").removeClass('active').hide();
        $(("#item_" + this.parentNode.parentNode.id.substr(13))).addClass('active').show();
		$("#item_popup").fadeIn();
		event.preventDefault();
	})
	if($(".gallery .items, a.fancy, #location-map").length)
		$(".gallery .items a, a.fancy, #location-map a").fancybox({
			overlayColor: '#952929',
			overlayOpacity: 0.7,
			showCloseButton: true
		});
    if ($.browser.msie && $.browser.version < 7)
        $("ul.sel1").hover(
            function(){ $('ul', this).show(); },
            function(){ $('ul', this).hide(); }
        )
    $('.ip_right .images a').click(function(event){
        $('a', this.parentNode).removeClass('selected');
        $(this).addClass('selected');
        $('.ip_left', this.parentNode.parentNode.parentNode).html('<img src="' + this.href + '" width="200" />');
        event.preventDefault();
    })
});


var Search = {
    
    cache : {},
    
    create_radio_options : function (name){
        var out = '<label><input type="radio" value="null" name="' + name + '" ' + ((typeof(post[name]) == 'undefined' || post[name] === 'null') ? 'checked="checked"' : '') + ' /> <span>Все варианты</span></label>';
        out += '<label><input type="radio" value="1" name="' + name + '" ' + ((typeof(post[name]) != 'undefined' && parseInt(post[name]) === 1) ? 'checked="checked"' : '') + ' /> <span>Есть</span></label>';
        out += '<label><input type="radio" value="0" name="' + name + '" ' + ((typeof(post[name]) != 'undefined' && parseInt(post[name]) === 0) ? 'checked="checked"' : '') + ' /> <span>Нет</span></label>';
        return out;
    },
    
    create_select_options : function (name, options){
        var out = '<option value="null">Все варианты</option>';
        for (var i in options)
            out += '<option value="' + i + '"' + ((typeof(post[name])!='undefined' && post[name]==i)?' selected="selected"':'') + '>' + options[i] + '</option>';
        return out;
    },
    
    create_parameter : function(name, field){
        switch (field.type){
            case 'boolean':
                var node = $.create('div', {className : 'hform-radio-group'}, '').html('<span class="title">' + field.name + (field.postfix ? ', ' + field.postfix : '') + '</span>' + Search.create_radio_options(name));
                break;
            case 'list':
            case 'group':
                var node = $.create('div', {className : 'hform-select'}, '').html('<span>' + field.name + (field.postfix ? ', ' + field.postfix : '') + '</span><select title="' + field.name + (field.postfix ? ', ' + field.postfix : '') + '" name="' + name + '">' + Search.create_select_options(name, field.options) + '</select>');
                break;
        }
        node.appendTo('#select-parameters');
    },

    show_parameters: function(json){
        if (json){
            var length = 0;
            for (field in json){
                length++;
                Search.create_parameter(field, json[field]);
            }
            if (length) $('#select-parameters').slideDown(700);
        }
    },
    
    preload : function(parent, json){
        if (parent){
            Search.cache[parent] = json;
            Search.show_parameters(json);
        }
    },
    
    parameters: function(select){
        if (!window.post) window.post = {};
        $('#select-parameters').slideUp().html('');
        if (parseInt(select.value)){ 
            if (typeof Search.cache[select.value] == 'undefined'){
                $('#select-status').show();
                $.getJSON(SITE_URL + 'search/', {parameters : 'true', ajax : 'true', parent : select.value}, function(json){
                    $('#select-status').fadeOut('loading');
                    Search.cache[select.value] = json;
                    Search.show_parameters(json);
                    
                });
            }
            else Search.show_parameters(Search.cache[select.value]);
        }
    }
    
};

