$(document).ready(init);

function init()
{
	//build_menu();
	$("a[rel='facebox']").facebox();

	$('#slideshowImgs').cycle();
}

function build_menu()
{
	if(!active_menu_id)
	{
		return false;
	}

	$("div.menustrip > a[href='"+active_menu_id+"']").addClass("active");

	var loc = location.pathname.substring(1).split('/');
	loc		= '/' + loc[0] + '/' + loc[1] + '/';

	$("div.subcats a[href='"+loc+"']").addClass("active");
}

function do_login()
{
	var login_name = $.trim( $("#name_field").val() );
	var login_pass = $.trim( $("#pass_field").val() );

	if(!login_name || !login_pass)
	{
		return show_error("Введите логин и пароль!");
	}

	$.ajax({
	  type: 'post',
	  url: '/user/do_login/',
	  beforeSend: function()
	  {
		$("#login_submit").attr("disabled","disabled");
	  },

	  complete: function()
	  {
	  	$("#login_submit").removeAttr("disabled");
	  },

	  success: function(data, textStatus)
	  {
		 if(data.error)
	     {
	     	show_error(data.error);
	     	$("#pass_field").val('');
	     }

	     if(data.done)
	     {
	     	window.location.href = data.url;
	     }

	     return false;
	  },
	  error: function(xhr, textStatus, errorThrown) {
	    show_error('Ошибка соединения с сервером');
	  },
	  cache: false,
	  data: {name: login_name, pass: login_pass},
	  dataType: "json"
	});

	return false;
}

function do_registration()
{
	var reg_name   = $.trim( $("#reg_name").val() );
	var reg_pass1  = $.trim( $("#reg_pass1").val() );
	var reg_pass2  = $.trim( $("#reg_pass2").val() );
	var reg_email  = $.trim( $("#reg_email").val() );
	var captcha_id = $.trim( $("#captcha_id").val() );
	var captcha    = $.trim( $("#captcha").val() );

	if(!reg_name || !reg_pass1 || !reg_pass2 || !reg_email || !captcha || !captcha_id)
	{
		return show_error("Вы не заполнили обязательные поля!");
	}

	$.ajax({
	  type: 'post',
	  url: '/user/registration/do/',
	  beforeSend: function()
	  {
		$("#reg_submit").attr("disabled","disabled");
	  },

	  complete: function()
	  {
	  	$("#reg_submit").removeAttr("disabled");
	  },

	  success: function(data, textStatus)
	  {
		 if(data.error)
	     {
	     	if(data.captcha)
	     	{
	     		$("#captcha_id").val(data.captcha);
	     		$("#captcha").val('');
	     		$("#captcha_img").attr("src", $("#captcha_img").attr("src").replace(captcha_id, data.captcha));
	     	}

			return show_error(data.error);
	     }

	     if(data.done)
	     {
	     	$("#regform").slideUp("slow");
	     	$("#reg_done").slideDown("slow");
	     }

	     return false;
	  },
	  error: function(xhr, textStatus, errorThrown) {
	    return show_error("Ошибка соединения с сервером.");
	  },
	  cache: false,
	  data: {name: reg_name, pass1: reg_pass1, pass2: reg_pass2, email: reg_email, captcha: captcha, captcha_id: captcha_id},
	  dataType: "json"
	});

	return false;
}

function show_error(text)
{
	$.facebox("<div style='font-weight:bold;padding:20px;text-align:center;color:red;font-size:14px;'>"+text+"</div>");

	var timeout = setTimeout(function(){ $(document).trigger('close.facebox'); clearTimeout(timeout); }, 2000);

	return false;
}

function do_ucp()
{
	var reg_passo  = $.trim( $("#reg_passo").val() );
	var reg_pass1  = $.trim( $("#reg_pass1").val() );
	var reg_pass2  = $.trim( $("#reg_pass2").val() );
	var reg_email  = $.trim( $("#reg_email").val() );

	if(!reg_email || !reg_passo || (reg_pass1 && !reg_pass2 ))
	{
		return show_error("Вы не заполнили обязательные поля!");
	}

	$.ajax({
	  type: 'post',
	  url: '/user/do/',
	  beforeSend: function()
	  {
		$("#reg_submit").attr("disabled","disabled");
	  },

	  complete: function()
	  {
	  	$("#reg_submit").removeAttr("disabled");
	  },

	  success: function(data, textStatus)
	  {
		 if(data.error)
	     {
			return show_error(data.error);
	     }

	     if(data.done)
	     {
	     	$("#regform").slideUp("slow");
	     	$("#reg_done").slideDown("slow");

	     	setTimeout(function(){ window.location.reload() }, 2000);
	     }

	     return false;
	  },
	  error: function(xhr, textStatus, errorThrown) {
	    return show_error("Ошибка соединения с сервером.");
	  },
	  cache: false,
	  data: {passo: reg_passo, pass1: reg_pass1, pass2: reg_pass2, email: reg_email},
	  dataType: "json"
	});

	return false;
}

