/* controlls */

function getOffset(elem) {
    if (elem.getBoundingClientRect) {
        // "правильный" вариант
        return getOffsetRect(elem)
    } else {
        // пусть работает хоть как-то
        return getOffsetSum(elem)
    }
}

function getOffsetSum(elem) {
    var top=0, left=0
    while(elem) {
        top = top + parseInt(elem.offsetTop)
        left = left + parseInt(elem.offsetLeft)
        elem = elem.offsetParent
    }

    return {top: top, left: left}
}

function getOffsetRect(elem) {
    // (1)
    var box = elem.getBoundingClientRect()

    // (2)
    var body = document.body
    var docElem = document.documentElement

    // (3)
    var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop
    var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft

    // (4)
    var clientTop = docElem.clientTop || body.clientTop || 0
    var clientLeft = docElem.clientLeft || body.clientLeft || 0

    // (5)
    var top  = box.top +  scrollTop - clientTop
    var left = box.left + scrollLeft - clientLeft

    return { top: Math.round(top), left: Math.round(left) }
}

                        var out = {
                            text: parent.document.getElementById('text'),
                            banner: parent.document.getElementById('banner'),
                            glass: parent.document.getElementById('glass'),
                            showitem: parent.document.getElementById('showitem')
                            };

                        /* test */
		
	        function show_message_block(i,e) {
					
					if (document.getElementById("commentblock-"+i).style.visibility == 'visible') {
					
					document.getElementById("commentblock-"+i).style.visibility = 'hidden';
					document.getElementById("commentblock-"+i).style.display = 'none';
						
					} else {
				
					document.getElementById("commentblock-"+i).style.visibility='visible';
					document.getElementById("commentblock-"+i).style.display = '';
					
					element = document.getElementById("commentpic-"+i);
					pos = getOffset(element); 
					var left = pos.left; 
					var top = pos.top;				
					
					document.getElementById("commentblock-"+i).style.top=top+30;
					document.getElementById("commentblock-"+i).style.left=left-35;

					}
				}

				
                        function hidetablesize() {
						document.getElementById("tablesize").style.visibility='hidden';
						window.parent.document.getElementById("tablesize").style.visibility='hidden';
						}
                        
                        function showtablesize(num, e, id)
                        {
					
		document.getElementById("tablesize").style.visibility = 'hidden';
		document.getElementById("tablesize").style.display = 'none';
				
		document.getElementById("tablesize").style.visibility='visible';
		document.getElementById("tablesize").style.display = '';
					
		element = document.getElementById("pic-"+id);
		pos = getOffset(element); 
		var left = pos.left; 
		var top = pos.top;				
					
		document.getElementById("tablesize").style.top=top+25;
		document.getElementById("tablesize").style.left=left+10;

	        } 

	       function showtooltip(num, e, id, nameId)
                        {
					
		document.getElementById(nameId).style.visibility = 'hidden';
		document.getElementById(nameId).style.display = 'none';
				
		document.getElementById(nameId).style.visibility='visible';
		document.getElementById(nameId).style.display = '';
					
		element = document.getElementById("tooltip-"+id);
		pos = getOffset(element); 
		var left = pos.left; 
		var top = pos.top;				
					
		document.getElementById(nameId).style.top=top+25;
		document.getElementById(nameId).style.left=left+10;

	        } 
	   	
	         function hidetooltip(nameId) {
		document.getElementById(nameId).style.visibility='hidden';
		window.parent.document.getElementById(nameId).style.visibility='hidden';
	         }
                    
                        function ChangeImg(imgid,hrefid,imagefile,bigimagefile) {
                        document.getElementById(imgid).src=imagefile;
                        document.getElementById(hrefid).href=bigimagefile;
                        }

						function disableCbox(id)
						{
						var name_input = document.getElementById(id);
						
						if (name_input.disabled) name_input.disabled = 0
						else name_input.disabled = 1; name_input.value='';
						}
						
						function keyFilter(e, strPattern)
						{
						var isIE = (document.all) ? 1 : 0;
						var chr = (isIE) ? e.keyCode : e.which;
						var ch = String.fromCharCode(chr);
								 
						if (chr != 13 && chr != 8 && chr != 0)
						{
						var re = new RegExp(strPattern);
						if (ch.search(re) == -1)
						{
						if(isIE)
						e.returnValue = false;
						else
						e.preventDefault(); 
						}
						}
						}

						function checker(formname){
						
						var len = formname.elements.length;
						var i, iCheckboxCnt = 0, iTextCnt = 0;
						    
						for (i = 0 ; i < len ; i++){
						        if ((formname.elements[i].getAttribute('type') == "checkbox") && (formname.elements[i].checked)){
						            iCheckboxCnt += 1;
						        }    
						        if ((formname.elements[i].getAttribute('type') == "text") && (formname.elements[i].value.length>0)){
						            iTextCnt += formname.elements[i].value;
						        }   
						    }
						    
						    if ((iCheckboxCnt > 0) && (iTextCnt > 0)) {
						        return true;
						    }
						    else{
						        alert('Необходимо выбрать размер и указать количество!');
						    }
						    
						    return false;
						}

