//Options for Everyone:

MonetarySymbol        = ' руб';
file_name_order       = 'http://otdel-stroy.ru/tocart.html';
//Options for Programmers: константы для отправки письма
ItemId          = 'ID_';
ItemQuantity    = 'QUANTITY_';
ItemPrice       = 'PRICE_';
ItemName        = 'NAME_';
ItemDiscount    = 'DISCOUNT_';
HiddenFields    = true;

strSorry        = "В корзину нельзя положить более 5 наименований товаров";
strAdded        = "отправлен в корзину";
strExist        = "уже в корзине";
strRemove       = "Удалить товар из корзины ?";
strDel          = "Очистить корзину ?";
strSUB          = "Итого, ";
strCartNo       = "Нет товаров в корзине";
strErrorFields  = "Проверьте правильность заполнения полей:\n\n";

//---------------------------------------------------------------------||
// FUNCTION:    cleanCart                                              ||
//---------------------------------------------------------------------||

function cleanCart()
{
 var iNumberOrdered = GetCookie("NumberOrdered");
 if ( iNumberOrdered == null ) iNumberOrdered = 0;
 if (confirm( strDel))
 {
  for ( i = 1; i <= iNumberOrdered; i++ ) {
   NewOrder = "Order." + i;
   DeleteCookie(NewOrder, "/");
  }
  DeleteCookie("NumberOrdered", "/");
  location.href=location.href;
 }
}

//---------------------------------------------------------------------||
// FUNCTION:    cleanCartAuto                                          ||
//---------------------------------------------------------------------||

function cleanCartAuto()
{
 SetCookie("NumberOrdered", 0, null, "/",".otdel-stroy.ru");
 var iNumberOrdered = GetCookie("NumberOrdered");
 if ( iNumberOrdered == null ) iNumberOrdered = 0;
 for ( i = 1; i <= iNumberOrdered; i++ ) {
 NewOrder = "Order." + i;
 DeleteCookie(NewOrder, "/");
 }
 DeleteCookie("NumberOrdered", "/");
}

//---------------------------------------------------------------------||
// FUNCTION:    AddToCart                                              ||
//---------------------------------------------------------------------||
function AddToCart(thisForm) {
   var iNumberOrdered = 0;
   var AlreadyInCart = false;
   iNumberOrdered = GetCookie("NumberOrdered");
//   parse_cookie();
   if ( iNumberOrdered == null )
      iNumberOrdered = 0;
   if ( thisForm.ID == null )
      strID      = "";
   else
      strID      = thisForm.ID.value;
   if ( thisForm.QUANTITY == null || thisForm.QUANTITY.value == 0)
      strQUANTITY    = "1";
   else
      strQUANTITY    = thisForm.QUANTITY.value;
   if ( thisForm.NAME == null )
      strNAME        = "";
   else
      strNAME        = thisForm.NAME.value;
   if ( thisForm.PRICE == null )
      strPRICE       = "0.00";
   else
      strPRICE       = thisForm.PRICE.value;
   if ( thisForm.DISCOUNT == null )
      strDISCOUNT     = "0";
   else
      strDISCOUNT     = thisForm.DISCOUNT.value;

   for ( i = 1; i <= iNumberOrdered; i++ ) {
      NewOrder = "Order." + i;
      database = "";
      database = GetCookie(NewOrder);
      Token0 = database.indexOf("|", 0);		//ID
      Token1 = database.indexOf("|", Token0+1);		//Quanyity
      Token2 = database.indexOf("|", Token1+1);		//NAME
      Token3 = database.indexOf("|", Token2+1);		//PRICE
      Token4 = database.indexOf("|", Token3+1);		//DISCOUNT
      fields = new Array;
      fields[0] = database.substring( 0, Token0 );
      fields[1] = database.substring( Token0+1, Token1 );
      fields[2] = database.substring( Token1+1, Token2 );
      fields[3] = database.substring( Token2+1, Token3 );
      fields[4] = database.substring( Token3+1, database.length);

      if ( fields[0] == strID )
      {
        return korz('<b>' + strNAME + '</b> ' + strExist,'<a class=left_menu href="'+file_name_order+'" target="_top"><b>Корзина</b></a>');
      }
   }
   if ( !AlreadyInCart ) {   //если нет такого тавара в корзине
      iNumberOrdered++;
      if ( iNumberOrdered > 5 ) // Если корзина уже полная
        return korz('<font color=#FF0000>' + strSorry + '</font>','<a class=left_menu href="'+file_name_order+'" target="_top"><b>Оформить заказ</b></a>');
      else
      {
        dbUpdatedOrder = strID+"|"+strQUANTITY+"|"+strNAME+"|"+strPRICE+"|"+strDISCOUNT;
        strNewOrder = "Order." + iNumberOrdered;
        SetCookie(strNewOrder, dbUpdatedOrder, null, "/",".otdel-stroy.ru");
        SetCookie("NumberOrdered", iNumberOrdered, null, "/",".otdel-stroy.ru");
        return korz('<b>' + strNAME + '</b> ' + strAdded,'<a class=left_menu href="'+file_name_order+'" target="_top"><b>Корзина</b></a>');
      }
   }
}

