function setCookie(name, value, expires, path, domain, secure) 
{
document.cookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}

function getCookie(name) 
{
var cookie = " " + document.cookie;
var search = " " + name + "=";
var setStr = null;
var offset = 0;
var end = 0;
if(cookie.length > 0) 
 {
  offset = cookie.indexOf(search);
  if(offset != -1) 
   {
    offset += search.length;
    end = cookie.indexOf(";", offset)
    if(end == -1) 
     {
      end = cookie.length;
     }
    setStr = unescape(cookie.substring(offset, end));
   }
 }
return(setStr);
}

function explode(delimiter, string) 
{ 
var emptyArray = { 0: "" };
 
if(arguments.length != 2 || typeof arguments[0] == "undefined" || typeof arguments[1] == "undefined")
 {
  return null;
 }
 
if(delimiter === "" || delimiter === false || delimiter === null)
 {
  return false;
 }
 
if(typeof delimiter == "function" || typeof delimiter == "object" || typeof string == "function" || typeof string == "object")
 {
  return emptyArray;
 }
 
if(delimiter === true)
 {
  delimiter = "1";
 }
 
return string.toString().split(delimiter.toString());
}

function offsetPosition(element) 
{
var offsetLeft = 0, offsetTop = 0;
do 
 {
  offsetLeft += element.offsetLeft;
  offsetTop  += element.offsetTop;
 } 
while (element = element.offsetParent);

if(navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
 {
  offsetLeft += document.body.leftMargin;
  offsetTop += document.body.topMargin;
 }

return {left: offsetLeft, top: offsetTop};
}

function getSizes(element)
{	
var width = element.offsetWidth;
var height = element.offsetHeight;
return {"width": width, "height": height};
}

function offsetPositions(element)
{
var sizes = getSizes(element);
var offsets = offsetPosition(element);
var right = offsets.left + sizes.width;
var bottom = offsets.top + sizes.height;

return {"top": offsets.top, "left": offsets.left, "right": right, "bottom": bottom};
}

function mousePageXY(e)
{
var x = 0, y = 0;

if (!e) e = window.event;

if (e.pageX || e.pageY)
 {
  x = e.pageX;
  y = e.pageY;
 }
else if (e.clientX || e.clientY)
 {
  x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
  y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
 }

return {"x": x, "y": y};
}

function showMainMenu(idBlock)
{
var objBlock = document.getElementById(idBlock); 
objBlock.style.display = "block";

var objAnchor = document.getElementById("anchor_"+idBlock);
var sizesBlock = getSizes(objBlock);
var sizesAnchor = getSizes(objAnchor);
var offsets = offsetPositions(objAnchor);

if(/MSIE 6\.0|MSIE 7\.0/i.test(navigator.appVersion)) var offsetBottom = 7;
else var offsetBottom = 1;

objBlock.style.top = offsets.bottom - offsetBottom;

if(idBlock == "item_1" || idBlock == "item_2" || idBlock == "item_3" || idBlock == "item_4")
 {
  objBlock.style.left = offsets.left;
 }
else
 {
  objBlock.style.left = offsets.right - sizesBlock.width;
 }
}

function showRoseSuggest(anchor, suggestID)
{
var suggest = document.getElementById(suggestID); 
suggest.style.display = "block";

var sizesSuggest = getSizes(suggest); 
var offsets = offsetPositions(anchor);

suggest.style.top = offsets.top - sizesSuggest.height;
suggest.style.left = (offsets.left - sizesSuggest.width) - 3;
}

function showObject(showID, objCall, posLeft, posTop)
{
objElement = document.getElementById(showID);
objElement.style.position = "absolute";
objElement.style.left = posLeft;
objElement.style.top = posTop;
objElement.style.zIndex = 10;
objElement.style.display = "block";
}

function hideObject(idElement)
{
objElement = document.getElementById(idElement);
objElement.style.display = "none";
}

function setFlowerForm()
{
var FLOWERS = document.getElementsByName("flower_form_");
var flower_value = document.getElementById("flower_form_block").innerHTML;
var arrLength = FLOWERS.length;

var i = 0;

while(i < arrLength)
 {
  if(typeof(FLOWERS[i].value) != "undefined")
   {
    if(FLOWERS[i].checked)
     {
      flower_value = "<img src='/files/images/"+FLOWERS[i].value+"' alt='"+FLOWERS[i].value+"' />";
      document.getElementById("flower_form").value = FLOWERS[i].value;
     }
   }
  i++;
 }
document.getElementById("flower_form_block").innerHTML = flower_value;
}

function setFlowerFormMulti()
{
var FLOWERS = document.getElementsByName("flower_form[]");
var flower_value = "";
var arrLength = FLOWERS.length;

var isNot = 1;
var c = 0;
var i = 0;
//alert(FLOWERS[i].value);
while(i < arrLength)
 {
  if(typeof(FLOWERS[i].value) != "undefined")
   {
    if(FLOWERS[i].checked)
     {
      isNot = 0;
      c++
      flower_value += "<img style='margin-left: 8px; margin-bottom: 8px;' src='/files/images/"+FLOWERS[i].value+"' alt='"+FLOWERS[i].value+"' />";
      if(c == 3) 
       {
        c = 0;
        flower_value += "<br />";
       }
     }
   }
  i++;
 }
if(isNot) flower_value = '<strong style="font-size: 1.1em;" class="purple">Форма цветка "не важно"</strong>';
document.getElementById("flower_form_block").innerHTML = flower_value;
}

function toScrollTop(scrollValue)
{
if(document.compatMode == "BackCompat")
 {
  document.body.scrollTop = scrollValue;
 }
else
 {
  document.documentElement.scrollTop = scrollValue; 
 }
}

function toScrollLeft(scrollValue)
{
if(document.compatMode == "BackCompat")
 {
  document.body.scrollLeft = scrollValue;
 }
else
 {
  document.documentElement.scrollLeft = scrollValue; 
 }
}

function setOpacity(element)
{
element.style.filter = "alpha(opacity:95)";
element.style.KHTMLOpacity = "0.95";
element.style.MozOpacity = "0.95";
element.style.opacity = "0.95";
}

function formValidateCustomList()
{
var name = document.getElementById("name").value;
var image = document.getElementById("image").value;
var imageUrl = document.getElementById("image_url").value;
var descr = document.getElementById("descr").value;


if(image != "") var fileName = image;
else if(imageUrl != "") var fileName = imageUrl;
else var fileName = "";
fileName = fileName.toLowerCase();

var imgExt = fileName.match(/\.[a-zA-Z]{3,4}$/);

if(name == "")
 {
  alert("Вы не указали название сорта!");
  return false;
 }
else if(descr == "")
 {
  alert('Описание сорта не может быть "пустым"!');
  return false;
 }
if(fileName != "" && imgExt != ".jpeg" && imgExt != ".jpg" && imgExt != ".png" && imgExt != ".gif")
 {
  alert("Вы пытаетесь загрузить файл недопустимого типа!\r\nЗагружать можно только файлы с расширениями: .jpeg, .jpg, .png, .gif");
  return false;
 }
return true;
}

function upLoadSortImage()
{
var fileName = document.getElementById("image").value;
fileName = fileName.toLowerCase();
var imgExt = fileName.match(/\.[a-zA-Z]{3,4}$/);

if(fileName == "")
 {
  alert("Вы не указали файл для загрузки!");
  return false;
 }
else if(imgExt != ".jpeg" && imgExt != ".jpg" && imgExt != ".png" && imgExt != ".gif")
 {
  alert("Вы пытаетесь загрузить файл недопустимого типа!\r\nЗагружать можно только файлы с расширениями: .jpeg, .jpg, .png, .gif");
  return false;
 }
document.getElementById("upload_image_form").submit();

var objUploadBlock = document.getElementById("upload_image");
showObject("upload_info", objUploadBlock, offsetPosition(objUploadBlock).left, offsetPosition(objUploadBlock).top);
hideObject("upload_image");
document.getElementById("upload_image_form").reset();
return true; 
}

function formValidateGarden()
{
var descr = document.getElementById("descr").value;
var fileName = document.getElementById("image").value;

fileName = fileName.toLowerCase();

var imgExt = fileName.match(/\.[a-zA-Z]{3,4}$/);

if(descr == "")
 {
  alert('Описание сада не может быть "пустым"!');
  return false;
 }
if(fileName == "")
 {
  alert("Вы не указали фото для загрузки!");
  return false;
 }
if(imgExt != ".jpeg" && imgExt != ".jpg" && imgExt != ".png" && imgExt != ".gif")
 {
  alert("Вы пытаетесь загрузить файл недопустимого типа!\r\nЗагружать можно только файлы с расширениями: .jpeg, .jpg, .png, .gif");
  return false;
 }
return true;
}

function validateImgName(imgName)
{
var imgName = imgName.toLowerCase();
var imgExt = imgName.match(/\.[a-zA-Z]{3,4}$/);

if(imgName == "")
 {
  alert("Вы не указали фото для загрузки!");
  return false;
 }
if(imgExt != ".jpeg" && imgExt != ".jpg" && imgExt != ".png" && imgExt != ".gif")
 {
  alert("Вы пытаетесь загрузить файл недопустимого типа!\r\nЗагружать можно только файлы с расширениями: .jpeg, .jpg, .png, .gif");
  return false;
 }
return true;
}

function getRoseVoices()
{
var obj = document.getElementById("voice_form");
var length = obj.elements.length;
var result = "";

var i = 0;
while(i < length)
 {
  try
   {
    if(obj.elements[i].checked)
     {
      if(result != "") result += "&";
      result += obj.elements[i].name+"="+obj.elements[i].value;
     }
   }
  catch(e) {}
  i++;
 }
return result;
}
