ImgFun.win = null;
ImgFun.sticky = true;
ImgFun.clickclose = true;


    var months = new Array(12);
    
    months[0]="Январь"; months[1]="Февраль";
    months[2]="Март"; months[3]="Апрель";
    months[4]="Май"; months[5]="Июнь";
    months[6]="Июль"; months[7]="Август";
    months[8]="Сентябрь"; months[9]="Октябрь";
    months[10]="Ноябрь"; months[11]="Декабрь";
    
    var months_a = new Array(12);
    
    months_a["Январь"]=0; months_a["Февраль"]=1;
    months_a["Март"]=2; months_a["Апрель"]=3;
    months_a["Май"]=4; months_a["Июнь"]=5;
    months_a["Июль"]=6; months_a["Август"]=7;
    months_a["Сентябрь"]=8; months_a["Октябрь"]=9;
    months_a["Ноябрь"]=10; months_a["Декабрь"]=11;
    
    



function ImgFun(url, title) {
  if (ImgFun.win && !ImgFun.win.closed)
    ImgFun.win.close();
    var plObj = new Image;
        plObj.onload = function() {
    
    var w = this.width;
    var h = this.height;
    var config = ['width=' + w , 'height=' + h ,
		 'left=' + (screen.availWidth - w - 10) * .5 ,
		 'top=' + (screen.availHeight - h - 10) * .5 ,
		 'status=0'
		].join(',');
				    
    ImgFun.HTML = [
          '<html><head><title>' + title + '</title></head>' ,
         '<body style="margin:0;background:black;overflow:hidden;"' ,
         ((ImgFun.sticky) ? 'onblur="setTimeout(\'top.focus()\',200)"' : ''),
         ((ImgFun.clickclose) ? 'onclick="top.close()"' : '') ,
        '><img style="border-width:0;cursor:pointer;"' ,
          ((ImgFun.clickclose) ? 'title="click to close"' : '') ,
         ' src="' + this.src + '"></body></html>'
    ].join('');

    ImgFun.win = window.open('javascript:opener.ImgFun.HTML', 'picwin', config);
    if (ImgFun.win && !ImgFun.win && ImgFun.win.focus)
      ImgFun.win.focus();
    }

  plObj.onerror = function() {
     alert('Larger size not available, sorry...');
  }

 plObj.alt = title;
 plObj.src = url;
 return false;
}


function openimage(src, w, h)
{
strimage='<a href="#" onclick="window.close()"><img src="'+src+'" width='+w+' height='+h;
strimage=strimage+'  border=0></a><div></div><div></div><div></div>';
if (document.all)
{
win=window.open('','popupa','width='+w+',height='+h);
win.document.write('<html><title></title></header>');
win.document.write('<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0">');
win.document.write(strimage);
win.document.write('</body></html>');
}
else
{
    window.open(src,'popupa','width='+(w+20)+',height='+(h+20));
}
}


function resizewin(width,height){
//	alert(width+' '+height);	
	self.resizeTo(width, height);
//	window.innerWidth = width;
//	window.innerHeight = height;
}

function openwin(url){
    window.open(url,'img','width=10,height=10,toolbar=no,resizable,scrollbars=no,status=0');
}

function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
      var pair = vars[i].split("=");
      if (pair[0] == variable) {
	  return pair[1];
      }
  }
  return "";
}

function is_all_ws( nod )
{
   // Use ECMA-262 Edition 3 String and RegExp features
     return !(/[^\t\n\r ]/.test(nod.data));
}
     


function is_ignorable( nod )
{
  return ( nod.nodeType == 8) || // A comment node
         ( (nod.nodeType == 3) && is_all_ws(nod) ); // a text node, all ws
}
	   

function first_child( par )
{
    var res=par.firstChild;
    while (res) {
        if (!is_ignorable(res)) return res;
	     res = res.nextSibling;
	}
	return null;
}
		 

function check_form(form_id){
    var cf = document.getElementById(form_id);
    if (cf){
	var num = cf.elements.length;
	for (var i=0; i<=6; i++){
	    if ((cf.elements[i].value =="")&&(cf.elements[i].type=="text")){
		var field = cf.elements[i].parentNode.parentNode;
		var field_value = first_child(field);
		if (i==5) continue;
		alert("Вы должны заполнить поле "+field_value.innerHTML.slice(0,-1)+"!");
		return false;
	    }
	}
	cf.action = "?";
	cf.submit();
    }
    return false;
} 


