//---------------------------------------------------------------------------
//	Утилиты
//---------------------------------------------------------------------------
function toggle_item(id_item,id_img)
{
	var s = document.getElementById(id_item);
	if (s.style.display=='none')
	{
		//показать
		SetCookie('main_vote','1');		
		s.style.display='block';		
		document.getElementById(id_img).src = 'images/icon_up.png';
		document.getElementById(id_img).title = 'скрыть';
	}else{
		//скрыть
		SetCookie('main_vote','');		
		//deleteCookie('main_vote');		
		s.style.display='none';
		document.getElementById(id_img).src = 'images/icon_down.png';				
		document.getElementById(id_img).title = 'показать';
	}
}


function change_img(from)
{
	var s 
	s = document.getElementById('img1').src;
	document.getElementById('img1').src = document.getElementById('img'+from).src;
	document.getElementById('img'+from).src = s;
}

function err_msg(s) 
{
	return "Поле '"+s+"' не может быть пустым\n";
}
// fixPNG(); http://www.tigir.com/js/fixpng.js (author Tigirlas Igor)
function fixPNG(element)
{
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
	{
		var src;		
		if (element.tagName=='IMG')
		{
			if (/\.png$/.test(element.src))	{ src = element.src; element.src = "images/sp.gif"; }
		} else {
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if (src) { src = src[1]; element.runtimeStyle.backgroundImage="none"; }
		}		
		if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "')";
	}
}

function check_phone(phone)
{
	var r=true;
	if(phone.length != 11) r=false;
	if (isNaN(phone)) r=false;
	return r;
}

function check_dreid(dreid)
{
	var r=true;
	if(dreid.length != 12) r=false;
	if (isNaN(dreid)) r=false;
	return r;
}

function check_start(start)
{
	var r=true;
	if(start.length != 20) r=false;
	if (isNaN(start)) r=false;
	return r;
}

function check_zip(zip)
{
	var r=true;
	if(zip.length != 6) r=false;
	if (isNaN(zip)) r=false;
	return r;
}



function check_email(str) {
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}

	if (!supported) 
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
		
	//var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r1 = new RegExp("(@.*@)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
} 

function SetCookie( name, value ) 
{
	var argv    = SetCookie.arguments;
	var argc    = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path    = (argc > 3) ? argv[3] : '/';
	var domain  = (argc > 4) ? argv[4] : null;
	var secure  = (argc > 5) ? argv[5] : false;
	document.cookie =
	name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
} 

function getCookie(name)
{
  var arg = name + "=";
  startpos = document.cookie.indexOf(arg, 0);
  if (startpos == -1) 
    return "";
  else 
    startpos += arg.length;
  endpos = document.cookie.indexOf(';', startpos);
  if (endpos == -1) endpos = document.cookie.length;
  return unescape(document.cookie.substring(startpos, endpos));
}

function deleteCookie(strName)
{
    document.cookie = strName + "=0; expires=" + (new Date(0)).toGMTString();
}

function getBodyScrollTop() { return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);}
function getBodyScrollLeft(){ return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);}

//-----------------------------------------------------------Магазин
var r1='&';
var r2=';';
//---------------------------------------------------------------------------
//	Магазин
//---------------------------------------------------------------------------
function user_auth()
{
	//$('#user_in2').toggle();
	document.getElementById('user_in2').style.display='block';
	document.getElementById('user_login1').focus();
	//document.getElementById('user_in1').style.display='none';	
}

function toggle1(obj)
{
	//alert(obj.id);
	$('#user_in2').toggle();
	//document.getElementById('user_in2').style.display='block';
	//document.getElementById('user_in1').style.display='none';
}


function Zakaz1() 
{
  	SetCookie('bz','1');
	user_auth();
	alert('Для оформления заказа необходимо быть зарегистрированным пользователем. Если вы уже прошли регистрацию - зайдите на сайт под своим логином и паролем, иначе - зарегистрируйтесь.');				
}

