var image_struct = {};
var date_struct = {};
var text_struct = {};

var month_names = ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"];

var max_thumb_width = 100;
var max_thumb_height = 100;

var il_timer, il_object, il_loader;

function image_onload()
{
	if (!il_loader.width) return;

	clearInterval(il_timer);
	il_timer = 0;

	var k = Math.max(il_loader.width / max_thumb_width, il_loader.height / max_thumb_height);
	if (k < 1) k = 1;

	il_object.style.display = "block";

	il_object.src = il_loader.src;

	il_object.width = il_loader.width / k;
	il_object.height = il_loader.height / k;
}

function image_preview(inp, img)
{
	if (il_timer) {
		clearInterval(il_timer);
		il_timer = 0;
	}

	var file = document.all(inp).value;

	il_loader = new Image();
	il_loader.src = file;

	il_object = document.all(img);
	il_object.style.display = "none";

	il_timer = setInterval(image_onload, 20);
}

function get_image_html(id, array)
{
	var html = "";
	for (var i in array) {
	//alert(id+' aaa '+'i: '+i+' aaa '+array[i].num);
	//alert("name=" + id + "_i_" + array[i].num);
		html += "<div id=" + id + "_" + array[i].num + "><table cellspacing=0><tr>" + 
			"<td><img src=\"/i/0.gif\" id=" + id + "_p_" + array[i].num + " class=imagepv style=\"display:none\"></td>" +
			"<td><input type=file name=" + id + "_i_" + array[i].num + " id=" + id + "_i_" + array[i].num + " class=middle onchange=\"image_preview('" + id + "_i_" + array[i].num + "', '" + id + "_p_" + array[i].num + "')\"></td>" +
			"<td><img src=\"/i/new.gif\" width=16 height=16 alt=\"Добавить картинку\" onclick=\"add_image('" + id + "')\" class=icon_button style=\"cursor:hand;\"></td>" + 
			"<td><img src=\"/i/del.gif\" id=" + id + "_d_" + array[i].num + " width=16 height=16 alt=\"Удалить картинку\" onclick=\"del_image('" + id + "', '" + array[i].num + "')\" class=icon_button style=\"cursor:hand;display:none;\"></td>" + 
			"</tr></table></div>";
	}

	return html;
}

function add_image(id)
{
	if (!image_struct[id]) image_struct[id] = { last: 0, count: 0 };

	var array = [];

	var xml = document.all(id);
	var child = xml.firstChild;

	while (child) {
		if (child.tagName == "DIV") {
			var num = child.id.substr(id.length + 1);
			var value = document.all(id + "_i_" + num).value;

			array.push({ num: num, value: value });
		}

		child = child.nextSibling;
	}

	array.push({ num: image_struct[id].last, value: "" });

	xml.innerHTML = get_image_html(id, array);

	image_struct[id].last++;
	image_struct[id].count++;

	for (var i in array) {
               //alert(i);
		var obj = document.all(id + "_i_" + array[i].num);
		obj.value = array[i].value;

		var del = document.all(id + "_d_" + array[i].num);
		del.style.display = image_struct[id].count > 1 ? "inline" : "none";
	}
}

function del_image(id, del)
{
	var array = [];

	var xml = document.all(id);
	var child = xml.firstChild;

	while (child) {
		if (child.tagName == "DIV") {
			var num = child.id.substr(id.length + 1);

			if (num == del) {
				image_struct[id].count--;
			} else {
				var value = document.all(id + "_i_" + num).value;

				array.push({ num: num, value: value });
			}
		}

		child = child.nextSibling;
	}

	xml.innerHTML = get_image_html(id, array);

	for (var i in array) {
		var obj = document.all(id + "_i_" + array[i].num);
		obj.value = array[i].value;

		var del = document.all(id + "_d_" + array[i].num);
		del.style.display = image_struct[id].count > 1 ? "inline" : "none";
	}
}

