String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, "");
} // -------------------------------------------------------------------------------------------

function truncateForm( form ) {
    for( i = 0 ; i < form.length ; i++ )
    {
        if( form.elements[i].type == 'text' || form.elements[i].type == 'textarea' )
            form.elements[i].value = form.elements[i].value.trim();
    };
}

function isEmail( 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 r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
    str = str.replace(/ /,'');
    return (!r1.test(str) && r2.test(str));
}

function show_picture(name,w,h)
{   
    window.open(name,null,"height="+h+",width="+w+",status=no,toolbar=no,menubar=no,location=no,scrollbars=yes");
} // -------------------------------------------------------------------------------------------


function openwindow(name)
{   
    var hWnd = null; 
    var nLeftPos, nTopPos; 
    if ( arguments.length == 1 ) {
        nWidth = 100;
        nHeight = 100;
    } else {
        var nWidth = arguments[1];
        var nHeight = arguments[2];
    }
 
    nLeftPos = Math.round(screen.availWidth/2) - Math.round(nWidth/2); 
    nTopPos  = Math.round(screen.availHeight/2) - Math.round(nHeight/2); 

    hWnd = window.open(name,null,"height="+nHeight+",width="+nWidth+",status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=no");
    
    hWnd.moveTo( nLeftPos, nTopPos );

} // -------------------------------------------------------------------------------------------


// Проверка формы, состоящей из checkbox'ов или radiobutton'ов на корректность при сабмите
function checkForm(elName,msg,flag)
{
    if ( arguments.length < 3 ) flag = true;
    var elm = document.all[elName];
    if(elm.length>0)
    {
        for(var i=0;i<elm.length;i++)
            if (elm[i].checked) return true;
    }
    else
    {
        if(elm.checked) return true;
    }
    if (flag) alert(msg);
    return false;
} // -------------------------------------------------------------------------------------------

function isNumber( value ) {
    return !isNaN(value);
} // -------------------------------------------------------------------------------------------




function checkItem(id,status) {
    document.getElementById('count'+id).disabled    = status;
}
                
function checkBasketForm() {
    
    var form = document.basketform;
    truncateForm(form); 
    
    for(var i=0;i<form.length;i++) {
        if( (form.elements[i].type == 'text') && (!isNumber(form.elements[i].value) || (form.elements[i].value==0)) ){
            if (document.getElementById('c'+form.elements[i].id.replace("count","")).checked) continue;
                alert('Пожалуйста, введите корректные значения количества товаров!');
                form.elements[i].focus();
                return false;
        }
    };

    return true;//checkForm('pr[]','Пожалуйста, укажите товары для удаления!');;
}


function toorder(sid) {
    //if (!checkBasketForm()) return false;
    
    var form = document.basketform;
    truncateForm(form); 
    
    for(var i=0;i<form.length;i++) {
        if( (form.elements[i].type == 'text') && (!isNumber(form.elements[i].value) || (form.elements[i].value==0)) ){
            if (document.getElementById('c'+form.elements[i].id.replace("count","")).checked) continue;
            alert('Пожалуйста, введите корректные значения количества товаров!');
            form.elements[i].focus();
            return false;
        }
    };
    
    form.action = "toorder.php";
    form.submit();
}


function checkOrderForm() {
    var form = document.orderform;
    truncateForm(form); 

    if (form.fio.value=="") {
        alert("Укажите, пожалуйста, свое имя!");
        form.fio.focus();
        return false;
    }

    if (form.email.value!="" && !isEmail(form.email.value)) {
        alert("Укажите, пожалуйста, правильный E-Mail!");
        form.email.focus();
        return false;
    }

    if (form.email.value=="" && form.address.value=="" && form.phone.value=="") {
        alert("Укажите, пожалуйста, хотя бы один способ для связи с Вами:\nтелефон, адрес или E-Mail.");
        return false;
    }

    return true;
}

function checkProductsForm() {
    var form = document.productForm;
    truncateForm(form); 
    
    for(var i=0;i<form.length;i++) {
        if( (form.elements[i].type == 'text') && (!form.elements[i].disabled) && (!isNumber(form.elements[i].value) || (form.elements[i].value==0)) ){
            alert('Пожалуйста, введите корректные значения количества товаров!');
            form.elements[i].focus();
            return false;
        }
    };
    
    return checkForm('pr[]','Пожалуйста, укажите товары для добавления!');
}

function searchFormSubmit() {
    var form = document.searchform;
    truncateForm(form); 

    if (form.keyword.value=="") {
        alert("Укажите, пожалуйста, слово для поиска!");
        form.keyword.focus();
        return false;
    }

    return true;
    //document.searchform.submit();
}

function checkFeedForm() {  
    
    truncateForm(document.sendform);
    
    /*if (document.sendform.name.value=="") {
        alert('Пожалуйста, укажите свое имя!');
        document.sendform.name.focus();
        return false;
    }*/
    
    if (document.sendform.email.value!="" && !isEmail(document.sendform.email.value)) {
        alert('Пожалуйста, укажите свой E-Mail!');
        document.sendform.email.focus();
        return false;
    }
    

    if (document.sendform.message.value=="") {
        alert('Извините, Вы не можете отослать пустое сообщение!');
        document.sendform.message.focus();
        return false;
    }

}

function searchFormSubmit() {

    var form = document.searchform;
    truncateForm(form); 

    if (form.keyword.value=="") {
        alert("Укажите, пожалуйста, слово для поиска!");
        form.keyword.focus();
        return false;
    }

    return true;
    //document.searchform.submit();
}

function openWinnn(x,wid,hei) {
  myWin= open("", "_blank", "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width="+wid+",height="+hei);
  myWin.document.open();
  myWin.document.write("<html><head></head>");
  myWin.document.write("<body leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>");
  myWin.document.write("<img src='"+x+"' width='"+wid+"' height='"+hei+"'>");
  myWin.document.write("</body></html>");
  myWin.document.close();  
}

function SetCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";path=/;expires="+expire.toGMTString();
}

function Get_Cookie( name ) {
	
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) &&
( name != document.cookie.substring( 0, name.length ) ) )
{
return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}
	
function changeTown(id,state) {
	var str = Get_Cookie('towns');
	if (state) {
		str = str+"-"+id+"-";
		className = 'tnm';
	} else {
		if (str) str = str.replace("-"+id+"-","");
		className = 'tnm notchecked';
	}
	_el('td'+id).className = className;
	_el('town'+id).checked = state;

	//SetCookie('towns',str,300000);
	checkTown(id,(state)?1:0);
}                     

function _el(id) { return document.getElementById(id); }

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}


function showHideClass(className,state) {
    trs = getElementsByClassName(document.body,'*',className);
    for(i=0;i<trs.length;i++) {
    	trs[i].style.display = (state)?'inline-block':'none';
    }
}

function _el (id){
return document.getElementById(id);
}