function CartCalc() 
{
	//var form=document.cart_form;
	//form.getElementByTag('');	
	var cart = getCookie('cart');	
	if (cart=='') return;
   	var tovars = Array();
	var a1 = Array();
	var acart = Array();
	tovars = cart.split(r2);	
	var cnt = tovars.length;
	for( key in tovars ) {
		a1 = tovars[key].split(r1);	
		acart[a1[0]] = Array(a1[1],a1[2]);
	}
	var table=document.getElementById('basket');
	var tbody=table.getElementsByTagName('tbody')[0];

	var d1;
	var d2;
	var summ=0;
	var summ1;
	var fullfree=0;
	var i;
	
	for(key in acart)
	{
		i=key;
		d1=document.getElementById('ecart_del'+i);
		if (d1.checked) { 
			acart[i][0]=0; 
			tbody.removeChild(document.getElementById("ecart_row"+i));
		} else {
			d2=document.getElementById('ecart_cnt'+i);
			acart[i][1]=d2.value;
			summ1=d2.value*acart[i][0];
			summ+=summ1;
			document.getElementById('ecart_summ'+i).innerHTML=summ1;			
		}		
	}
	document.getElementById('ecart_summ0').innerHTML=summ;	

	//формируем кук корзины
	cart='';
	i=0;
	for( key in acart ) {
		if (acart[key][0]==0) continue;
		i++;
		if (cart!='') cart+=r2;
		cart+=key+r1+acart[key][0]+r1+acart[key][1];		
	}
	SetCookie('cart',cart);
	CartToPage();
	
	var id = document.getElementById('ld').value;	
	var id1 = document.getElementById('ld1').value;	
	if (id=='') s='shop'; else s=id1+'&id='+id;	
	if (i==0) location.replace("index.php?modul="+s+"#c");
}

function CartToPage() 
{
	//cart  -  ид товаров через запятую 
	var cart = getCookie('cart');
	//alert(cart);
	var cnt = 0;
	var summ = 0;
	
	if (cart!='') {
    	var tovars = Array();
		var a1 = Array();
		tovars = cart.split(r2);	
		cnt = tovars.length;
		if (cnt > 0 ) {
			for( key in tovars ) {
				a1 = tovars[key].split(r1);				
				summ += Number(a1[1])*Number(a1[2]); 	
			}
		}
		
	} 
	//присваиваем
	var cc = document.getElementById('cart_cnt');
	var cp = document.getElementById('cart_sum');
	if (cc)	cc.innerHTML = cnt;
	if (cp)	cp.innerHTML = summ;
	cc = document.getElementById('cart');
	if (cc)	if (cnt==0) cc.style.display='none'; else cc.style.display='block'; 
}

function ClearCart() 
{
  	SetCookie('cart','');
  	//CartToPage();
}

function AddToCart( e, tovarid, c ) 
{
  	//cart  -  ид товаров через запятую 
	var i1,i2;
  	var cart = getCookie('cart');
	if (!cart) cart='';
	var s =  tovarid + r1 + c + r1 ;
	i1 = cart.indexOf(s);
	if (i1==-1)
	{
		s += '1';
		if (cart!='') cart += r2;
		cart += s; 
		//alert(cart);	
	}else {
		var s1;
		var tovar = Array();
		i2 = cart.indexOf(r2,i1); if (i2==-1) i2=cart.length;
		s = cart.substring(i1,i2); 
		s1=s;
		tovar = s1.split(r1);	
		s1=parseInt(tovar[2]);
		s1++;		
		s1=tovarid + r1 + c + r1 + s1;
		cart=cart.replace(s,s1);
		//alert('Товар уже находится в корзине');		
	}
	SetCookie('cart',cart);
	CartToPage();
	
	var d = document.getElementById('addProductDiv').style;
	setPosition(d, e);
}

function AddToNotify( e, uid, tovarid ) 
{
	if (uid=='') { 
		alert('Функция доступна только зарегистрированным пользователям');
		user_auth();		
		return false;
	}
	
	var s='ajax3.php?id='+tovarid+'&uid='+uid;
	//alert(s);
		
    xmlhttp.open('get', s);
    xmlhttp.onreadystatechange = handleResponse3;
    xmlhttp.send(null);		
}

function handleResponse3() 
{
	if(xmlhttp.readyState == 4)
	{
		if (xmlhttp.status == 200)
		{       	
			var s1='';
			var s = xmlhttp.responseText;
			s1=s;
			if (s=='ok')
				s1='При поступление товара на вашу электронную почту будет выслано уведомление.';
			if (s=='!3')
				s1='Уведомление об этом товаре уже сохранено';
			alert(s1);
			//var response = xmlhttp.responseText;
			//changeText('rate'+update[0], update[1]);
			//alert('При поступление товара на вашу электронную почту будет выслано уведомление.');
		}
    }
}




