function checkEmail(obj){
    var str=obj.value;
    if(str=='') return true;
    if (/^([\w-~_]+\.)*[\w-~_]+@([\w-_]+\.){1,3}\w{2,4}$/.test(str))	return true;

alert("Неправильный e-mail адрес");
obj.focus();
return false;
}


function zoom(name,format){
        var p=window.open('/zoom.plx?n='+name+'&amp;f='+format,'preview_window',"width=10,height=10,top=0,left=0,location=0,toolbar=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,fullscreen=0");
        if(p)p.focus();
	return false;
}

function zoomCT(file){
        var p=window.open('/zoomCT.plx?id='+file,'preview_window',"width=10,height=10,top=0,left=0,location=0,toolbar=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,fullscreen=0");
        if(p)p.focus();
	return false;
}

function ch_sz(tobj,num){
        var obj=document.getElementById("IS_"+num);
        var st=tobj.value;
        obj.innerHTML=st.split('_')[1];
	return true;
}


function mm(url){
    var img=new Image;
    img.src=url;
    return img;
}

var imgBkYes=mm('/img/spacer.gif');
var imgBkNo=mm('/img/spacer.gif');

function doBk(iid,section,price,count,curr) {
   var obj,obj1,img;
   if(document.all) { obj= document.all['my_note_i'];}
   else {obj=document.getElementById('my_note_i');}
    if(!isInBk(iid)) {
    	 if (isNaN(count) ){count=1};
        if (isNaN(curr) ){curr=1};
        //alert(curr);
        addToBk(iid+'_'+count+'_'+curr);
         var noteBK=document.getElementById("noteBK");
         var count=parseInt(cookieVal("noteCount"));
         if (count >= 0) { } else { count = 0}
         count += 1 ;
		 if(noteBK)
		 {
		  var ender='ий';
		  if(count<5) ender='ии';
		  if(count==1) ender='ию';
		  noteBK.innerHTML='' +count+'&#160;Позиц'+ender;

		 }
        var it=document.getElementById('it_'+iid);
        it.innerHTML="Заказано";
        var ico=document.getElementById('ico');
        ico.innerHTML='<a href="/basket/all"><img src="/img/basket.gif" width="43" height="39" border="0" /></a>';


        document.cookie ="noteCount="+count+"; path=/";
         img=imgBkYes;

         basketSplash();

    } else img=imgBkNo;
    if (img && img.complete) {
        if (obj) { obj.src=img.src; }
        showBk(iid,section);
    }
return false;
}

function showBk(iid,section){
 var obj=document.getElementById("my_note");
 var obj1=document.getElementById("ti_"+iid+"_"+section);
 var ox,oy;
 for(ox=oy=0;obj1;obj1=obj1.offsetParent)ox+=obj1.offsetLeft, oy+=obj1.offsetTop;
 if (obj) {
    obj.style.top=oy-26; obj.style.left=ox;
    obj.style.display='block';
 }
return false;
}

function dropBk(){
 var obj=document.getElementById("my_note");
 obj.style.display='none';
}

function cookieVal(cookieName) {
    thisCookie = document.cookie.split("; ")
        for (i = 0; i < thisCookie.length; i++) {
            if (cookieName == thisCookie[i].split("=")[0]) {
                return thisCookie[i].split("=")[1];
            }
        }
    return 0;
}


function isInBk(posNum){
    var p_cookie=document.cookie;
    var cookie;
    cookie=unescape(p_cookie.substr(p_cookie.indexOf('book=')+5,p_cookie.indexOf('-NSB')-p_cookie.indexOf('book=')-4));
    return cookie.indexOf('-'+posNum+'_')==-1?false:true;
}

function addToBk(code){
    var p_cookie=document.cookie;
    var cookie;
    cookie=unescape(p_cookie.substr(p_cookie.indexOf('book=')+5,p_cookie.indexOf('-NSB')-p_cookie.indexOf('book=')-5));
    p_cookie='book='+escape(cookie+'-'+code)+'-NSB; path=/';
    document.cookie=p_cookie;
}

function comp(path){window.location='&amp;'+path; return false;}


var ldr=null;