function show_one_rooms(){
    var o_r  = document.getElementById("one_room");
    var s_r  = document.getElementById("some_rooms");
    var o_r_t  = document.getElementById("one_room_t");
    var s_r_t  = document.getElementById("some_rooms_t");
    
    if ((o_r)){
	o_r.style.visibility = "";
	s_r.style.visibility = "hidden";
	s_r_t.style.display = "none";
	o_r_t.style.display = "";
    }
}

function show_some_rooms(){
    var o_r  = document.getElementById("one_room");
    var s_r  = document.getElementById("some_rooms");
    var o_r_t  = document.getElementById("one_room_t");
    var s_r_t  = document.getElementById("some_rooms_t");
    
    if ((o_r)){
	o_r.style.visibility = "hidden";
	s_r.style.visibility = "";
	s_r_t.style.display = "";
	o_r_t.style.display = "none";
    }
}

function update_hotels(){
    var hotel = document.getElementById('hotel_sel');
    var cats = rooms_c.getCategory(hotel.value);
    
    if (hotel)
	var cur_cats = document.getElementById('cat_sel');
	if (cur_cats){
	    cur_cats.innerHTML=cats;
	    update_cat();
    }
}

function update_cat(){
    var hotel = document.getElementById('hotel_sel');
    var cat = document.getElementById('cat_sel');
    var cr = rooms_c.getCntRooms(hotel.value,cat.value);

    if (cat)
	var cur_rooms = document.getElementById('cnt_rooms_sel');
	if (cur_rooms){
	    cur_rooms.innerHTML = cr;
	    update_rooms();
	}
}

function update_rooms(){
    var hotel = document.getElementById('hotel_sel');
    var cat = document.getElementById('cat_sel');
    var rooms_s = document.getElementById('cnt_rooms_sel');
    
    var cp = rooms_c.getCntPlaces(hotel.value,cat.value,rooms_s.value);

    if (rooms_s)
	var cur_places = document.getElementById('cnt_places_sel');
	if (cur_places){
    	    cur_places.innerHTML = cp;
	}
}