//---------------------------------------------------------------------------
//	Проверки
//---------------------------------------------------------------------------
function check_user() {

	var error = '';

	var el;
	var user_name = document.cart_form.efio1.value;
	if( user_name == "" ) error += err_msg('Фамилия');
	var user_name = document.cart_form.efio2.value;
	if( user_name == "" ) error += err_msg('Имя');
	var user_name = document.cart_form.efio3.value;
	if( user_name == "" ) error += err_msg('Отчество');

	var user_email = document.cart_form.eemail.value;
	if( user_email == "" ) { error += err_msg('Email'); }
	else {
		if( check_email( user_email ) == false ) error += "'Email' не верен!\n";
		el =document.getElementById('testlogin');
		if (el)
			if( el.className=='red') error += "'Email' занят!\n";
	}	
	var user_pasw = document.cart_form.epasw.value;
	if( user_pasw == "" ) error += err_msg('Пароль');
	var user_pasw1 = document.cart_form.epasw1.value;
	if( user_pasw1 == "" ) error += err_msg('Повтор пароля');
	if( user_pasw1 != user_pasw ) error += "Поле 'Повтор пароля' не совпадает с полем 'Пароль'\n";			 

	s = document.cart_form.ecapt.value;
	if( s == "" ) error += err_msg('Символьного подтверждения');


	el = document.cart_form.etip1.checked;
	if( el ) {
		
	var user_org = document.cart_form.eorg.value;
	if( user_org == "" ) error += err_msg('Организация');

	var user_dol = document.cart_form.edolzh.value;
	if( user_dol == "" ) error += err_msg('Должность');

	var user_sfera = document.cart_form.esfera.value;
	if( user_sfera == "" ) error += err_msg('Сфера деятельности');
		
	}

	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else { 
		return true;
	}
}

function check_user1() {

	var error = '';

	var el;
	el = document.cart_form.eadr.value;
	if( el == "" ) error += err_msg('Адрес');

	el = document.cart_form.etel.value;
	el=el.replace(/ /g,'');
	document.cart_form.etel.value=el;
	if( check_phone(el)==false) error += "'Телефон' не содержит 11 символов или содержит нечисловые данные!\n";

	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else { 
		return true;
	}
}

function check_user_adr(add) {

	var error = '';

	var el;
	el = document.getElementById('adr_form' + add);
	el = el.eadr.value;
	
	if( el == "" ) error += err_msg('Адрес');

	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else { 
		return true;
	}
}



function check_user_e() {

	var error = '';

	var el;
	var user_name = document.cart_form.efio1.value;
	if( user_name == "" ) error += err_msg('Фамилия');
	var user_name = document.cart_form.efio2.value;
	if( user_name == "" ) error += err_msg('Имя');
	var user_name = document.cart_form.efio3.value;
	if( user_name == "" ) error += err_msg('Отчество');

	var user_email = document.cart_form.eemail.value;
	if( user_email == "" ) { error += err_msg('Email'); }
	else {
		if( check_email( user_email ) == false ) error += "'Email' не верен!\n";
		el =document.getElementById('testlogin');
		if (el)
			if( el.className=='red') error += "'Email' занят!\n";
	}	
	el = document.cart_form.etel.value;
	el=el.replace(/ /g,'');
	document.cart_form.etel.value=el;
	if( check_phone(el)==false) error += "'Телефон' не содержит 11 символов или содержит нечисловые данные!\n";
	

	el = document.cart_form.etip1.checked;
	if( el ) {
		
	var user_org = document.cart_form.eorg.value;
	if( user_org == "" ) error += err_msg('Организация');

	var user_dol = document.cart_form.edolzh.value;
	if( user_dol == "" ) error += err_msg('Должность');

	var user_sfera = document.cart_form.esfera.value;
	if( user_sfera == "" ) error += err_msg('Сфера деятельности');
		
	}

	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else { 
		return true;
	}
}



function check_rest_form() 
{
	var error = '';
	var s = document.rest_form.eemail.value;
	if( s == "" ) error += err_msg('E-mail'); 
	else {
		if( check_email( s ) == false ) error += "'Email' не верен!\n";
	}		

	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else
	{
		return true;
	}
}

function check_gb_form() 
{
	var error = '';
	var s = document.gbform.ename.value;
	if( s == "" ) error += err_msg('Имя'); 

	s = document.gbform.eemail.value;
	if( s == "" ) error += err_msg('E-mail');
	else {
		if( check_email( s ) == false ) error += "'Email' не верен!\n";
	}		

	s = document.gbform.etxt.value;
	if( s == "" ) error += err_msg('Сообщение');

	s = document.gbform.ecapt.value;
	if( s == "" ) error += err_msg('Символьного подтверждения');

	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else
	{
		return true;
	}
}