function do_lostpass()
{
	var reg_name   = $.trim( $("#reg_name").val() );
	var reg_email  = $.trim( $("#reg_email").val() );
	var captcha_id = $.trim( $("#captcha_id").val() );
	var captcha    = $.trim( $("#captcha").val() );

	if(!reg_name || !reg_email || !captcha || !captcha_id)
	{
		return show_error("Вы не заполнили обязательные поля!");
	}

	$.ajax({
	  type: 'post',
	  url: '/user/lostpassword/do/',
	  beforeSend: function()
	  {
		$("#reg_submit").attr("disabled","disabled");
	  },

	  complete: function()
	  {
	  	$("#reg_submit").removeAttr("disabled");
	  },

	  success: function(data, textStatus)
	  {
		 if(data.error)
	     {
	     	if(data.captcha)
	     	{
	     		$("#captcha_id").val(data.captcha);
	     		$("#captcha").val('');
	     		$("#captcha_img").attr("src", $("#captcha_img").attr("src").replace(captcha_id, data.captcha));
	     	}

			return show_error(data.error);
	     }

	     if(data.done)
	     {
	     	$("#regform").slideUp("slow");
	     	$("#reg_done").slideDown("slow");
	     }

	     return false;
	  },
	  error: function(xhr, textStatus, errorThrown) {
	    return show_error("Ошибка соединения с сервером.");
	  },
	  cache: false,
	  data: {name: reg_name, email: reg_email, captcha: captcha, captcha_id: captcha_id},
	  dataType: "json"
	});

	return false;
}

function do_add_adv(isedit)
{
	var adv_title  = $.trim( $("#adv_title").val() );
	var adv_text   = $.trim( $("#adv_text").val() );
	var type	   = $("input.radio:checked[name='type']").val();

	var dearmd5	   = isedit ? $("#dearmd5").val() : '';
	var adv_id	   = isedit ? $("#adv_id").val()  : 0;

	var location_okrugs    = '';
	var location_mvetkas   = '';
	var location_mstations = '';
	var adv_kpp   		   = '';
	var adv_privod 		   = '';

	var del1 = $("input.checkbox[name='del1']").attr("checked") ? 1 : 0;
	var del2 = $("input.checkbox[name='del2']").attr("checked") ? 1 : 0;
	var del3 = $("input.checkbox[name='del3']").attr("checked") ? 1 : 0;

	if(!(isedit && del1 && del1 && del1) && (!adv_title || !adv_text))
	{
		return show_error("Вы не заполнили обязательные поля!");
	}

	if(type == 0)
	{
		$("input.checkbox:checked[name='adv_kpp']").each(function()
		{
			if(adv_kpp)
			{
				adv_kpp += "|";
			}

			adv_kpp += $(this).val();
		});

		$("input.checkbox:checked[name='adv_privod']").each(function()
		{
			if(adv_privod)
			{
				adv_privod += "|";
			}

			adv_privod += $(this).val();
		});

		if(!(isedit && del1 && del1 && del1) && (!adv_privod || !adv_kpp))
		{
			return show_error("Вы не заполнили обязательные поля!");
		}
	}

	$("input.checkbox:checked[name='location_okrugs']").each(function()
	{
		if(location_okrugs)
		{
			location_okrugs += "|";
		}

		location_okrugs += $(this).val();
	});

	$("input.checkbox:checked[name='location_mvetkas']").each(function()
	{
		if(location_mvetkas)
		{
			location_mvetkas += "|";
		}

		location_mvetkas += $(this).val();
	});

	$("input.checkbox:checked[name='location_mstations']").each(function()
	{
		if(location_mstations)
		{
			location_mstations += "|";
		}

		location_mstations += $(this).val();
	});

	var submit_url = isedit ? "/user/adverts/edit/do/" : "/user/adverts/add/do/";

	$.ajax({
	  type: 'post',
	  url: submit_url,
	  beforeSend: function()
	  {
		$("#reg_submit").attr("disabled","disabled");
	  },

	  complete: function()
	  {
	  	$("#reg_submit").removeAttr("disabled");
	  },

	  success: function(data, textStatus)
	  {
		 if(data.error)
	     {
			return show_error(data.error);
	     }

	     if(data.done)
	     {
	     	$("#regform").slideUp("slow");
	     	$("#reg_done").slideDown("slow");

	     	if(data.url)
			{
				setTimeout(function(){ window.location.href = data.url; }, 2000);
		    }
	     }

	     return false;
	  },
	  error: function(xhr, textStatus, errorThrown) {
	    return show_error("Ошибка соединения с сервером.");
	  },
	  cache: false,
	  data: {
	  			type: type,
	  			adv_title: adv_title,
	  			adv_text: adv_text,
				adv_kpp: adv_kpp,
				adv_privod: adv_privod,
				location_okrugs: location_okrugs,
				location_mvetkas: location_mvetkas,
				location_mstations: location_mstations,
				dearmd5: dearmd5,
				id: adv_id,
				del1: del1,
				del2: del2,
				del3: del3
			},
	  dataType: "json"
	});

	return false;
}

