function hazard_RunDrawing()
{
  var req = new Subsys_JsHttpRequest_Js();
  req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
    {
      if(req.responseJS) 
      { 
        {
          alert('Run drawing ' + req.responseJS.status + ' ' + req.responseJS.message);
        }
      }
    }
	}
  req.caching = true;
  req.open('POST', 'http://' + top.location.host + '/hazard_actions.php', true);
  req.send({action:'run_drawing'});
}

function hazard_CreateNewDrawing()
{
  var prize = document.getElementById('drawing_prize').value;  
  var date  = document.getElementById('drawing_date').value;  

  var req = new Subsys_JsHttpRequest_Js();
  req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
    {
      //alert(req.responseText);
      if(req.responseJS) 
      { 
        //if(req.responseJS.status == 'success')
        {
          alert('Drawing creation ' + req.responseJS.status + ' ' + req.responseJS.message);
        }
      }
    }
	}
  req.caching = true;
  req.open('POST', 'http://' + top.location.host + '/hazard_actions.php', true);
  req.send({action:'create_drawing', prize:prize, date:date});
}

function hazard_Logoff()
{
  document.cookie = "hazard_uid = dummy; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/;";
  var statusDiv = document.getElementById("status");
  statusDiv.innerHTML = "До новых встреч";
}

function hazard_Logon()
{
  var name = document.getElementById('login_name').value;
  var pass = document.getElementById('login_pass').value;

  var statusDiv = document.getElementById("status");

  statusDiv.innerHTML = "Пожалуйста, подождите";
  var req = new Subsys_JsHttpRequest_Js();
  req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
    {
      //alert(req.responseText);
      if(req.responseJS) 
      { 
        statusDiv.innerHTML = req.responseJS.message;
        if(req.responseJS.status == 'success')
        {
          document.cookie = "hazard_user = " + name +'; path=/;'; 
          document.cookie = "hazard_uid  = " + req.responseJS.uid +'; path=/;' ;
          document.cookie = "hazard_sum  = " + req.responseJS.sum +'; path=/;';
        }
      }
    }
	}
  req.caching = true;
  req.open('POST', 'http://' + top.location.host + '/hazard_actions.php', true);
  req.send({action:'login', name:name, pass:pass});
}

function hazard_Register()
{
  var name = document.getElementById('register_name').value;
  var pass = document.getElementById('register_pass').value;
  var mail = document.getElementById('register_mail').value;
  
  var statusDiv = document.getElementById("status");
  
  var regexp = /\S+/g;
  if(! (name.match(regexp) && pass.match(regexp) && mail.match(regexp)) )
  {
    statusDiv.style.color = "red";    
    statusDiv.innerHTML = "Необходимо заполнить все поля";
    return;   
  }

  statusDiv.style.color = "blue";    
  statusDiv.innerHTML = "Пожалуйста, подождите";

  var req = new Subsys_JsHttpRequest_Js();
  req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
    {
      //alert(req.responseText);
      if(req.responseJS) 
      { 
        statusDiv.innerHTML = req.responseJS.message;
      }
    }
	}
  req.caching = true;
  req.open('POST', 'http://' + top.location.host + '/hazard_actions.php', true);
  req.send({action:'register', name:name, pass:pass, mail:mail});
}

function hazard_RestorePassword()
{
  var name = document.getElementById('login_name').value;
  var statusDiv = document.getElementById("status");

  var regexp = /\S+/g;
  if(!name.match(regexp))
  {
    statusDiv.style.color = "red";    
    statusDiv.innerHTML = "Введите имя";
    return;   
  }

  var req = new Subsys_JsHttpRequest_Js();
  req.onreadystatechange = function()
	{
		if (req.readyState == 4) 
    {
      //alert(req.responseText);
      if(req.responseJS) 
      { 
        statusDiv.innerHTML = req.responseJS.message;
      }
    }
	}
  req.caching = true;
  req.open('POST', 'http://' + top.location.host + '/hazard_actions.php', true);
  req.send({action:'restore', name:name});
}

function hazard_SaveTicket(divName)
{
    var div = document.getElementById(divName);
    var statusDiv = document.getElementById(divName + '_status');
    if(!div.marks || div.marks.length < 6)
    {
      statusDiv.style.color = 'red';
      statusDiv.innerHTML = 'Необходимо выбрать 6 номеров!';
      return;
    }
    statusDiv.innerHTML = 'Данные отправлены на сервер! Пожалуйста, подождите!';
    var choice = document.getElementById(divName + '_choice');
    //var cookies = split('', document.cookie);
    var cookiename = 'hazard_uid';
    var re = new RegExp(cookiename + "=([a-fA-F0-9]+);", "g");
    var result = document.cookie.match(re);
    var uid = result[0].substr(cookiename.length + 1, 32);

    var req = new Subsys_JsHttpRequest_Js();
    req.onreadystatechange = function()
  	{
  		if (req.readyState == 4) 
      {
        if(req.responseJS) 
        { 
          statusDiv.innerHTML = req.responseJS.message;
          
          var filled = document.getElementById('filled_tickets');
          filled.innerHTML = 1 + parseInt(filled.innerHTML);
          var empty = document.getElementById('empty_tickets');
          emptyTickets = 0 + parseInt(empty.innerHTML);
          emptyTickets--;
          empty.innerHTML = emptyTickets;
          if(emptyTickets > 0)
          {
            var action = document.getElementById('fill_action');
            action.style.display = '';
          }
          div.marks = null;
          div.innerHTML = ' ';
        }
      }
  	}
    req.caching = true;
    req.open('POST', 'http://' + top.location.host + '/hazard_actions.php', true);
    req.send({action:'save_ticket', uid:uid, choice:choice.innerHTML});
}

