/*******************************************************************************
*                  НАЧАЛЬНЫЕ УСТАНОВКИ ИНДИКАТОРА КОРЗИНЫ                      *
*******************************************************************************/
var dragbar  = "";  // id области захвата перемещаемой области

// скрипт корзины (со списком товаров)
//var cart_script = '/cgi-bin/esm/cart.pl';
var cart_script = '/esm/';
var cart_script_popup = 0; // открывать в PopUp-окне 

// путь к скрипту добавления товара (индикатор корзины)
var add_to_cart_script = '/cgi-bin/esm/add_to_cart.pl'; 


/*******************************************************************************
*                    ДИНАМИЧЕСКОЕ ОТОБРАЖЕНИЕ КОРЗИНЫ                          *
*******************************************************************************/

var bwc = new esmBrowseCheck(); 
document.cookie = " check_esm=on; path=/";
// Конструктор индикатора
var esmDiv;
if( bwc.ok ) { 
   esmDiv = document.getElementById( 'cart' );
   
} // End if

var cid = '';
var check_esm = '';
var esm_cookie = document.cookie + ";";
 
var re = new RegExp( "check_esm=([^;]*);" );
if( re.exec( esm_cookie ) ) { check_esm = RegExp.$1; }
 
var re = new RegExp( "esm_cid=([^;]*);" );
if( re.exec( esm_cookie ) ) { cid = RegExp.$1; }

if( bwc.ok ) { 
   
   loadCart(); 

} // End if


// Определяем тип браузера
function esmBrowseCheck() {
   this.ver     = navigator.appVersion;
   this.agent   = navigator.userAgent;
   this.dom     = document.getElementById ? 1 : 0;
   
   this.opera5 = ( window.opera && this.dom ) ? 1 : 0; 
   this.opera6 = ( this.opera5 && window.print ) ? 1 : 0; 
   this.opera7 = ( this.opera5 && document.readyState ) ? 1 : 0;
   
   this.opera =  this.opera5;
    
   this.firefox = ( this.agent.indexOf( "Firefox" )> -1 ) ? 1 : 0;
   this.ie5     = ( this.ver.indexOf( "MSIE" ) > -1 && this.dom && !this.opera5 ) ? 1 : 0;
   this.ie4     = ( document.all && !this.dom && !this.opera5 ) ? 1 : 0;
   this.ie      = this.ie4 || this.ie5;
   this.ns6     = ( this.dom && parseInt( this.ver ) >= 5 ) ? 1 : 0;
   this.ns4     = ( document.layers && !this.dom ) ? 1 : 0;
   this.ok      = this.ie || this.opera || this.firefox;

   return this; 

} // End function esmBrowseCheck


function setСid() { 
   if( cid ) document.cookie = " esm_cid=" + escape( cid ) + "; path=/";
} // End function setСid


// Первая загрузка корзины
function loadCart() { 
   getFile( add_to_cart_script + "?cid=" + cid + "&" + 
            parseInt( ( Math.random() * 1000000 + 1 ) ) ); 
} // End function loadCart


function getFile( filename ) {
   var obj = get_http_obj();
   if( obj ){
      obj.open( "GET", filename, true );
      obj.onreadystatechange = function(){
         if( obj.readyState== 4 && obj.responseText ) {
            var re = /(\d)cid=/;
            if( re.test( obj.responseText ) ) {
               var is_visible = RegExp.$1;  
               esmDiv.innerHTML = obj.responseText.substr( 35 );
               
               var element = document.createElement( "script" );
               element.text = 'cid = \'' + obj.responseText.substr( 5, 30 ) + '\';';
               element.text += 'setСid();';
               esmDiv.appendChild( element );
               
            } else {
               alert ( 'Ошибка при отображении корзины' );
               return false;
               
            } // End if
            
         } // End if
         
      } // End function
      
      obj.send( null )
      return true;
     
   } else {
      return false;
   } // End if
   
} // End function getFile


function get_http_obj() {
   var obj = null;
   try{
      obj = new ActiveXObject( "Msxml2.XMLHTTP" ); 
   } catch( err ){
      try{
         obj = new ActiveXObject( "Microsoft.XMLHTTP" ); 
      } catch( err ){
         obj = null;
      } // End try
      
   } // End try
         
   if( !obj && typeof XMLHttpRequest != "undefined" ) {
      obj = new XMLHttpRequest(); 
   } // End if
   return obj;
   
} // End function get_http_obj



// Добавление в корзину
function toCart( goods_id, quantity ) {
   cid = check_esm = "";
   esm_cookie = document.cookie + ";";
    
   var re = new RegExp( "check_esm=([^;]*);" );
   if( re.exec( esm_cookie ) ) { check_esm = RegExp.$1; }
    
   if( !( bwc.ok && check_esm == "on" && quantity ) || 
       !getFile( add_to_cart_script + "?" + parseInt( ( Math.random() * 1000000 + 1 ) ) + 
                                      "&quantity=" + quantity + "&goods_id=" + goods_id ) 
     ) orderGoods( goods_id, quantity );
   
} // End function toCart


function orderGoods( goods_id, quantity ) { 
   var page = new bwSize(); 
   
   if( cart_script_popup ) {
      
      var property = "left=50px,top=" + ( bwc.opera ? 30 : 103 ) + "px,width=" + ( page.w - 100 ) +
                     ",height=" + ( page.sh - 205 ) + 
                     ",toolbar=0,menubar=0,scrollbars=1,resizable=0"
      var order_url = cart_script;
      if( goods_id && quantity ) order_url += "?quantity=" + quantity + 
                                              "&goods_id=" + goods_id;
      esm_win = window.open( order_url, "esm_" + cid, property ); 
         
   } else {
      
      if( goods_id && quantity ) cart_script += "?quantity=" + quantity + 
                                                "&goods_id=" + goods_id;
      window.location =  cart_script;
      
   } // End if
   

   
} // End function orderGoods


// Разрешение экрана и размер окна браузера
function bwSize() {
   this.w = ( bwc.ok ) ? document.body.offsetWidth : innerWidth; 
   this.h = ( bwc.ok ) ? document.body.offsetHeight : innerHeight;
   
   if( self.screen ) { 
       this.sw = screen.width; 
       this.sh = screen.height; 
    
   } else if( self.java ) { 
       jkit = java.awt.Toolkit.getDefaultToolkit(); 
       scrsize = jkit.getScreenSize(); 
       this.sw = scrsize.width; 
       this.sh = scrsize.height; 
    
   }  // End if
             
   return this;
   
} // End function bwSize
