﻿
var BAD_STR_SEARCH  = "\\`~!@#$^&*()_+|{}[];=:'<>,./?" ;
var BAD_SEARCH  = 11 ;

var BAD_STR_URL = "`~^|{}'<>?;&+[!@#*=$%]\"" ;
var BAD_URL = 8 ;

function IsEmpty(_field, _fieldRealName, _IsObligatory)
{
	err = "Поле '" + _fieldRealName + "' обязательно для заполнения!";
	field = document.getElementById("ctl00_ctl00_ContentPlaceHolderMain_ContentPlaceHolderInfo_txt"+_field);

	if (field.value.replace(/^\s+$/g,'') == '')
	{
		if (_IsObligatory)
		{
			field.focus();
			alert(err);
			return true;
		}		
	}
	else
	{
		return false;
	}
}

function fieldLengthIsMore(_field, _fieldRealName, symbolLimit)
{
	field = document.getElementById("ctl00_ctl00_ContentPlaceHolderMain_ContentPlaceHolderInfo_txt" + _field);
	err = "Поле '" + _fieldRealName + "' не может содержать более чем " + symbolLimit + " символов!";
	// server treats line break as 2 chars (\r\n), so scripts emulates the same logic by length measurement
	var test = field.value;
	if (test.match(/[^\r]\n/)) test = test.split("\n").join("\r\n"); // FF, Safari, any Unix/MaxOS X browser
	else if (test.match(/\r[^\n]/)) test = test.split("\r").join("\r\n"); // legacy MacOS 9 and lower
	if (test.length > symbolLimit)
	{
		alert(err);
		field.focus();
		return true;
	}
	else return false;
}

var a = new Array();
a["wbmstr"] = "webmaster2008";
a["wbmstr_site"] = "epam.com";
a["inf"] = "info2008_01";
a["inf_site"] = "epam.com";
a["spjbe"] = "sapjob_east";
a["spjbe_site"] = "epam.com";

function writeML(id, text, cssClass)
{
	if (text == "")
	{
		text = a[id];
	}
	if (cssClass != "")
	{
		cssClass = "class=\"" + cssClass + "\"";
	} 
	document.write("<a href=\"mailto:" + a[id] + "@" + a[id + "_site"] + "\""+ cssClass +">" + text + "</a>");
}

function search_submit () {
	var sTemp = new String (document.forms ["search"].keyword.value) ;
	if ((sTemp.length == 0) || (sTemp == " ") || (sTemp.substr(0, 1) == " ")) {
		alert ("Поле `" + 'Поиск' + "` не должно быть пустым или начинаться с пробела.") ;
		return false;
	}
	
	if (!is_symbols_correct (sTemp, BAD_SEARCH) || sTemp.match(/^[^\w\u0400-\u052F]*-/)) {
		alert ("Поле `" + 'Поиск' + "` не должно содержать специальных символов.") ;
		return false;
	}

	return true;
}


function is_symbols_correct (str, what_case) {
	var BAD = "" ;

	
	
	if (what_case == BAD_SEARCH) {
		BAD = BAD_STR_SEARCH ;
	}	
	
	var symbol ;
	var l = str.length ;
	for (var i = 0 ; i < l ; i++) {
		symbol = str.substr(0, 1) ;
		if (BAD.indexOf (symbol) > 0) return false ;
		if ((escape (symbol) == "%5C") && (BAD != BAD_STR_URL)) return false;
		str = str.substr (1) ;
	}
	return true;
}