function add(sel,v,n){
var newOpt=sel.appendChild(document.createElement('option'));
newOpt.text=n;
newOpt.value=v;
}

var divname=null;
var div=null;

function chan(f,name,qw,parm)
{

 if(ldr&&ldr.readyState!=0) { ldr.abort() }
 ldr=selector();
 if(ldr)
 {
 	name.length = 0;
 	var now = new Date();
 	ldr.open("GET","/selector.plx?q="+parm+"&sel="+qw+"&t="+now.getSeconds(),true);
	ldr.onreadystatechange=function()
	{
	if(ldr.readyState==4 && ldr.responseText)
		{
			eval(ldr.responseText);
		}
	};
	ldr.send(null)
 }
}


function selector()
{
	var A=null;
	try{A=new ActiveXObject("Msxml2.XMLHTTP")}
	catch(e){try{A=new ActiveXObject("Microsoft.XMLHTTP")}
	catch(oc){A=null}}
	if(!A&&typeof XMLHttpRequest!="undefined") {A=new XMLHttpRequest()}
	return A
}

function HTMLchan(name,qw)
{
 divname=name;
 div=document.getElementById(name);
 document.getElementById(name).innerHTML="<div style='position:absolute; color:red; font-size:13px; font-weight:bold; padding-left: 70px; padding-top:1px;'>Идет загрузка...</div>"+document.getElementById(name).innerHTML;
 if(ldr&&ldr.readyState!=0) { ldr.abort() }
 ldr=selector();
 if(ldr)
 {
 	name.length = 0;
 	var now = new Date();
 	ldr.open("GET","/attr.plx?sel="+qw+"&t="+now.getSeconds(),true);

	ldr.onreadystatechange=function()
	{
	if(ldr.readyState==4 && ldr.responseText)
		{
			//alert(div.innerHTML);
			var txt1=ldr.responseText;
			div.innerHTML=txt1;
		}
	};
	ldr.send(null)
 }
 return false;
}

$(document).ready(function(){
    $(document).bind("contextmenu",function(e){
        return false;
    });

    $('a.print').click(function() {
        window.open($(this).attr('href'), "print","location=0,status=0,scrollbars=1,toolbar=0,menubar=0,directories=0,resizable=1,width=1024,height=768");
        return false;
    });

    preventSelection(document.body);
});


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);
}

function basketSplash() {
    var div = $('<div style="text-align: center" />').css({
        position: 'absolute',
        zIndex: 999999,
        border: '1px solid #BBAB85',
        padding: '10px',
        background: '#FDFBF2'
    });
    
    var $markup = $(
    	'<span>Товар добавлен в корзину</span>' +
    	'<table cellspacing="0" cellpadding="0" style="margin-top: 10px"><tr>' +
    		'<td><div style="width:90px;height:15px;background:#fcf4de;color:black;cursor:pointer;border-color:#e9e2c6;border-style:solid;border-width:0 1px 1px 0;font-size:10px;text-align:center;font-weight:bold;margin:2px;">продолжить</div></td>' +
    		'<td><div style="width:90px;height:15px;background:#b2ff7d;color:black;cursor:pointer;border-color:#9adf6c;border-style:solid;border-width:0 1px 1px 0;font-size:10px;text-align:center;font-weight:bold;margin:2px;">оформить заказ</div></td>' +
    	'</tr></table>'
    )
    
    div.append($markup);
    
    $markup.find('div').eq(0).click(function() {
    	div.fadeOut(300, function() {
            div.remove();
        });
    });
    
    $markup.find('div').eq(1).click(function() {
    	window.location = '/basket/all';
    });

    $(document.body).append(div);

    div.css({
        left: ($(document).width() - div.width()) / 2,
        top: ($(window).height() - div.height()) / 2 + $(document).scrollTop()
    });

    setTimeout(function() {
        div.fadeOut(300, function() {
            div.remove();
        })
    }, 2000);
}