function get_period_html(id, array)
{
	var html = "";
//	alert('Тут');
	for (var i in array) {
                ht1="<td><img src=\"/i/new.gif\" width=16 height=16 alt=\"Добавить картинку\" onclick=\"add_period('" + id + "')\" class=icon_button style=\"cursor:hand;\"></td>";  
                ht2="<td><img src=\"/i/del.gif\" id=" + id + "_d_" + array[i].num + " width=16 height=16 alt=\"Удалить картинку\" onclick=\"del_period('" + id + "', '" + array[i].num + "')\" class=icon_button style=\"cursor:hand;display:none;\"></td>";  
                if (i>0) {ht1="";}
                //alert(ht2);
		html += "<div id=" + id + "_" + array[i].num + "><table cellspacing=0 border=0><tr>" + 
			"<td><input type=text name=" + id + "_f_" + array[i].num + " id=" + id + "_f_" + array[i].num + " maxlength=10 readonly=1 class=date></td>" +
			"<td><img src=\"/img/calendar.gif\" width=24 height=24 alt=\"Выбрать дату\" onclick=\"select_date('" + id + "_f_" + array[i].num + "')\" class=icon_button style=\"cursor:hand;\"></td>" + 
			"<td>&nbsp;&nbsp;-&nbsp;&nbsp;</td>" +
			"<td><input type=text name=" + id + "_t_" + array[i].num + " id=" + id + "_t_" + array[i].num + " maxlength=10 readonly=1 class=date></td>" +
			"<td><img src=\"/img/calendar.gif\" width=24 height=24 alt=\"Выбрать дату\" onclick=\"select_date('" + id + "_t_" + array[i].num + "')\" class=icon_button style=\"cursor:hand;\"></td>" + 
			ht1+ht2+
			"</tr></table></div>";
	}

	return html;
}

function add_period(id, begin, end)
{
	if (!date_struct[id]) date_struct[id] = { last: 0, count: 0 };

	if (!begin) begin = "";
	if (!end) end = "";

	var array = [];

	var xml = document.all(id);
	var child = xml.firstChild;

	while (child) {
		if (child.tagName == "DIV") {
			var num = child.id.substr(id.length + 1);
			var value = document.all(id + "_f_" + num).value;
			var value_2 = document.all(id + "_t_" + num).value;

			array.push({ num: num, value: value, value_2: value_2 });
		}

		child = child.nextSibling;
	}

	array.push({ num: date_struct[id].last, value: begin, value_2: end });

	xml.innerHTML = get_period_html(id, array);

	date_struct[id].last++;
	date_struct[id].count++;

	for (var i in array) {
		var obj = document.all(id + "_f_" + array[i].num);
		obj.value = array[i].value;

		var obj_2 = document.all(id + "_t_" + array[i].num);
		obj_2.value = array[i].value_2;

		var del = document.all(id + "_d_" + array[i].num);
		del.style.display = date_struct[id].count > 1 ? "inline" : "none";
	}
}

function del_period(id, del)
{
	var array = [];

	var xml = document.all(id);
	var child = xml.firstChild;

	while (child) {
		if (child.tagName == "DIV") {
			var num = child.id.substr(id.length + 1);

			if (num == del) {
				date_struct[id].count--;
			} else {
				var value = document.all(id + "_f_" + num).value;
				var value_2 = document.all(id + "_t_" + num).value;

				array.push({ num: num, value: value, value_2: value_2 });
			}
		}

		child = child.nextSibling;
	}

	xml.innerHTML = get_period_html(id, array);

	for (var i in array) {
		var obj = document.all(id + "_f_" + array[i].num);
		obj.value = array[i].value;

		var obj_2 = document.all(id + "_t_" + array[i].num);
		obj_2.value = array[i].value_2;

		var del = document.all(id + "_d_" + array[i].num);
		del.style.display = date_struct[id].count > 1 ? "inline" : "none";
	}
}

function select_date(id)
{
	show_calendar('document.all.'+id, document.all(id).value);
}

