function clearSearchForm()
{
	//var kids = document.getElementById('ingridient_table').getElementsByTagName('tr').length;
	
	var cnt = document.getElementById('ingridient_table').getElementsByTagName('tr').length;
	var rows = document.getElementById('ingridient_table').getElementsByTagName('tr');
	var i;
	var input;
	
	cnt = cnt - 2;
	
	for(i = 0; i <= cnt; i++)
	{
		input = rows[i].getElementsByTagName('td')[0].getElementsByTagName('input')[0];
		input.value = ''; 
	}
	
	return true;
}

function exampleAdd(){
    tmp=$("#example").html();
    $("#stepplace").append(tmp);
    
}

function changeElement(new_id){
	
	$("#" + new_id).autocomplete("ingridients.php", {
		autoFill: false,
		width: 260,
		selectFirst: false,
		scroll: false
	});

	$("#" + new_id).result(function(event, data, formatted) {
		if (data)
		{
			id = this.id;
			document.getElementById("ingridient" + id).value = data[1];
		}
	});
}


function changeSearch(new_id){
	
	$("#" + new_id).autocomplete("ingridients.php", {
		autoFill: false,
		width: 260,
		selectFirst: false,
		scroll: false
	});
}


function delIngridientField(id)
{
	var tbody = document.getElementById('ingridient_table');
	var rows = tbody.getElementsByTagName('tr');
	var length = rows.length;
	
	var parentTr1 = document.getElementById(id + '_error').parentNode;
	var parentTr2 = document.getElementById(id).parentNode.parentNode;
	
	if (length <= 5) return alert('В рецепте должно быть минимум 2 ингредиента');
	
	parentTr1.parentNode.removeChild(parentTr1);
	parentTr2.parentNode.removeChild(parentTr2);
	
	return false;
}


function delSearchField(element)
{
	var tbody = document.getElementById('ingridient_table');
	var rows = tbody.getElementsByTagName('tr');
	var length = rows.length;
	
	var parentTr = element.parentNode.parentNode;
	
	if (length <= 2) return false;
	
	$('#add_search').show();
	
	parentTr.parentNode.removeChild(parentTr);
	
	return false;
}


function addIngridientField()
{
	var tbody = document.getElementById('ingridient_table');
	var rows = tbody.getElementsByTagName('tr');
	var length = rows.length;
	var count  = document.getElementById('ingridient_count').value;
	
	curr_id = parseInt(count);
	
	html_select = $('#ingridient_table > tr:eq(2) > td:eq(3) > select').html();
	
	html = '<tr valign="top"><td colspan="4" align="center" style="color:#a00000" id="'+ curr_id +'_error"></td></tr><tr valign="top">';
	
	html = html + '<td><input type="hidden" id="ingridient'+ curr_id +'" name="ingridient['+ curr_id +'][ingridient_id]" value="">'; 
	html = html + '<input type="text" id="'+curr_id+'" name="ingridient['+curr_id+'][ingridient_title]" value="" onFocus="changeElement('+curr_id+');" onkeyup="checkIngridientsField(false,\'#'+curr_id+'\');"   onblur="checkIngridientsField(true,\'#'+curr_id+'\');"></td>'; 
	
	html = html + '<td><textarea cols="20" rows="2" name="ingridient['+curr_id+'][ingridient_hint]"></textarea></td>';
	
	html = html + '<td><input type="text" id="'+curr_id +'_measure" size="4" name="ingridient['+curr_id+'][measure_value]" value=""></td>';
	
	html = html + '<td><select name="ingridient['+curr_id+'][measure_id]">'+ html_select +'</select></td>';
	
	html = html + '<td><a href="" id="remove_'+curr_id+'"class="ajax" onclick="delIngridientField(\''+curr_id+'\');return false">удалить</a></td></tr>';
	
	$('#ingridient_table').append(html);
	$('#ingridient_table > tr:last > td:eq(3) > select > option[selected]').attr('selected', false);
	
	// тока в конце
	document.getElementById('ingridient_count').value = curr_id + 1;
}

function addSearchField()
{
	var tbody 	= document.getElementById('ingridient_table');
	var rows 	= tbody.getElementsByTagName('tr');
	var length 	= rows.length;
	var curr_id = document.getElementById('ingridient_count').value;
	
	curr_id = parseInt(curr_id);
	
	if (length > 4)
	{
		$('#add_search').hide();
	}
	
	if (length > 5)
	{
		return false;
	}
	
	html = '';
	html = html + '<tr><td align="right" width="150"><input type="text" id="' + curr_id + '" name="search[]" value="" onFocus="changeSearch(' + curr_id + ');"></td>'; 
	html = html + '<td height="25" align="left" valign="middle"><a href="" class="ajax" onclick="delSearchField(this);return false">удалить</a></td></tr>';
	
	$('#ingridient_table > tr:last').before(html);
	
	// тока в конце
	document.getElementById('ingridient_count').value = curr_id + 1;
}

