function getCachedElement(elementKey)
{
if (cacheGETEDelements[elementKey])
	{
	return true;
	}
else return false;
}

function sendPost(postdata, elementId)
{
$.ajax({
	url: "/getdata.php",
	data:{type: postdata},
	type: "POST",
	dataType: "json",
	timeout: 3600,
	beforeSend: function(obj){
		setDisabledFeeld(elementId);
		if (postdata == "")setDisabledFeeld(elementId + "_m");
		},
	success: function(getedData){
		
		//$("#" +elementId).change(function() {  alert("hh");   });
		cacheGETEDelements[getedData.elementID] = getedData.data;
		setElementValues(elementId, cacheGETEDelements[getedData.elementID], postdata);
		setEnabledFeeld(elementId);
		},
	error: function(obj,err){
		alert("Ошибка запроса!!! Введите название вручную");
		replaceElement(elementId)}
	});
	
}


function setDisabledFeeld(feeldID)
{
$("#" + feeldID).attr("disabled", true);
}

function setEnabledFeeld(feeldID)
{
$("#" + feeldID).removeAttr("disabled");
}

function setElementValues(elementId, values, modelID)
{
if ($("#" + elementId).attr("type") != "select-one")
{  
	restoreElement(elementId);
	$("#" + elementId + "_m_btn").css("display","inline");
}

$("#" + elementId).empty();
$.each(values, function(){
	$("#" + elementId).append( $('<option value="' + this[1] + '">' + this[0] + '</option>'));
	});

if (modelID == 0)
{
	//alert("Первая точка " + modelID);   
	$("#" + elementId).bind("change", function(){ getFeeldData(elementId, $("#" + elementId + " :selected").val());  });
}

setEnabledFeeld(elementId);
}

function replaceElement(feeldID)
{
$("#" + feeldID).unbind("change");
var elementName = $("#" + feeldID).attr("name");

$("#" + feeldID).replaceWith("<input type=\"text\" name=\"" + elementName + "\" id=\"" + feeldID + "\" style=\"width:80%\" />");
setEnabledFeeld(feeldID);
}



function restoreElement(feeldID)
{
var elementName = $("#" + feeldID).attr("name");

$("#" + feeldID).replaceWith("<select name=\"" + elementName + "\" id=\"" + feeldID + "\" style=\"width:80%\"></select>");
}

function alterButton(feeldID)
{
$("#" + feeldID + "_btn").replaceWith('<a href="#" id="' + feeldID + '_btn" title="Выбрать название из списка"><img src="/img/list_b.png" alt="Выбрать название из списка" style="margin-top:3px" border="0" /></a>');
}


function originButton(feeldID)
{
$("#" + feeldID + "_btn").replaceWith('<a href="#" id="' + feeldID + '_btn" title="Ввести название вручную"><img src="/img/list.png" alt="Ввести название вручную" style="margin-top:3px" border="0" /></a>');
}


function removeElement(elementId)
{
$("#" + elementId).remove();
}
function unbindEvents(feeldID)
{
	$("#" + feeldID).unbind("change");
}

function bindEvents(feeldID)
{
	$("#" + feeldID).unbind("change");
}

function getFeeldData(feeldID, modelID)
{
	
	if (modelID > 0) feeldID = feeldID + "_m";
	
	if (modelID == "_"){
		setElementValues(feeldID + "_m", {"a1":["Сначала нужно выбрать марку","Марка не выбрана"]})
		setDisabledFeeld(feeldID + "_m");
		return false;
	}
	
	
	setDisabledFeeld(feeldID);
	
	
	if (!getCachedElement(modelID))
	{
		sendPost(modelID, feeldID);
		//alert("no cache");
	 }
	 else
	 {
		setElementValues(feeldID, cacheGETEDelements[modelID], modelID);
		//alert("cache");
	 }
	
	

}

