var GET    = Array();
var anchor = ""; // Эту строку не трогать
var url    = document.location;

$(window).load(function()
  {
    GET = parseGET(url);
    var dt = new Date();

    var hrs = dt.getHours();
    var min = 0;

    if (timemode == "global")
     {
       var tz  = dt.getTimezoneOffset()/60;
       hrs = dt.setHours(hrs+tz);
       hrs = dt.getHours();
       dt.setHours(hrs-tz);
     }
    if (timemode=="other")
     {
       var tz  = dt.getTimezoneOffset()/60;
       hrs = dt.setHours(hrs+tz+toInt(hrs_shift));
       min = dt.setMinutes(dt.getMinutes()+toInt(min_shift));

       hrs = dt.getHours();
       min = dt.getMinutes();

       //dt.setHours(hrs-tz);
       //dt.setMinutes(dt.getMinutes()-toInt(min_shift));
     }


    FormTwentyFourHoursLine(hrs*60+dt.getMinutes());
    FormDate(dt);
    FormTime(dt);
    FormHourLine(dt.getMinutes());
    setTimeout(NewSecond, 1000);

    $(".logon").focus(function()
    {
      var name = $(this).attr("name");
      var val  = $(this).val();
      if (name == "login" && val == "login")
       {
         $(this).val("");
       }
      else if (name == "password" && val == "password")
       {
         $(this).val("");
       }
    });

    $(".logon").blur(function()
    {
      var name = $(this).attr("name");
      var val  = $(this).val();
      if (name == "login" && val == "")
       {
         $(this).val("login");
       }
      else if (name == "password" && val == "")
       {
         $(this).val("password");
       }
    });


  });


function AJAX_gogo(item, data, funct, async)
{
      $.ajax({
               type: 'POST',
               url: "index.php?ajax="+item,
               data: data,
               error: function(XMLHttpRequest, textStatus, errorThrown)
                {
                  $("#modal_window").alert("We're sorry, you've expirienced AJAX error:"+textStatus + ", " + errorThrown.description);
                },
               success: function(html)
                {
                  funct(html);
                },
               async: async
             });

}


var last_second = 00;
function NewSecond()
{
  if (last_second % 10 == 0 && last_second != 59)
   {
     var dt = new Date();
     last_second = dt.getSeconds();
   }
  if (last_second==59)
   {
     var dt = new Date();

     var hrs = dt.getHours();
     var tz  = dt.getTimezoneOffset()/60;
     if (timemode == "global")
      {
        var tz  = dt.getTimezoneOffset()/60;
        hrs = dt.setHours(hrs+tz);
        hrs = dt.getHours();
        dt.setHours(hrs-tz);
      }
     FormTwentyFourHoursLine(hrs*60+dt.getMinutes());
     FormDate(dt);
     FormTime(dt);
     FormHourLine(dt.getMinutes());

     last_second = dt.getSeconds();
   }
  else
   {
     last_second ++;
     $("#time_sec").text((last_second<=9?"0":"")+last_second);
   }

  setTimeout(NewSecond, 1000);
}

function FormTwentyFourHoursLine(minutes)
 {
   $("#timeactive").width(576*minutes/1440 + 12);
 }
function FormHourLine(minutes)
 {
   $("#hour_done").width($("#hour_last").width()*minutes/60);
 }

function FormDate(dt)
 {
   var dow = Array("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота");
   var mon = Array("января", "февраля", "марта", "апреля", "мая", "июня", "июля", "августа", "сентября", "октября", "ноября", "декабря");
   var day = dt.getDate();
       day = (day<=9?"0":"")+day;

   $("#date_dow").text(dow[dt.getDay()]);
   $("#date_day").text(day);
   $("#date_mon").text(mon[dt.getMonth()]);
   $("#date_year").text(dt.getFullYear());
 
 }

