	function fade( obj, type ){        
        
         if ( !(obj = getObj( obj ) ) )
            return false;
        
         if( obj.className.match( 'fade' ) && type != 'in' ){
         
            obj.className = obj.className.replace('fade', '');
         }else
            if( type != 'out' && !obj.className.match( 'fade' ) )
                obj.className = obj.className + ' fade';
            
            
        return true;
    }
    
        function setDefText(field_id, connectWith, def_class, stopRecursion, colored){
        	
        
	        if( is_object(field_id) ) field_id = field_id.id;
	        
	        jQuery(document).ready(function(){
	                jQuery("#"+field_id).focus(function(srcc){
	                    if (jQuery(this).val() == jQuery(this)[0].title){
	                        
	                        if(def_class){
	                            jQuery(this).removeClass(def_class);
	                        }
	                        jQuery(this).val("");
	                        
	                         if(connectWith ){
	                        if(jQuery('#'+connectWith).val() == jQuery('#'+connectWith)[0].title ){
	                            if(def_class)
	                                jQuery('#'+connectWith).removeClass(def_class);
	                            jQuery('#'+connectWith).val("");
	                        }    
	                    }
	                                            
	                    }
	                    
	                   
	                    
	                });
	                
	        jQuery(document).keypress(function(){});
	    
	        jQuery("#"+field_id).blur(function(){
	                if (jQuery(this).val() == ""){
	                    if(connectWith) {
	                        if(jQuery('#'+connectWith).val() != "") return;                        
	                    }
	                    if(def_class)
	                        jQuery(this).addClass(def_class);                    
	                    jQuery(this).val(jQuery(this)[0].title);
	                    
	                    if(connectWith){
	                        if (jQuery('#'+connectWith).val() == ""){
	                            if(def_class)
	                                jQuery('#'+connectWith).removeClass(def_class);                    
	                            jQuery('#'+connectWith).val(jQuery('#'+connectWith)[0].title);
	                        }
	                    }
	                }
	                 
	            });
	    
	        jQuery("#"+field_id).blur();        
	        });    
	        
	        if(connectWith && !stopRecursion){setDefText(connectWith, field_id, def_class, 1, colored)};
        
        }
        
        
             function is_object( mixed_var ){
    // Returns true if variable is an object  
    // 
    // version: 810.114
    // discuss at: http://phpjs.org/functions/is_object
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Legaev Andrey
    // +   improved by: Michael White (http://getsprink.com)
    // *     example 1: is_object('23');
    // *     returns 1: false
    // *     example 2: is_object({foo: 'bar'});
    // *     returns 2: true
    // *     example 3: is_object(null);
    // *     returns 3: false
    if(mixed_var instanceof Array) {
        return false;
    } else {
        return (mixed_var !== null) && (typeof( mixed_var ) == 'object');
    }
}

    
    
    function fadeIn( obj ){
        fade( obj, 'in' );
    }
    
    function fadeOut( obj ){
        fade( obj, 'out' );
    }
    
     function getX( el ){
        var xPos;
        
        xPos = el.offsetLeft; 
        var tempEl = el.offsetParent; 
        
        while (tempEl != null)  
        { 
              xPos += tempEl.offsetLeft; 
              tempEl = tempEl.offsetParent; 
        } 
        
        return xPos; 
    }
    
    function getY( el ){
        var yPos;
        
        yPos = el.offsetTop; 
        var tempEl = el.offsetParent; 
        
        while (tempEl != null)  
        { 
              yPos += tempEl.offsetTop; 
              tempEl = tempEl.offsetParent; 
        }
    } 
        
        
   function show( obj ){
        if( !getObj( obj ) )
            return false;
            
        getObj( obj ).style.display = '';
    }

    function hide( obj ){
        if( !getObj( obj ) )
            return false;
            
        getObj( obj ).style.display = 'none';
    }
    
    function showHide( obj ){
           
    	if( !( obj = getObj( obj ) ) )
    		return false;
    		
    	var open = ( obj.style.display == 'none')	;
    	
    	if( open )
    	   show( obj );
	    else
	       hide( obj );
    	
    	return open;
    }
    
    function authPanShow(){
	if( document.getElementById('authPan').style.display=="none" ){
		
		document.getElementById('authPan').style.display="";
		//document.getElementById('authPan').style.left = "100";
		//document.getElementById('authPan').style.top = "100";
		//$("#authPan").effect("bounce", {}, 50); 
		//$(".authPan").toggle("drop", { direction: "up" }, 100); 
	}else{
		
		//$(".authPan").toggle("drop", { direction: "down" }, 100); 
		document.getElementById('authPan').style.display="none";
	}
	return false;
}


function addToCart( id ){
	//document.location = '/addToCart/'+id;
	var req = new JsHttpRequest();
	
	div = document.createElement('DIV');
	div.id = 'buy_dialog';
	div.innerHTML = '<div style="font-size: 14px;">Часы добавлены в корзину<br/><a href="/cart">перейти к оформлению покупки?</a></div>';
	document.body.appendChild(div);
	
    $("#"+div.id).dialog({
               bgiframe: true, 			
               height: 140, 			
               modal: true,               
               resizable: false, 	
               close: function(event, ui){ $('#buy_dialog')[0].parentNode.removeChild($('#buy_dialog')[0])}		
    }); 	  	
	//return;

    req.onreadystatechange = function() {
        if (req.readyState == 4){                    
            refreshCart();   
            if( req.responseJS.key ){
                //alertShow(req.responseJS.key); 
                //center(document.getElementById('alert'));          
            } 
            
        }
    }
    req.open( 'POST', '/ajax/addToCart.ajax.php', true); 
    req.send({'itm_id':id});    
	
}


