function getElemID(element) {
	return document.getElementById(element);
}

function trimK(stroka) {
	var arraySplit = stroka.split("");
	var i1  = 0;
	var i2  = 0;
	var arr = new Array();
	while(true) {
		if(arraySplit[i1] == " ") {
			i2++;
		} else break;
		i1++;
	}
	i1 = arraySplit.length;
	var i3 = 0;
	while(true) {
		i1--;
		if(arraySplit[i1] == " ") {
			i3++;
		} else break;
	}
	return stroka.substr(i2, (arraySplit.length-i3-i2));
}

function proverka(input) {
	input.value = input.value.replace(/[^\d]/g, "");
}
function OnlyDigit(input) {
	return input.value.replace(/[^\d]/g, "");
}

function FTS_(_number,_decimal,_separator) {
	if (Number(_number)<1000) return _number;
	var decimal=(typeof(_decimal)!='undefined')?_decimal:0;
	var separator=(typeof(_separator)!='undefined')?_separator:' ';
	var r=parseFloat(_number);
	var exp10=Math.pow(10,decimal);// приводим к правильному множителю
	r=Math.round(r*exp10)/exp10;// округляем до необходимого числа знаков после запятой
	rr=Number(r).toFixed(decimal).toString().split('.');
	b=rr[0].replace(/(\d{1,3}(?=(\d{3})+(?:\.\d|\b)))/g,"\$1"+separator);
	if (decimal>0)
		r=b+'.'+rr[1];
	else
		r=b;
		
	return r;// возвращаем результат
}
function getElementPosition(c){
	var b=getElemID(c);
	var a=0;
	while(b){
		a+=b.offsetTop;
		b=b.offsetParent
	}
	return a;
};
function setMask(I,M) {
	function R(s){return new RegExp('('+s.replace(/\(/g,'\\(').replace(/\)/g,'\\)').replace(/\//g,'\\/').replace(/9/g,'\\d').replace(/a/g,'[a-zа-яё]').replace(/\*/g,'[a-zа-яё0-9]')+')','gi')}
	function N(c,j,x){
		for(var k=0,s='';k<L;k++)s+=$[k]||c||'_';
		I.value=s;
		x?0:I.sC(!j?i:0)
	}
	function D(e,p,i){
		p=I.gC();
		if (p[0]==p[1]) {
			if(e)p[1]++;
			else p[0]--
		}
		for(i=p[0];i<p[1];i++)
			if(!S[i]&&$[i]){
				$[i]=0;
				j--
			}
		return p
	}
	function V(){
		setTimeout(function(k){
				if (R(M).test(I.value)) {
					I.value=RegExp.$1;
					$=I.value.split('');
					for(k=j=0;k<L;k++)if(!S[k])j++
				}
				else N()
			},0)
	}
	function P(c){
		if (c<35&&c!=8&&c!=32||c==45) return 1;
		switch(c){
			case 8:		i=D()[0]; return 0;
			case 46:	i=D(1)[1]; return 0;
			case 35:    i = L; return 1;
			case 36:    i = 1;
			case 37:    if (i-=2<-1) i=-1;
			case 39:    if (++i>L) i=L; return 1;
			default:    i=I.gC()[0];
						while(i<L&&S[i]){i++}
						if (i==L) return 0;

						c = String.fromCharCode(c)
						if (R(M.charAt(i)).test(c)) {
							D(1);
							$[i++] = c;
							j++;
							while(i<L&&S[i]){i++}
						}
						return 0
		}
	}

	var d=document, c='character', y=-100000, L=M.length, G=!c, i=0, j=0, $=M.split(''), S=M.split('');

	for (var k=0;k<L;k++) if (/a|9|\*/.test($[k])) $[k]=S[k]=0;
	I = typeof I=='string' ? d.getElementById(I) : I;
 
	I.sC = function(l,g){
		if(this.setSelectionRange) this.setSelectionRange(l,l);
		else {
			g = this.createTextRange();
			g.collapse(true);
			g.moveStart(c,y);
			g.move(c,l);
			g.select();
		}
	}
	I.gC = function(r,b){
		if (this.setSelectionRange) return [this.selectionStart,this.selectionEnd];
		else {
			r = d['selection'].createRange();
			b = 0-r.duplicate().moveStart(c,y)
			return [b,b+r.text.length]
		}
	}
	I.onfocus = function(){
		setTimeout(function(){N(0,!j)},0)
	}
	I.onblur = function(){
		j ? N(' ',0,1) : this.value=''
	}
	I.onkeydown = function(e,c){
		e = e||event;
		c = e.keyCode||e.charCode;

		if (c==8||c==46) {
			G = true;
			P(c);
			N();
			return !G
		}
		else if (!window.netscape&&(c>34&&c<38||c==39)) P(c)
	}
	I.onkeypress = function(e){
		if (G) return G=!G;

		e = e||event;

		if (P(e.keyCode||e.charCode)) return !G;

		N();

		return G
	}

	if (d.all&&!window.opera) I.onpaste=V;
	else I.addEventListener('input',V,false)
}

function focusnext(myfield,max,nextid) {
		var len = myfield.value.toString().replace(/[^\d]/g, '').length;
		if (len >= max && '' != nextid) {
			getElemID(nextid).focus();
		}
}

function check_form1(event) {
	serverRequest('/calc/submit.php', document.rezumeform); 
	
	if(event == "nex1t") {
		var error_next;
		// ERROR START
		
		if(trimK(document.page1.position.value) == "")
			error_next = "Вы не ввели желаемую позицию";
		else if(trimK(document.page1.family.value) == "")
			error_next = "Вы не ввели фамилию";
		else if(trimK(document.page1.name.value) == "")
			error_next = "Вы не ввели имя";
		else if(trimK(document.page1.patronymic.value) == "")
			error_next = "Вы не ввели отчество";
		else if(trimK(document.page1.birthday_d.value) == "")
			error_next = "Вы не указали день рождения";
		else if(trimK(document.page1.birthday_m.value) == "0")
			error_next = "Вы не указали месяц рождения";
		else if(trimK(document.page1.birthday_y.value) == "")
			error_next = "Вы не указали год рождения";
		else if(trimK(document.page1.salary_s.value) == "")
			error_next = "Вы не ввели примерную зарплату";
		else if(trimK(document.page1.professional_area_1.value) == "0" && trimK(document.page1.professional_area_2.value) == "0" && trimK(document.page1.professional_area_3.value) == "0")
			error_next = "Вы не указали профессиональную область";
		else if(trimK(document.page1.education.value) == "0")
			error_next = "Вы не указали образование";
		else if(trimK(document.page1.email.value) == "")
			error_next = "Вы не ввели электронную почту";
		else if(trimK(document.page1.tel_s_1.value) == "" || trimK(document.page1.tel_s_2.value) == "" || trimK(document.page1.tel_s_3.value) == "")
			error_next = "Вы не корректно указали мобильный телефон";
		else if(trimK(document.page1.tel_d_1.value) == "" || trimK(document.page1.tel_d_2.value) == "" || trimK(document.page1.tel_d_3.value) == "")
			error_next = "Вы не корректно указали домашний телефон";
		else if(trimK(document.page1.region.value) == "")
			error_next = "Вы не ввели регион";
		else if(trimK(document.page1.address.value) == "")
			error_next = "Вы не ввели почтовый адрес";
		else if(trimK(document.page1.experience_beginning_m_1.value) == "")
			error_next = "Вы не указали Начало";
		else if(trimK(document.page1.experience_beginning_y_1.value) == "")
			error_next = "Вы не указали  Начало";
		else if(trimK(document.page1.experience_end_m_1.value) == "")
			error_next = "Вы не указали Окончание";
		else if(trimK(document.page1.experience_end_y_1.value) == "")
			error_next = "Вы не указали Окончание";
		else if(trimK(document.page1.organization_1.value) == "")
			error_next = "Вы не ввели Организацию";
		else if(trimK(document.page1.post_office_1.value) == "")
			error_next = "Вы не ввели Должность";	
		else if(trimK(document.page1.responsibilities_function_1.value) == "")
			error_next = "Вы не ввели Обязанности, функции, достижения";
		else if(trimK(document.page1.responsibilities_function_1.value) == "")
			error_next = "Вы не ввели Профессиональный опыт";
			
		// ERROR END
		if(error_next)
			alert(error_next);
		else {
			document.page1.action = "?page=result";
			
			document.page1.submit();
		}
	}
	/*
	if(event == "remember") {
		document.page1.action = "?page=1";
		document.page1.submit();
	}*/



	
}


/*
Кодирование данных (простого ассоциативного массива вида
{ name : value, ...} в URL-escaped строку (кодировка UTF-8)
*/
function urlEncodeData(data) {
	// var allElem=document.forms[0].elements;
	var allElem=data.elements;
	var str='{';
	for(i=0;i<allElem.length;i++){
		if (allElem[i].type=='checkbox' || allElem[i].type=='radio') { 
			if (allElem[i].checked == true) str+=AddStr(allElem[i].name,allElem[i].value);
		} else {
			str+=AddStr(allElem[i].name,allElem[i].value);
		}
	}
 
	return encodeURI(str+'}');
}

function AddStr(name,value) {
	return name+'='+value+'&';
}

function SendPOST(url,data,elementID) {
	ajaxSendPOST(url,urlEncodeData(data),SendCallback,elementID);
}

function SendCallback(answer,elementID) {
	/*ar element = document.getElementById(elementID);
	var ans = eval('('+answer+')');
	if (ans.res=='error') {element.innerHTML = ans.msg;}
	if (ans.res!='ok') {element.innerHTML = 'Не корректный ответ.';}
	element.innerHTML =  ans.text;*/
	// document.getElementById(elementID).innerHTML =  answer;
	alert(answer);
}

function ajaxSendPOST(url,data,sendcallback,elementID) {
	var xmlh = null;
	if(window.XMLHttpRequest) {
		xmlh = new XMLHttpRequest();
	} else {
		try{
			xmlh = new ActiveXObject('Msxml2.XMLHTTP');
		} catch(ex) {
			xmlh = new ActiveXObject('Microsoft.XMLHTTP');
		}
	}

	if(xmlh){
		var requestDone = false;
		xmlh.open('post', url, true);
		setTimeout(function(){
			requestDone = true;
		}, 5000);
		xmlh.onreadystatechange = function(x) {
			if(xmlh.readyState==4 && !requestDone) {sendcallback(xmlh.responseText,elementID);}
			if(requestDone) {document.getElementById(elementID).innerHTML = 'Истекло время ожидания';}
		}
		 xmlh.setRequestHeader("Accept-Charset", "windows-1251");
		 xmlh.setRequestHeader("Accept-Language","ru, en");
		 xmlh.setRequestHeader("Content-Length", data.length);
		 xmlh.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		 xmlh.setRequestHeader("Connection", "close");
		 xmlh.send(data);
	}
}
/*
var the_object;
var http_request = new XMLHttpRequest();
http_request.open( "GET", url, true );
http_request.send(null);
http_request.onreadystatechange = function () {
    if ( http_request.readyState == 4 ) {
        if ( http_request.status == 200 ) {
            the_object = eval( "(" + http_request.responseText + ")" );
        } else {
            alert( "There was a problem with the URL." );
        }
        http_request = null;
    }
};
*/
function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

