//---------------------------------------------------------------------------
//	Утилиты
//---------------------------------------------------------------------------
var oldsumus=0;

var opacity = 0;
var old1; var new1; 
var timeout;
var timeout1;
var pretimeout = 0;
var el1; 

function fade_to_next()
{
  	opacity=opacity+5;	
  	el1.style.opacity = opacity/100; el1.style.filter = 'alpha(opacity='+ opacity +')';
  	timeout = setTimeout('fade_to_next()',15);
  	if (opacity>95)
   	{
    	opacity = 100;
    	clearTimeout(timeout);
	  	el1.style.opacity = 1; el1.style.filter = 'alpha(opacity=100)';
   	}
}

function fade_to_back()
{
  	opacity=opacity-5;	
  	el1.style.opacity = opacity/100; el1.style.filter = 'alpha(opacity='+ opacity +')';
  	timeout = setTimeout('fade_to_back()',15);
  	if (opacity<5)
   	{
    	opacity = 0;
    	clearTimeout(timeout);
	  	el1.style.opacity = 0; el1.style.filter = 'alpha(opacity=0)';
		el1.style.display = 'none';		
   	}
}

function stop_cnt()
{
   	clearTimeout(timeout1);
	pretimeout=0;
}

function add_cnt()
{	
	pretimeout=pretimeout+1;
  	timeout1 = setTimeout('add_cnt()',10);	
	if (pretimeout>15) 
	{
	   	clearTimeout(timeout1);			
	   	clearTimeout(timeout);	
		
		el1 = document.getElementById('bannerDiv');
		if (el1)
		{
			el1.style.opacity = 0; el1.style.filter = 'alpha(opacity=0)';		
			el1.style.display = 'block';	
			
			var scrollTop = 0;		
			var scrollLeft = 0;		
			scrollTop = getBodyScrollTop();			
			scrollLeft = getBodyScrollLeft();						
			
			el1.style.top = (scrollTop + 3 + 0) + 'px';
			scrollLeft  = scrollLeft + (screen.width - 588) / 2;
			el1.style.left	= (scrollLeft + 0)+ 'px';
	
			fade_to_next();
		}

	}
}

function show_baner(img)
{	
	var el;

	el = document.getElementById('bannerDivImg');
	if (el)
	{
		el.src = img;
	}
	pretimeout = 0;
  	timeout1 = setTimeout('add_cnt()',10);
}

function hide_baner()
{
	stop_cnt();
	clearTimeout(timeout);
	fade_to_back();
	/*
	var el;
	el = document.getElementById('bannerDiv');
	if (el)
	{
		el.style.display = 'none';
	}
	*/
}


function preventSelection(element){
  var preventSelection = false;

  function addHandler(element, event, handler){
    if (element.attachEvent) 
      element.attachEvent('on' + event, handler);
    else 
      if (element.addEventListener) 
        element.addEventListener(event, handler, false);
  }
  function removeSelection(){
    if (window.getSelection) { window.getSelection().removeAllRanges(); }
    else if (document.selection && document.selection.clear)
      document.selection.clear();
  }
  function killCtrlA(event){
    var event = event || window.event;
    var sender = event.target || event.srcElement;

    if (sender.tagName.match(/INPUT|TEXTAREA/i))
      return;

    var key = event.keyCode || event.which;
    if (event.ctrlKey && key == 'A'.charCodeAt(0))  // 'A'.charCodeAt(0) можно заменить на 65
    {
      removeSelection();

      if (event.preventDefault) 
        event.preventDefault();
      else
        event.returnValue = false;
    }
  }

  // не даем выделять текст мышкой
  addHandler(element, 'mousemove', function(){
    if(preventSelection)
      removeSelection();
  });
  addHandler(element, 'mousedown', function(event){
    var event = event || window.event;
    var sender = event.target || event.srcElement;
    preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
  });

  // борем dblclick
  // если вешать функцию не на событие dblclick, можно избежать
  // временное выделение текста в некоторых браузерах
  addHandler(element, 'mouseup', function(){
    if (preventSelection)
      removeSelection();
    preventSelection = false;
  });

  // борем ctrl+A
  // скорей всего это и не надо, к тому же есть подозрение
  // что в случае все же такой необходимости функцию нужно 
  // вешать один раз и на document, а не на элемент
  addHandler(element, 'keydown', killCtrlA);
  addHandler(element, 'keyup', killCtrlA);
}

preventSelection(document);