function clickBinder(feeldID, keyID)
{
$("#" + feeldID + "_btn").bind("click", function(){
	replaceElement(feeldID);
	$("#" + feeldID + "_btn").css("display","none");
	//alterButton(feeldID)
	if (keyID == 0){
		replaceElement(feeldID + "_m");
		//alterButton(feeldID + "_m")
		$("#" + feeldID + "_m" + "_btn").css("display","none");
	}
	
	
	return false;
	});
	return false;
}

function remClickBinder(blockId)
{
$("#rem_" + blockId).bind("click", function(){   $("#block_" + blockId).remove(); return false;});
return false;
}

function alterClickBinder(feeldID, keyID)
{
$("#" + feeldID + "_btn").bind("click", function(){
	originButton(feeldID);
	getFeeldData(feeldID, keyID);
	if (keyID == 0){
		getFeeldData(feeldID + "_m", "_");
		originButton(feeldID + "_m");
	}
	
	
	return false;
	});
	return false;
}


function newBlock(postElementId)
{
blockId = ++blockId;

var newBlockId = "block_" + blockId;

var blockHTML = "<table class=\"autoinputtable\" width=\"80%\" cellpadding=\"0\" cellmargin=\"0\" border=\"0\" style=\"margin-top:20px;border-top:1px solid #5E6C87;\" id=\"" + newBlockId + "\">" +
"<tr><td width=\"50%\"><p>Марка</p></td><td width=\"50%\"><p>Модель <a href=\"#\" id=\"rem_" + blockId + "\" style=\"float:right\" title=\"Закрыть блок\"><img src=\"/img/close.png\" alt=\"закрыть блок\" border=\"0\"></a></p></td></tr><tr><td width=\"50%\">" +
"<select name=\"mark[]\" id=\"node" + blockId + "\" style=\"width:80%\"><option value=\"\"></option></select>" +
" <a href=\"#\" id=\"node" + blockId + "_btn\" title=\"Ввести название вручную\"><img src=\"/img/list.png\" align=\"top\" alt=\"Ввести название вручную\" style=\"margin:2px 10px 0 5px\" border=\"0\" /></a></td>" +
"<td width=\"50%\"><select name=\"model[]\" id=\"node" + blockId + "_m\" style=\"width:80%\"><option value=\"\">Сначала нужно выбрать марку</option></select>" +
"<a href=\"#\" id=\"node" + blockId + "_m_btn\" title=\"Ввести название вручную\"><img src=\"/img/list.png\" alt=\"Ввести название вручную\" style=\"margin:2px 10px 0 5px\" border=\"0\" /></a>" +
"</td></tr><tr><td width=\"50%\"><p style=\"margin-top:20px\">Год выпуска</p></td><td width=\"50%\"><p style=\"margin-top:20px\">Стоимость</p></td></tr>" +
"<tr><td width=\"50%\"><input type=\"text\" name=\"yearm[]\" style=\"width:80%\" /></td><td width=\"50%\"><input type=\"text\" name=\"stoimost[]\" style=\"width:80%\" /></td></tr></table>";

$("#" + postElementId).before(blockHTML);

getFeeldData("node" + blockId, 0);
clickBinder("node" + blockId, 0);
clickBinder("node" + blockId + "_m");
remClickBinder(blockId);
}

function AddCasco(element) {

casko_block_id++;

var newBlockId = "casko-bl-" + casko_block_id;


newitem  = '<table class="form-table casko-block" id="block_' + newBlockId  + '"><tr>';
newitem += '<td class="lcoll"><label>Минимальный возраст среди всех допускаемых к управлению лиц</label></td>';
newitem += '<td class="rcoll"><a href="#" id="rem_' + newBlockId + '" style="float:right" title="Закрыть блок"><img src="/img/close.png" alt="закрыть блок" border="0"></a> <label>Минимальный стаж вождения среди всех допускаемых к управлению лиц</label></td>';
newitem += '</tr><tr>';
newitem += '<td class="lcoll"><input type="text" name="vozrast[]" /></td>';
newitem += '<td class="rcoll"><input type="text" name="stage[]" /></td>';
newitem += '</tr></table>';

$("#" + element + "-btn").before(newitem);
remClickBinder(newBlockId);

}
