var CASES = 
      new Array(
          new Array("word", "words", "words")
          //, new Array("очко", "очка", "очков")
          );
var CASE_SLOVO = 0;
var cached_images = new Array();
var LETTER_SPACING = 1;
var ELECTRON_SIZE = 42;
var SCALE;

if ("undefined" == typeof(SCALE)) SCALE = 1;

function cacheImage(src)  {
   var im = new Image();
   im.src = src;
   cached_images.push(im);
}

function nop()
{
}

function fixPNG(element)
{
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
	{
		var src;
		
		if (element.tagName.toLowerCase() =="img")
		{
			if (/\.png(\?[0-9a-zA-Z\&\=]+)?$/.test(element.src))
			{
				src = element.src;
				element.src = "images/blank.gif";
			}
		}
		else
		{
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if (src)
			{
				src = src[1];
				element.runtimeStyle.backgroundImage="none";
			}
		}
		if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
	}
}

function getMimeType()  {
      var mimeType = "application/x-mplayer2"; //default
      var agt=navigator.userAgent.toLowerCase();
      if (navigator.mimeTypes && agt.indexOf("windows")==-1) {
      //non-IE, no-Windows
        var plugin=navigator.mimeTypes["audio/mpeg"].enabledPlugin;
        if (plugin) mimeType="audio/mpeg" //Mac/Safari & Linux/FFox
      }//end no-Windows
      return mimeType;
   }

function GetCase(word, number)
{
   n = number % 100;
   if ((n <= 20) && (n >= 5)) return CASES[word][2];
   
   n = n % 10;
   if (n >= 5)
      return CASES[word][2];
   else if (n >= 2)
      return CASES[word][1];
   else if (n >= 1)
      return CASES[word][0];
   else
      return CASES[word][2];
}

function getCommonArea(a, b)	{
	if (a.offsetLeft >= b.offsetLeft + b.offsetWidth) return 0;
	if (b.offsetLeft >= a.offsetLeft + a.offsetWidth) return 0;
	if (a.offsetTop >= b.offsetTop + b.offsetHeight) return 0;
	if (b.offsetTop >= a.offsetTop + a.offsetHeight) return 0;

	var dy = Math.min(a.offsetTop + a.offsetHeight - b.offsetTop, b.offsetTop + b.offsetHeight - a.offsetTop);
	var dx = Math.min(a.offsetLeft + a.offsetWidth - b.offsetLeft, b.offsetLeft + b.offsetWidth - a.offsetLeft);

	return dx*dy;
}

function getJQCommonArea(a, b)	{
   var a_offset = a.offset();
   var b_offset = b.offset();
   var a_w = a.width();
   var a_h = a.height();
   var b_w = b.width();
   var b_h = b.height();


	if (a_offset.left >= b_offset.left + b_w) return 0;
	if (b_offset.left >= a_offset.left + a_w) return 0;
	if (a_offset.top >= b_offset.top + b_h) return 0;
	if (b_offset.top >= a_offset.top + a_h) return 0;

	var dy = Math.min(a_offset.top + a_h - b_offset.top, b_offset.top + b_h - a_offset.top);
	var dx = Math.min(a_offset.left + a_w - b_offset.left, b_offset.left + b_w - a_offset.left);

	return dx*dy;
}

function moveObjectRelativeTo(obj_id, target_id, dx, dy, kind)
{
   var jq_obj = $("#" + obj_id);
   var jq_target = $("#" + target_id);

   var target_offset = jq_target.offset();
   var x,y;
   switch(kind)   {
      case "center":
         x = target_offset.left + jq_target.width()/2 + dx - jq_obj.width()/2;
         y = target_offset.top + jq_target.height()/2 + dy - jq_obj.height()/2;
         break;
      case "corner":
         x = target_offset.left + dx;
         y = target_offset.top + dy;
         break;
      default:
         return;
   }

   var was_hidden = jq_obj.hasClass("hidden");
   jq_obj.addClass("hidden");
   jq_obj.css("left", "0px");
   jq_obj.css("top", "0px");

   var obj_offset = jq_obj.offset();
   //var left = parseInt(jq_obj.css("left"));
   //var top = parseInt(jq_obj.css("top"));

   jq_obj.css("left", x - obj_offset.left);
   jq_obj.css("top", y - obj_offset.top);

   if (!was_hidden)  {
      jq_obj.removeClass("hidden");
   }
}

function getDateString(d)
{
   var d_string = "";
   
   if (d.getMonth() + 1 < 10)   {
      d_string += "0" + (d.getMonth() + 1);
   }  else  {
      d_string += (d.getMonth() + 1);
   }

   d_string += "/";

   if (d.getDate() < 10)   {
      d_string += "0" + d.getDate();
   }  else  {
      d_string += "" + d.getDate();
   }

   d_string += "/";
   d_string += d.getFullYear();

   d_string += " ";
   d_string += d.getHours();
   d_string += ":";

   if (d.getMinutes() < 10)   {
      d_string += "0" + d.getMinutes();
   }  else  {
      d_string += d.getMinutes();
   }

   return d_string;
}

function getDateStringRu(d)
{
   var d_string = "";
   
   if (d.getDate() < 10)   {
      d_string += "0" + d.getDate();
   }  else  {
      d_string += "" + d.getDate();
   }

   d_string += ".";

   if (d.getMonth() + 1 < 10)   {
      d_string += "0" + (d.getMonth() + 1);
   }  else  {
      d_string += (d.getMonth() + 1);
   }

   d_string += ".";
   d_string += d.getFullYear();

   d_string += " ";
   d_string += d.getHours();
   d_string += ":";

   if (d.getMinutes() < 10)   {
      d_string += "0" + d.getMinutes();
   }  else  {
      d_string += d.getMinutes();
   }

   return d_string;
}
/*
function getImgSrcByLetter(letter, color)
{
   return HOME + "/images/letters/" + color + "/" + letter.charCodeAt(0) + ".png";
}
*/

function getImgSrcByLetterCode(code, color)
{
   return HOME + "/images/letters/" + color + "/" + code + ".png";
}