var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function jsddm_close()
{if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{if(closetimer)
   {window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{$('#jsddm > li').bind('mouseover', jsddm_open)
   $('#jsddm > li').bind('mouseout',  jsddm_timer)});

document.onclick = jsddm_close;

function strip_tags (str, allowed_tags)
{
    var key = '', allowed = false;
    var matches = [];
    var allowed_array = [];
    var allowed_tag = '';
    var i = 0;
    var k = '';
    var html = '';

    var replacer = function (search, replace, str) {
        return str.split(search).join(replace);
    };

    // Build allowes tags associative array
    if (allowed_tags) {
        allowed_array = allowed_tags.match(/([a-zA-Z0-9]+)/gi);
    }

    str += '';

    // Match tags
    matches = str.match(/(<\/?[\S][^>]*>)/gi);

    // Go through all HTML tags
    for (key in matches) {
        if (isNaN(key)) {
            // IE7 Hack
            continue;
        }

        // Save HTML tag
        html = matches[key].toString();

        // Is tag not in allowed list? Remove from str!
        allowed = false;

        // Go through all allowed tags
        for (k in allowed_array) {
            // Init
            allowed_tag = allowed_array[k];
            i = -1;

            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
            if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}

            // Determine
            if (i == 0) {
                allowed = true;
                break;
            }
        }

        if (!allowed) {
            str = replacer(html, "", str); // Custom replace. No regexing
        }
    }

    return TrimString(str);
}

/**
 * проверяем наличие никнейма или мыла в базе
 */
function checkData(id_input, datatype)
{
	var input_data = $('#'+id_input).val();
	if (input_data.length > 0){
		$('#'+datatype+'_error').html('');
		$('#'+datatype+'_loading').show();
		$.post(
				"/ajax/checkdata/type/"+datatype+"/pattern/"+input_data+"/",
				function(data){
					if(data){
						$('#'+datatype+'_error').html(data);
						$('#'+id_input).removeClass();
						$('#'+id_input).addClass('error');
						$('#'+datatype+'_loading').hide();
					}else{
						$('#'+id_input).removeClass();
						$('#'+id_input).addClass('text');
						$('#'+datatype+'_loading').hide();
					}
				});
	}
}

/**
 * запрос подтверждения на удаление записи
 * @param link
 * @return
 */
function confirmDelete(link)
{
	var check;
	check = confirm("Вы уверены что хотите удалить эту запись? Изменения необратимы!");
	if (check) {
		window.location = link;
	}
}

/**
 * ф-ция автозаполнения элемента формы
 * @param id_input
 * @param id_output
 * @param id_image
 * @param type
 * @return
 */
function getContent(id_input, id_output, id_image, type)
{
	var input_data = $('#'+id_input).val();
	//$('#'+id_input).attr("disabled", true);
	$('#'+id_image).show();
	$.post(
			"/ajax/getcontent/type/"+type+"/pattern/"+input_data+"/",
			function(data){
				if(data){
					$('#'+id_output).html(data);
				//	$('#'+id_input).removeAttr("disabled");
					$('#'+id_image).hide();
				}else{
					$('#'+id_output).html('...');
				//	$('#'+id_input).removeAttr("disabled");
					$('#'+id_image).hide();
				}
			});
	$('#'+id_output).show();
}

/**
 * подставление данных в инпут элемент
 * @param id_input_string
 * @param content_name
 * @return
 */
function applyContent(id_input_string, content_name, id_item)
{
	 if(id_input_string == 'sub_article'){
		 $('#'+id_input_string).val(content_name);
		 $('#'+id_input_string+'_id').val(id_item);
	 }else{
         if($('#'+id_input_string+'_container option[value='+id_item+']').length == 0){
             $('#'+id_input_string+'_container').append('<option value="'+id_item+'" ondblclick="javascript: removeSelectOption('+id_item+', \''+id_input_string+'_container\');">'+content_name+'</option>');
         }
	 }
}

function removeSelectOption(id_value, id_select)
{
    $("#"+id_select+" option[value='"+id_value+"']").remove();
}

function selectAll(box) {
	$("#"+box).each(function(){
		$("#"+box+" option").attr("selected","selected");
	});
}

function addFileField()
{
    var rand_num = randomnumber=Math.floor(Math.random()*9999);
    $('#file_fields_container').append('<div id="some_id_'+rand_num+'"><input type="button" class="simple-button" value="[x]" onclick="javascript: $(\'#some_id_'+rand_num+'\').remove(); " style="display: inline-block;" /><input type="file" name="attached_files[]" /></div>');
}
