/* KVARTIRA.JS
(C) Copyright 2008, AS Tehinvest
All rights are reserved */

var next_photo_id=0;
var photo_urls={};
var imgLoading=new Image();
imgLoading.src='./img/ajax_loading_big.gif';

function createPhotoTip(elem,url) {
	if (!yh_tt || !elem || elem.tt_div ) return ; // already initialized or not ready to initialize yet.
	var photo_id=photo_urls[url];
	if (!photo_id) {
		photo_id=++next_photo_id;
		photo_urls[url]=photo_id;
	}
	if ( !YDom.get('photo_tooltip_for_'+photo_id)) {
		var i;
		i=new Image();
		i.src=url;
		var d=document.createElement ('div');
		d.className='tooltip';
		d.id='photo_tooltip_for_'+photo_id;
		var img=document.createElement ('img');
		img.id='photo_for_'+photo_id;
		img.src=imgLoading.src;
		d.appendChild(img);
		var span=document.createElement ('div');
		span.innerHTML = "Пожалуйста, подождите!";
		span.id='photo_tooltip_text_for_'+photo_id;
		span.className='text';
		d.appendChild(span);
		document.body.appendChild(d);
		YEvent.on ( i, 'load', function(e) {
			var img = YDom.get('photo_for_'+photo_id);
			img.src = i.src;
			img.width = i.width;
			img.height = i.height;
			el = document.getElementById(span.id);
			el.parentNode.removeChild(el);
		} );
	}
	createTip (elem, 'photo_tooltip_for_'+photo_id, false );
}

var ajaxTime = new Date().getTime();
function showPhoto(photo_id, photo_num) {
	/*var photo_id = 201;
	var photo_num = 1;*/
	if ( !YDom.get('photo_preview_for_'+photo_id+'_'+photo_num)) {
		var i;
		i=new Image();
		i.src='./image.php?a=estate&ID='+photo_id+'&n='+photo_num+'&s=l&time='+ajaxTime;
		var d=document.createElement ('div');
		d.className='preview_box';
		d.id='photo_preview_for_'+photo_id+'_'+photo_num;
		var img=document.createElement ('img');
		img.id='photo_for_'+photo_id+'_'+photo_num;
		img.src=imgLoading.src;
		d.appendChild(img);
		var span=document.createElement ('div');
		span.innerHTML = "Пожалуйста, подождите!";
		span.id='photo_preview_text_for_'+photo_id+'_'+photo_num;
		span.className='text';
		d.appendChild(span);
		var previewPhotos = document.getElementById("previewPhotos");
		previewPhotos.appendChild(d);
		YEvent.on ( i, 'load', function(e) {
			var img = YDom.get('photo_for_'+photo_id+'_'+photo_num);
			img.src = i.src;
			img.width = i.width;
			img.height = i.height;
			el = document.getElementById(span.id);
			el.parentNode.removeChild(el);
		} );
	}
	var div = document.getElementById('photo_preview_for_'+photo_id+'_'+photo_num);
	div.style.display = 'block';
}

function hidePhoto(photo_id, photo_num) {
	var div = document.getElementById('photo_preview_for_'+photo_id+'_'+photo_num);
	div.style.display = 'none';
}

function updateSeller(deal) {
	var span = document.getElementById('sellerName');
	switch (deal) {
		case "1": span.innerHTML = "Имя продавца"; break;
		case "2": span.innerHTML = "Имя покупателя"; break;
		case "3": span.innerHTML = "Инициатор обмена"; break;
		case "4": span.innerHTML = "Наймодатель"; break;
		case "5": span.innerHTML = "Наниматель"; break;
		default: span.innerHTML = "Контактное лицо"; break;
	}
}

function addNextImage(num) {
	if (num>6) return;
	var prev_id = num-1;
	var next_id = num+1;
	var span = document.getElementById('image'+prev_id+'_text');
	var uploadImages = document.getElementById("uploadImages");
	span.parentNode.removeChild(span);
	var d=document.createElement ('div');
	d.id='image'+num;
	//d.style.width="170px";
	//if (num==6) d.style.paddingBottom="20px";
	var html = 'Изображение '+num+':<div class="userfile"><input type="file" class="image" name="userfile'+num+'" /></div><div id="image'+num+'_text" class="nextlink">';
	if (num<6) html +='<a href="javascript:addNextImage('+next_id+');">Добавить следующее</a>';
	html += '</div>';
	d.innerHTML = html;
	d.style.display = 'none';
	//d.style.visible = 'hidden';
	uploadImages.appendChild(d);
	new Effect.Opacity(d.id,{duration:0, from:0, to:0, afterFinish: function() {
		d.style.display = 'block';
	} });
	setTimeout(function() {
		new Effect.Appear(d.id,{duration:0.5, from:0, afterFinish: function() {
			//d.style.display = 'block';
		} });
	}, 250);
}