//---------------------------------------------------------------------||
// FUNCTION:    getCookieVal                                           ||
//---------------------------------------------------------------------||
function getCookieVal (offset) {
   var endstr = document.cookie.indexOf (";", offset);
   if ( endstr == -1 )
      endstr = document.cookie.length;
   return(unescape(document.cookie.substring(offset, endstr)));
}

//---------------------------------------------------------------------||
// FUNCTION:    GetCookie                                              ||
//---------------------------------------------------------------------||
function GetCookie (name) {
   var arg = name + "=";
   var alen = arg.length;
   var clen = document.cookie.length;
   var i = 0;
   while ( i < clen ) {
      var j = i + alen;
      if ( document.cookie.substring(i, j) == arg ) return(getCookieVal (j));
      i = document.cookie.indexOf(" ", i) + 1;
      if ( i == 0 ) break;
   }
   return(null);
}

//---------------------------------------------------------------------||
// FUNCTION:    SetCookie                                              ||
//---------------------------------------------------------------------||
function SetCookie (name,value,expires,path,domain,secure) {
   document.cookie = name + "=" + escape (value) +
                     ((expires) ? "; expires=" + expires.toGMTString() : "") +
                     ((path) ? "; path=" + path : "") +
                     ((domain) ? "; domain=" + domain : "") +
                     ((secure) ? "; secure" : "");
}

//---------------------------------------------------------------------||
// FUNCTION:    DeleteCookie                                           ||
//---------------------------------------------------------------------||
function DeleteCookie (name,path,domain) {
   if ( GetCookie(name) ) {
      document.cookie = name + "=" +
                        ((path) ? "; path=" + path : "") +
                        ((domain) ? "; domain=" + domain : "") 
   }
}
//---------------------------------------------------------------------||
// FUNCTION:    MoneyFormat                                            ||
//---------------------------------------------------------------------||
function moneyFormat(input) {
   var dollars = Math.floor(input);
   var tmp = new String(input);
   for ( var decimalAt = 0; decimalAt < tmp.length; decimalAt++ ) {
      if ( tmp.charAt(decimalAt)=="." )
         break;
   }
   var cents  = "" + Math.round(input * 100);
   cents = cents.substring(cents.length-2, cents.length)
           dollars += ((tmp.charAt(decimalAt+2)=="9")&&(cents=="00"))? 1 : 0;
   if ( cents == "0" )
      cents = "00";
   return(dollars + "." + cents);
}

//---------------------------------------------------------------------||
// FUNCTION:    RemoveFromCart                                         ||
//---------------------------------------------------------------------||
function RemoveFromCart(RemOrder) {
   if ( confirm( strRemove ) ) {
      NumberOrdered = GetCookie("NumberOrdered");
      for ( i=RemOrder; i < NumberOrdered; i++ ) {
         NewOrder1 = "Order." + (i+1);
         NewOrder2 = "Order." + (i);
         database = GetCookie(NewOrder1);
         SetCookie (NewOrder2, database, null, "/",".otdel-stroy.ru");
      }
      NewOrder = "Order." + NumberOrdered;
      SetCookie ("NumberOrdered", NumberOrdered-1, null, "/",".otdel-stroy.ru");
      DeleteCookie(NewOrder, "/");
      location.href=location.href;
   }
}

//---------------------------------------------------------------------||
// FUNCTION:    ManageCart                                             ||
//---------------------------------------------------------------------||


