var next, prev, menu, content, for_load, catalog, catalog_table, menu_left, right_image, left_image, all_image, width;
var block = Array();
var r = 0;
var l = (r + 1) % 2;
var move_speed = 500; //ms
var move_speed_2 = move_speed/4; //ms
var fade_speed = 0; //ms
var left = 89;
var right = 68;
var left1, right1, left2, right2, width;
var result = 0;
var img_count, img_current, img_next, img_prev, aHref, aHref2;
var catalog_images, src, regex, src1, src2, src3, href1, href2, number;

var change_image = function (current_image) {
            jQuery('.catalog_images_small .active', catalog_images).removeClass('active');
            jQuery('img', current_image).addClass('active');

            src = jQuery('img', current_image).attr('src');
            if (typeof src == 'undefined') return false;

            regex1 = new RegExp(/\/th(.*)-thumb/igm);
            regex2 = new RegExp(/(\/th).*(-thumb.*)/igm);
            src1 = regex1.exec(src);

            src2 = jQuery('.big img', catalog_images).attr('src');
            src3 = src2.replace(regex2, "$1" + src1[1] + "$2");

            href1 = jQuery('.loupe a', catalog_images).attr('href');
            href2 = href1.replace(regex2, "$1" + src1[1] + "$2");

            jQuery('.big img', catalog_images).attr('src', src3);
            jQuery('.loupe a', catalog_images).attr('href', href2);
            jQuery('.big a', catalog_images).attr('href', href2);
}

function addToBasket(element_id) {
    var __color = jQuery.cookie("__for__" + element_id);

    if (typeof __color == "string" && __color != null) {
		umiBasket.getInstance().addElement(element_id);
		window.setTimeout(function(){
			window.location.reload();
		}, 500);
	} else {
		alert("Пожалуйста, выберите цвет!");
	}
	
	return false;
}

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