function set_date_io(){
    var d_i = document.getElementById('day_in');
    var m_i = document.getElementById('month_in');
    var y_i = document.getElementById('year_in');
    var d_o = document.getElementById('day_out');
    var m_o = document.getElementById('month_out');
    var y_o = document.getElementById('year_out');
    var d = new Date();
    
    var t = new Date( d.addDays(1) );

    
    if (window.location.search.substring(1).search("m_i")>0){
	set_date_fill();
	return;
    }

    if (window.location.search.substring(1).search("hotel")>0){
	set_fill_rooms();
    }
 
    
    for (var i=0; i<d_i.options.length; i++){
	if (d_i.options[i].value==d.getDate()){
	    d_i.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<m_i.options.length; i++){
	if (m_i.options[i].value==months[d.getMonth()]){
	    m_i.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<y_i.options.length; i++){
	if (y_i.options[i].value==d.getFullYear()){
	    y_i.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<d_o.options.length; i++){
	if (d_o.options[i].value==t.getDate()){
	    d_o.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<m_o.options.length; i++){
	if (m_o.options[i].value==months[t.getMonth()]){
	    m_o.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<y_o.options.length; i++){
	if (y_o.options[i].value==t.getFullYear()){
	    y_o.options[i].selected = true;
	    break;
	}
    }
    
}

function order_fill(){
    var d_i = document.getElementById('day_in');
    var m_i = document.getElementById('month_in');
    var y_i = document.getElementById('year_in');
    var d_o = document.getElementById('day_out');
    var m_o = document.getElementById('month_out');
    var y_o = document.getElementById('year_out');
    
    document.location="index.php?index=order_rooms&d_i="+d_i.value+"&m_i="+months_a[m_i.value]+"&y_i="+y_i.value+"&d_o="+d_o.value+"&m_o="+months_a[m_o.value]+"&y_o="+y_o.value;
}

function getQueryVariable() {
//полачаем строку запроса (?a=123&b=qwe) и удаляем знак ?
 var query = window.location.search.substring(1);  
 //получаем массив значений из строки запроса вида vars[0] = a=123;
  var vars = query.split("&");
   var arr = new Array(); 
   //переводим массив vars в обычный ассоциативный массив 
   for (var i=0;i<vars.length;i++) {
       var pair = vars[i].split("=");
              arr[pair[0]] = pair[1];
    }
 return arr;
}

// Инициализируем таблицу перевода
var trans = [];
for (var i = 0x410; i <= 0x44F; i++)
  trans[i] = i - 0x350; // А-Яа-я
  trans[0x401] = 0xA8;    // Ё
  trans[0x451] = 0xB8;    // ё

  
  // Сохраняем стандартную функцию escape()
  var escapeOrig = window.escape;
  
  // Переопределяем функцию escape()
  window.escape = function(str)
  {
    var ret = [];
      // Составляем массив кодов символов, попутно переводим кириллицу
    for (var i = 0; i < str.length; i++)
    {
      var n = str.charCodeAt(i);
          if (typeof trans[n] != 'undefined')
            n = trans[n];
	    if (n <= 0xFF)
          ret.push(n);
     }
      return escapeOrig(String.fromCharCode.apply(null, ret));
    }

function escapeEx(str)
{
    var ret = '';
    
    for (i=0; i<str.length; i++)
    {
        var n = str.charCodeAt(i);
        if (n >= 0x410 && n <= 0x44F)
                n -= 0x350;
        else if (n == 0x451)
                n = 0xB8;
        else if (n == 0x401)
                n = 0xA8;
        if ((n < 65 || n > 90) && (n < 97 || n > 122) && n < 256)
        {
            if (n < 16)
                ret += '%0'+n.toString(16);
            else
                ret += '%'+n.toString(16);
        }
        else
            ret += String.fromCharCode(n);
    }
    return ret;
}

function win2unicode(str) {
   var charmap   = unescape(
    "%u0402%u0403%u201A%u0453%u201E%u2026%u2020%u2021%u20AC%u2030%u0409%u2039%u040A%u040C%u040B%u040F"+
    "%u0452%u2018%u2019%u201C%u201D%u2022%u2013%u2014%u0000%u2122%u0459%u203A%u045A%u045C%u045B%u045F"+
    "%u00A0%u040E%u045E%u0408%u00A4%u0490%u00A6%u00A7%u0401%u00A9%u0404%u00AB%u00AC%u00AD%u00AE%u0407"+
    "%u00B0%u00B1%u0406%u0456%u0491%u00B5%u00B6%u00B7%u0451%u2116%u0454%u00BB%u0458%u0405%u0455%u0457")
      var code2char = function(code) {
         if(code >= 0xC0 && code <= 0xFF) return String.fromCharCode(code - 0xC0 + 0x0410)
         if(code >= 0x80 && code <= 0xBF) return charmap.charAt(code - 0x80)
           return String.fromCharCode(code)
       }
      var res = ""
      for(var i = 0; i < str.length; i++) res = res + code2char(str.charCodeAt(i))
      return res
}

function set_date_fill(){
    var parm = getQueryVariable();
    var d_i = document.getElementById('day_in');
    var m_i = document.getElementById('month_in');
    var y_i = document.getElementById('year_in');
    var d_o = document.getElementById('day_out');
    var m_o = document.getElementById('month_out');
    var y_o = document.getElementById('year_out');
    
    parm["m_i"] = months[parm["m_i"]];
    parm["m_o"] = months[parm["m_o"]];
    
    for (var i=0; i<d_i.options.length; i++){
	if (d_i.options[i].value==parm["d_i"]){
	    d_i.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<m_i.options.length; i++){
	if (m_i.options[i].value==parm["m_i"]){
	    m_i.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<y_i.options.length; i++){
	if (y_i.options[i].value==parm["y_i"]){
	    y_i.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<d_o.options.length; i++){
	if (d_o.options[i].value==parm["d_o"]){
	    d_o.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<m_o.options.length; i++){
	if (m_o.options[i].value==parm["m_o"]){
	    m_o.options[i].selected = true;
	    break;
	}
    }

    for (var i=0; i<y_o.options.length; i++){
	if (y_o.options[i].value==parm["y_o"]){
	    y_o.options[i].selected = true;
	    break;
	}
    }
    
}

function set_fill_rooms(){
    var parm = getQueryVariable();
    parm["hotel"] = decodeURI(parm["hotel"]);
    parm["cat"] = decodeURI(parm["cat"]);
    
    alert(parm["hotel"]);    
    var hotel = document.getElementById("hotel_sel");
    for (var i=0; i<=hotel.options.length; i++){
	if (hotel.options[i].innerHTML==parm["hotel"]){
	    hotel.options[i].selected = true;
	    break;
	}
    }
    update_hotels();
    
    var cat = document.getElementById("cat_sel");
    for (var i=0; i<cat.options.length; i++){
	if (cat.options[i].value==parm["cat"]){
	    cat.options[i].selected = true;
	    break;
	}
    }
    update_cat();
    
    var rooms = document.getElementById("cnt_rooms_sel");
    for (var i=0; i<rooms.options.length; i++){
	if (rooms.options[i].value==parm["cnt_rooms"]){
	    rooms.options[i].selected = true;
	    break;
	}
    }
    update_rooms();
}