function showSplash(timeout) {

    if (!$.cookie('splash')) {

        var div = $('<div><div class="close" style="text-align:right;margin-top:3px"><span style="cursor:pointer;color:red">закрыть</span></div><div class="content"></div></div>').css({
            position: 'absolute',
            zIndex: 999999,
            border: '1px solid #BBAB85',
            padding: '0px 10px',
            background: '#FDFBF2',
            width: 350,
            height: 200,
            color: '#71706C',
            'font-family': 'Arial,Helvetica,sans-serif',
            'font-size': '11px'
        });

        $('.content', div).load('/docsimple/popup');
        $('.close span', div).click(function() {
            div.fadeOut(300, function() {
                div.remove();
            })
        });

        $(document.body).append(div);

        div.css({
            left: ($(document).width() - div.width()) / 2,
            top: ($(window).height() - div.height()) / 2 + $(document).scrollTop()
        });

        setTimeout(function() {
            div.fadeOut(300, function() {
                div.remove();
            })
        }, 1000 * timeout);

        $.cookie('splash', '1', {path: '/'});
    }
}

function track(id) {
	$(document.body).append(
		$('<script type="text/javascript" defer="defer"></script>')
			.attr('src', '/track.plx?id='+id)
	);
}

$(function() {
	$('#itemview').each(function() {
		var $element = $(this);
		var exclude = [];
		var offset = 0;
		var step = 67;
		var timestamp = 0;
		
		var $markup = $(
			'<table cellpadding="0" cellspacing="0" border="0"><tr>' +
				'<td class="left"></td>' +
				'<td class="content"></td>' +
				'<td class="right"></td>' +
			'</tr></table>'
		).appendTo($element);
		
		var $left = $markup.find('.left');
		var $right = $markup.find('.right');
		
		var $wrapper = $('<div class="wrap"></div>').appendTo($markup.find('.content'));
		var $table = $('<table cellpadding="0" cellspacing="0" border="0"><tr></tr></table>').appendTo($wrapper);
		var $tr = $table.find('tr');
		
		function load() {
			$.getJSON('/itemview.plx', {exclude: exclude.join(','), time: timestamp}, function(json) {
				if (json.time > timestamp) {
					timestamp = json.time;
				}
				
				var after = null;
				
				$.map(json.items, function(item) {
					exclude.push(item.id);
					var $td = $('<td></td>');
					$td.append(
						$('<a />')
							.attr('href', '/subitem/' + item.id)
							.append(
								$('<img alt="" />').attr({
									src: item.image_src,
									width: item.image_width,
									height: item.image_height
								})
							)
					);
					if (after) {
						$td.insertAfter(after);
					} else {
						$tr.prepend($td)
					}
					
					var $hover = null;
					$td.hover(function() {
						var offset = $td.offset();
						$hover = $('<div />')
							.html(
								item.typename + '<br />' + 
								item.brand + ' ' + item.iname + ' ' + item.name + '<br />' +
								(item.price > 0 
									? '<span style="font-size:12px">' + item.price + ' ' + item.currency + '</span>'
									: ''
								)
							).css({
								position: 'absolute',
								background: "#FEFCF7",
								border: '2px solid #92928A',
								'box-shadow': '5px 5px 5px #818181',
								'-o-box-shadow': '5px 5px 5px #818181',
								'-ms-box-shadow': '5px 5px 5px #818181',
								'-webkit-box-shadow': '5px 5px 5px #818181',
								left: offset.left + 1,
								top: offset.top + $td.outerHeight() + 5,
								padding: '10px',
								color: '#e66b1f',
								fontFamily: 'Arial,Helvetica,sans-serif',
								fontSize: '11px',
								fontWeight: 'bold',
								textAlign: 'center'
							})
						$(document.body).append($hover);
						
					}, function() {
						if ($hover) {
							$hover.remove();
							$hover = null;
						}
					});
					
					after = $td;
				});
				
				if (json.items.length) {
					$table.stop().css({
						marginLeft: '-=' + json.items.length * step
					});
					offset = 0;
					animate();
				}
			});
		}
		
		function animate() {
			$table.stop().animate({
				marginLeft: offset
			});
		}
		
		$right.click(function() {
			offset -= step;
			var width = $table.width() - $wrapper.width();
			if (offset < -width) {
				offset = -width;
			}
			animate();
		});
		
		$left.click(function() {
			offset += step;
			if (offset > 0) {
				offset = 0;
			}
			animate();
		});
		
		load();
		
		setInterval(function() {
			load();
		}, 8000);
	});
});