function setFocusOnIngridient()
{
	if ($('#ingridient').length)
	{
		$('#ingridient').focus();
	}
}

function validateIngridients()
{
	var length 	= $('#ingridient_table > tr').length;
	var rows	= $('#ingridient_table > tr');
	var err		= false;
	
	
	for(i=0; i < length; i++)
	{
		// validate ingredient field
		ingredient = rows[i].getElementsByTagName('td')[0].getElementsByTagName('input')[1];
		
		if (undefined != ingredient && 'text' == ingredient.type)
		{
			value = ingredient.value;
			
			// check if empty
	    	if (value.length == 0)
	    	{
	    		error("#" + ingredient.id ,"Поле ингредиент не должно быть пустым");
	    		ingredient.focus();
	    		
	            return false;
	        }
	        
	    	// validate characters
	    	var find = new Array(',','.',';',':','+','/','"','#','@','^','&','~','!','*','%','0','1','2','3','4','5','6','7','9','(',')','[',']','{','}','=','?');
	    	for(j=0; j < find.length; j++)
	    	{
	    		result = value.indexOf(find[j]);
	    		
	    		if (result >= 0)
	    		{
	    			error("#" + ingredient.id,'Дополнительные параметры ингредиента указывайте в поле "Примечание"');
	    			ingredient.focus();
	    	    	return false;
	    		}
	    	}
	    	
	    	// validate measure
	    	measure_value = rows[i].getElementsByTagName('td')[2].getElementsByTagName('input')[0];
	    	
	    	value = measure_value.value;
	    	
	    	if (value.length > 0)
	    	{
	    		pattern = /[^0-9\-\s\.\/\,]/;
	    		
	    		r = value.search(pattern);
	    		
	    		if (r > -1)
	    		{
	    		    $('#' + ingredient.id+ "_error").html('Количество ингредиента указывайте только в цифрах');
	    		    //measure_value.setAttribute("class", "reg_error");
	    		    measure_value.className = 'reg_error';
	    			measure_value.focus();
	    			return false;
	    		}
	    		else
	    		{
	    		    $('#' + ingredient.id+ "_error").html('');
	    		    //measure_value.setAttribute("class", "");
	    		    measure_value.className = '';
	    		}
	    	}
    		else
    		{
    		    $('#' + ingredient.id+ "_error").html('');
    		    //measure_value.setAttribute("class", "");
    		    measure_value.className = '';
    		}
	    	
	    	unError("#" + ingredient.id);
		}
	}
	
	return true;
}

function isCorrectIngredient(str)
{
	var find = new Array(',','.',';',':','+','/','"','#','@','^','&','~','!','*','%','0','1','2','3','4','5','6','7','9','(',')','[',']','{','}','=','?');
	
	for(i=0; i< find.length; i++)
	{
		result = str.indexOf(find[i]);
		
		if (result >= 0)
		{
	    	return false;
		}
	}
	return true;
}

function checkIngridientsField(blur,field){
    var ingredient = $(field).val();
    
    if (blur){
        
    	if (ingredient.length==0){
        	
    		error(field,"Поле ингредиент не должно быть пустым");
    		$(field).focus();
            return false;
        }
        
    	if (!isCorrectIngredient(ingredient))
    	{
    		error(field,'Дополнительные параметры ингредиента указывайте в поле "Примечание"');
    		$(field).focus();
    		return false;
    	}
    	
    	unError(field);
        
    }else{
        if (ingredient.length>0 && isCorrectIngredient(ingredient))
        {
        	unError(field);
        }
    }
}


function checkIngridient(){
	if ($('#ingridient').length) {
		if (checkField(true,'#ingridient')){
			return true;
		}
		return false;
	}
	else
	{
		return validateIngridients();
	}
	
	return false;
}

