function checkMail(field)
{
var str=field.value;
	var re =/^[\w-](\.?[\w-])*@([a-z]{2,}|[\w-](\.?[\w-])*\.[a-z]{2,4})$/i;
	if(!re.test(str))
		{
		alert('Некорректный e-mail');
		field.focus();
		return false;
		}
return true;
}




// trf - test required field
function trf (form_name, element_name, mes_text) {
	if (document.forms[form_name].elements[element_name].value=='') {
		return " - поле \"" + (mes_text.toUpperCase()) + "\" не заполнено;\n";
	}
	else {
		return "";
	};

};



// trfn - test required field numeric
function trfn (form_name, element_name, mes_text) {
	if (document.forms[form_name].elements[element_name].value=="") {
		return " - поле \"" + (mes_text.toUpperCase()) + "\" не заполнено;\n";
	  }
	else {
		if (isNaN(document.forms[form_name].elements[element_name].value)) {
			return " - поле \"" + (mes_text.toUpperCase()) + "\" должно быть числом;\n";
		}
		else {
			return "";
		};
	};
};


// tnf - test numeric field
function tnf (form_name, element_name, mes_text) {
	if (!(document.forms[form_name].elements[element_name].value=="")) {
		if (isNaN(document.forms[form_name].elements[element_name].value)) {
			return " - поле \"" + (mes_text.toUpperCase()) + "\" должно быть числом;\n";
		}
		else {
			return "";
		};
	}
	else {
		return "";
	};
};




// tddl - test drop dawn list
function tddl (form_name, element_name, mes_text) {
	if (document.forms[form_name].elements[element_name].value=="") {
		return " - поле \"" + (mes_text.toUpperCase()) + " не заполнено;\n";
	  }
	else {
		if (document.forms[form_name].elements[element_name].value=="0") {
			return " - поле \"" + (mes_text.toUpperCase()) + "\" не заполнено;\n";
		};
		if (isNaN(document.forms[form_name].elements[element_name].value)) {
			return " - поле \"" + (mes_text.toUpperCase()) + "\" должно быть числом;\n";
		}
		else {
			return "";
		};
	};
}






function sentPublicLoginForm(formLink)
{
var diff=0; //смещение в форме
if(!checkMail(formLink.elements['login']))
	{
	return;
	}

if(formLink.elements[diff+1].value.length<2)
	{
	alert('Укажите пароль, больше чем 2 символа');
	formLink.elements[diff+1].focus();
	return;
	}

formLink.submit();
}





/*  ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ (НАЧАЛО) */
function testRegistrationForm(formLink)
{
	var formName=formLink.name;
	var em = "";

    if(!checkMail(formLink.elements['edit[email]'])){return;}

	em = em + trf(formName, "edit[email]", "E-mail");
	em = em + trf(formName, "edit[name]", "Имя");
	em = em + trf(formName, "edit[fname]", "Фамилия");
	em = em + tddl(formName, "edit[town]", "Город");
	em = em + trf(formName, "edit[zipcode]", "Индекс");
	em = em + trf(formName, "edit[phone]", "Номер телефона");
	em = em + trf(formName, "edit[address]", "Адрес");

    if(formLink.elements['captcha'])
        {em = em + trfn(formName, "captcha", "Код проверки");}


	if (formLink.elements["edit[isreg]"].value == 0) { // проверяем пароли только при добавлении
		em = em + trf(formName, "edit[pwdnew1]", "Пароль");
		em = em + trf(formName, "edit[pwdnew2]", "Пароль (повтор)");
	}

	if (formLink.elements["edit[pwdnew1]"].value != formLink.elements["edit[pwdnew2]"].value)	{
		em+= "Введенные пароли не совпадают!";
	}

	if (em !="") {
		alert(em);
	}
	else {
		formLink.submit();
	};

}

function testForgetForm(formLink)
{
	var formName=formLink.name;
	var em = "";

    if(!checkMail(formLink.elements['edit[email]'])){return;}

	em = em + trf(formName, "edit[email]", "Email");
    if(formLink.elements['captcha'])
        {em = em + trfn(formName, "captcha", "Код проверки");}



	if (em !="") {
		alert(em);
	}
	else {
		formLink.submit();
	};

}



