$(document).ready(function(){
	$("div.p-thumb a").hover(function() {
		var thumbOver = $(this).find("img").attr("src");
		$(this).css({'background' : 'url(' + thumbOver + ') no-repeat center bottom'});
		$(this).find("img").stop().fadeTo('normal', 0);
	}, function() {
		$(this).find("img").stop().fadeTo('normal', 1).show();
	});

    $("#b-city_list-opener").hover(function() {
       $("#b-city_list-div").stop().fadeTo('normal', 1);
    }, function() {
       $("#b-city_list-div").stop().fadeTo('normal', 0, function() {
            $("#b-city_list-div").hide();
        });
    });
    $("#b-city_list-div").hover(function() {
        $(this).stop().fadeTo('normal', 1);
    }, function() {
        $(this).stop().fadeTo('normal', 0, function() {
            $(this).hide();
        });
    });
    
});



(function($) {
     
     
    $.fn.driveSave = function (options){
        var defaults = {
            suc_url: '',
            callback: false, 
            refresh: false
        };
        var options = $.extend(defaults, options);

        $(this).bind('submit', function (){
            t=$(this);
            t.find('input[type=submit]').attr('disabled', 'true');
            $.ajax({
                    type: "POST",
                    url: t.attr('action'),
                    data: t.serializeJSON(),
                    success: function(msg){
                        
                        if(msg=='ok') {
                            if(options.suc_url) tbSuc(options)
                            else tb_remove();
                            if(options.callback) tb_callback();
                        } else {
                            t.find('.errors').html(msg);
                            t.find('input[type="submit"]').removeAttr('disabled');
                        }
                    }
            });
            return false;
            
       });
    }   

  $.fn.ajaxSubmit = function (options){
        var defaults = {
            url: '',
            alert:false
        };
        var options = $.extend(defaults, options);
        t=$(this);
        
        
        t.find('input').bind('focus', function (){
            if($(this).is('.valid-field-error')) {
                $(this).removeClass('valid-field-error');
                name=$(this).attr('name');
                 $('span[rel='+name+']').text('');
                //$(this).parents('.row').removeClass('valid-row-error'); 
                //$(this).removeErrorTip();
            }
        });
        
        t.find('select').bind('change', function (){
            if($(this).is('.valid-field-error')) {
                $(this).removeClass('valid-field-error');
                name=$(this).attr('name'); 
                 $('span[rel='+name+']').text('');
                //$(this).parents('.row').removeClass('valid-row-error'); 
                //$(this).removeErrorTip();
            }
        });
       
        t.bind('submit', function (){
            t=$(this);
            t.find('input[type=submit]').attr('disabled', 'true');
            t.find('.valid-field-error').removeClass('valid-field-error');
            t.find('span.label-error').text('');
            //t.find('.valid-row-error').removeClass('valid-row-error');

            $.ajax({
                    type: "POST",   
                    url: options.url,
                    data: t.serializeJSON(),
                    success: function(data){
                        t.find('input[type="submit"]').removeAttr('disabled');
                        
                        if(!data) return false;
                        json = $.evalJSON(data);
                        if(!json) return false;
   
                        if(json.result) {
                            t.unbind('submit');
                            t.submit();
                            return true;
                        } else  {
     
                            $.each(json.errors, function(key, val) {
                                
                                $('span[rel='+key+']').text(val);
                                
                              
                                el=$('input[name='+key+'], select[name='+key+']');
                                if(el.size()) {
                                    el.addClass('valid-field-error');
                                    //el.setErrorTip(val);
                                } 
                                
                            });

                            $('#img_code').attr('src','/plugins/paint/captcha.php?'+Math.random());
                            $('#captcha_code').val('');
                            
                        }
                    }
            });
            return false;
            
       });
    }   
    
  $.fn.ajaxSubmitThickbox = function (options){
        var defaults = {
            url: '', 
            url_suc: '',
            autoremove:false,
            autoremove_delay:3500,
            refresh : false,
            redirect: false,
            callback : function (){}
        };
        var options = $.extend(defaults, options);
        t=$(this);
        
        
        t.find('input').bind('focus', function (){
            if($(this).is('.valid-field-error')) {
                $(this).removeClass('valid-field-error');
                name=$(this).attr('name');
                 $('span[rel='+name+']').text('');
                //$(this).parents('.row').removeClass('valid-row-error'); 
                //$(this).removeErrorTip();
            }
        });
        
        t.find('select').bind('change', function (){
                name=$(this).attr('name'); 
                $('span[rel='+name+']').text('');
                $(this).removeClass('valid-field-error');
                $('#'+name+'_chzn > a').removeClass('valid-field-error');

                 
                 
                //$(this).parents('.row').removeClass('valid-row-error'); 
                //$(this).removeErrorTip();
            
            
        });
       
        t.bind('submit', function (){
            t=$(this);
            t.find('input[type=submit]').attr('disabled', 'true');
            t.find('.valid-field-error').removeClass('valid-field-error');
            t.find('span.label-error').text('');
            //t.find('.valid-row-error').removeClass('valid-row-error');

            $.ajax({
                    type: "POST",
                    url: options.url,
                    data: t.serializeJSON(),
                    success: function(data){
                        t.find('input[type="submit"]').removeAttr('disabled');
                        
                        if(!data) return false;
                        json = $.evalJSON(data);
                        if(!json) return false;
   
                        if(json.result) {
                            
                            if(options.url_suc) {
                                $.ajax({
                                    type: "POST",
                                    url: options.url_suc,
                                    data: {},
                                    success: function(data){
                                        $('#TB_ajaxContent').html(data)
                                        
                                    }
                                });
                            }
                            if(options.autoremove) {
                                $('#TB_ajaxContent').animate({opacity:1},options.autoremove_delay, function(){tb_remove()});
                            }
                            
                            if(options.refresh) {
                                location.reload(true);
                                tb_remove();                                
                            }

                            if(options.redirect && isset(json.messages.redirect)) {
                                location.href=json.messages.redirect;
                            }
                            
                            options.callback();
                            
                            return true;
                        } else  {
     
                            $.each(json.errors, function(key, val) {
                                
                                $('span[rel='+key+']').text(val);
                                
                              
                                el=$('input[name='+key+'], select[name='+key+'], #'+key+'_chzn > a' );
                                if(el.size()) {
                                    el.addClass('valid-field-error');
                                    //el.setErrorTip(val);
                                } 
                                
                            });

                            $('#img_code').attr('src','/plugins/paint/captcha.php?'+Math.random());
                            $('#captcha_code').val('');
                            
                        }
                    }
            });
            return false;
            
       });
    }   
    
    $.fn.setErrorTip = function (content){
        t=$(this);
        name=$(this).attr('name');
        var id_etip_obj = name +'_error_tip';
        var id_etip_ar =name +'_error_tip_arrow';
        
        $('#'+ id_etip_obj).remove();
        $('#'+ id_etip_ar).remove();
        
        $("body").append('<div id="'+ id_etip_ar +'" rel="'+name+'" class="error-tip-arrow"></div><div id="'+ id_etip_obj +'" rel="'+name+'" class="error-tip">'+ content +"</div>");
        
        var etip_obj=$('#'+ id_etip_obj);
        var etip_ar=$('#'+ id_etip_ar);
        var f = t.offset();
        
        var opc=etip_obj.css('opacity');
        
        etip_obj.css({
            top : (parseInt(f.top)+(t.outerHeight()/2)-parseInt(etip_obj.outerHeight())/2)+'px',
            left : (parseInt(f.left)+(t.outerWidth())+20)+'px'
        }).css('opacity',0).animate({opacity:opc}, 300);
        
        opc=etip_ar.css('opacity');
        
        etip_ar.css({
            top : (parseInt(f.top)+(t.outerHeight()/2)-6)+'px',
            left : (parseInt(f.left)+(t.outerWidth())+12)+'px'
        }).css('opacity',0).animate({opacity:opc}, 300);
        
        etip_obj.hover(function() {
            $(this).css('z-index',11);
        }, function() {
            $(this).css('z-index',10);
        });
        
        $('.error-tip').bind('click', function (){
            name=$(this).attr('rel');
            if(!name) return false;
            $('.error-tip-arrow[rel="'+name+'"]').fadeOut(100, function (){$(this).remove()});
            $('.error-tip[rel="'+name+'"]').fadeOut(100, function (){$(this).remove()});
            $('input[name="'+name+'"]').removeClass('valid-field-error');
            return false;
        });
        
    }
        
    $.fn.removeErrorTip = function (){
        name=$(this).attr('name');
        if(!name) return false;
        $('#'+ name +'_error_tip').stop(true,true).fadeOut(300, function (){$(this).remove()})
        $('#'+ name +'_error_tip_arrow').stop(true,true).fadeOut(300, function (){$(this).remove()})
    }

  
    $.fn.inputFile = function (){    
        $(this).wrap('<div class="file-upload"></div>').after('<div  class="file-upload-path"></div>').wrap('<div class="file-upload-input">обзор</div>');
        $(this).bind('change', function (){
                $(this).parents('.file-upload').find('.file-upload-path').html(basename($(this).val()))
        })
    }


})(jQuery);

    function tbSuc (options){
           $.ajax({
                    type: "POST",
                    url: options.suc_url,
                    data: {},
                    success: function(msg){
                        if(msg!='error') {
                            $('#TB_ajaxContent').html(msg).animate({opacity:1},3000, function(){
                                tb_remove();
                            });
                            if(options.refresh) location.reload(true); 
                        } else {

                        }
                    }
            });
    }
    
    
function refresh_basket_block() {
    $.ajax({
          type: "POST",
          url: "/ajax/basket.ajax.php",
          data: ({
           }),
           success: function(data){
                $('.basket').html(data);
           }
    });

}



function getBrowserInfo() {
     var t,v = undefined;
     
     if (window.chrome) t = 'Chrome';
     else if (window.opera) t = 'Opera';
     else if (document.all) {
         t = 'IE';
         var nv = navigator.appVersion;
         var s = nv.indexOf('MSIE')+5;
         v = nv.substring(s,s+1);
     } 
     else if (navigator.appName) t = 'Netscape';
     
     return {type:t,version:v};
 }

 function bookmark(a){
     var url = window.document.location;
     var title = window.document.title;
     var b = getBrowserInfo();
     
     if (b.type == 'IE' && 8 >= b.version && b.version >= 4) window.external.AddFavorite(url,title);
     else if (b.type == 'Opera') {
         a.href = url;
         a.rel = "sidebar";
         a.title = url+','+title;
         return true;
     }
     else if (b.type == "Netscape") window.sidebar.addPanel(title,url,"");
     else alert("Нажмите CTRL-D, чтобы добавить страницу в закладки.");
     return false;
 } 
