/*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*/
/*           WSM protected           */
var good='';
var urlbuffer='';
var telbuffer1='';
var telbuffer2='';
var phone_number0='';
var phone_number1='';
var phone_number2='';
var phone_number3='';
var phone_number4='';
var phone_number5='';
var phone_number6='';
var phone_number7='';
var phone_number8='';
var phone_number9='';
var phone_number10='';
var phone_number11='';
var phone_number101='';
var phone_number102='';
var url_adr0='';


			function opendict(x,y,file)
			{
				var OpenWindow=window.open(file+".html", "newwin1","height=620,width=440,scrollbars=1,left="+(x)+",top="+(y));
				self.name="main window"
			}
			function openform_630(x,y,file)
			{
				var OpenWindow=window.open(file+".php", "newwin2","height=400,width=350,scrollbars=0,left="+(x)+",top="+(y));
				self.name="main window"
			}
			function openform_com(x,y,file)
			{
				var OpenWindow=window.open(file+".php", "newwin3","height=500,width=350,scrollbars=0,left="+(x)+",top="+(y));
				self.name="main window"
			}
			function openform_reg(x,y,file)
			{
				var OpenWindow=window.open(file+".php", "newwin4","height=500,width=350,scrollbars=1,left="+(x)+",top="+(y));
				self.name="main window"
			}
			getAbsolutePos = function(el)
			{
				var ST = 0;
				if (el.scrollTop)
 				ST = el.scrollTop;
				var r = { y: el.offsetTop - ST };
				if (el.offsetParent)
				{
 					var tmp = this.getAbsolutePos(el.offsetParent);
 					r.y += tmp.y;
				}
				return r;
			}

			function heartBeat() {
				if(IE)
				{
					f1_posi = getAbsolutePos(document.all.f1_pos).y;
					f2_posi = getAbsolutePos(document.all.f2_pos).y;
					f3_posi = getAbsolutePos(document.all.f3_pos).y;
					f4_posi = getAbsolutePos(document.all.f4_pos).y;
					f5_posi = getAbsolutePos(document.all.f5_pos).y;
					f6_posi = getAbsolutePos(document.all.f6_pos).y;


					if(f1_posi>200)diffY=document.body.scrollTop+(f1_posi-474);
					else
					{
						if(f2_posi>200)diffY=document.body.scrollTop+(f2_posi-474);
						else
						{
							if(f3_posi>200)diffY=document.body.scrollTop+(f3_posi-474);
							else
							{
								if(f4_posi>200)diffY=document.body.scrollTop+(f4_posi-474);
								else
								{
									if(f5_posi>200)diffY=document.body.scrollTop+(f5_posi-474);
									else
									{
										if(f6_posi>200)diffY=document.body.scrollTop+(f6_posi-474);
									}
								}
							}
						}
					}
					diffYm1=document.body.scrollTop;
					if (diffYm1<diffY+30) diffYm=diffYm1;
					else diffYm=diffY;
				}
				if(NS)
				{
					diffY = self.pageYOffset;
				}
				if(diffY != lastScrollY)
				{
					percent = .07 * (diffY - lastScrollY);
					if(percent > 0) percent = Math.ceil(percent);
					else percent = Math.floor(percent);

					percent_m = .07 * (diffYm - lastScrollYm);
					if(percent_m > 0) percent_m = Math.ceil(percent_m);
					else percent_m = Math.floor(percent_m);

					if(IE)
					{
						document.all.float_corner.style.pixelTop += percent;
						document.all.float_menu.style.pixelTop += percent_m;
						/////////////////////////////////////////////////////////////////////////
						if(document.all.float_menu.style.pixelTop<210)// корр.4 - остановка меню в верхней позиции
						{
							document.all.float_menu.style.pixelTop=211;
						}
						/////////////////////////////////////////////////////////////////////////
					}
					if(NS) document.float_menu.top += percent;
					lastScrollY = lastScrollY + percent;
					lastScrollYm = lastScrollYm + percent_m;
				}
			}