function testBasketListForm(formLink)
{
    var re =/.*\[count\].*/i;
    var elName='';
    var elVal=0;
    var allCount=0;

	for(var i=0;i<formLink.length;i++)
		{
			if(formLink.elements[i].type == "text")
				{
                    elName=formLink.elements[i].name;
                	if(re.test(elName))
                    {
                        elVal=formLink.elements[i].value*1;
                        if (isNaN(elVal) || elVal=="") {elVal=0;formLink.elements[i].value=0;}
                        //alert(elVal);
                        allCount+=elVal;
                    }
				}
		}
    if(allCount<1)
        {
            alert('ВАША КОРЗИНА ПУСТА');
            return;
        }

    formLink.subact.value=3;
    formLink.submit();
}



function testOrderForm(formLink)
{
	var formName=formLink.name;
	var em = "";

    if(!checkMail(formLink.elements['edit[email]'])){return;}

	em = em + trf(formName, "edit[name]", "Имя");
	em = em + trf(formName, "edit[fname]", "Фамилия");
	em = em + trf(formName, "edit[zipcode]", "Индекс");
	em = em + trf(formName, "edit[phone]", "Номер телефона");
	em = em + tddl(formName, "edit[town]", "Город");
	em = em + trf(formName, "edit[address]", "Адрес");
	em = em + trf(formName, "edit[email]", "E-mail");

    if(formLink.elements['captcha'])
        {em = em + trfn(formName, "captcha", "Код проверки");}

    var checkDel=false;
    var checkPay=false;
	for(var i=0;i<formLink.length;i++)
		{
			if(formLink.elements[i].type == "radio")
				{
					if(formLink.elements[i].checked)
						{
							if(formLink.elements[i].name=='edit[delivery]') {checkDel=true;}
							if(formLink.elements[i].name=='edit[pay]') {checkPay=true;}
						}
				}
		}

	if(!checkDel)	{em = em + "Метод доставки не заполнено;\n";}
	if(!checkPay)	{em = em + "Метод оплаты не заполнено;\n";}

	if (em !="") {
		alert(em);
	}
	else {
		formLink.submit();
	};

}



///////////////////////////////////
//проверка коментариев
function sentCommentForm(formLink)
{

formLink.comtext.value=cutFakeChar(formLink.comtext.value);
if(formLink.comtext.value.length<2)
	{
	alert('Укажите текст ');
	formLink.comtext.focus();
	return;
	}

if(formLink.uid.value<1)
	{alert('Вы не зарегистрировались на сайте');	return;	}

formLink.subact.value=1;
formLink.submit();
}





///////////////////////////////////
//проверка коментариев
function delCommentForm(formLink)
{
if(formLink.uid.value<1)
	{alert('Вы не зарегистрировались на сайте');	return;	}

formLink.subact.value=3;
formLink.submit();
}









function searchStart(formL,minWord)
{
if(formL.searchword.value=='Поиск')
	{
	formL.searchword.value='';
	}

var str=cutEmptyChar(formL.searchword.value);
if(str.length < minWord || str == '')
	{
	formL.searchword.value=str;
	showSearchError(formL,minWord);
	return;
	}

var error=false;
var temp=str.split(" ");
var goodStr=new Array();
var tmpStr='';
for(i=0;i<temp.length;i++)
	{
		tmpStr=cutEmptyChar(temp[i]);
		if(tmpStr != '' && tmpStr.length >= minWord)
		{
		goodStr.push(tmpStr);
		}
		else if(tmpStr.length < minWord)
		{
		alert("-"+tmpStr+"-");
		error=true;
		}
	}

if(goodStr.length < 1)
	{
		error=true;
	}


formL.searchword.value=goodStr.join(" ");

if(error == true)
	{
	showSearchError(formL,minWord);
	return;
	}
formL.submit();
return;
}