var minH=50;
var minW=250;
var startH=0;
var startW=0;
var startY=0;
var startX=0;
var textarea=null;
var oldMouseMove=null;
var oldMouseUp=null;

function textareaResizer(e, id){
    if (e == null) { e = window.event }
    if (e.preventDefault) 
	{
        e.preventDefault();
    } 
    textarea = document.getElementById('text-'+id);
    block = document.getElementById('commentblock-'+id);
    startY=e.clientY;
    startX=e.clientX;
    startH=textarea.offsetHeight;
    startW=textarea.offsetWidth;
    document.onmousemove=textareaResizer_moveHandler;
    document.onmouseup=textareaResizer_cleanup;
    return false;
}
function textareaResizer_moveHandler(e){
  if (e == null) { e = window.event } 
  if (e.button<=1)
  {
     curH=(startH+(e.clientY-startY));
     curW=(startW+(e.clientX-startX));
     
     if (curH<minH) curH=minH;
     if (curW<minW) curW=minW;
     
     textarea.style.width=curW+'px';
     textarea.style.height=curH+'px';
	
     block.style.width=20+curW+'px';
     block.style.height=20+curH+'px';

     return false;
  }
}
function textareaResizer_cleanup(e) {
  document.onmousemove=oldMouseMove;
  document.onmouseup=oldMouseUp;
}

function shiftSubDiv(n)
{
  var el = document.getElementById('subDiv'+n);
  var pic = document.getElementById('picSubDiv'+n);

  if ( el.style.display == 'none' ) {
    el.style.display = 'block';
    pic.src = '/images/minus.png';
    pic.title = 'Нажмите чтобы закрыть список';
} else {
    if ( el.style.display == 'block' )
    el.style.display = 'none';
    pic.src = '/images/plus.png';
    pic.title = 'Нажмите чтобы раскрыть список';
}
}
function CountLogin(item, count) {

var item_view = item+'_view';
var item_correct = item+'_correct';
var item_help = item+'_help';

var pattern = /[^а-яА-ЯёЁ\-\s]/;

var element=document.getElementById(item).value;

document.getElementById(item_view).innerHTML = document.getElementById(item).value.length++; 
 if (document.getElementById(item).value.length >= count && pattern.test(element) == false) {
  document.getElementById(item_correct).innerHTML = '<img src=/images/good.png>';
  //document.getElementById(item_correct).className = 'correct';
  document.getElementById(item).className = 'correct';
  document.getElementById(item_help).innerHTML = '';
 } else {
  document.getElementById(item_correct).innerHTML = '<img src=/images/bad.png>';
  document.getElementById(item).className = 'idle_warning';
  document.getElementById(item_correct).className = '';
  document.getElementById(item_help).innerHTML = '<img src=/images/stock-help.png align=absmiddle> кириллица, символы: "-" и "."';
}
}