var toggledComments = 0;
function toggleComments() {
    if (toggledComments == 2) return;
    var div = document.getElementById("comments_div");
    var text = document.getElementById("comments_text");
    var textbox = document.getElementById("comments_textbox");

    if (toggledComments == 0) {
        toggledComments = 2;
        /*setTimeout(function() {
        new Effect.ScrollTo('comments_text');
        }, 250);*/

        new Effect.SlideDown('comments_div',{duration:1, from:0, afterFinish: function() {
            toggledComments = 1;
            textbox.focus();
            div.style.display = 'block';
            text.innerHTML = 'Удалить комментарий';
        } });
    } else {
        toggledComments = 2;
        new Effect.SlideUp('comments_div',{duration:1, from:0, afterFinish: function() {
            textbox.value = '';
            count('comments_textbox');
            toggledComments = 0;
            text.innerHTML = 'Оставить комментарий';
        } });
    }
}

var toggledAdditionalText = 0;
function toggleAdditionalText() {
    if (toggledAdditionalText == 2) return;
    var div = document.getElementById("text");
    var text = document.getElementById("additional_text");
    var textbox = document.getElementById("textbox");

    if (toggledAdditionalText == 0) {
        toggledAdditionalText = 2;
        new Effect.SlideDown('text',{duration:1, from:0, afterFinish: function() {
            toggledAdditionalText = 1;
            textbox.focus();
            div.style.display = 'block';
            text.innerHTML = 'Удалить развёрнутое описание';
        } });
    } else {
        toggledAdditionalText = 2;
        new Effect.SlideUp('text',{duration:1, from:0, afterFinish: function() {
            textbox.value = '';
            count('textbox');
            toggledAdditionalText = 0;
            text.innerHTML = 'Добавить развёрнутое описание';
        } });
    }
}

var toggledAdditionalParams = 0;
function toggleAdditionalParams() {
    if (toggledAdditionalParams == 2) return;
    var div = document.getElementById("params");
    var text = document.getElementById("additional_params");

    if (toggledAdditionalParams == 0) {
        toggledAdditionalParams = 2;
        new Effect.SlideDown('params',{duration:1, from:0, afterFinish: function() {
            toggledAdditionalParams = 1;
            div.style.display = 'block';
            text.innerHTML = 'Скрыть дополнительные параметры';
        } });
    } else {
        toggledAdditionalParams = 2;
        new Effect.SlideUp('params',{duration:1, from:0, afterFinish: function() {
            toggledAdditionalParams = 0;
            text.innerHTML = 'Выбрать дополнительные параметры';
        } });
    }
}

var toggledStats = 0;
function toggleStats() {
    if (toggledStats == 2) return;
    var div = document.getElementById("stats");
    var text = document.getElementById("stats_text");

    if (toggledStats == 0) {
    	div.style.display = 'block';
        text.innerHTML = 'Скрыть подробную статистику';
    	toggledStats = 1;
    } else {
    	div.style.display = 'none';
        text.innerHTML = 'Показать подробную статистику';
        toggledStats = 0;
    }
}

function navigate(URL) {
	window.location.href = URL;
}

function showID(ID){
	document.getElementById(ID).style.display = 'block';
}

function hideID(ID){
	document.getElementById(ID).style.display = 'none';
}

function count(ID, max){
	var text = document.getElementById(ID).value;
	if( (max - text.length) < 0 ) {
		document.getElementById(ID).value = text.substr(0, max);
		document.getElementById('count').innerHTML = "0";
	} else {
		document.getElementById('count').innerHTML = (max - text.length);
	}
}

function confirmDelete(type, name) {
	if (confirm('Вы уверены, что хотите удалить '+type+' \''+name+'\'?')) return true;
	return false;
}

function reloadCaptcha() {
	var captcha = document.getElementById("captcha");
	var captchaimg = document.getElementById("captchaimg");
	var pars = "ms="+new Date().getTime();
	captchaimg.src = "./captcha.php/?"+pars;
	return false;
}

function switchCheckAll(check_all) {
	var cond = check_all.checked;
	var checkboxes = document.getElementsByName(check_all.name);
	var total_boxes = checkboxes.length;
	for(i=0; i<total_boxes; i++) checkboxes[i].checked = cond;
}