//Create Ticket

  function getElementPosition(elemId)
  {
      var elem = typeof elemId == 'object' ? elemId : document.getElementById(elemId);
	
      var w = elem.offsetWidth;
      var h = elem.offsetHeight;
      var l = 0;
      var t = 0;
	
      while (elem)
      {
          l += elem.offsetLeft;
          t += elem.offsetTop;
          elem = elem.offsetParent;
      }
      return {"left":l, "top":t, "width": w, "height":h};
  }

  function selectNumber(divName, cell)
  {
    var div   = document.getElementById(divName);
    var marksArray = div.marks || new Array();
    if(marksArray.length >= 6)
    {
      alert('Можно выбрать только 6 чисел!');
      return;
    }
    for(var i = 0; i < marksArray.length; i++)
    {
      if(cell.mark == marksArray[i])
      {
        return;
      }
    }
    
    //alert(div.marks)
    var mark  = document.createElement("img");
    var coords = getElementPosition(cell);
    
    mark.src = "/picts/selected.gif";
    mark.style.position = 'absolute';
    mark.style.left     = coords.left - 2 + 'px';
    mark.style.top      = coords.top  - 2 + 'px';
    mark.style.width    = 34 + 'px';
    mark.style.height   = 34 + 'px';
    
    
    div.appendChild(mark);
    marksArray[marksArray.length] = cell.mark;
    div.marks = marksArray;

    var choice = 'Ваш выбор: ';
    for(var i = 0; i < marksArray.length; i++)
    {
      if(i > 0) 
      {
        choice += ',';
      }
      choice += marksArray[i];
    }
    document.getElementById(divName + '_choice').innerHTML = choice;
  }
  
  function clearTicket(divName)
  {
    var div   = document.getElementById(divName);
    div.marks = new Array();
    for(var i = 0; i < div.childNodes.length; i++)
    {
      child = div.childNodes[i];
      if(child.tagName == "IMG" || child.tagName == "img")
      {
        div.removeChild(child);
        i--;
      }
    } 
    document.getElementById(divName + '_choice').innerHTML = 'Ничего не выбрано'; 
  }

  function randomizeTicket(divName)
  {
    var div   = document.getElementById(divName);
    var table = document.getElementById(divName + '_table');
    if(!div.marks)
    {
      div.marks = new Array();
    }
    while(div.marks.length < 6)
    {
      var rnd = Math.floor(Math.random( ) * 36);
      var cell = table.rows[(Math.floor(rnd/6))].cells[rnd%6];
      selectNumber(divName, cell);
    }
  }

  function createTicket(divName)
  {
    var action = document.getElementById('fill_action');
    action.style.display = 'none';
  
    var div   = document.getElementById(divName);
    var table = document.createElement("table");
    table.style.border = '1px solid black';
    table.style.background = '#ccc';
    table.id     = divName + '_table';
    div.appendChild(table);
    var row;
    for(var i = 0; i < 36 ; i++)
    {
      if(i%6 == 0)
      {
        row = table.insertRow(table.rows.length);
      }
      cell = row.insertCell(row.cells.length);
      cell.mark = i + 1;
      cell.style.border = '1px solid #ffa'; 
      cell.style.width  = '30px';
      cell.style.height = '30px';
      cell.style.fontWeight = 'bold';
      cell.style.fontFamily = 'arial';
      cell.style.textAlign = 'center';
      cell.style.cursor = 'pointer';
      cell.onclick = function onclick() 
      {
        selectNumber(divName, this);
      }
      cell.innerHTML = i + 1;
    }
    var ctrl = document.createElement("div")
    div.appendChild(ctrl);

    var status = document.createElement("div");
    status.id = divName + '_status';
    status.style.fontWeight = 'bold';
    status.innerHTML = 'Выберите 6 чисел';
    ctrl.appendChild(status);

    var choice = document.createElement("div");
    choice.id = divName + '_choice';
    choice.innerHTML = 'Ничего не выбрано';
    ctrl.appendChild(choice);
    
    var rndBtn = document.createElement("a");
    rndBtn.innerHTML = 'Мне повезет';
    rndBtn.style.cursor = 'pointer';
    rndBtn.onclick = function onclick()
    {
      randomizeTicket(divName);
    }
    ctrl.appendChild(rndBtn);

    var clearBtn = document.createElement("a");
    clearBtn.innerHTML = 'Очистить';
    clearBtn.style.cursor = 'pointer';
    clearBtn.style.marginLeft = '20px;';
    clearBtn.onclick = function onclick()
    {
      clearTicket(divName);
    }
    ctrl.appendChild(clearBtn); 

    var clearBtn = document.createElement("a");
    clearBtn.innerHTML = 'Отправить';
    clearBtn.style.cursor = 'pointer';
    clearBtn.style.marginLeft = '20px;';
    clearBtn.onclick = function onclick()
    {
      hazard_SaveTicket(divName);
    }
    ctrl.appendChild(clearBtn); 
  }