function ManageCart() {
   var iNumberOrdered = 0;    //Number of products ordered
   var fTotal         = 0;    //Total cost of order
   var summa          = 0;    //Сумма	                    
   var strTotal       = "";   //Total cost formatted as money
   var strOutput      = "";   //String to be written to page

   iNumberOrdered = GetCookie("NumberOrdered");
   if ( iNumberOrdered == null )
      iNumberOrdered = 0;
   strOutput = "<table class=page_text width=80% border=0 cellspacing=2 cellpadding=0><TR align=center height=28>" +
               "<TD bgcolor=#EDEDEC>№</TD>" +
               "<TD bgcolor=#EDEDEC>Наименование</TD>" +
               "<TD bgcolor=#EDEDEC>Кол-во, шт</TD>" +
               "<TD bgcolor=#EDEDEC>Цена, руб.</TD>" +
               "<TD bgcolor=#EDEDEC>Сумма</TD>" +
               "<TD width=102 bgcolor=#EDEDEC>Действие</TD></TR>";
   if ( iNumberOrdered == 0 )
   {
     strOutput += "<TR height=50><TD align=center COLSPAN=6>" + strCartNo + "</TD></TR>";
   }
   strOutput +="<input type=hidden name=cart value="+iNumberOrdered+">";
   for ( i = 1; i <= iNumberOrdered; i++ )
   {
      NewOrder = "Order." + i;
      database = "";
      database = GetCookie(NewOrder);
      Token0 = database.indexOf("|", 0);
      Token1 = database.indexOf("|", Token0+1);
      Token2 = database.indexOf("|", Token1+1);
      Token3 = database.indexOf("|", Token2+1);
      Token4 = database.indexOf("|", Token3+1);
      fields = new Array;
      fields[0] = database.substring( 0, Token0 );          		// Product ID
      fields[1] = database.substring( Token0+1, Token1 );		// Quantity
      fields[2] = database.substring( Token1+1, Token2 );		// Product Name 
      fields[3] = database.substring( Token2+1, Token3 );		// Price
      fields[4] = database.substring( Token3+1, database.length );	// Discount
      summa     = (fields[1]*parseInt(fields[3]));
      summa     = summa-summa*fields[4]*0.01;
      fTotal   += summa;
      strTotal  = moneyFormat(fTotal);
      strOutput += "<TR><TD align=right>"  + fields[0] + "</TD>";
      strOutput += "<TD>" + fields[2] + "</TD>";
      strOutput += "<TD>" + fields[1] + "</TD>";
      strOutput += "<TD>" + moneyFormat(fields[3]) + "</TD>";
      strOutput += "<TD>" + moneyFormat(summa) + "</TD>";
      strOutput += "<TD ALIGN=CENTER><input class=button type=button value='удалить' onClick='RemoveFromCart("+i+")'></TD></TR>";
      if ( HiddenFields )
      {
         strOutput += "<input type=hidden name=" + ItemId        +i+ " value="  + fields[0] + ">";
         strOutput += "<input type=hidden name=" + ItemQuantity  +i+ " value="  + fields[1] + ">";
         strOutput += "<input type=hidden name=" + ItemName      +i+ " value='" + fields[2] + "'>";
         strOutput += "<input type=hidden name=" + ItemPrice     +i+ " value="  + fields[3] + ">";
         strOutput += "<input type=hidden name=" + ItemDiscount  +i+ " value="  + fields[4] + ">";
         strOutput += "<input type=hidden name=max value="+iNumberOrdered+">";
         strOutput += "<input type=hidden name=total value='"+strTotal+"'>";
      }
   }
   strOutput += "<TR height=27><TD>&nbsp;</TD></tr>";
   strOutput += "<TR height=27><TD COLSPAN=2 bgcolor=#F4F4F4>&nbsp;<B>"+strSUB+" руб.</B></TD>";
   strOutput += "<TD COLSPAN=4 align=center bgcolor=#F4F4F4><div align=right>" + strTotal + "&nbsp;</div></TD></TR></table>";
   document.write(strOutput);
   document.close();
}

//---------------------------------------------------------------------||
// FUNCTION:    korz                                                   ||
//---------------------------------------------------------------------||

function korz(text,link)
{  
 setTimeout('return hide_tip()', 4000); 
 var t; 
 t=document.getElementById("korz"); 
 if (!window.opera) { 
 x=window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft + 8; 
 y=window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop + 20; 
 } else { 
 x=window.event.clientX+8; 
 y=window.event.clientY+20; 
 } 

 t.innerHTML="<table class=fut_text cellspacing=0 border=0 width=160><tr height=30 valign=top><td>"+link+"</td>"+
 "<td align=right><a href='#' onclick='return hide_tip()'><img src='http://otdel-stroy.ru/images/x.gif' height=13"+
 " width=13 border=0 alt='закрыть'></a></td></tr>"+
 "<tr><td colspan=2>"+text+"</td></tr></table>"; 

 if (screen.width-x<150) x-=150; 
 t.style.left=x + "px"; 
 t.style.top=y + "px"; 
} 

function hide_tip()
{ 
 var t; 
 t=document.getElementById("korz"); 
 t.innerHTML=""; 
 t.style.left="-100px"; 
 t.style.top="-100px"; 
}

//---------------------------------------------------------------------||
// FUNCTION:    closemenu                                              ||
//---------------------------------------------------------------------||
function closemenu(num,exclude)
{
 for(i=1;i<num;i++)
 {
  if (i == exclude)
  {
  }
  else
  {
   nameDiv=eval("document.getElementById('menu' + i)");
   myimage=eval("document.getElementById('image' + i)");
   nameDiv.style.display="none";
   myimage.src='images/plus.gif';
  }
 }
}
function JS(menu,image)
{
   nameDiv=eval("document.getElementById(menu)");
   myimage=eval("document.getElementById(image)");
   if(nameDiv.style.display=='none')
   {
   nameDiv.style.display='block';
   myimage.src='images/minus.gif';
   myimage.title='Свернуть'
   }
   else
   {
   nameDiv.style.display='none';
   myimage.src='images/plus.gif';
   myimage.title='Развернуть'
   }
}