function video_rf_submit(){
    if ($(".agree:checked").length==0){
        alert ("Для того, чтобы добавить рецепт, нужно согласиться с условиями размещения.");
        // utilsShow('#recipes_destiny','#menu_destiny');
        return false;
    }
    var m = $("#category_select").get(0).selectedIndex;
    if (m==0){
        alert("Вы должны указать рубрику Вашего рецепта");
        $("#category_select").focus();
        return false;
    }
    var r_title=checkField(true,'#title');
    var r_video_link=checkField(true,'#video_link');
    var r_tag = checkField(true,'#tag');
    var r_taste = checkField(true,'#taste');    
    var r_ingridient= checkIngridient(true,'#ingridient');
	
	var v_link = $("#video_link").val();
	
    if (v_link.match(/http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=[\-\w]+)(?:\S+)?$/mg) || v_link.match(/rutube\.ru\/tracks\/([A-Za-z0-9._%-]*)\.html\?v=([A-Za-z0-9._%-]*)/m)) {
	} else {
		$('#video_link').focus();
		alert('Введена неверная ссылка на видео!');
		$('#video_url_example').css('color', '#F00');
		$('#video_url_example').css('font-size', '14px');
//		$('#video_url_example').animate({'fontsize': 14,' color': '#F00'}, 500);
  
		return false;
	}

    
    var r_body_m=checkField(true,'#body_m');
    if ($("#recipes_destiny").find("input:checked").length==0){
        alert ("Вы должны указать хотя бы одно назначение рецепта");
        $("#recipes_destiny").focus();
        document.location.href= site_action + "#utilites";
        utilsShow('#recipes_destiny','#menu_destiny','',false);
        return false;
    }
	
	
    if (r_title){
        if (r_body_m){
            if (r_tag){
                if (r_taste){
                    
                    if (r_ingridient){
                       tmp = '';
                       $("#kitchen_post").val("");
                       for(i=0; i<=$("#select_kitchens").get(0).options.length-1; i++)
                           tmp += $("#select_kitchens").get(0).options[i].value + "|";
                       $("#kitchens_post").val(tmp);                 
                        return true;
                    }else {
                        setFocusOnIngridient();
                    }    
                }else{
                    $('#taste').focus();
                }
            }else{
                $('#tag').focus();
            }                                
        }else{
            $('#body_m').focus();
        }
    }else{
        $('#title').focus();
    }
    return false;
}


function rf_submit(){
    if ($(".agree:checked").length==0){
        alert ("Для того, чтобы добавить рецепт, нужно согласиться с условиями размещения.");
        // utilsShow('#recipes_destiny','#menu_destiny');
        return false;
    }
    var m = $("#category_select").get(0).selectedIndex;
    if (m==0){
        alert("Вы должны указать рубрику Вашего рецепта");
        $("#category_select").focus();
        return false;
    }
    var r_title=checkField(true,'#title');
    var r_tag = checkField(true,'#tag');
    var r_taste = checkField(true,'#taste');    
    var r_ingridient=checkIngridient(true,'#ingridient');
    
    var r_body_m=checkField(true,'#body_m');
    if ($("#recipes_destiny").find("input:checked").length==0){
        alert ("Вы должны указать хотя бы одно назначение рецепта");
        $("#recipes_destiny").focus();
        document.location.href= site_action + "#utilites";
        
        utilsShow('#recipes_destiny','#menu_destiny','',false);
        return false;
    }
    if (r_title){
        if (r_body_m){
            if (r_tag){
                if (r_taste){
                    
                    if (r_ingridient){
                       tmp = '';
                       $("#kitchen_post").val("");
                       for(i=0; i<=$("#select_kitchens").get(0).options.length-1; i++)
                           tmp += $("#select_kitchens").get(0).options[i].value + "|";
                       $("#kitchens_post").val(tmp);                 
                        return true;
                    }else {
                        setFocusOnIngridient();
                    }    
                }else{
                    $('#taste').focus();
                }
            }else{
                $('#tag').focus();
            }                                
        }else{
            $('#body_m').focus();
        }
    }else{
        $('#title').focus();
    }
    return false;
}

function showFavorUser(id){
    if (($("#mybook"+id).length>0)){
        $("#mybook" + id + "").toggle();
    }else{
        $('<div foo="mybook" id="mybook' + id +'" >' + progress + '</div>').appendTo("#mybody");
		$.post(site_url + "/users/favor/" + id + "/",
		  { ajax: "jaja"},
		  function(data){
		      if (data!="error"){
    		      $("#mybook" + id).html(data);
    		      init();
		      }else{
		          $("#mybook" + id).html("ошибка");
		      }
		  }
		)
    }
    return false;
}

$(document).ready(function() {
    $("#ajaxFavorForm").ajaxForm({
        beforeSubmit: function() {
            $("#favor_submit").val("обработка").attr('disabled','disabled');
        },
        success: function(data) {
            $("#favor_submit").val("изменить").attr('disabled','disabled');
            $("#favorMessage").html(data);

        }
    });
    $("#ajaxFriendForm").ajaxForm({

        beforeSubmit: function() {
            if ($("#mail").val()==""){
                alert("Введите e-mail друга");
                return false;
            };
            $("#friendMessage").val("обработка запроса..");
        },
        success: function(data) {
            $("#friendMessage").html(data);

        },
        resetForm: true
    });
    $("#ajaxVoteForm").ajaxForm({
        beforeSubmit: function() {
            if (ajaxVoteForm.vote.value=0){
                alert("выберите какую оценку поставить");
                return false;
            }
            $("#voteMessage").val("обработка запроса..");
        },
        success: function(data) {
            $("#voteMessage").html(data);

        },
        resetForm: true
    });
    

		
	$(".conima").each(function(index) {
	    if ($(this).next().html() != null) {
			$(this).wTooltip({content: $(this).next().html(), className: "ingr_tooltip", style: false}); 
		}
	});
	
//    $(".conima").wTooltip({content: "Hello World"}); 
    
});