jQuery(function(){
    //skript menyayuschihsya kartinok
    if(jQuery('#catalog_images').length != 0) {
        catalog_images = jQuery('#catalog_images');
        jQuery('.catalog_images_small a img', catalog_images).eq(0).addClass('active');
        jQuery('.catalog_images_small a', catalog_images).click(function(){
            change_image(this);
            return false;
        });
    }

    //skript dlya cveta
    if(jQuery('#catalog_params').length != 0) {
        var catalog_params = jQuery('#catalog_params .catalog_color');
        var width2;
        for (var i = 0; i < jQuery('.first_wrap', catalog_params).length; i++) {
            width2 = jQuery('.first_wrap', catalog_params).eq(i).width() / 2 - jQuery('.value', catalog_params).width() / 2;
            jQuery('.first_wrap', catalog_params).eq(i).css('left', '-' + width2 + 'px');
        }
        jQuery('.catalog_color_item', catalog_params).hover(function(){
            jQuery(this).next().children('.first_wrap').show();
            jQuery(this).next().children('.second_wrap').show();
        }, function(){
            jQuery(this).next().children('.first_wrap').hide();
            jQuery(this).next().children('.second_wrap').hide();            
        });
        jQuery('.catalog_color_item', catalog_params).click(function(){
        	var __color = jQuery(this).parent().attr('title'); // Cvet
            if (jQuery('img:visible', jQuery(this)).hasClass('.active')) {
                jQuery('img', jQuery(this)).eq(1).hide();
                jQuery('img', jQuery(this)).eq(0).show();
                // Udalyaem cvet
                jQuery.cookie("__for__" + __for, null, {expires: 1, path: '/'});
            } else {
                jQuery('.circle', catalog_params).show();
                jQuery('.active', catalog_params).hide();
                jQuery('img', jQuery(this)).eq(0).hide();
                jQuery('img', jQuery(this)).eq(1).show();


                number = jQuery('.catalog_color_item', catalog_params).index(this) + 1;
                //jQuery('.catalog_images_small img[class=fotografiya_'+number+']').parent();
                /*change_image(jQuery('.catalog_images_small img.fotografiya_'+number).parent());*/
                
                // Zapominaem cvet
                jQuery.cookie("__for__" + __for, __color, {expires: 1, path: '/'});
            }
        });
        // Ustanovim cvet iz COOKIE
        var __color = jQuery.cookie("__for__" + __for);
        if (typeof __color == "string" && __color != null) {
            jQuery("ul.catalog_color li[title=" + __color + "] .catalog_color_item").click();
        } else {
//            jQuery('img', catalog_params).eq(0).hide();
//            jQuery('img', catalog_params).eq(1).show();        
        }

		// Variant ispolneniya
        jQuery('.catalog_var img').click(function(){
        	var __varia = jQuery(this).parent().attr('title'); // Variant
            if (!jQuery(this).parent().hasClass('active')) {
                jQuery('.catalog_var .active').removeClass('active');
                jQuery(this).parent().addClass('active');
                
                // Zapominaem variant
                jQuery.cookie("__var__" + __for, __varia, {expires: 1, path: '/'});                
            }
        });
        
        // Poluchim variant ispolneniya iz COOKIE
        var __varia = jQuery.cookie("__var__" + __for);
        if (typeof __varia == "string" && __varia != null) {
            jQuery(".catalog_var li[title=" + __varia + "] img").click();
        }
    }

    
    var order_block = jQuery('#order_block');
    if (order_block.length > 0) {
        jQuery('tr th', order_block).eq(0).after('<th>Цвет</th><th>Вариант исполнения</th>');
        for (var t = 0; t < jQuery('tr[id^=basketrow]', order_block).length; t++) {
            var this_tr = jQuery('tr[id^=basketrow]', order_block).eq(t);
            var element_id = this_tr[0].id.split("_")[1];
            var variant = "&nbsp;";
            var val = jQuery.cookie("__var__" + trim("" + element_id));
            if (typeof val == "string" && val != null) {
                variant = val;
            }
            variant = "<td>" + variant + "</td>";
            
            var val = jQuery.cookie("__for__" + trim("" + element_id));
            if (typeof val == "string" && val != null) {
                jQuery('td', this_tr).eq(0).after('<td>' + val + '<input type="hidden" id="citm_'+element_id+'_color" name="citm_'+element_id+'_color" value="'+val+'" /></td>' + variant);
            } else {
                jQuery('td', this_tr).eq(0).after('<td>Не выбран</td>' + variant);
            }
        }


        jQuery('.col_center form').submit(function(){
            var required = jQuery('input:eq(0), input:eq(1)', this);

            for (var i = 0; i < required.length; i++) {
                if (required.eq(i).val().length == 0) {
                    alert('Не все обязательные поля заполнены.');
                    required.eq(i).focus();
                    return false;
                } else if (typeof required.eq(i).attr('name') !== 'undefined'
                && required.eq(i).attr('name').indexOf("mail") > 0) {
                    var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
                    if (!regex.test(required.eq(i).val())) {
                        alert('Проверьте e-mail');
                        required.eq(i).focus();
                        return false;
                    }
                }
            }

            if (jQuery('[name*=captcha]', this).length > 0 && jQuery('[name*=captcha]', this).val().length == 0) {
                alert('Вы не ввели числа.');
                jQuery('[name*=captcha]', this).focus();
                return false;
            }
        });
    }


    
    //skript dlya letayuschih stolov
    if (jQuery('#catalog').length != 0) {
        next = jQuery('#header .a_right a');
        prev = jQuery('#header .a_left a');
        menu = jQuery('#header .menu_cat');
        content = jQuery('#content');
        for_load = jQuery('#for_load');
        catalog = jQuery('#catalog');
        catalog_table = jQuery('table', catalog);
        right_image = jQuery('.right_image', catalog);
        left_image = jQuery('.left_image', catalog);
        all_image = jQuery('.all_image', catalog);
        width = jQuery('body').width();
        left1 =  0.89 * width;          //parseInt(jQuery(block[r]).css('left'));
        right1 = 'auto';                //parseInt(jQuery(block[r]).css('right'));
        left2 = 'auto';                 //parseInt(jQuery(block[l]).css('left'));
        right2 = 0.68 * width;          //parseInt(jQuery(block[l]).css('right'));
        block[0] = jQuery(right_image);
        block[1] = jQuery(left_image);
        menu_left = jQuery('#content .col_left .menu_left');

        img_count = 6; //jQuery('.all_image img', catalog).length;
        img_current = jQuery('.all_image img', catalog).index(jQuery('.all_image img.active', catalog));

        jQuery(window).resize(function(){
            width = jQuery('body').width();
            left1 =  0.89 * width;
            right2 = 0.68 * width;
        });
        //podgrujaem i pokazyvaem... nu hot' nemnogo kod umen'shit' =)
        var load_href = function (ahref) {
            if (!result) {
                jQuery('body').append('<div id="result">&nbsp;</div>');
                result = jQuery('#result');
            }
            jQuery(result).load(ahref + ' #container', function(){
                jQuery(catalog_table).html(jQuery('#catalog table', result).html());
                jQuery('.col_center', content).html(jQuery('.col_center', result).html());
                jQuery(menu_left).html(jQuery('#content .col_left .menu_left', result).html());
                //poyavlyayutsya yacheyki
                jQuery(catalog_table).fadeIn(fade_speed);
                jQuery(menu_left).css('visibility', 'visible');
                jQuery('.numpages a', content).click(function(){
                    aHref2 = jQuery(this).attr('href');
                    jQuery('.col_center', content).load(aHref2 + ' #for_load');
                    return false;
                });
            });        
        }
        //sleduyuschaya
        jQuery(next).click(function(){
            if (jQuery('table:visible', catalog).length == 1) {
                img_current = (img_current + 1) % img_count;
                img_next = (img_current + 1) % img_count;
                img_prev = (img_current + img_count - 1) % img_count;
                //pryachem yacheyki
                jQuery(catalog_table).fadeOut(fade_speed, function(){
                    jQuery(block[l]).css({'left': 'auto', 'right': right2 + 'px'});
                    jQuery(block[r]).css({'left': left1 + 'px', 'right': 'auto'});
                    //polzet levaya kartinka
                    jQuery(block[l]).animate({'right': width + 'px'}, move_speed_2, 'linear', function(){
                        jQuery('img', block[l]).attr('src', jQuery('img', all_image).eq(img_next).attr('src'));
                        jQuery(block[l]).css({'left': width + 'px', 'right': 'auto'});
                        jQuery(block[l]).animate({'left': left1 + 'px'}, move_speed_2, 'linear', function(){
                            jQuery(block[l]).css('left', left + '%');
                        });
                    });
                    //polzet pravaya kartinka
                    jQuery(block[r]).animate({'left': width - jQuery(block[r]).width() - right2 + 'px'}, move_speed, 'linear', function(){
                        jQuery(block[r]).css({'left': 'auto', 'right': right + '%'});
                        //schetchiki
                        r = (r + 1) % 2;
                        l = (r + 1) % 2;
                        //podgrujaem soderjimoe drugoy stranicy....
                        aHref = jQuery('a', menu).eq(img_current).attr('href');
                        jQuery('.active', menu).removeClass('active');
                        jQuery('.menu_cat_item', menu).eq(img_current).addClass('active');
                        load_href(aHref);
                    });
                });
                jQuery(menu_left).css('visibility', 'hidden');
            }
            return false;
        });
        //predyduschaya
        jQuery(prev).click(function(){
            if (jQuery('table:visible', catalog).length == 1) {
                img_current = (img_current + img_count - 1) % img_count;
                img_next = (img_current + 1) % img_count;
                img_prev = (img_current + img_count - 1) % img_count;
                //pryachem yacheyki
                jQuery(catalog_table).fadeOut(fade_speed, function(){
                    jQuery(block[l]).css({'left': 'auto', 'right': right2 + 'px'});
                    jQuery(block[r]).css({'left': left1 + 'px', 'right': 'auto'});
                    //polzet pravaya kartinka
                    jQuery(block[r]).animate({'left': width + 'px'}, move_speed_2, 'linear', function(){
                        jQuery('img', block[r]).attr('src', jQuery('img', all_image).eq(img_current).attr('src'));
                        jQuery(block[r]).css({'right': width + 'px', 'left': 'auto'});
                        jQuery(block[r]).animate({'right': right2 + 'px'}, move_speed_2, 'linear', function(){
                            jQuery(block[r]).css({'left': 'auto', 'right': right + '%'});
                        });
                    });

                    //polzet levaya kartinka
                    jQuery(block[l]).animate({'right': width - jQuery(block[l]).width() - left1 + 'px'}, move_speed, 'linear', function(){
                        jQuery(block[l]).css({'right': 'auto', 'left': left + '%'});
                        //schetchiki
                        r = (r + 2 - 1) % 2;
                        l = (r + 2 - 1) % 2;
                        //podgrujaem soderjimoe drugoy stranicy....
                        aHref = jQuery('a', menu).eq(img_current).attr('href');
                        jQuery('.active', menu).removeClass('active');
                        jQuery('.menu_cat_item', menu).eq(img_current).addClass('active');
                        load_href(aHref);
                    });
                });
                jQuery(menu_left).css('visibility', 'hidden');
            }
            return false;
        });
   }

});