function FormTime(dt)
 {
   var tz  = dt.getTimezoneOffset()/60;
   var hrs = 0;

   hrs = dt.getHours();

   if (timemode == "global")
    {
      hrs = dt.setHours(hrs+tz);
      hrs = dt.getHours();
    }

   var min = dt.getMinutes();
   var sec = dt.getSeconds();
   last_second = sec;
   var tss = "";

   if (GET['tsys'] == undefined) GET['tsys'] = "gmt";

   switch (GET['tsys'])
    {
      case "utc":
       tss = "UTC";
       break;
      case "gmt":
       tss = "GMT";
       break;
      case "est":
       tss = "EST";
       tz  = tz - 5;
       hrs = hrs + 5;
       break;

    }
   hrs = (hrs<=9?"0":"")+hrs;
   min = (min<=9?"0":"")+min;
   sec = (sec<=9?"0":"")+sec;


   $("#time_hrs").text(hrs);
   $("#time_min").text(min);
   $("#time_sec").text(sec);
   if (timemode=="local")
    $("#timeshift").text(tss + (tz<0?"+":"-") + Math.abs(tz));
   else if (timemode=="global")
    $("#timeshift").text(tss + "+0");
   else
    {}

 }

 function GrayScr(act)
  {
    if (act == "show")
     {
       $("#modalframe").css("height", $(document).height());
       $("#modalframe").css("display", "block");
       $("#modalframe").css("opacity", "0");
       $("#modalframe").css("visibility", "visible");
       $("#modalframe").animate({opacity: .85}, 500, function() {});

     }
    if (act == "hide")
     {
       $("#modalframe").animate({opacity: 0}, 500, function() {$("#modalframe").css("visibility", "hidden");});
     }
  }


 function WinToCenter(id)
  {
    delta    = $(window).height()/2 - $("#"+id).height()/2;

    if (delta <=0) delta = 10;
    win_top  = $(document).scrollTop() + delta;
    if (win_top <= 0) win_top = 10;

    win_left = $(document).scrollLeft() + $(window).width() / 2 - $("#"+id).width() / 2;
    if (win_left <= 0) win_left = 10;

    $("#"+id).css("display", "block");
    $("#"+id).css("top", win_top); // $(window).height % 2 - $("#"+id).height()
    $("#"+id).css("left", win_left);
  }

 function ShowModal(title, func, width, height, override)
  {
    override = override | "";

    GrayScr("show");
    $("#modal_window").css("min-width", width+"px");
    $("#modal_window").css("min-height", height+"px");
    $("#modal_window").css("position", "absolute");
    $("#modal_window").css("opacity", "0");
    $("#modal_window").css("visibility", "visible");

    WinToCenter("modal_window");
    WinContent(title, func, override);
    $("#modal_window").animate({opacity: .9}, 500, function() {});

  }
 function WinContent(title, func, override)
  {
    params = String(func).replace(new RegExp(" ", 'g'), "").split(":");
    resultstr = String("");
    if (params[1] != undefined)
     adata = params[1];  //adata = params[1].split(",");
    else
     adata = "";             //adata = Array();

    $("#modal_window").html("<div style=\"background: #afd4ff; height: 20px; color: #237ffd; padding: 3px; padding-left: 8px;\">"+
                            "<div style=\"float: right\"><a href=\"javascript: void(0);\" style=\"color: #237ffd; text-decoration: none;\" onClick=\"CloseModal();\">[x]</a>"+
                            "</div>"+title+"</div>");
     $.ajax({
              type: 'POST',
              url: "index.php?ajax="+params[0]/*+(override!=""?override:"")*/,
              data: adata /*resultstr*/,
              error: function(XMLHttpRequest, textStatus, errorThrown)
               {
                 $("#modal_window").append("<div id=\"modal_window_text\">We're sorry, you've expirienced AJAX error:<br/>"+textStatus + ", " + errorThrown.description+"</div>");
               },
              success: function(html)
               {
                 $("#modal_window").append("<div id=\"modal_message\"></div><div id=\"modal_window_text\">"+html+"</div>");
               },
              //dataType: "html",
              async: false
	    });

  }
 function CloseModal()
  {
    $("#modal_window").animate({opacity: 0}, 500, function()
      {
        $("#modal_window").css("visibility", "hidden");
        $("#modal_window").css("top", 0);
      }
     );
    GrayScr("hide");
  }

function OtherLanguage()
 {
   ShowModal("Select your language", "langsel", 200, 100);
   return false;
 }

