var
    main_canSubmit = true;

function _checkValue(obj_element) {

    if ((obj_element.data_format == "file") && (obj_element.value.length > 0)) {
         num = obj_element.value.length; 
	 var text = obj_element.value.toLowerCase();
          //if (obj_element.id == "jpg" && (obj_element.value.substring(num-4,num)!=".jpg" || obj_element.value.substring(num-5,num)!=".jpeg" )) { 
	  if (obj_element.id == "jpg" && (!(text.substring(num-4,num)==".jpg" || text.substring(num-5,num)==".jpeg" ))) { 
	  //&& (obj_element.value.substring(num-4,num)!=".jpg" )) { 
              alert('Пожалуйста,\n присылайте фото в формате\njpg!'); 
              return false; 
          }  
          if (obj_element.id == "jpggifxls" && (!(text.substring(num-4,num)==".jpg" || text.substring(num-4,num)==".gif" || text.substring(num-4,num)==".xls" || text.substring(num-4,num)==".png" || text.substring(num-5,num)==".jpeg" ))) { 
              alert('Пожалуйста,\n не присылайте файлы в недопустимых форматах!'); 
              return false; 
           }  
    }	

  
  if ((obj_element.data_format == null) || obj_element.disabled || (obj_element.data_format == "file") ) {
        return(true);
    }

    if (obj_element.data_format == "select") {
        if (obj_element.data_null == "true") {
            return(true);
        }
        if (obj_element.options[obj_element.selectedIndex].value != '0') {
            return(true);
        }
        obj_element.focus();
        alert("Не выбрано значение");
        return(false);
    }

    if (obj_element.value.length < 1) {
        if (obj_element.data_null == "true") {
            return(true);
        }
        obj_element.focus();
        alert("Не введено значение");
        return(false);
    }

	// проверка на валидность e-mail
	if( (obj_element.data_format == "text") &&  (obj_element.name == "email")  &&  (obj_element.value.indexOf("\@") < 1) || 
		((obj_element.value.length)  <= (obj_element.value.indexOf("\@")+ 1) )) {
	        obj_element.focus();
        	alert("Пожалуйста, введите e-mail повнимательней :)");
	        return(false);
	}


    if (obj_element.data_format == "text") {
        return(true);
    }

    var reg_v, error;
    if (obj_element.data_format == "float") {
        if (obj_element.data_signed == "true") {
            reg_v = "(^-?[0-9]*$)|(^-?[0-9]*[.][0-9][0-9]?$)";
            error = "Допустимо значение в формате '[-]#.##' или 0";
        } else {
            reg_v = "(^[0-9]*$)|(^[0-9]*[.][0-9][0-9]?$)";
            error = "Допустимо значение в формате '#.##' или 0";
        }
    }
    if (obj_element.data_format == "int") {
        reg_v = "(^[0-9]*$)";
        error = "Допустимо значение в фомате целого числа";
    }
    if (obj_element.data_format == "date") {
        if (obj_element.data_range == "true") {
            reg_v = "^((>|<)?[0-9]?[0-9]\.[0-9]?[0-9]\.[0-9][0-9][0-9][0-9])?$";
            error = "Неправильная дата. Формат: '[>|<]дд.мм.гггг'";
        } else {
            reg_v = "^([0-9]?[0-9]\.[0-9]?[0-9]\.[0-9][0-9][0-9][0-9])?$";
            error = "Неправильная дата. Формат: 'дд.мм.гггг'";
        }
    }
    if (window.RegExp) {
        var reg = new RegExp(reg_v, "gi");
        if (!reg.test(obj_element.value)) {
            obj_element.select();
            obj_element.focus();
            alert(error);
            return(false);
        }
    }




    return(true);
}


function main_doSubmit(obj_form) {
    function _canSubmit() {
        if (!main_canSubmit) {
            main_canSubmit = true;
            return(false);
        }
        return(true);
    }
    if (!_canSubmit()) return(false);
    for (var i = 0; i < obj_form.elements.length; i++) {
        if (!_checkValue(obj_form.elements[i])) {
            return(false);
        }
    }
    return(true);
}


function main_showMessage(message) {
    if (message != '') alert(message);
}


function select_showFilter(HTTP_BASE_URL, PHP_SELF, forum_id) {
var result = window.open(HTTP_BASE_URL+"search.php?is_filter=1&is_modal=1&forum_id="+forum_id,"wt","toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,copyhistory=no,scrollbars=no,width=400,height=350");
    if (result == null) return;
}  


//  function insertTeg(id, form, field)	{
    function insertTeg(id)	{
	var oOpenTag = '['
	var oCloseTag = ']'

	var cOpenTag = '[/'
	var cCloseTag = ']'
	
	var stop = false;

	if(id=='url') {
		var url_input = document.getElementById("js_url");
		//alert(url_input.value);
		if(url_input.value == 'http://') {
			alert("Надо ввести url");
			url_input.focus();
			var stop = true;
		}
		var id_begin = id + "=" + url_input.value;
		//var beginTag = oOpenTag + id_url + oCloseTag;	
	} else
		var id_begin = id;
		//var beginTag = oOpenTag + id + oCloseTag;

	var endTag = cOpenTag + id + cCloseTag;
		
	if(!stop) {
	  if (document.selection) {
		var textareas = document.getElementsByTagName("textarea");
		var rng = document.selection.createRange(); 
		var selText = '';
		selText = rng.text;

		if (selText !=  '') {
			for (var i = 0; i < textareas.length; i++) {
				if (rng.parentElement() == textareas[i]) {
					i = textareas.length;
					var outTxt = '';
					outTxt = oOpenTag + id_begin + oCloseTag + selText + cOpenTag + id + cCloseTag;
					rng.select();
					rng.text = outTxt;
				}
			}
		}
	  }  else {
		
        	if (window.getSelection) {
			var element = document.getElementById("tex");

        		var startPos = element.selectionStart;
        		var endPos = element.selectionEnd;
			var selText = element.value.substring(startPos, endPos);

			var outTxt = '';
			outTxt = oOpenTag + id_begin + oCloseTag + selText + cOpenTag + id + cCloseTag;

			element.value = element.value.substring(0, startPos) + outTxt + element.value.substring(endPos, element.value.length);
		}
	  }
	}

  }

function insTxt() { 
	var element = document.getElementById("tex")
	//var element = document.getElementsByTagName("textarea");
	alert(element.value);

	text = element.value.substring(element.selectionStart, element.selectionEnd)

	//text=window.getSelection();
	alert(text);

	if (!element)
		return;
	element.focus();
	if (typeof(element.caretPos) != 'undefined')
		element.caretPos.text = text;
	else if (typeof(element.selectionStart) != 'undefined')	{
		var newPos = element.selectionEnd + text.length;
		element.value = element.value.substring(0, element.selectionStart) + text + element.value.substring(element.selectionEnd, element.value.length);
		element.setSelectionRange(newPos, newPos);
	} else
		element.value += text;
	alert(text);

}
