function showBlock(id_el, speed){
  $("#"+id_el).show(speed);
}
function hideBlock(id_el, speed){
  $("#"+id_el).hide(speed);
}

function visibleHidden(id_el){
  if($("#"+id_el).is(":hidden")) {
    showBlock(id_el, "normal");
  }
  else hideBlock(id_el, "normal");
}

function getElementPosition(elemId){
  var elem = document.getElementById(elemId);
  var w = elem.offsetWidth;
  var h = elem.offsetHeight;
  var l = 0;
  var t = 0;

  while (elem){
      l += elem.offsetLeft;
      t += elem.offsetTop;
      elem = elem.offsetParent;
  }
  return {"left":l, "top":t, "width": w, "height":h};
}
var quick_editor = function(url, idEl, idTextArea){
	var textOnSubmit = "Submit";
	var textOnCancel = "Cancel";
	var buttonSubmit = "<button onclick='return quick_submit(\""+ url +"\", \""+ idTextArea +"\", \""+ idEl +"\");'>"+textOnSubmit+"</button>";
	var buttonCancel = "<button onclick='quick_cancel(\""+ idEl +"\", \""+ idTextArea +"\"); return false;'>"+textOnCancel+"</button>"
	var innerHTML = $("#"+idEl).html();
	var form = $("<div class='form'><textarea class='comment_editor' id="+ idTextArea +">"+ innerHTML.replace(/<br>/, "\n") +"</textarea><br>"+buttonSubmit +""+buttonCancel+"</div>");
	$("#"+idEl).after(form).hide();
	
	
	
	
	return false;
}

var quick_submit = function(url_, idTextArea, idel){
	var u = url_;
	var text = $("#"+idTextArea).val();
	 $.ajax({
	   type: "POST",
	   url: url_,
	   data: {
	   	"idel": idel,
	   	"text": text
	   },
	   success: function(msg){
         $("#"+idel).html(text.replace(/\n/, "\n<br>")).show();
		 	$("#"+idTextArea).parent().remove();
	    alert( "Data Saved!");
	   }
	 });

}

var quick_cancel = function(idEl, idTextArea){
	$("#"+idTextArea).parent().remove();
	$("#"+idEl).show();
}

function getFullText(){
	var i = $("#wysiwygIFrame");
	var v = frames[0].document.body.innerHTML;
	$("#wysiwyg").text(v);
	$("#full_text_sub").trigger('click');
}

