﻿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.length == 0) )
	{
		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 + " символов!";
alert(11);
	if (field.value.length > symbolLimit)
	{
		alert(err);
		field.focus();
		return true;
	}
	else return false;
}

*/

function fieldLengthIsMore(_field, _fieldRealName, symbolLimit)
{
	var field = document.getElementById("ctl00_ctl00_ContentPlaceHolderMain_ContentPlaceHolderInfo_txt" + _field);
	var err = "Поле '" + _fieldRealName + "' не может содержать более чем " + symbolLimit + " символов!";
	
	//debugger;
	var str = field.value;
		
    	if (str.match(/[^\r]\n/)) str = str.split("\n").join("\r\n"); // FF, Safari, any Unix/MaxOS X browser
    	else
		if (str.match(/\r[^\n]/)) str = str.split("\r").join("\r\n"); // legacy MacOS 9 and lower
    
       // alert("The length is " + str.length);	
	if (str.length > symbolLimit)
	{
		alert(err);
		field.focus();
		return true;
	}
	else
		return false;
}



var a = new Array();
a["cntst"] = "contest";
a["cntst_site"] = "epam.com";
a["prss"] = "press";
a["prss_site"] = "epam.com";
a["jb"] = "job";
a["jb_site"] = "epam.com";
a["wbmstr"] = "webmaster2008";
a["wbmstr_site"] = "epam.com";
a["inf"] = "info2008_01";
a["inf_site"] = "epam.com";
a["hr"] = "hr";
a["hr_site"] = "epam.com";
a["spjbe"] = "sapjob_east";
a["spjbe_site"] = "epam.com";
a["mogilev_trainings"] = "kanstantsin_ausiannikau";
a["mogilev_trainings_site"] = "epam.com";
a["ashauchenka"] = "Anastasiya_Shauchenka";
a["ashauchenka_site"] = "epam.com";
a["isurkova"] = "Iryna_Surkova";
a["isurkova_site"] = "epam.com";
a["aarekh"] = "Anastasiya_Arekh";
a["aarekh_site"] = "epam.com";
a["masl"] = "maslovich";
a["masl_site"] = "gsu.by";

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 writeMLfull(part1, part2, text, cssClass)
{
	if ( text == "")
	{
		text= part1 + "@" + part2;
	}
	if (cssClass != "")
	{
		cssClass = "class=\"" + cssClass + "\"";
	}
	document.write("<a href=\"mailto:" + part1 + "@" + part2 + "\""+ cssClass +">" + text + "</a>");
}*/

function search_submit (caller) {
	var sTemp = new String (document.forms ["search"].keyword.value) ;
	var sRes = -1 ;
	if ((sTemp.length == 0) || (sTemp == " ") || (sTemp.substr(0, 1) == " ")) {
		alert ("Поле `" + 'Поиск' + "` не должно быть пустым или начинаться с пробела.") ;
		sRes = 0 ;
	}		
	
	if (!is_symbols_correct (sTemp, BAD_SEARCH)) {
		alert ("Поле `" + 'Поиск' + "` не должно содержать специальных символов.") ;
		sRes = 0 ;
	}		

	if (sRes == 0) {
		document.forms ["search"].keyword.focus () ;
		if (caller != "button")	return false ;
	}
	else {
		document.forms ["search"].submit () ;
	}
	return void (false) ;
}


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;
}