options = { 
	 url:       'js/add_comment.php',  
	 type:      'post',    
	 dataType:  'json',   
	 iframe: false,
	 beforeSubmit:  showRequest,
	 success:       showResponse
}; 

$('#uploadForm').submit(function() {
	$(this).ajaxSubmit(options);
	return false;
 });

function CollectDivMass() {
	com_mass=new Object();
	o_comments = $("#comments").find(".commentdiv");
	for (var jj = 0; jj < o_comments.length; jj++) {
		com_mass [o_comments[jj].getAttribute("id")] = o_comments[jj].getAttribute("parentId");
	}
}

function SearchIdCom(com_id) {
	count_par = 0;
	for (var j in com_mass) {
		if (com_id == com_mass[j]) {
			++ count_par;
			last_id = j;
		}
	}
	if (count_par == 0)  {
		return com_id;
	}
	else {
		return SearchIdCom (last_id);
	}
}

fileflag = false;

function ConvertHtml(str, flag) {
	if (fileflag) {
		return $('<div>').html(str).text();
	}
	else {
		return str;
	}
}

function CheckString(str) {
	var StrErrArray = new Array();
	
	if (str.length > 2) {
		var upregcount = 0;
		var str1 = str.replace(/[^A-Za-zА-Яа-я]/g,"");
		for (var n = 0; n < str1.length; n++) {
			if (str1.charAt(n) == str1.charAt(n).toUpperCase()) upregcount++
		}
		if (parseInt(upregcount/str1.length*100) >25) StrErrArray.push("Слишком много заглавных букв");
		
		str = str.toLowerCase();
		var i = 0;
		while(i < (str.length-5)) {
			var count = 0;
			for (var n = i; n < (str.length); n++) {
				if (str.charAt(n) != str.charAt(i)) break;
				else     count+= 1;
			}
			if (count <= 5) i++;
			else {StrErrArray.push("Вводите не более пяти подряд повторяющихся символов"); return StrErrArray;}
		}
	}
	return StrErrArray;
}

function checkExt(ext){
	if (!ext) {
		alert('Ошибка параметра'); return true;
	}
	else {
		var allowExt = false;
		var extArray = new Array ("jpg", "jpeg", "gif");
		
		for (var k = 0; k < extArray.length; k++) {
			if (extArray[k] == ext) { allowExt = true; break; }
		}
		if (allowExt) {
			return true;
		}
		else {
			return false;
		}	
	}
}


// pre-submit callback
function showRequest(formData, jqForm, options) { 
	var queryString = $.param(formData); 
	//alert('Передаем: \n\n' + queryString); 
	
	var comform = jqForm[0];
	var errArray = new Array();  
	
	if (document.getElementById('selfoto') != null){
		n = document.getElementById('selfoto').value;
		if (!n) {
			errArray.push("Файл не выбран");
		}
		else{
			if (!(checkExt(n.substr(n.lastIndexOf('.')+1).toLowerCase()))) {
				errArray.push("Не верный тип файла '*." + n.substr(n.lastIndexOf('.')+1).toLowerCase() +"'");
			}
			else {
				fileflag = true;
			}
		}
	}
	if (comform.comment.value.length <= 2 || comform.comment.value.length >= 5000) {
		errArray.push ("Длина комментария должна составлять от 3 до 5000 символов");
	}
	
	var f = CheckString (comform.comment.value);
	if (f.length != 0){
		for (var t = 0; t < f.length; t++) errArray.push(f[t])
	}
	
	if (errArray.length == 0) {
		$("#addcom").attr("disabled", true);
		$("#cancel").attr("disabled", true);
		$("#commenterrtext").remove();
		
		SetAjaxLoader("comment");
		$("#new_com_color").css('backgroundColor', '#F5F5F5');
		$("#new_com_color").removeAttr('id');		
		return true;
	}
	
	else {
		$("#commenterrtext").remove();
		errtext = '';
		for (var t = 0; t < errArray.length; t++) {
			errtext = errtext + errArray[t] +'<br>';
		}
		
		$("#comment").after("<div id=commenterrtext style='color: red;'>"+errtext+"</div>");
		return false;
	}
} 


