var kaka_zones;

function UpdateKakaZones()
{
}

function UpdateKakaZones2()
{
 var query = GetKakaQuery();
 if (query == "") return;
 jQuery.getScript('http://kaa.gorodkirov.ru/kaGetJSdata?' + query );
}

jQuery(document).ready(UpdateKakaZones2);


function GetKakaQuery()
{
 var get_suffle = function(zone, key)
 {
  var ids = zone.attr(key);
  if (ids == undefined)
  {
   ids = zone.attr('kaka:'+key);
   if (ids == undefined) ids = 0;
  }
  ids = String(ids);
  ids = ids.split(' ');
  ids = jQuery.grep(ids, function(el, i)
  {
   return el != '';
  });
  if (ids.length == 0)
   return 0;
  var i = Math.floor(Math.random() * ids.length);
  return ids[i];
 };
 var now = new Date();
 kaka_zones = jQuery('div.kaka_zone');
 var query = "";
 kaka_zones.each(function()
 {
	var zone = jQuery(this);
	var z_id = get_suffle(zone, 'z_id');
	var sz_id = get_suffle(zone, 'sz_id');
	var b_id = get_suffle(zone, 'b_id');
        if (query!='') query += '_';
	if (z_id!=0 || sz_id!=0 || b_id!=0)
	{
         if (z_id!=0)
         {
          query += 'z' + z_id;
         }
	 else if (sz_id!=0)
	 {
          query += 's' + sz_id;
	 }
	 else if (b_id!=0)
	 {
          query += 'b' + b_id;
	 }
        }
        else
        {
          query += 'n';
        }
 });
 if (query == "") return '';
 return 'q='+query + '&t=' + now.getTime();
}

function AjaxUpdateKakaZones(kaka_base)
{
 var query = GetKakaQuery();
 if (query == "") return;
 var url = kaka_base+'/kaGetJSONdata?' + query;
 jQuery.getJSON(url, function(data){UpdateKakaData(data);}); 
}

jQuery.fn.extend(
{
 kaka_ready: function(fn)
 {
  if (fn)
  {
   return jQuery.event.add(this[0], 'kaka_ready', fn, null);
  }
  else
  {
   var ret = jQuery.event.trigger('kaka_ready', null, this[0], false, null);
   // if there was no return value
   if (ret === undefined)
    ret = true;

   return ret;
  }
 }
});

function UpdateKakaData(data)
{
 for (i=0; i<kaka_zones.length; i++)
 {
   zone = kaka_zones[i];
   jQuery(zone).html(data[i]);
 }
 if (window.kaka_callback)
  window.kaka_callback();
 jQuery(document).kaka_ready();
}