function cutEmptyChar(str)
{
var str_re = /[^a-zа-я0-9\s\-\'\"]/i;
str = str.replace(str_re, "");
str_re = /\s*$/i;
str = str.replace(str_re, "");
str_re = /^\s*/i;
str = str.replace(str_re, "");
str_re = /\s+/img;
str = str.replace(str_re, " ");
if(str == " " || str == "") {return '';}
return str;
}



function cutFakeChar(str)
{
var str_re = /\s*$/im;
str = str.replace(str_re, "");
str_re = /^\s*/im;
str = str.replace(str_re, "");
str_re = /  +/img;
str = str.replace(str_re, "  ");
str_re = /\r\n/img;
str = str.replace(str_re, "\n");
str_re = /\n+/img;
str = str.replace(str_re, "\n");
if(str == " " || str == "") {return '';}
return str;
}




function showSearchError(formL,minWord)
{
alert("Слова для поиска не должны быть короче "+minWord+" символов.");
formL.searchword.focus();
return;
}












/////////////////////////
//подписка на новости
function subscSent(formL)
{
var diff=0; //смещение в форме

if(!checkMail(formLink.elements[diff+0]))
	{
	return;
	}

formLink.submit();
}






function checkLenght(fieldLink,maxLength)
{
if(fieldLink.value.length>maxLength)
	{
	fieldLink.value=fieldLink.value.substring(0,maxLength);
	alert('Превышенна максимальная длина сообщения: '+maxLength);
	fieldLink.focus();
	}

return;
}




















function sentNewUserForm(formLink)
{
var diff=0; //смещение в форме
if(formLink.elements[diff+0].value.length<2)
	{
	alert('Укажите Ваш ник, больше чем 2 символа');
	formLink.elements[diff+0].focus();
	return;
	}

if(formLink.elements[diff+1].value.length<2)
	{
	alert('Укажите пароль, больше чем 2 символа');
	formLink.elements[diff+1].focus();
	return;
	}

if(formLink.elements[diff+1].value!=formLink.elements[diff+2].value)
	{
	alert('Пароли не совпадают, Вы где-то ошиблись');
	formLink.elements[diff+1].focus();
	return;
	}

if(formLink.elements[diff+3].value.length>0)
	{
		if(!checkMail(formLink.elements[diff+3]))
		{
		return;
		}
	}

formLink.submit();
}





















///////made borya
function photo(name)
{
l="picture.php?img="+name;
var nw=eval("window.open('"+l+"','z','status=yes,scrollbars=0,resizable=no,width=100,height=100')");
nw.focus();
}





///////////////////////////////////
//проверка контактной формы
function sentCommentForm(formLink)
{

var diff=0; //смещение в форме

if(formLink.elements[diff+0].value.length>0)
	{
		if(!checkMail(formLink.elements[diff+0]))
		{
		return;
		}
	}


if(formLink.elements[diff+1].value.length<10)
	{
	alert('Укажите текст');
	formLink.elements[diff+1].focus();
	return;
	}



formLink.subact.value=1;
formLink.submit();
}






/////////////////////////////////////
///
function showDivBlock(divName)
{
var messageElement = $(eval("'#"+divName+"'"));

  $.blockUI({message:messageElement});
//  $.blockUI('123 <a href="javascript:hideDivBlock(\'sentErBlock\')">zzz</a>');
}


function hideDivBlock(divName)
{

var messageElement = $(eval("'#"+divName+"'"));
var messageElementClone=messageElement.clone();
$(messageElementClone).appendTo("body");
$(messageElementClone).css( "display", "none" );

    $.unblockUI();
	//objDivM=new lib_obj(divName);
	//objDivM.hideIt();
}










/////////////////////////
//регистрация редактирование логина
function sentCatalogFilter(formLink,formElement)
{
    if(formElement.value==0){return;}

    for(var i=0;i<formLink.length;i++)
        {
            if((formLink.elements[i].type=='select-one') && (formLink.elements[i].name != formElement.name))
                {
                    formLink.elements[i].selectedIndex=0;
                }
        }
    formLink.submit();
    return;
}





///////////////////////////////////
//проверка контактной формы
function sentFeedBack(formLink)
{
var diff=0; //смещение в форме

if(!checkMail(formLink.elements[diff+1]))
	{
	return;
	}

if(formLink.elements[diff+0].value.length<2)
	{
	alert('Укажите имя');
	formLink.elements[diff+0].focus();
	return;
	}

formLink.elements[diff+2].value=cutFakeChar(formLink.elements[diff+2].value);
if(formLink.elements[diff+2].value<2)
	{
	alert('Укажите текст ');
	formLink.elements[diff+2].focus();
	return;
	}


formLink.subact.value=1;
formLink.submit();
}

function disabledBacketButton(flag)
{
    if(flag)
        {
        $('#backetButton').attr("disabled","disabled");
        $('#backetButton').css("backgroundColor","#999");
        }
      else{
        $('#backetButton').removeAttr("disabled");
        $('#backetButton').css("backgroundColor","#000");
      }

}


var tovarBasketName='tovarBasket';

function addTovarToBacket(formLink)
{
    var id=formLink.id.value;
    var size=formLink.size.value;
    var count=formLink.tcount.value*1;

    if (isNaN(count) || count=="") {count=0;formLink.tcount.value=0;}

    disabledBacketButton(true);

    if(size==0){
        alert('Укажите размер');
        formLink.size.focus();
        disabledBacketButton(false);
        return;
        }

    if(count=='' || count==0 ){
        alert('Укажите кол-во');
        formLink.tcount.focus();
        disabledBacketButton(false);
        return;
        }
     count=count*1;
    if(count==0 ){
        alert('Укажите кол-во');
        formLink.tcount.focus();
        disabledBacketButton(false);
        return;
        }
    var newValue=checkTovarBacketNewVal(id,size,count);
    var cookieValue=readTovarBacketCookie();
//    alert(cookieValue);
    if(cookieValue==0)
        {
            writeTovarBacketNewVal(newValue);
        }
      else
        {
            //alert(cookieValue[newValue["id"]]);
            for(key in newValue)
            {
                if(cookieValue[key])
                    {
                    //alert("Вы добавляли уже такой товар");
                    disabledBacketButton(false);
                    return;
                    }
                cookieValue[key]=newValue[key];
                writeTovarBacketNewVal(cookieValue);
            }
            //alert(cookieValue);
        }

    alert("Товар добавлен");
    disabledBacketButton(false);
    writeBacketCount();
}


function writeTovarBacketNewVal(cookieValue)
{
    var str=[];
    var key;
    for(key in cookieValue) {
        //alert("writeTovarBacketNewVal cookie: key=" + key+" val="+cookieValue[key]);
        str.push(key+"|"+cookieValue[key]);
    }
    var hours=24*30*12;
    //writeCookie(tovarBasketName, '', hours);
    writeCookie(tovarBasketName, str.join(":"), hours);
    return;
}


function checkTovarBacketNewVal(id,size,count)
{
  id+='';
  id=id.replace(/[:|]/g,'');
  size+='';
  size=size.replace(/[:|]/g,'');
  count+='';
  count=count.replace(/[:|]/g,'');
  var result={};

//  result["id"]=id+"|"+size;
// result["value"]=count;
  result[id+"|"+size]=count;
  return result;
}

function readTovarBacketCookie()
{
    var str=readCookie(tovarBasketName);
    if(str==''){return 0;}
    var result=str.split(":");
    var valObj={};
    var tmp=[];
    //alert(str);
    for(var i=0;i<result.length;i++)
        {
            tmp=result[i].split("|");
            valObj[tmp[0]+"|"+tmp[1]]=tmp[2];
        }
    return valObj;
}


function writeBacketCount()
{
    var cookieValue=readTovarBacketCookie();
    var count=0;
    for(key in cookieValue)
        {
        //alert("writeBacketCount cookie: key=" + key+" val="+cookieValue[key]);
        count++;
        }
    //        alert(count);
   if(count==0){return;}

    var url=$("input[name='basketInfoUrl']").attr("value");
    if(!url){url='';}

    $('#basketInfo a').remove();
    $('#basketInfo form:first-child').after('<a href="'+url+'">КОРЗИНА['+count+']</a>');
    //$('#basketInfo form:first-child').after('<a href="'+url+'">КОРЗИНА['+count+']</a>');
   return;
}



function delBacketItems(inputName)
{
   $('#'+inputName).attr('value',0);
   $("form:has('#"+inputName+"')").submit();
//   $("form:has('#"+inputName+"')").attr('name');


   return;
}






// Example:
// writeCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
function writeCookie(name, value, hours)
{
  var expire = "";
  if(hours != null)
  {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString() +"";
  }
  document.cookie = name + "=" + escape(value) + expire;
}

// Example:
// alert( readCookie("myCookie") );
function readCookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  {
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    {
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}




function writeBacketTownPrice(formName)
{
    var formLink=document[formName];
    var key=formLink.elements['edit[town]'].value;
    key=key*1;

    var price=0;
    var townsName='';

    if(mytownsPrice[key])
        {
            price=mytownsPrice[key]['price']*1;
            townsName=mytownsPrice[key]['name'];
         }
    else{
            price=0;
            townsName='';
        }


    $('#deliveryText').html(' '+price+' ');
    formLink.elements['edit[delivery_price]'].value=price;

    $('#deliveryTownText').html(''+townsName+'');

    var totalSum=formLink.elements['totalSum'].value;
    totalSum = myFormatBacketPrice(totalSum,1);
    totalSum=totalSum*1+price*1;

    totalSum=myFormatBacketPrice(totalSum,2);

    $('.totalSumTextId').html(''+totalSum+'');


//mytownsPrice
}



function myFormatBacketPrice(str,type)
{
 if(type=="1")
    {
     var totalSum=0;
     totalSum = str.replace(/[^\d]/g,"");
     totalSum=totalSum*1;
     return totalSum
    }

 if(type=="2")
    {
     return myFormatMoneyStr(str)+" :-";
    }

}





	function myFormatMoneyStr(str,separator,counter)
	{
		if(!separator){separator=" ";}
		if(!counter){counter=3;}
		str+="";
		if(str.length<1){return;}
		var result=[];
		var j=0;
		for(var i=str.length;i>0;i--)
			{
				if(!(j%counter))
					{
					if(j!=0){result.push(separator);}
					}
				result.push(str.substring(i, (i-1)));
				j++;
			}		
		result.reverse();
		return result.join("");
	}
	









///////////////////////////////////
//проверка subscribe формы
function sentSubscOut(formLink)
{
var diff=0; //смещение в форме

if(!checkMail(formLink.elements[diff+0]))
	{
	return;
	}


//formLink.subact.value=1;
formLink.submit();
}









function changePhotoEffect()
{
	$('#tovarInfoImgLink img').attr('src',tovarInfoImgSrc);
	$('#tovarInfoImgDiv').fadeIn(1000);
	//$('#tovarInfoImgLink img').animate({height:'500px',width:'280px'},3000);
    return;
}




var tovarInfoImgSrc='';
var tovarPhotoId=-1;

function showTovar(itemId)
{
	if(!tovarList[itemId]){return;}
	var num='';
	
	//$('#tovarInfoImgLink').attr('href',tovarList[itemId]['link']);
	//$('#tovarInfoImgLink').attr('title',tovarList[itemId]['name']);

	$('#tovarInfoImgLink img').attr('alt',tovarList[itemId]['name']);
	$('#tovarInfoImgLink img').attr('title',tovarList[itemId]['name']);
	
	tovarInfoImgSrc=tovarList[itemId]['img'];


	$("a[id][id^='tovarItem'] > img").fadeTo("fast",1);
	$('#tovarItem_'+itemId+' > img').fadeTo("slow", 0.5);

	
	$('#tovarInfoImgDiv').fadeOut(500,function() {
		changePhotoEffect();
	});
	
	

}


function startShowTovar()
{
	if(tovarPhotoId==-1)
		{tovarPhotoId=0;}
	showTovar(tovarPhotoId);
	return;
}