function adv_switch()
{
	$("#adv_type_title").html( ($("input.radio:checked[name='type']").val() == 1) ? "Название организации" : "Ф.И.О." );
	$("#auto_params").toggle();
}

function do_upload_photo(image_id)
{
	var dearmd5	   = $("#dearmd5").val();
	var adv_id	   = $("#adv_id").val();

	var image = $("#imagefield-"+image_id);

	if(!image.val())
	{
		return show_error("Выберите файл для загрузки!");
	}

	var exts = /\.(jpg|jpeg)$/i;

	if(!exts.test(image.val()))
	{
		return show_error("Загружать можно только фотографии в формате JPG!");
	}

	$.ajaxFileUpload({
	  url: "/user/adverts/editphotos/do_upload/?dearmd5="+dearmd5+"&id="+adv_id+"&image_id="+image_id,
	  secureuri: false,
	  fileElementId: "imagefield-"+image_id,

	  beforeSend: function()
	  {
		$("#ajaxload-"+image_id).show();
		$("#imagebutton-"+image_id).attr("disabled","disabled");
	  },

	  complete: function()
	  {
	  	$("#ajaxload-"+image_id).hide();
	  	$("#imagebutton-"+image_id).removeAttr("disabled");
	  },

	  success: function(data, textStatus)
	  {
		 image.get(0).outerHTML = image.get(0).outerHTML;

		 var temp = $("#imagefielddiv-"+image_id).html();
		 $("#imagefielddiv-"+image_id).empty().append(temp);

		 if(data.error)
	     {
			return show_error(data.error);
	     }

	     if(data.done)
	     {
	     	if($("#image-"+image_id).attr("isblank") == 1)
	     	{
	     		$("#image-"+image_id).attr("src", data.thumb_img_url);
	     		$("#image-"+image_id).removeAttr("isblank");

	     		$("#image-"+image_id).wrap('<a href="'+data.img_url+'" target="_blank" id="imagelink-'+image_id+'"></a>');
	     		$("#imagelink-"+image_id).facebox();
	     		$("#delimg-"+image_id).show();
	     		$("#cropimg-"+image_id).show();
	     	}
	     	else
	     	{
	     		$("#imagelink-"+image_id).attr("href", data.img_url);
	 	    	$("#image-"+image_id).attr("src", data.thumb_img_url);
	     	}
	     }

	     return false;
	  },
	  error: function(xhr, textStatus, errorThrown) {
		return show_error("Ошибка соединения с сервером.");
	  },
	  cache: false,
	  dataType: "json"
	});

	return false;
}