function preload(images) { 
    if (typeof document.body == "undefined") return; 
    try { 
        var div = document.createElement("div"); 
        var s = div.style; 
        s.position = "absolute"; 
        s.top = s.left = 0; 
        s.visibility = "hidden"; 
        document.body.appendChild(div); 
        div.innerHTML = "<img src=\"" + images.join("\" /><img src=\"") + "\" />"; 
    } catch(e) { 
        // Error. Do nothing. 
    } 
} 

preload([ 
    'img/pages/bnr1.jpg.jpg', 
]);		

//preload([ 'http://fastcoder.org/pic/logo.gif', 'http://fastcoder.org/unsorted/ows.gif' ]);

function hide_sumus(id)
{
	//document.getElementById('header').style.backgroundColor='#0ff';
	var el
	el = document.getElementById('sumus'+id);
	if (el)
	{
		//alert(id);
		el.style.display = 'none';		
		oldsumus=0;
	}
}

function show_sumus(id)
{
	//document.getElementById('header').style.backgroundColor='#fff';
	var el
	if (oldsumus!=0) 
	{
		hide_sumus(oldsumus);
	}
	
	el = document.getElementById('sumus'+id);
	if (el)
	{
		el.style.display = 'block';
		oldsumus=id;
	}
}

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_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);}

//---------------------------------------------------------------------------
//	Проверки
//---------------------------------------------------------------------------

function check_user_edit() {

	var error = '';

	var el;
	var user_name = document.cart_form.efio1.value;
	if( user_name == "" ) error += err_msg('Фамилия');
	var user_pasw = document.cart_form.epasw.value;
	if( user_pasw == "" ) 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";
	}	

	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else { 
		return true;
	}
}


function check_msgform() {
	
	var error = '';

	var el;
	var user_tema = document.cart_form.etema.value;
	if( user_tema == "" ) error += err_msg('Заголовок');

	var user_msg = document.cart_form.emsg.value;
	if( user_msg == "" ) { error += err_msg('Сообщение'); }

	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else { 
		return true;
	}
	
}

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('Символьного подтверждения');

	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else { 
		return true;
	}
}

function check_rest_form()
{
	var error = '';
	var s;
	s = document.rest_form.eemail.value;
	if( s == "" ) error += err_msg('Email'); 
	else {
		if( check_email( s ) == false ) error += "'Email' не верен!\n";
	}			

	s = document.rest_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.osform.efio.value;
	if( s == "" ) error += err_msg('Ф.И.О.');
	s = document.osform.eemail.value;
	if( s == "" ) error += err_msg('Email'); 
	else {
		if( check_email( s ) == false ) error += "'Email' не верен!\n";
	}			

	s = document.osform.emsg.value;
	if( s == "" ) error += err_msg('Текст сообщения');

	s = document.osform.ecapt.value;
	if( s == "" ) error += err_msg('Символьного подтверждения');


	if ( error != '' ) { 
		alert( 'Внимание!\n\n' + error );
		return false;
	} 
	else
	{
		return true;
	}
}


//---------------------------------------------------------------------------
//	AJAX
//---------------------------------------------------------------------------

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 TestLogin(obj,oldlogin){
	oldlogin = oldlogin || '';
	var el = document.getElementById('testlogin');

	if (obj.value == oldlogin) {
		el.innerHTML = '';
		el.className='gr';
		return;
	}

	el.innerHTML = 'проверяем..';
    xmlhttp.open('get', '/engine/ajax/test.login.php?s='+obj.value);
    xmlhttp.onreadystatechange = hr_testlogin;
    xmlhttp.send(null);		
}

function hr_testlogin() 
{
	if(xmlhttp.readyState == 4)
	{
		if (xmlhttp.status == 200)
		{       	
      
	  		var r = xmlhttp.responseText;
			var s='';
			//alert(r);
			if (r=='red') s='данный E-mail занят';
			if (r=='yellow') s='ошибка в написании E-mail';			
			if (r=='gr') s='E-mail свободен';
			var el = document.getElementById('testlogin'); 	
			el.innerHTML = s;
			el.className=r;
		}
    }
}

//----------------------------------------------------------------------------------------

function copy1(obj,name)
{
	var el=document.getElementById(name);
	if (el) {
		el.value=obj.innerHTML;			
	}	
	return false;
}

//---------------------------------------------- cart

//-----------------------------------------------------------Магазин
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 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 );
}
function closeAddProductCompleteDiv()
{
	var d2 = document.getElementById('addProductDiv').style;
	d2.display = "none";
}