function CountPhone(item, count) {

var item_view = 'phone_view';
var item_correct = 'phone_correct';
var item_help = 'phone_help';
var pattern = /[^0-9\+\-\s]/;

var element=document.getElementById(item).value;

document.getElementById(item_view).innerHTML = document.getElementById(item).value.length++; 
 if (document.getElementById(item).value.length >= count && pattern.test(element) == false) {
  document.getElementById(item_correct).innerHTML = '<img src=/images/good.png>';
  //document.getElementById(item_correct).className = 'correct';
  document.getElementById(item).className = 'correct';
  document.getElementById(item_help).innerHTML = '';
 } else {
  document.getElementById(item_correct).innerHTML = '<img src=/images/bad.png>';
  document.getElementById(item).className = 'idle_warning';
  document.getElementById(item_correct).className = '';
  document.getElementById(item_help).innerHTML = '<img src=/images/stock-help.png align=absmiddle> 11 цифр, символы: "+", "-", "(",")"';
}
}

function isEmail(item) {
var at="@"
var dot="."
var lat=item.indexOf(at)
var litem=item.length
var ldot=item.indexOf(dot)
if (item.indexOf(at)==-1) return false;
if (item.indexOf(at)==-1 || item.indexOf(at)==0 || item.indexOf(at)==litem) return false;
if (item.indexOf(dot)==-1 || item.indexOf(dot)==0 || item.indexOf(dot) >= litem - 2) return false;
if (item.indexOf(at,(lat+1))!=-1) return false;
if (item.substring(lat-1,lat)==dot || item.substring(lat+1,lat+2)==dot) return false;
if (item.indexOf(dot,(lat+2))==-1) return false;
if (item.indexOf(" ")!=-1) return false;
return true
}

function CorrectEmail(item) {
 if(isEmail(item.value) == true) {
  document.getElementById('email_correct').innerHTML = '<img src=/images/good.png>';
  document.getElementById('email_id').className = 'correct';
  //document.getElementById('email_correct').className = 'correct';
 } else {
   document.getElementById('email_correct').innerHTML = '<img src=/images/bad.png>';
   document.getElementById('email_id').className = 'idle_warning';
}
}	    

function CountPass(item) {
var item_view = 'pass_view';
var item_correct = 'pass_correct';
var item_help = 'pass_help';
var item_login_value = document.getElementById('email_id').value;
var item_login_length = document.getElementById('email_id').value.length;
document.getElementById(item_view).innerHTML = document.getElementById(item).value.length++; 
 if (document.getElementById(item).value == item_login_value && item_login_length >= 5) {
  document.getElementById(item_correct).innerHTML = '<img src=/images/bad.png>';
  document.getElementById(item_help).innerHTML = '<img src=/images/stock-help.png align=absmiddle> логин не должен совпадать с паролем!';
  document.getElementById(item_correct).className = 'idle_warning';
 } else {
  if (document.getElementById(item).value.length >= 4) {
   document.getElementById(item_correct).innerHTML = '<img src=/images/good.png>';
   document.getElementById(item).className = 'correct';
   document.getElementById(item_help).innerHTML = '';
   document.getElementById('check_pass').value = 1;
  } else if (document.getElementById(item).value.length < 4) {
   document.getElementById(item_correct).innerHTML = '<img src=/images/bad.png>';
   document.getElementById(item_help).innerHTML = '<img src=/images/stock-help.png align=absmiddle> не менее 4 символов!';
   document.getElementById(item).className = 'idle_warning';
  }
 }
}

function CorrectPass(item) {
var item_pass_value = document.getElementById('pass_id').value;
var item_pass_length = document.getElementById('pass_id').value.length
var item_correct = 'repass_correct';
 if (item_pass_length >= 4) {
  if (document.getElementById(item).value == item_pass_value) {
    document.getElementById(item_correct).innerHTML = '<img src=/images/good.png>';
    document.getElementById(item).className = 'correct';
  } else if (document.getElementById(item).value.length >= 4) {
    document.getElementById(item_correct).innerHTML = '<img src=/images/bad.png>';
    document.getElementById(item).className = 'idle_warning';
  }
 }
}
function getFocus() {
document.getElementById('surname_id').focus();
document.getElementById('name_id').focus();
document.getElementById('email_id').focus();
document.getElementById('phone_id').focus();
document.getElementById('pass_id').focus();
document.getElementById('repass_id').focus();
document.getElementById('button_id').focus();
}