/*
Универсальная функция отрисовки селектов для моделей/вендоров/форматов
При вызове принимает параметры
	"type_id": id селекта со стандартом, обязательное
	"vendor_id": id селекта со вендором, обязательное
	"model_id":  id селекта со моделью, обязательное
	"custom_vendor":  id инпут type='text'. Если есть - показывается в списке вендоров поле - "другое" и отрисовывается кастом-инпут для ввода текста
	"selected_type": дефаулт-значение для стандарта
	"selected_vendor": дефаулт-значение для вендора
	"selected_model":  дефаулт-значение для модели
	"selected_custom": значение для кастом-инпута (используется при редактировании и обязательно использование аргумента custom_vendor и значение selected_vendor=-1)
	"show_preview": id картинки, которая является превьюхой для выбранной модели
*/
function selector_show(){
	if (arguments.length<1) return false;
	var args = arguments[0];
	//Создаем элемент
	
	$("#"+args['type_id']).append("<option value=''>-</option>");
	$("#"+args['type_id']).append("<option value='gsm'"+(args['selected_type'] && args['selected_type']=='gsm' ? "selected" : "")+">GSM</option>");
	$("#"+args['type_id']).append("<option value='cdma'"+(args['selected_type'] && args['selected_type']=='cdma' ? "selected" : "")+">CDMA</option>");
	$("#"+args['type_id']).append("<option value='tdma'"+(args['selected_type'] && args['selected_type']=='tdma' ? "selected" : "")+">TDMA</option>");
	
	//Вешаем событие, на изменение значения
	$("#"+args['type_id']).change(function(){
		//Если выбран какой-то пункт
		if ($(this).val()!=''){
			$("#"+args['vendor_id']).empty();
			$("#"+args['model_id']).empty();
			$("#"+args['vendor_id']).append("<option value=''>loading</option>");
			$("#"+args['vendor_id']).css({display:"block"});
			//Посылаем запрос на загрузку вендоров
			$.ajax({
				url:"/vendors.php",
				data:"type=vendors&id=" + $(this).val(),
				dataType: "json",
				success: createVendorList
			});
			if (args['custom_vendor']) $('#'+args['custom_vendor']).css({display:"none"});
		}
		else{
			$("#"+args['vendor_id']).empty();
			$("#"+args['model_id']).empty();
		}
	});
	
	//Ф-ция заполения списка вендоров, выполняемая после запроса
	var createVendorList = function(json){
		//Очищаем список
		$("#"+args['vendor_id']).empty();
		$("#"+args['vendor_id']).append("<option value=''>-</option>");

		//заливаем в него пришедшие элементы
		for(var i in json.params.items){
			$("#"+args['vendor_id']).append("<option value='" + json.params.items[i].url + "' "+(args['selected_vendor'] && args['selected_vendor']==json.params.items[i].url ? "selected" : "")+">" +json.params.items[i].text + "</option>");
		};

		if (args['custom_vendor']){
			$("#"+args['vendor_id']).append("<option value='-1'"+(args['selected_vendor'] && args['selected_vendor']=="-1" ? "selected" : "")+">другое</option>");
		}

		//Вешаем событие на выбор конкретного вендора
		$("#"+args['vendor_id']).change(function(){
			if (args['custom_vendor']) $('#'+args['custom_vendor']).css({display:"none"});
			if ($(this).val()!='' && $(this).val()!='-1'){
				$("#"+args['model_id']).empty();
				$("#"+args['model_id']).css({display:"block"});
				$("#"+args['model_id']).append("<option value=''>loading</option>");
				$.ajax({
					url:"/vendors.php",
					data:"type=models&id="+ $("#"+args['type_id']).val() +"&vendor=" + $(this).val(),
					dataType: "json",
					success: createModelList
				});
			}
			//Если передано в параметрах вводимый производитель - делаем форму для вводимой руками модели
			if ($(this).val()=='-1' && args['custom_vendor']){
				$('#'+args['custom_vendor']).css({display:"block"});
				$("#"+args['model_id']).empty();
				$("#"+args['model_id']).css({display:"none"});
				if (args['selected_custom']){
					$('#'+args['custom_vendor']).val(args['selected_custom']);
				}
			}
		});
		if (args['selected_vendor'] && args['selected_vendor']!=''){
			$("#"+args['vendor_id']).trigger('change');
		}
	};

	//Ф-ция создания списка моделей, выполняемая после аджакс-запроса
	var createModelList = function(json){
		if (!args['model_id']) return;
		$("#"+args['model_id']).empty();
		$("#"+args['model_id']).append("<option value=''>-</option>");
		//заливаем в список пришедшие элементы
		for(var i in json.params.items){
			$("#"+args['model_id']).append("<option value='" + json.params.items[i].url +"'"+(args['selected_model'] && args['selected_model']==json.params.items[i].url ? "selected" : "")+">" + json.params.vendor + " " + json.params.items[i].text + "</option>");
		};
		
		if (args['show_preview'] && args['show_preview']!=''){
			$("#"+args['show_preview']).css({display:"none"});
			$("#"+args['model_id']).change(function(){
				var file_jpg = $("#"+args['vendor_id']).val()+"/"+$("#"+args['vendor_id']).val()+"_"+$(this).val()+"_150.jpg";
				$("#"+args['show_preview']).css({display:"block"});
				$("#"+args['show_preview']).attr("src","/f/cell/"+file_jpg);
			});
			$("#"+args['model_id']).trigger('change');
		}
	};
	
	if (args['selected_type'] && args['selected_type']!=''){
		$("#"+args['type_id']).trigger('change');
	}
}