function showResponse(responseText, statusText) {
	//$("#ans").val(responseText);
	if (responseText.comment_data.error != "") {
		$("#commenterrtext").remove();
		$("#comment").after("<div id=commenterrtext style='color: red;'>"+responseText.comment_data.error+"</div>");
		$("#ajax_loader").hide();
		$("#addcom").removeAttr("disabled");
		$("#cancel").removeAttr("disabled");
	}
	else {
		$('#img_com').attr('value', 0);
    		com_foto_src = 0;
    		$('div.comtip').html('В комментарий');
    		$('#comselect_image').css('opacity', 1).removeAttr('id');
		$("#ajax_loader").hide();
		Removecomform();
		CollectDivMass();
		if (i=='mainupaddcom' || i=='maindownaddcom') {
			if (o_comments.length == 0) {
				$("#comments").html(ConvertHtml(responseText.comment_data.new_comment, fileflag));
			}
			else {
				$("#"+o_comments[o_comments.length-1].getAttribute("id")).after(ConvertHtml(responseText.comment_data.new_comment, fileflag));
			}	
		}
		else {
			$("#"+SearchIdCom(parseInt(i))).after(ConvertHtml(responseText.comment_data.new_comment, fileflag));
		}
		
		$("#num_com").text(parseInt($("#num_com").text())+1);
		$("#num_com2").text(parseInt($("#num_com2").text())+1);
		
		$("#now_discuss").html(ConvertHtml(responseText.comment_data.now_discuss, fileflag));
		fileflag = false;
		$.scrollTo("#"+responseText.comment_data.last_id, 1000, {offset:(parseInt(document.documentElement.clientHeight/2) * -1 + parseInt(($("#"+responseText.comment_data.last_id).height())/2))});
	}
}


function Createcomform (idcom) {	
	i=idcom;
	if ($("#comdiv")) {
		$("#comdiv").remove();
	}
	
	if (i=='mainupaddcom' || i=='maindownaddcom') {
		comshift = 0;
		pcomid = 0;
	}
	else {
		comshift = parseInt($("#"+parseInt(i)).css("marginLeft"))+30;
		pcomid = parseInt(i);
	}

	var selected_img = com_foto_src;
	if(selected_img != 0)
		var img_block = "<div><a href='#' id='fotolink' onclick='Fotoblock();return false;'>Впрочем, без картинки тоже ничего</a></div><div id='selected_foto' style='position: relative;'><a href='#' id='foto_com_add' class='red'>Посмотреть прикрепленную картинку</a><div class='comimg'><img src='" + selected_img + "'></div></div>";
	else
		var img_block = "<div><a href='#' id='fotolink' onclick='Fotoblock();return false;'>Приложить картинку</a></div>";
            	
	var container = document.createElement('div');
	container.id = 'comdiv';
	container.align = 'left';
	container.style.marginTop= '10px';
	container.style.fontSize= '10pt';
	container.innerHTML="<form id='uploadForm' method='post'><textarea name='comment' id='comment' cols=50 rows=10></textarea>" + img_block + "<div><input id='addcom' value='Написать' name='addcomment' type=button onclick=$('#uploadForm').ajaxSubmit(options);><input type='button' id='cancel' onclick='Removecomform();' value='Отмена'></div><input type='hidden' name='newcomshift' id='newcomshift' value='"+comshift+"'><input type='hidden' name='id_c' id='id_c' value='"+pcomid+"'><input type='hidden' name='id_n' id='id_n' value='"+id_n+"'><input type='hidden' name='img_com' id='img_com' value='" + selected_img + "'></form>";
	$("#"+idcom).after(container);
}

function Removecomform() {
	$("#comdiv").remove();
}

function Fotoblock() {	
	if ($("#fotolink").text() == 'Приложить картинку') {
		var cont = document.createElement('div');
		cont.id = 'fotocont';
		cont.style.marginTop= '5px';
		cont.style.marginBottom= '5px';
		cont.innerHTML = "Картинка: <input type='file' name='file_name' id='selfoto'><br><span class='small_grey'>Можно загрузить картинку до 1Mb в формате gif или jpg</span>";
		$("#fotolink").after(cont);
		$("#fotolink").text('Впрочем, без картинки тоже ничего');
	}
	else {
		fileflag = false;
		$("#selfoto").val('');
		$("#fotocont").remove();
		$("#selected_foto").remove();
		$("#commenterrtext").remove();
		$("#fotolink").text('Приложить картинку');
		$('#img_com').attr('value', 0);
		com_foto_src = 0;
		$('div.comtip').html('В комментарий');
		
		$('#comselect_image').css('opacity', 1).removeAttr('id');
	}
}