function check_dre()
{	
	var error = '';
	var s = document.cart0_form.efio1.value;
	if( s == "" ) error += err_msg('Фамилия'); 
	var s = document.cart0_form.efio2.value;
	if( s == "" ) error += err_msg('Имя');
	var s = document.cart0_form.efio3.value;
	if( s == "" ) error += err_msg('Отчество');
	var el = document.cart0_form.etel.value;
	el=el.replace(/ /g,'');
	document.cart0_form.etel.value=el;
	if( check_phone(el)==false) error += "'Телефон' не содержит 11 символов или содержит нечисловые данные!\n";

	s = document.cart0_form.eemail.value;
	if( s == "" ) error += err_msg('E-mail');
	else {
		if( check_email( s ) == false ) error += "'Email' не верен!\n";
		}		

	var el = document.cart0_form.ezip.value;
	el=el.replace(/ /g,'');
	document.cart0_form.ezip.value=el;
	if( check_zip(el)==false) error += "'Почтовый индекс' не содержит 6 символов или содержит нечисловые данные!\n";
	
	var s = document.cart0_form.eadress.value;
	if( s == "" ) error += err_msg('Имя');
	
	var el = document.cart0_form.edre.value;
	el=el.replace(/ /g,'');
	document.cart0_form.edre.value=el;
	if( check_dreid(el)==false) error += "'DRE ID' не содержит 12 символов или содержит нечисловые данные!\n";

	var el = document.cart0_form.epin.value;
	el=el.replace(/ /g,'');
	document.cart0_form.epin.value=el;
	if( check_start(el)==false) error += "'Пин-код карты' не содержит 20 символов или содержит нечисловые данные!\n";

	s = document.cart0_form.ecapt.value;
	if( s == "" ) error += err_msg('Символьного подтверждения');

	if ( error != '' ) 
		{  alert( 'Внимание!\n\n' + error );
		   return false;
		} 
	else
		{
			return true;
		}
}

function check_os_form() 
{
	var error = '';
	var s = document.gbform.efio.value;
	if( s == "" ) error += err_msg('Ф.И.О.');
	s = document.gbform.eemail.value;
	if( s == "" ) error += err_msg('Email'); 
	else {
		if( check_email( s ) == false ) error += "'Email' не верен!\n";
	}			

	s = document.gbform.emsg.value;
	if( s == "" ) error += err_msg('Текст сообщения');

	s = document.gbform.ecapt.value;
	if( s == "" ) error += err_msg('Символьного подтверждения');

	s = document.gbform.etel2.value;
	if( s == "" ) error += err_msg('Телефон');


	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else
	{
		return true;
	}
}

function check_os_form1() 
{
	var error = '';
	var s = document.gbform.efio.value;
	if( s == "" ) error += err_msg('Ф.И.О.');
	s = document.gbform.eemail.value;
	if( s == "" ) error += err_msg('Email'); 
	else {
		if( check_email( s ) == false ) error += "'Email' не верен!\n";
	}			

	s = document.gbform.emsg.value;
	if( s == "" ) error += err_msg('Текст сообщения');

	s = document.gbform.ecapt.value;
	if( s == "" ) error += err_msg('Символьного подтверждения');

	s = document.gbform.etel2.value;
	if( s == "" ) error += err_msg('Телефон');


	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else
	{
		return true;
	}
}


function GenSTF(id,title,uid,fio)
{		
	if (uid=='') { 
		alert('Функция доступна только зарегистрированным пользователям');
		user_auth();
		return false;
	}	
	window.open("stf.php?id="+id+"&title="+escape(title)+"&fio="+escape(fio), "Посоветовать другу", "width=595, height=360")
}

//---------------------------------------------------------------------------
//	AJAX
//---------------------------------------------------------------------------
function closeAddProductCompleteDiv()
{
	var d2 = document.getElementById('addProductDiv').style;
	d2.display = "none";
}