function refreshCart(){
	var req = new JsHttpRequest();    

    req.onreadystatechange = function() {
        if (req.readyState == 4){    
        	if(req.responseJS.html)                
                document.getElementById('cart_content').innerHTML = req.responseJS.html;                 
            //document.getElementById('cart_content').innerHTML = 'test';                 
        }
    }
    req.open( 'POST', '/ajax/refreshCart.ajax.php', true); 
    req.send();        
}


function loadSubMenu( id ){
	var req = new JsHttpRequest();    

    req.onreadystatechange = function() {
        if (req.readyState == 4){                    
            document.getElementById('sub_menu_content').innerHTML = req.responseJS.html;     
            if(req.responseJS.JS){
            	eval(req.responseJS.JS);
            }
        }
    }
    req.open( 'POST', '/ajax/subMenu.ajax.php', true); 
    req.send({'parent_id': id}); 
	
}

function selectMenu(id){
	document.getElementById('span_'+id).className="catalog_top_item selected_top"
	if( last_sub )
	    document.getElementById('span_'+last_sub).className="catalog_top_item"
	last_sub = id
	loadSubMenu(id);
}

function cbEdit( element, name ){
	content = element.parentNode.getElementsByTagName("DIV")[0].innerHTML;
	
	if( content.length > 200 && 1==2 ){
	height = 'height:400px;';	
	input = 'textarea';
	textarea_end = '</textarea>';
	}else{
		input = 'input';
		height = '';
		textarea_end = '';
	}
	cont = '<div id="content_'+name+'"><'+input+' id="edit_'+name+'" type="text" style="width: 100%;'+height+'" value="'+content+'">'+textarea_end+'<input type="button" value="ok" onclick="cbSave(\''+name+'\')"></div>';
	element.parentNode.innerHTML = cont;
}

function cbSave( name ){
	var req = new JsHttpRequest();    

    req.onreadystatechange = function() {
        if (req.readyState == 4){               
            document.getElementById('content_'+name).innerHTML = '<a style="float: right;" onclick="cbEdit(this, \''+name+'\'); return false;" href="#"><img width="16" height="16" alt="Редактировать" src="/tpl/i/editIcon.gif"/></a><div id="content_'+name+'">'+document.getElementById('edit_'+name).value+'</div>';                               
        }
    }
    req.open( 'POST', '/ajax/cbSave.ajax.php', true); 
    req.send( {'name':name, 'text' : document.getElementById('edit_'+name).value} );  
}

function stringFilter (input) {
	s = input;
	filteredValues = "1234567890";     // Characters stripped out
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++) {  // Search through string and append to unfiltered values to returnString.
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}

   function onCenter( _obj )
    {
        var obj;
        
        if( !( obj = getObj( _obj ) ) )
            return false;
            
        var w = obj.clientWidth;
        var h = obj.clientHeight;
            
        var bw = document.body.clientWidth;
        var bh = document.body.clientHeight;
        
        var scrollTop = document.body.scrollTop;
        var scrollLeft = document.body.scrollLeft;
        
        var x = parseInt( ( ( bw - w ) / 2 ) + scrollLeft );
        var y = parseInt( ( ( bh - h ) / 2 ) + scrollTop );
        
        obj.style.left = x;
        obj.style.top = y;
    }
     function getObj( arg ){
        
        if( typeof( arg ) == 'object' )
            return arg;
            
        if( document.getElementById( arg ) )
            return document.getElementById( arg );
            
        return false;
    }
    
     function center( obj, obj2 ){

       if( !obj2 )
        obj2 = document.body;
        
       if( !( obj = getObj( obj ) ) || !( obj2 = getObj( obj2 ) ) ){
            return;
       }
               
        
        var x, y, w, h; //параметры obj
        var x2, y2, w2, h2; //параметры obj - относительно него центрируем obj
        
        var areaW, areaH; //Размеры экрана
        var bodyW, bodyH; //Размеры body
        var scrollX, scrollY; //Сколлы
        
        
        
        
        x = getX( obj ); y = getY( obj );
        w = obj.clientWidth; h = obj.clientHeight;
        
        x2 = getX( obj2 ); y2 = getY( obj2 );
        w2 = obj2.clientWidth; h2 = obj2.clientHeight;
        
        
        if( typeof( document.body.clientHeight ) == 'number' ){
            areaW = document.body.clientWidth;
            areaH = document.body.clientHeight;
        }
        
        scrollY = document.body.scrollTop;
        
        y = scrollY + ( ( areaH - h ) / 2);
        x = (areaW - w ) / 2;
        obj.style.top = y;
        obj.style.left = x;
        //alert( areaW + 'x' + areaH );
    }
    
function alertShow( key ){
	var req = new JsHttpRequest();    
    req.onreadystatechange = function() {
        if (req.readyState == 4){      
        	if(req.responseJS.html)         
                document.getElementById("alert").innerHTML = req.responseJS.html;
        }
    }
    req.open( 'POST', '/ajax/getAlert.ajax.php', true); 
    req.send( {'key':key} );  
}