function resetCheckAll(check, check_all_id) {
	var cond = check.checked;
	var check_all = document.getElementById(check_all_id);
	if (!cond) check_all.checked = false;
	else {
		var checkboxes = document.getElementsByName(check.name);
		var total_boxes = checkboxes.length;
		var all_selected = true;
		for(i=0; i<total_boxes; i++) {
			if (checkboxes[i].id != check_all_id && !checkboxes[i].checked) {
				all_selected = false;
				break;
			}
		}
		if (all_selected) check_all.checked = true;
	}
}

function selectFromAddressBook(el) {
	if (el.selectedIndex==0) $('username').value = 'Введите имя пользователя';
	else $('username').value = el[el.selectedIndex].value;
}

function checkMessageForm() {
	var message = $("message_textbox").value;
	var username = $("username").value;
	var topic = $("topic").value;
	if (username.blank() || username == "Введите имя пользователя") {
		$("username").value = "Введите имя пользователя";
		alert('Введите или выберите имя пользователя!');
		$("username").focus();
		$("username").select();
		return false;
	} else if (message.blank()) {
		alert('Введите сообщение!');
		$("message_textbox").value = "";
		$("message_textbox").focus();
		return false;
	} else if (topic.blank()){
		if (!confirm('Вы уверены, что хотите отправить сообщение, не заполнив тему сообщения?' )) {
			$("topic").value = "";
			$("topic").focus();
			return false;
		}
	}
	return true;
}

function toggleAdminPrivilegies(el) {
	for (i=1;i<=15;i++) {
		if ($('admin_priv'+i)) {
			if (el.selectedIndex==2) $('admin_priv'+i).show();
			else $('admin_priv'+i).hide();
		}
	}
}

function ajaxUploadImage(value, id) {
	$("images_wait_div").show();
	$('div_upload').hide();

	var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
        	ajaxTime = req.responseJS.time;
        	if ($('previewPhotos')) $('previewPhotos').remove();
        	$('previewPhotosContent').innerHTML = '<div ID="previewPhotos"></div>';
        	if ($('edit_images')) $('edit_images').remove();
			if ($('thumbs_images')) $('thumbs_images').innerHTML=req.responseJS.div1;
			if ($('images_div')) $('images_div').innerHTML=req.responseJS.div2;
			if ($('images_wait_div')) $('images_wait_div').hide();
			if (navigator.appName!="Opera") $('input_file').innerHTML=req.responseJS.div_input;
			if (req.responseJS.total_images>=6) $('div_upload').hide();
			else $('div_upload').show();
			if (req.responseJS.message && messageEffect) {
				messageEffect.cancel();
			}
			$('images_message_div').innerHTML = req.responseJS.message;
			setTimeout(function() {
				if ($("images_message_div")) {
					if ($('images_message_div')) $('images_message_div').show();
					messageEffect = new Effect.Opacity($("images_message_div"),{duration:2, from:1, to:0, afterFinish: function() {
						$("images_message_div").hide();
						messageEffect = null;
					} });
				}
			}, 1);
        }
    }
    req.open('POST', 'ajaximage.php', true);
    req.send( { q: value, "a": "upload", "ID": id } );
}

var messageEffect = null;
function ajaxRemoveImage(num, id) {
	$("images_wait_div").show();
	$('div_upload').hide();

	var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
        	ajaxTime = req.responseJS.time;
        	if ($('previewPhotos')) $('previewPhotos').remove();
        	$('previewPhotosContent').innerHTML = '<div ID="previewPhotos"></div>';
			if ($('edit_images')) $('edit_images').remove();
			if ($('thumbs_images')) $('thumbs_images').innerHTML=req.responseJS.div1;
			if ($('images_div')) $('images_div').innerHTML=req.responseJS.div2;
			if ($('images_wait_div')) $('images_wait_div').hide();
			if (navigator.appName!="Opera") $('input_file').innerHTML=req.responseJS.div_input;
			if (req.responseJS.total_images>=6) $('div_upload').hide();
			else $('div_upload').show();
			if (req.responseJS.message && messageEffect) {
				messageEffect.cancel();
			}
			$('images_message_div').innerHTML = req.responseJS.message;
			setTimeout(function() {
				if ($("images_message_div")) {
					if ($('images_message_div')) $('images_message_div').show();
					messageEffect = new Effect.Opacity($("images_message_div"),{duration:2, from:1, to:0, afterFinish: function() {
						$("images_message_div").hide();
						messageEffect = null;
					} });
				}
			}, 1);
        }
    }
    req.open('GET', 'ajaximage.php', true);
    req.send( { "a": "remove", "ID": id, "num": num} );
    $('userfile').value = "";
}