function do_del_photo(image_id)
{
	if(!confirm("Действительно удалить фотографию?"))
	{
		return false;
	}

	var dearmd5	   = $("#dearmd5").val();
	var adv_id	   = $("#adv_id").val();

	$.ajax({
	  type: 'post',
	  url: "/user/adverts/editphotos/do_del/",
	  beforeSend: function()
	  {
		$("#ajaxload-"+image_id).show();
 	    $("#imagebutton-"+image_id).attr("disabled","disabled");
 	    $("#delimg-"+image_id).hide();
 	    $("#cropimg-"+image_id).hide();
	  },

	  complete: function()
	  {
 		$("#ajaxload-"+image_id).hide();
	    $("#imagebutton-"+image_id).removeAttr("disabled");
	  },

	  success: function(data, textStatus)
	  {
		 if(data.error)
	     {
			return show_error(data.error);
	     }

	     if(data.done)
	     {
	     	$("#image-"+image_id).attr("src", "/design/img/spacer.gif");
	     	$("#image-"+image_id).attr("isblank", 1);

	     	$("#imagelink-"+image_id).replaceWith( $("#imagelink-"+image_id).html() );
	     }

	     return false;
	  },
	  error: function(xhr, textStatus, errorThrown) {
			return show_error("Ошибка соединения с сервером.");
	  },
	  cache: false,
	  data: {
				dearmd5: dearmd5,
				id: adv_id,
				image_id: image_id
			},
	  dataType: "json"
	});

	return false;
}

var jcrop = false;

function crop_photo(image_id)
{
	var dearmd5	   = $("#dearmd5").val();
	var adv_id	   = $("#adv_id").val();

	$.facebox({ajax: "/user/adverts/editphotos/crop/?dearmd5="+dearmd5+"&id="+adv_id+"&image_id="+image_id});
}

function init_cropper()
{
	jcrop = $.Jcrop('#cropbox',
	{
		//boxWidth: 600,
		//boxHeight: 600,
		aspectRatio: (thumb_size[0] / thumb_size[1]),
		bgColor: 'blue',
		bgOpacity: .8,
		sideHandles: false,
		addClass: 'custom',
		//minSize: [ 150,112 ],
	 	setSelect:   [ 0, 0, thumb_size[0], thumb_size[1] ],
		onChange: showCropPreview,
		onSelect: showCropPreview
	});
}

function showCropPreview(coords)
{
	var rx = thumb_size[0] / coords.w;
	var ry = thumb_size[1] / coords.h;

	$('#preview').css({
		width: Math.round(rx * img_size[0]) + 'px',
		height: Math.round(ry * img_size[1]) + 'px',
		marginLeft: '-' + Math.round(rx * coords.x) + 'px',
		marginTop: '-' + Math.round(ry * coords.y) + 'px'
	});
}

function do_crop_photo(image_id)
{
	var coords 	   = jcrop.tellSelect();
	var dearmd5	   = $("#dearmd5").val();
	var adv_id	   = $("#adv_id").val();

	if(coords.w < (thumb_size[0]/10) || coords.h < (thumb_size[1]/10))
	{
		alert("Выделена слишком маленькая область.");
		return false;
	}

	$.ajax({
	  type: 'post',
	  url: "/user/adverts/editphotos/do_crop/",
	  beforeSend: function()
	  {
		jQuery(document).trigger('close.facebox');
		$("#ajaxload-"+image_id).show();
 	    $("#imagebutton-"+image_id).attr("disabled","disabled");
 	    $("#delimg-"+image_id).hide();
 	    $("#cropimg-"+image_id).hide();
	  },

	  complete: function()
	  {
 		$("#ajaxload-"+image_id).hide();
	    $("#imagebutton-"+image_id).removeAttr("disabled");
	    $("#delimg-"+image_id).show();
 	    $("#cropimg-"+image_id).show();
	  },

	  success: function(data, textStatus)
	  {
		 if(data.error)
	     {
			alert(data.error);
			return false;
	     }

	     if(data.done)
	     {
	     	$("#image-"+image_id).attr("src", data.thumb_img_url);
	     }

	     return false;
	  },
	  error: function(xhr, textStatus, errorThrown) {
	    alert("Ошибка соединения с сервером.");
			return false;
	  },
	  cache: false,
	  data: {
				dearmd5: dearmd5,
				id: adv_id,
				image_id: image_id,
				w: coords.w,
				h: coords.h,
				x: coords.x,
				y: coords.y
			},
	  dataType: "json"
	});

	return false;
}

function select_all_locations(location)
{
	$("input[name='location_"+location+"']").attr("checked", true);

	return false;
}
