function markSubnav(id){
	dhtml_objects["subnav"+id].set_visibility("visible");
}

function unmarkSubnav(id){
	dhtml_objects["subnav"+id].set_visibility("hidden");
}

var flag = new Array("0","0");
var info = new Array("поиск по сайту","пароль");
function check_form(inner,num) {
	if (flag[num] == 0 && inner.value != "") inner.value = "";
	flag[num] = 1;
}
function check_form_out(inner,num) {
	if (inner.value == "") {
		inner.value = info[num];
		flag[num] = 0;
	}
}


function showPage( lang, page, section ){
	var page = "/"+lang+"pageviewer/"+page+"/"+section;
	var OpenWindow=window.open(page, "info", "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600,height=550,top=50, left=50");
}

var imgWindow;
function OpenImg(file, parent, width, height){
	if (imgWindow != null && !imgWindow.closed) {
		imgWindow.close();
		imgWindow = null;
	}
	if (!width) {
		var width = 550;
	}
	if (!height) {
		var height = 550;
	}
	if (parent) {
		var left = dhtml_objects[parent].left(true)+150;
		var top = dhtml_objects[parent].top(true);
	}
	else {
		/* on center by def */
		var left = parseInt(screen.availWidth/2 - width/2);
		var top = parseInt(screen.availHeight/2 - height/2);
	}
	var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes,scrollbars=yes,menubar=no";
	sOptions += ",width=" + width;
	sOptions += ",height=" + height;
	sOptions += ",left=" + left;
	sOptions += ",top=" + top;
	imgWindow = window.open('', "selected_file", sOptions);
	imgWindow.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Просмотр изобажения</title></head><body>');
	imgWindow.document.write('<center><a href="javascript: void(0);" onClick="self.close()"><img src="' + file + '" border="0"></a></center>');
	imgWindow.document.write('</body></html>');
	
	
	return false;
}

function galleryPreview( lang, sectionid, item_number ){
	var ow=window.open("/"+lang+"/gallery/"+sectionid+"/"+item_number+"/", "preview", "width=570,height=500,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes");
}

function Sami(name, code){
    this.name = name;
    this.code = code;
}

function _list(current_list, main_list){
	populate_array(main_list.options[main_list.selectedIndex].value);
	current_list.length = 0;
	for (counter = 0; counter < _type_array.length; counter++){
		current_list.options[counter] = new Option(_type_array[counter].name, _type_array[counter].code);
	}
	if (its_ns4){history.go(0);}
	current_list.options[0].selected = true;
}

function its_a_digit(character){
	var digit_characters = "0123456789";
	if (digit_characters.indexOf(character) == -1){return false;}
	return true;
}

function its_integer(string_value){
	if(string_value.length == 0){return false;}
	for(var counter = 0; counter < string_value.length; counter++){
		current_char = string_value.charAt(counter);
		if (!its_a_digit(current_char)){return false;}
	}return true;
}

function check_integer(element, text, def){
	if(!its_integer(element.value)){
		alert(text+":\n"+element.value);
		element.value = def;
		element.focus();
		return false;
	}return true;
}

function purge_characters(original_string, bad_characters){
	if (!bad_characters) {
		var bad_characters = '`~!\"№\;%:?*+/\\<>#$^&=|';
	}
	var cleaned_string = "";
	for (var counter = 0; counter < original_string.length; counter++){
		current_char = original_string.charAt(counter);
		if (bad_characters.indexOf(current_char) == -1) {
			cleaned_string += current_char;
		}
	}
	return cleaned_string;
}

function its_a_digit_or_dot(character) {
    var floating_point_characters = ".,0123456789";
    // If it's not in the floating_point_characters string, then it's
    // not a valid floating point character, so return false
    if (floating_point_characters.indexOf(character) == -1) {
        return false
    }
    // Otherwise, it's a digit, so return true
    return true
}

function its_floating_point(string_value) {
    // Does it have a dot?
    if (string_value.indexOf(".") == -1 && string_value.indexOf(",") == -1) {
        // If not, return false
        return false
    }
    // Run through the rest of the characters in the string
    for (var counter = 0; counter < string_value.length; counter++) {
        // Get the current character
        current_char = string_value.charAt(counter)
        
        // If it's not a digit or dot, return false
        if (!its_a_digit_or_dot(current_char)) {
            return false
        }
    }
    // Otherwise, the string has nothing but
    // digits, so return true
    return true
}

function its_signed_floating_point(string_value) {
    // Does it have a dot?
    if (string_value.indexOf(".") == -1 && string_value.indexOf(",") == -1) {
        // If not, return false
        return false
    }
    // See if the first character is +, -, ., or a digit
    var current_char = string_value.charAt(0)
    if (current_char != "+" && 
        current_char != "-" &&
        !its_a_digit_or_dot(current_char)) {
        return false
    }
    // Run through the rest of the characters in the string
    for (var counter = 1; counter < string_value.length; counter++) {
        
        // Get the current character
        current_char = string_value.charAt(counter)
        
        // If it's not a digit or dot, return false
        if (!its_a_digit_or_dot(current_char)) {
            return false
        }
    }
    // Otherwise, the string has nothing but
    // digits, so return true
    return true
}