function select_date_2(id, ts)
{
	var calendar = document.all.calendar;

	var date;

	if (!ts) {
		var obj = document.all(id);
		var value = obj.value;

		var array = value.split(".");

		if (array.length == 3) date = new Date(Number(array[2]), Number(array[1]) - 1, Number(array[0]));
		else date = new Date();

		date.setDate(1);

		calendar._obj = obj;

	} else if (ts == -1) {
		date = new Date(calendar._date);
		date.setMonth(date.getMonth() - 1);

	} else if (ts == -2) {
		date = new Date(calendar._date);
		date.setFullYear(date.getFullYear() - 1);

	} else if (ts == 1) {
		date = new Date(calendar._date);
		date.setMonth(date.getMonth() + 1);

	} else if (ts == 2) {
		date = new Date(calendar._date);
		date.setFullYear(date.getFullYear() + 1);
	}

	calendar._date = date.getTime();

	var month = date.getMonth();
	var year = date.getFullYear();

	document.all.cal_t.innerHTML = "<B>" + month_names[month] + " " + year + "</B>";

	var day_shift = 2 - date.getDay();

	if (day_shift == 2) day_shift = -5;

	date.setDate(day_shift);

	for (var i=1; i<=35; i++) {
		var obj_2 = document.all("cal_" + i);

		var day = date.getDate();
		if (day < 10) day = "0" + day;

		var month = date.getMonth() + 1;
		if (month < 10) month = "0" + month;

		var year = date.getFullYear();

		obj_2.innerHTML = date.getDate();
		obj_2.style.cursor = "hand";

		obj_2._obj = calendar._obj;
		obj_2._value = day + "." + month + "." + year;

		obj_2.onclick = function() {
			this._obj.value = this._value;
			document.all.calendar.style.visibility = "hidden";
			if (this._obj.onchange) this._obj.onchange();
		}

		date.setDate(date.getDate() + 1);
	}

	if (!ts) {
		var x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft - 20;
		var y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop - 70;

		calendar.style.left = x + "px";
		calendar.style.top = y + "px";

		calendar.style.visibility = "visible";
	}
}

function get_text_html(id, array)
{
	var html = "";
        //alert('Тут');
	for (var i in array) {
		html += "<div id=" + id + "_" + array[i].num + "><table cellspacing=0><tr>" + 
 			"<td><img src=\"/i/new.gif\" width=16 height=16 alt=\"Добавить поле\" onclick=\"add_text('" + id + "')\" class=icon_button style=\"cursor:hand;\"></td>" + 
      		        "<td><input type=text name=" + id + "_i_" + array[i].num + " id=" + id + "_f_" + array[i].num + " maxlength=250 class=middle></td>" +
			"<td><img src=\"/i/del.gif\" id=" + id + "_d_" + array[i].num + " width=16 height=16 alt=\"Удалить поле\" onclick=\"del_text('" + id + "', '" + array[i].num + "')\" class=icon_button style=\"cursor:hand;display:none;\"></td>" + 
			"</tr></table></div>";
	}

	return html;
}

function add_text(id)
{
	if (!text_struct[id]) text_struct[id] = { last: 0, count: 0 };

	var array = [];

	var xml = document.all(id);
	var child = xml.firstChild;

	while (child) {
		if (child.tagName == "DIV") {
			var num = child.id.substr(id.length + 1);
			var value = document.all(id + "_f_" + num).value;

			array.push({ num: num, value: value });
		}

		child = child.nextSibling;
	}

	array.push({ num: text_struct[id].last, value: "" });

	xml.innerHTML = get_text_html(id, array);

	text_struct[id].last++;
	text_struct[id].count++;

	for (var i in array) {
		var obj = document.all(id + "_f_" + array[i].num);
		obj.value = array[i].value;

		var del = document.all(id + "_d_" + array[i].num);
		del.style.display = text_struct[id].count > 1 ? "inline" : "none";
	}
}

function del_text(id, del)
{
	var array = [];

	var xml = document.all(id);
	var child = xml.firstChild;

	while (child) {
		if (child.tagName == "DIV") {
			var num = child.id.substr(id.length + 1);

			if (num == del) {
				text_struct[id].count--;
			} else {
				var value = document.all(id + "_f_" + num).value;

				array.push({ num: num, value: value });
			}
		}

		child = child.nextSibling;
	}

	xml.innerHTML = get_text_html(id, array);

	for (var i in array) {
		var obj = document.all(id + "_f_" + array[i].num);
		obj.value = array[i].value;

		var del = document.all(id + "_d_" + array[i].num);
		del.style.display = text_struct[id].count > 1 ? "inline" : "none";
	}
}

function SetCookie(cookie, str) {
	document.cookie = cookie+"="+escape(str)+"; path=/; expires=Fri, 01-Jan-2010 00:00:00 GMT";
}

function GetCookie(cookie) {
	var i1 = document.cookie.indexOf(cookie+"=");
	if(i1<0) return "";
	i1 += cookie.length+1;
	var i2 = document.cookie.indexOf(";", i1);
	if(i2<0) i2 = document.cookie.length;
	return unescape(document.cookie.substring(i1, i2));
}

function clear_houses()
{
	SetCookie('favh', '');
	location.reload();
}

function clear_tours()
{
	SetCookie('favt', '');
	location.reload();
}