function blurValid(field, type, required) 
{
    var good='';

    if (field) {
	switch( type ) {
    	case 'integer':
        	if (!field.value.match (/^[0-9]*$/)) {good='';} else {good='1';} break;
    	case 'number':
	        if (!field.value.match (/^[0-9\., ]*$/) ) {good='';} else {good='1';} break;
	    case 'price':
	        if (!field.value.match (/^[0-9\., ]*$/) ) {good='';} else {good='1';} break;
	    case 'email':
	        if (!field.value.match (/^[^@]+@([^@\.]{2,}\.)+[^@\.]{2,}$/i)) {good='';} else {good='1';} break;

	    case 'url':
 		if (!field.value.match (/^([0-9A-Za-zА-Яа-я\:\/\_\-\.]{2,}\.)+[0-9A-Za-zА-Яа-я\?\=\$\/\_\-\.]*[0-9A-Za-zА-Яа-я]{2,}$/i)) 
		{
			good='';
		} 
		else 
		{
			good='1';
       		
		} 
		break;

	    case 'phone':

		/* Если пользователь начал ввод корректно или еще только начинает, выполнить анализ поля */
                if (field.value.match (/^\(/) || field.value.length<=0)
		{
			/* Если это не стирание пользователем введенного номера, выполнить серво-функцию */
			if(!telbuffer2.match (/^[\(\s\d]*\){1}/))
			{
				/* серво-Москва */
				phone_number4=/^\(\s*\+*7*\s*095$/;
				if (field.value.match(phone_number4)){field.value=field.value.replace(phone_number4,"(095) ");}
				/* серво-Питер */
				phone_number5=/^\(\s*\+*7*\s*812$/;
				if (field.value.match(phone_number5)){field.value=field.value.replace(phone_number5,"(812) ");}
				/* серво-Москва-499 */
				phone_number6=/^\(\s*\+*7*\s*499$/;
				if (field.value.match(phone_number6)){field.value=field.value.replace(phone_number6,"(499) ");}
	
				/* серво-Питер-Мегафон */
				phone_number7=/^\(\s*\+*7*\s*921$/;
				if (field.value.match(phone_number7)){field.value=field.value.replace(phone_number7,"(921) ");}
				/* серво-Питер-МТС */
				phone_number8=/^\(\s*\+*7*\s*911$/;
				if (field.value.match(phone_number8)){field.value=field.value.replace(phone_number8,"(911) ");}
				/* серво-Москва-СОНИК-ДУО */
				phone_number9=/^\(\s*\+*7*\s*926$/;
				if (field.value.match(phone_number9)){field.value=field.value.replace(phone_number9,"(926) ");}
				/* серво-Москва-Вымпелком */
				phone_number10=/^\(\s*\+*7*\s*903$/;
				if (field.value.match(phone_number10)){field.value=field.value.replace(phone_number10,"(903) ");}
				/* серво-Москва-МТС */
				phone_number11=/^\(\s*\+*7*\s*916$/;
				if (field.value.match(phone_number11)){field.value=field.value.replace(phone_number11,"(916) ");}
			}

		/* откат двойной откр. скобки */
			phone_number102=/^\(\s*\(\s*(\d*)/;
			if (field.value.match(phone_number102)){field.value=field.value.replace(phone_number102,"($1");}

		/* откат двойной закр. скобки */
			phone_number101=/(\d*)\)\s*\)(\d*)/;
			if (field.value.match(phone_number101)){field.value=field.value.replace(phone_number101,"$1) $2");}
	
		/* ПРОВЕРКА ПРАВИЛЬНОСТИ */
	        	if (!field.value.match (/^\(\s*[0-9][0-9\-]{1,}[0-9]\s*\)\s*([0-9\-]*[0-9]+){2,}\s*(\*\s*[0-9\-]*[0-9]+){0,1}$/) ) {good='';} 
                	else {good='1';} 

			/*Запоминание значения текущего поля на два шага вперед*/
			telbuffer2=telbuffer1;
			telbuffer1=field.value;

			break; 
		}

 		/* Значение -1 использовать только для полей телефонов. */
		else{good='-1';break;} 

	    case 'password':
	        if (!field.value.match (/^.{4,}$/)) {good='';} else {good='1';} break;
	    case 'bill':
	        if (!field.value.match (/^[0-9]{20}$/)) {good='';} else {good='1';} break;
	    case 'rekviz':
	        if (!field.value.match (/^[0-9]{5,}$/)) {good='';} else {good='1';} break;
	    case 'index':
	        if (!field.value.match (/^[0-9]{6}$/)) {good='';} else {good='1';} break;
	    case 'login':
	        if (!field.value.match (/^[0-9A-Za-z\_\-]{4,}$/)) {good='';} else {good='1';} break;
	    case 'name':
	        if (!field.value.match (/^.{2,}$/)) {good='';} else {good='1';} break;
	    case 'contname':
	        if (!field.value.match (/^[A-Za-zА-Яа-я\s\-]{2,}$/)) {good='';} else {good='1';} break;
	    case 'icq':
	        if (!field.value.match (/^[0-9\s\-]{5,}$/)) {good='';} else {good='1';} break;
	    case 'key':
	        if (!field.value.match (/^[А-Яа-я]{8,}$/)) {good='';} else {good='1';} break;
	    case 'nick':
	        if (!field.value.match (/^[^#]{3,}$/)) {good='';} else {good='1';} break;

	    default:
	        if (required && field.value.length<=0) {good='';} else {good='1';} break;
                       }
	    
        }
    if(required=='false' && field.value.length<=0) good='1';

    if(good=='')  {field.className ='itextwrong';status='Пожалуйста, заполните это поле корректно.';}
    if(good=='1')  {field.className ='itext';status='';}
    if(good=='-1')
    {
	phone_number0=/^7*\{*\[*\+*[A-Za-zА-Яа-я]*\-*(\d*)/;
	field.value=field.value.replace(phone_number0,"($1");
	status='ВНИМАНИЕ! Номер телефона должен содержать код города.';
    }

}
function blurValidSelect(field)
{
	{field.className ='isel';}
}
function telCorrect(field, type, required)
{

/*Обрабокта кода города, приведение к 1 пробелу после скобки*/
phone_number1=/\(\s*\+*\s*\-*(\d*)\s*\)\s*/;
field.value=field.value.replace(phone_number1,"($1) ");

/*Обработка символов (-) в номере телефона*/
phone_number2=/\)\s(\d{3})(\d+)/;
field.value=field.value.replace(phone_number2,") $1-$2");
blurValid(field, type, required);

/*Обработка символов (-) в номере телефона*/
phone_number2=/(\d*)\s*\*\s*(\d*)/;
field.value=field.value.replace(phone_number2,"$1 *$2");
blurValid(field, type, required);
}

function urlCorrect(field, type, required)
{

        if (!field.value.match (/^https*\:\/\//))
			{
				url_adr0=/^([0-9A-Za-zА-Яа-я\:\/\_\-\.]*)/;
				field.value=field.value.replace(url_adr0,"http://$1");
			}	

}
function icqCorrect(field, type, required)
{

icq_number1=/^(\d*)\s*\-*\s*(\d*)\s*\-*\s*(\d*)\s*\-*\s*(\d*)\s*\-*\s*(\d*)\s*\-*\s*(\d*)\s*\-*\s*(\d*)/;
field.value=field.value.replace(icq_number1,"$1$2$3$4$5$6");
blurValid(field, type, required);
}

function markField(field, valid) {
if (field) {
	if (valid) {
        field.className = field.className.replace(/fillError/g, '');
    } else if( field.className.indexOf('fillError')==-1 ) {
    	field.className = field.className+' fillError';
    }
}
}

function textareaValid(field, maxLength) {
	if (field.value.length > maxLength) {
		if( field.className.indexOf('fillError')<0 ) {
			field.className += ' fillError';
		}

		// cut to long text
		field.value = field.value.substr(0, maxLength);
		// alert userabout to long text
		alert(descriptionexceed1 + ' ' + maxLength + ' ' + descriptionexceed2 + '.');
    } else {
    	field.className = field.className.replace(/fillError/g, '');
    }
}

/*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*/