function Logon()
 {
   var login = $('input[name="login"]').val();
   var passw = $('input[name="password"]').val();
   AJAX_gogo("logon", "login="+login+"&password="+passw, function(data)
    {
      alert(data);
    }, false);
 }

function parseGET(str)
 {
   str = String(str).split('?');
   str = str[1];
   if (str == undefined) return Array();

   if(str.indexOf('#')!=-1)
    {
      anchor = str.substr(str.indexOf('#')+1);
      str = str.substr(0,str.indexOf('#'));
    }
   params = str.split('&');
   for (i=0; i<params.length; i++)
    {
      var keyval = params[i].split('=');
      GET[keyval[0]]=keyval[1];
    }
   return (GET);
 }


function toInt(number)
{
  return number && + number | 0 || 0;
}

function DateRecalculate()
 {
   var time_shift_orig = $("#id_timezone :selected").val();
   var time_arr   = time_shift_orig.split(", ");
   time_shift     = time_arr[0];
   time_shift_min = time_arr[1];

   var date_day = $("#id_date_day :selected").val();
   var date_mon = $("#id_date_mon :selected").val();
   var date_year = $("#id_date_year :selected").val();

   var time_hrs = $("#id_time_hrs :selected").val();
   var time_min = $("#id_time_min :selected").val();

   if (date_day=="" || date_mon == "" || date_year=="")
    {
      alert('Пожалуйста, укажите полную дату');
      return;
    }

   var time_shift_result = $("#id_timezone_res :selected").val();
   time_arr = time_shift_result.split(", ");

   time_shift_result     = time_arr[0];
   time_shift_result_min = time_arr[1];

   var time_sys_result = $("#id_timesys_res :selected").val();
   time_arr = time_sys_result.split(", ");

   time_sys_result     = time_arr[0];
   time_sys_result_min = time_arr[1];

   // alert(time_arr[0]>=0?"+":"-");
   var DT = new Date(date_mon+"/"+date_day+"/"+date_year+" "+time_hrs+":"+time_min+" GMT"+(time_arr[0]>=0?"+":"-")+(time_arr[0]<=9 && time_arr[0]>=9?"0":"")+time_arr[0]+(time_arr[1]<=9 && time_arr[1]>=9?"0":"")+(time_arr[1]==0?0:time_arr[1]));


   //alert(date_mon+"/"+date_day+"/"+date_year+" "+time_hrs+":"+time_min+" GMT"+(time_arr[0]>0?"+":"-")+(time_arr[0]<=9 && time_arr[0]>=9?"0":"")+time_arr[0]+(time_arr[1]<=9 && time_arr[1]>=9?"0":"")+(time_arr[1]==0?0:time_arr[1]));
   var tz = DT.getTimezoneOffset()/60;

   time_shift = -toInt(time_shift)+toInt(time_shift_result)+toInt(time_sys_result);
   //alert(time_shift/*DT.getHours()+" - "+ time_shift+" + "+time_shift_result+" + "+time_sys_result*/);
   DT.setHours(toInt(DT.getHours()+tz+time_shift));
   DT.setMinutes(DT.getMinutes()-toInt(time_shift_min)+toInt(time_shift_result_min)+toInt(time_sys_result_min));

   var day = DT.getDate();
   day = (day<=9?"0":"")+day;

   var mon = DT.getMonth()+1;
   mon = (mon<=9?"0":"")+mon;

   var yrs = DT.getFullYear();

   var hrs = DT.getHours();
   hrs = (hrs<=9?"0":"")+hrs;

   var min = DT.getMinutes();
   min = (min<=9?"0":"")+min;

   $("#timecalc_result").html(day+"."+mon+"."+yrs+"<br/>"+hrs+":"+min);

 }

function ComparisonChange(num)
 {
   var params = $("#time"+num+" :selected").val();
   params = params.split(",");
   $("#time_"+num).text(params[0]+", "+params[1]);
   city_clock[num].NewTime([params[2], params[3], 0]);


 }
function ChangeCurrentCountry(page, mode)
 {
   var country = $("#id_country :selected").val();
   var city    = $("#id_city :selected").val();

   if (mode==2)
    document.location="index.php?page="+page+"&setcountry="+country+"&setcity="+city;
   else if (mode==1)
    document.location="index.php?page="+page+"&setcountry="+country;
 }
