﻿//меняет asc на desc при последующих вызовах,
//при первом выхове выставляет направление на значение directionValueParam
function SetSortField(sortNameParam, sortValueParam, directionNameParam, directionValueParam, directions) 
{
	var currDirection = GetQueryParam(directionNameParam, null);
	var currSortField = GetQueryParam(sortNameParam, null);
	if (sortValueParam != currSortField) {
		// Изменилась сортировки
		currDirection = directionValueParam;
		
	}
	else {
		if (currDirection == "") {
			// направления не было. Ставим то что пришло на вход
			currDirection = directionValueParam;
		}
		else {
			// Иначе меняем нпа противоположное
			currDirection = currDirection == directions.asc ? directions.desc : directions.asc;
		}
	}
	// добавляем поле сортировки
	var url = SetQueryParam(sortNameParam, sortValueParam, null);
	// добавляем направление
	url = SetQueryParam(directionNameParam, currDirection, url);
	window.location.href = SetQueryParam("pg", 1, url);
}

//control - название поля по которому нужна сортировка
function SetSortControlInField(sortNameParam, control, directionNameParam, directions, directionsToDesc) {
	var currDerection = directions.asc;
	var i = 0;
	for (i = 0; i < directionsToDesc.length; i++) {
		if (control.value == directionsToDesc[i]) {
			currDerection = directions.desc;
			break;
		}
	}
	SetSortField(sortNameParam, control.value, directionNameParam, currDerection, directions);
}

function SetParamsAndRedirect(control, nameParam) {
	var url = SetQueryParam(nameParam, control.value, null);
	window.location.href = SetQueryParam("pg", 1, url);
}

function ChangeRealtyAndTransaction(currControlId, realtyList, transactionList, queryParamRealty, queryParamTransaction, queryParamListingId) {
	var realtyValue = realtyList.value;
	var transactionValue = transactionList.selectedIndex == 0 ? "" : transactionList.value;
	if (currControlId == realtyList.id) {
		transactionList.selectedIndex = 0;
		if (transactionValue == "")
			return;
		transactionValue = "";
	}
	var url = SetQueryParam(queryParamRealty, realtyValue, null);
	url = SetQueryParam(queryParamListingId, "", url);
	window.location.href = transactionList.form.action + SetQueryParam(queryParamTransaction, transactionValue, url);
}

function SetPremium(control, id) {


	$.ajax({
		type: "POST",
		url: "/WebServices/WSListing.asmx/SetPremium",
		contentType: "application/json; charset=utf-8",
		data: '{"listingId":"' + id + '",' +
				'"isPremium":"' + control.checked + '"}',
		dataType: "json",
		success: function(result) { },
		error: function(error) {
			alert(error);
		}
	});
	
}


//----------- IMAGE UPLOAD ----------------------------------

// Загружаем новую картинку
function LoadUploader(inputId, curremail, divResultId, divWaitId, settings) {
	var url = SetQueryParam(settings.queryParamId, settings.id, "");
	$("#" + inputId).uploadify(
		{
			'uploader': '/img/uploadify.swf',
			'script': settings.uploadUrl + url,
			'folder': settings.ListingPath,
			'cancelImg': '/img/cancel.png',
			'buttonImg': '/img/addImg.png',
			'fileDesc': 'Файли изображений(*.jpg;*.jpeg;*.png;*.gif)',
			'fileExt': '*.jpg;*.jpeg;*.png;*.gif',
			'scriptData': { email: curremail},
			'sizeLimit': '5242880',
			'auto': true,
			'width': 180,
			'multi': true,
			'onProgress': function() { $("#" + divWaitId).show() },
			'onComplete': function(event, queueID, fileObj, response, data) {
				if (response == "error") {
					$("#" + settings.DivErrorId).show();
					return false;
				}
				else {
					var deleteFunc = GetDeleteFunction(settings, response);
					$("#" + divResultId).append(AppendImage(queueID, settings.fakeUrl, response, deleteFunc, GetSelectedImage(response)));
				}
			},
			'onAllComplete': function() { $("#" + divWaitId).hide(); }

		});
}

function GetSelectedImage(image)
{
	var hidden = $('input[name="firstImageName"]');
	if (hidden[0].value == "") {
		hidden[0].value = image;
		return true;
	}
	return hidden[0].value == image;
}
// Удаляем картинку
function DeleteImage(control, deleteUrl, diverrorId) {
	if (confirm("Вы действительно хотите удалить изображение?")) {
		$.ajax({
			type: "POST",
			url: deleteUrl,
			contentType: "application/json; charset=utf-8",
			dataType: "json",
			success: function(dataObj) {
				$(control).parent().hide();
				$("#" + diverrorId).hide();
				ChangeFirst();
				alert("Изображение удалено");
			},
			error: function(XMLHttpRequest, textStatus, errorThrown)
			{ alert(errorThrown); }
		});
	}
	
}

