//Options for Everyone:

MonetarySymbol        = ' руб';
file_name_order       = 'http://sellglass.ru/formaonline.html';
//Options for Programmers: константы для отправки письма
ItemId          = 'ID_';
ItemQuantity    = 'QUANTITY_';
ItemPrice       = 'PRICE_';
ItemName        = 'NAME_';
ItemOrdernum    = 'ORDERNUM_';
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, "/",".sellglass.ru");
 var iNumberOrdered = GetCookie("NumberOrdered");
 if ( iNumberOrdered == null ) iNumberOrdered = 0;
 for ( i = 1; i <= iNumberOrdered; i++ ) {
 NewOrder = "Order." + i;
 DeleteCookie(NewOrder, "/");
 }
 DeleteCookie("NumberOrdered", "/");
}

//---------------------------------------------------------------------||
// FUNCTION:    CheckForm                                              ||
//---------------------------------------------------------------------||
function CheckForm()
{
  var MissingFields = false;
  var strFields = "";
  if( order.cart.value == '0' ){
	strFields = "У Вас нет товаров в корзине";
        alert( strFields );
        return false;
  }
  if( order.org.value == '' || !/^[а-яА-Я0-9-_]+$/.test(order.org.value)){
	MissingFields = true;
	strFields = "Организация\n";
  }
  if( order.name.value == '' || !/^[а-яА-Я0-9-_]+$/.test(order.name.value)){
	MissingFields = true;
	strFields += "Контактное лицо\n";
  }
  if( order.adres.value == '' || !/^[а-яА-Я0-9-_,\. ]+$/.test(order.adres.value)){
	MissingFields = true;
	strFields += "Адрес\n";
  }
  if( order.phone.value == '' || !/^[0-9-() ]+$/.test(order.phone.value)){
	MissingFields = true;
 	strFields += "Телефон\n";
  }
  if( order.email.value == '' ){
	MissingFields = true;
	strFields += "Email\n";
  }
  else{
   if (!/^([\w-~_]+\.)*[\w-~_]+@([\w-_]+\.){1,3}\w{2,4}$/.test(order.email.value))
   {
	strFields += "Неправильный e-mail адрес";
	alert( strErrorFields + strFields );
	return false;
   }
  }
  if (!/^[а-яА-Я0-9-_,\. ]+$/.test(order.comments.value)){
	MissingFields = true;
	strFields += "Комментарии\n";
  }
  else
  {
   if (order.comments.value.length > 1000)
   {
	strFields += "Длина поля 'комментарии' превышает 1000 символов";
	alert( strErrorFields + strFields );
	return false;
   }
  }
  if( MissingFields )
  {
	alert( strErrorFields + strFields );
	return false;
  }
 cleanCartAuto();
 return true;
}

//---------------------------------------------------------------------||
// FUNCTION:    AddToCart                                              ||
//---------------------------------------------------------------------||
function AddToCart(thisForm) {
   var iNumberOrdered = 0;
   var AlreadyInCart = false;
   iNumberOrdered = GetCookie("NumberOrdered");
   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.ORDERNUM == null )
      strORDERNUM     = "0";
   else
      strORDERNUM     = thisForm.ORDERNUM.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);		//ORDERNUM
      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 tip('<b>' + strNAME + '</b> ' + strExist,'<a href="'+file_name_order+'" target="_top">Корзина</a>');
      }
   }
   if ( !AlreadyInCart ) {   //если нет такого тавара в корзине
      iNumberOrdered++;
      if ( iNumberOrdered > 5 ) // Если корзина уже полная
        return tip('<font color=#FF0000>' + strSorry + '</font>','<a href="'+file_name_order+'" target="_top">Оформить заказ</a>');
      else
      {
        dbUpdatedOrder = strID+"|"+strQUANTITY+"|"+strNAME+"|"+strPRICE+"|"+strORDERNUM;
        strNewOrder = "Order." + iNumberOrdered;
        SetCookie(strNewOrder, dbUpdatedOrder, null, "/",".sellglass.ru");
        SetCookie("NumberOrdered", iNumberOrdered, null, "/",".sellglass.ru");
        return tip('<b>' + strNAME + '</b> ' + strAdded,'<a href="'+file_name_order+'" target="_top">Корзина</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:    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, "/",".sellglass.ru");
      }
      NewOrder = "Order." + NumberOrdered;
      SetCookie ("NumberOrdered", NumberOrdered-1, null, "/",".sellglass.ru");
      DeleteCookie(NewOrder, "/");
      location.href=location.href;
   }
}

//---------------------------------------------------------------------||
// FUNCTION:    ManageCart                                             ||
//---------------------------------------------------------------------||


function ManageCart() {
   var iNumberOrdered = 0;    //Number of products ordered
   var strOutput      = "";   //String to be written to page

   iNumberOrdered = GetCookie("NumberOrdered");
   if ( iNumberOrdered == null )
      iNumberOrdered = 0;
   strOutput = "<TABLE CLASS=chars width=100% cellspacing=1 cellpadding=2 bgcolor=#0b6e66><TR align=center height=27 bgColor=#fefefe>" +
               "<TD><B>№</B></TD>" +
               "<TD><B>Наименование</B></TD>" +
               "<TD><B>Количество</B></TD>" +
               "<TD width=102 align=center><B>Действие</B></TD></TR>";
   if ( iNumberOrdered == 0 )
   {
     strOutput += "<TR height=60><TD bgColor=#f7f7f7 align=center COLSPAN=7><font size=3>" + strCartNo + "</font></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 );	// Ordernum
      strOutput += "<TR bgColor=#fefefe><TD align=right>"  + fields[0] + "</TD>";
      strOutput += "<TD>" + fields[2] + "</TD>";
      strOutput += "<TD>" + fields[1] + "</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=" + ItemOrdernum  +i+ " value="  + fields[4] + ">";
         strOutput += "<input type=hidden name=max value="+iNumberOrdered+">";
      }
   }
   strOutput += "</table>";

   document.write(strOutput);
   document.close();
}

//---------------------------------------------------------------------||
// FUNCTION:    tip                                                    ||
//---------------------------------------------------------------------||

function tip(text,link)
{  
 setTimeout('return hide_tip()', 4000); 
 var t; 
 t=document.getElementById("tip"); 
 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=ord_online cellspacing=0 width=160><tr height=28 valign=top><td>"+link+"</td>"+
 "<td align=right><a href='#' style='text-decoration: none' onclick='return hide_tip()' title='Закрыть окно'>&times;</a>&nbsp;</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("tip"); 
 t.innerHTML=""; 
 t.style.left="-100px"; 
 t.style.top="-100px"; 
}