function setPosition(d, e)
{
	var scrollTop = 0;		
	/*if ( document.body.scrollTop )
		scrollTop = document.body.scrollTop;
	else if ( window.scrollY )
		scrollTop = window.scrollY;	*/
	scrollTop = getBodyScrollTop();	
	var x = 500; var y = 500;	
	x = e.clientX;
	y = e.clientY;
	d.left = (x - 20) + 'px';
	d.top = (scrollTop + y + 0) + 'px';
	d.display = "block";
	setTimeout( "closeAddProductCompleteDiv()", 1000 );
}

	var xmlhttp
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	  try {
	  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
	 } catch (e) {
	  try {
	    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
	  } catch (E) {
	   xmlhttp=false
	  }
	 }
	@else
	 xmlhttp=false
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
	{
		try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp=false }
	}

	function myXMLHttpRequest() 
	{
		var xmlhttplocal;
	  	try { xmlhttplocal= new ActiveXObject("Msxml2.XMLHTTP") } catch (e) {
		  try { xmlhttplocal= new ActiveXObject("Microsoft.XMLHTTP") } catch (E) {
		    xmlhttplocal=false;  }
		 }

		if (!xmlhttplocal && typeof XMLHttpRequest!='undefined') {
		 try {
		  var xmlhttplocal = new XMLHttpRequest();
		 } catch (e) {
	  		var xmlhttplocal=false;
			alert('couldn\'t create xmlhttp object');
		 	}
		}
		return(xmlhttplocal);
	}

function changeText( div2show, text ) {
    var IE = (document.all) ? 1 : 0;
    var DOM = 0; 
    if (parseInt(navigator.appVersion) >=5) {DOM=1};
    if (DOM) {
        var viewer = document.getElementById(div2show);
        viewer.innerHTML = text;
    }  else if(IE) {
        document.all[div2show].innerHTML = text;
    }
}

function sendReq(id,rate) {
	var el = document.getElementById('rate'+id); 	
	el.innerHTML = '<div class="loading"></div>';
	
    xmlhttp.open('get', 'ajax.php?id='+id+'&rate='+rate);
    xmlhttp.onreadystatechange = handleResponse;
    xmlhttp.send(null);	
}

function TestLogin(obj){
	var el = document.getElementById('testlogin');
	el.innerHTML = 'проверяем..';
    xmlhttp.open('get', 'ajax1.php?s='+obj.value);
    xmlhttp.onreadystatechange = handleResponse1;
    xmlhttp.send(null);		
}

function NextPic(side){
	el = document.getElementById('iimg');
	//el.style.display='none';
	var el = document.getElementById('iwait');
	//el.style.display='block';

	iside=side;	
	var s='ajax2.php?id='+iid+'&pid='+ipid+'&side='+side;
	//alert(s);
		
    xmlhttp.open('get', s);
    xmlhttp.onreadystatechange = handleResponse2;
    xmlhttp.send(null);		
}

function handleResponse() 
{
	if(xmlhttp.readyState == 4)
	{
		if (xmlhttp.status == 200)
		{       	
        	var response = xmlhttp.responseText;
	        var update = new Array();

	        if(response.indexOf('|') != -1) 
			{
        	    update = response.split('|');
				//alert('rate'+update[0]);
				//var el=document.getElementById('rate'+update[0]);
				//if (el) el.innerHTML=update[1];        	//
				changeText('rate'+update[0], update[1]);
	        }
		}
    }
}

function handleResponse1() 
{
	if(xmlhttp.readyState == 4)
	{
		if (xmlhttp.status == 200)
		{       	
      
	  		var r = xmlhttp.responseText;
			var s='';
			if (r=='red') s='данный E-mail занят'; else s='E-mail свободен';			
			var el = document.getElementById('testlogin'); 	
			el.innerHTML = s;
			el.className=r;
		}
    }
}

function handleResponse2() 
{
	if(xmlhttp.readyState == 4)
	{
		if (xmlhttp.status == 200)
		{       
			var el;
	  		var s = xmlhttp.responseText;
			//alert(s);
			if (s[0]!='!')
			{	
				var as = s.split("','");
				//alert(as[1]);				
				el = document.getElementById('iimg');
				el.src='images/albums/'+as[1]+'m.jpg';
				el.alt=as[2];

				el = document.getElementById('ititle');
				el.innerHTML=as[2];
				el = document.getElementById('idesc1');
				el.innerHTML=as[3];
				el = document.getElementById('ia');
				el.href='images/albums/'+as[1];
				iid = parseInt(as[0]);
				var s1,s2;
				s1=s2='block';
				if (parseInt(as[4])==1) s='none'; else s='block';
				if (iside==1) s1=s; else s2=s;				
				document.getElementById('ibut1').style.display=s1;
				document.getElementById('ibut2').style.display=s2;
			}else{
				//alert(iside);
				el = document.getElementById('ibut'+iside);
				el.style.display='none';				
			}
			el = document.getElementById('iwait'); 	
			el.style.display='none';
			el = document.getElementById('iimg');
			el.style.display='inline';
			
		}
    }
}


//----------------------------------------------------------------------------------------


function copy1(obj,name)
{
	var el=document.getElementById(name);
	if (el) {
		el.value=obj.innerHTML;			
	}	
	return false;
}