// загрузка существующих картинок.
function LoadImages(divResultId, settings) 
{
	var i = 0;
	if (settings.images != null) {
		settings.images.sort();
		for (i = 0; i < settings.images.length; i++) {
			var deleteFunc = GetDeleteFunction(settings, settings.images[i]);
			$("#" + divResultId).append(AppendImage(i, settings.imageUrl, settings.images[i], deleteFunc, settings.images[i] == settings.FirstImage));
		}
	}
	
}

// Добавляем картинку для отображения
function AppendImage(id, url, image, removeFunc, checked) {
	var styleImg = checked ? "cursor:pointer;width:68px;border:3px solid #d5d1c8" : "cursor:pointer;width:68px;border:3px solid #FFF";
	var result = "<span style='white-space: nowrap vertical-aling:middle;'>";
	result += "<img name=\"userimg\" onclick=\"javascript:ChangeFirstImage(this);\" id='" + id + "' src='" + url + image + "' style='" + styleImg + "' />";
	result += "&nbsp;<img src=\"/img/delete.gif\" style=\"align:left;cursor:pointer;\" onclick=\"javascript:" + removeFunc + "\" />&nbsp;";
	result += "</span> ";
	return result;
}

// формируем функцию для удаления
function GetDeleteFunction(settings, imageName) {
	var params = SetQueryParam(settings.queryParamId, settings.id, null);
	params = SetQueryParam(settings.queryParamImage, imageName, params);
	params = SetQueryParam(settings.queryRealtyType, settings.realtyType, params)
	return "DeleteImage(this,'" + settings.deleteUrl + params +"','" + settings.DivErrorId +  "')";
}

function ChangeFirstImage(selecteImage) {
	var firstList = $('img[name="userimg"]');
	for (i = 0; i < firstList.length; i++) {
		firstList[i].style.cssText = "cursor:pointer;width:68px;border:3px solid #FFF";
	}
	selecteImage.style.cssText = "cursor:pointer;width:68px;border:3px solid #d5d1c8";
	SetInHidden(GetNameByHref(selecteImage.src));
}
function ChangeFirst() {
	var flag = false;
	var firsiIndex = -1;
	var firstList = $('img[name="userimg"]');
	for (i = 0; i < firstList.length; i++) {
		if ($(firstList[i]).parent()[0].style.display == "none") {
			firstList[i].style.cssText = "cursor:pointer;width:68px;border:3px solid #FFF";
		}
		else {
			if (firsiIndex == -1)
				firsiIndex = i;
			if (firstList[i].style.cssText.indexOf("#d5d1c8") > -1) {
				flag = true;
				SetInHidden(GetNameByHref(firstList[i].src));
			}
		}
	}

	if (!flag && firstList.length > 0 && firsiIndex > -1) {
		firstList[firsiIndex].style.cssText = "cursor:pointer;width:68px;border:3px solid #d5d1c8";
			flag = true;
			SetInHidden(GetNameByHref(firstList[firsiIndex].src));
	}
	return false;
}
function SetInHidden(imgName) {
	
	var hidden = $('input[name="firstImageName"]');
	hidden[0].value = imgName;
}

function GetNameByHref(href) {
	return href.substring(href.lastIndexOf("/") + 1);	
}

//-----------END  IMAGE UPLOAD ----------------------------------
//-----------LISTING HINTS---------------------------------------
function ShowBuildingTypeHint(control, listId, prefix)
{
    var list = document.getElementById(listId);

    if (list == null || list.value == 0)
    {
		ShowHint(control, "");
		return;
	}

	var hidden = document.getElementById(prefix + list.value);

	if (hidden == null) {
		ShowHint(control, "");
		return;
    }

	ShowHint(control, hidden.value);
}

function ShowHint(control, text) {
	var api = $(control).simpletip({
		position: 'right',
		content: text,
		baseClass: 'tooltipFilter'
	}).show();
	if (api.length == undefined)
		api.update(text);
}
//-----------END HINTS---------------------------------------

function SinglBuildingClick(curr, IsBasementTdId) {
	var basement = $('#' + IsBasementTdId + ' > input')[0];
	if (curr.checked) {
		// Нужно прятать цоколь
		basement.checked = false;
		$("#" + IsBasementTdId).hide();
	}
	else
		$("#" + IsBasementTdId).show();
}

function BuildingTypeHintParentChange(ddList, hintId) {
	if (ddList.id.indexOf("BuildingTypeId") > -1) {
		if (ddList.value == 10) {
			$("#" + hintId).hide();
			return;
		}
			
	}
	if (ddList.value == 0)
		$("#" + hintId).hide();
	else
		$("#" + hintId).show();
}

function MiddlemanChange(cb, ddlId, tbId, rowId) {
	if (cb.checked) {
		$("#" + rowId).show();
		
	}
	else {
		$("#" + rowId).hide();
		var ddl = document.getElementById(ddlId);
		if (ddl != null)
			ddl.value = "0";
		var tb = document.getElementById(tbId);
		if (tb != null)
			tb.value = "";
	}
}

function ShowTopImage(url) { 
$("#topPriceUp")[0].src = url;
$("#topPriceUp").show();
}