var base ="";
function SetBase(b) {base = b;}
function cnter(MaxLen,idText) {
	Otext = document.getElementById(idText);
	if (Otext){
		if(Otext.value.length > MaxLen) alert("Извините, это поле не может быть длиннее "+MaxLen+" символов");
	}
}

function changeImages() {
	d = document;
	if (d.images) {
		var img;
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			img = null;
			img = document.getElementById(changeImages.arguments[i]);
			if (img) {img.src = base+changeImages.arguments[i+1];}
		}
	}
}
//===========================================
//  Подсветка поиска
//===========================================
function searchWithinNode(node, te, len){
//===========================================
	var pos, skip, spannode, middlebit, endbit, middleclone;
	skip=0;
	if( node.nodeType==3 ){
		pos=node.data.toUpperCase().indexOf(te);
		if(pos>=0){
			spannode=document.createElement("SPAN");
			spannode.style.backgroundColor="#FF7F00";
			spannode.style.color="white";
			middlebit=node.splitText(pos);
			endbit=middlebit.splitText(len);
			middleclone=middlebit.cloneNode(true);
			spannode.appendChild(middleclone);
			middlebit.parentNode.replaceChild(spannode,middlebit);
			skip=1;
		}
	}else if( node.nodeType==1&& node.childNodes && node.tagName.toUpperCase()!="SCRIPT" && node.tagName.toUpperCase!="STYLE"){
		for (var child=0; child < node.childNodes.length; ++child){
			child=child+searchWithinNode(node.childNodes[child], te, len);
		}
	}
	return skip;
}
//===========================================
function check(content) {
//===========================================
//  Проверка заполненности полей формы
//===========================================
	check_fld = new Array ();
	if(content=="order") {
		check_fld=new Array ("person");
		check_hdr=new Array ("ФИО");
	}
	if(content=="price") {
		check_fld=new Array ("cname","cphone","cmail","сaddress");
		check_hdr=new Array ("Контактное лицо","Телефон","Email","Адрес");
	}
  // проверка заполнения полей формы 
	for ( i = 0; i <= check_fld.length-1; i++) {
		if (isEmpty(document.getElementById(check_fld[i]).value)) {
			alert('Не заполнено обязательное поле "'+check_hdr[i]+'".');
			document.getElementById(check_fld[i]).focus();
			return false;
		}
	}
	return true;
}

//===========================================
function CheckForm111(form) {
//===========================================
//  Проверка заполненности полей формы
//===========================================
	var errMSG = "";
	var errFLD = -1;
	for (var i = 0; i < form.elements.length; i++) { 
	  if (null!=form.elements[i].getAttribute("required")) { 
		if (isEmpty(form.elements[i].value)) {
		  errMSG += form.elements[i].getAttribute("info") + "\n";
						if (errFLD==-1) errFLD=i;
		 }
	   }
	}
	if ("" != errMSG) {
	   alert("Не заполнены обязательные поля:\n\n" + errMSG);
	   form.elements[errFLD].focus();
	   return false;
	}
	return true;
  }


function CheckForm(form) {
    var Message = "Необходимо заполнить поля \n\n";
    var focus = null;
    var result = true;
    for (var i = 0; i < form.elements.length; i++) {
        if (form.elements[i].getAttribute("require") == "true") {
            var doc = document.getElementById(form.elements[i].name);
            var match = "";
            if(null != form.elements[i].getAttribute("match")) {
                match = form.elements[i].getAttribute("match");
            }
            if(!CheckValue(form.elements[i].value, match)) {
                if(focus == null) {
                      form.elements[i].focus();
                      focus = true;
                }
                Message += form.elements[i].getAttribute("info") + "\n";
                result = false;
           }
       }
    }
    if(!result) {
        alert(Message);
    }
    return result;
}


function CheckValue(Value, Match) {
    switch(Match) {
        case "email":
            if(!(Value.length>0&&Value.match(new RegExp("^[a-z0-9_]+@([a-z0-9_]+\.)+[a-z]+$","i")))){
                return false;
            }
            return true;
        break;

        case "kpp":
          if(Value.length!=9) return false;
          if(!Value.match(new RegExp("^[0-9]+$","i"))) {
              return false;
          }
          return true;
        break;

        case "zip":
          if(Value.length!=6) return false;
          if(!Value.match(new RegExp("^[0-9]+$","i"))) {
              return false;
          }
          return true;
        break;

        case "rs":
            if(Value.length < 20) {
                if(Value.match(new RegExp("^[0-9]+$", "i"))) {
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        break;

        case "phone":
            if(!Value.match(new RegExp("^[0-9 \(\)\+\-]+$","i"))) {
                return false;
            }
        return true
        break;

        case "digit":
            if(!Value.match(new RegExp("^[0-9]+$","i"))) {
                return false;
            } else {
                return true;
            }
        break;

        case "inn":
            var checkValueArray = Value.split("");
            if(checkValueArray.length==10) {
                cn = chekSum(checkValueArray, [2,4,10,3,5,9,4,6,8,0]);
                if(cn!=checkValueArray[9]){
                    return false;
                }
            } else if(checkValueArray.length==12) {
                cn1 = chekSum(checkValueArray, [7,2,4,10,3,5,9,4,6,8,0]);
                cn2 = chekSum(checkValueArray, [3,7,2,4,10,3,5,9,4,6,8,0]);
                if(cn1!=checkValueArray[10]&&cn2!=checkValueArray[11]){
                    return false;
                }
            } else {
              return false;
            }
            return true;
        break;

        default:
            if(Value == "") {
                return false;
            } else {
                return true;
            }
        break;
    }
}

function chekSum(checkValue,map){
  out = 0;
  for(c=0;c<map.length;c++){out+=map[c]*checkValue[c];}
  return ((cn=out%11)>9)?cn%10:cn;
}
//===========================================
function isEmpty(str) {
//===========================================
// проверка элемента формы на заполненность
//===========================================
	for (var i = 0; i < str.length; i++)
		if (" " != str.charAt(i))
			return false;
	return true;
}

//===========================================
function showPic(w, h, pic, alt, prn) {
//===========================================
	w1 = w + 30;
	h1 = h + 70;
	if (typeof(tz)=='object') tz.close();
	tz=window.open("","wnd","width="+w1+",height="+h1+",status=no,left="+(screen.width-w1)/2+",top="+(screen.height-h1)/2+",toolbar=no,menubar=no,resizable=no,scrollbars=no")
	tz.document.open();
	tz.document.write('<html><title>'+alt+'</title><BASE href="'+base+'"><link rel=stylesheet type="text/css" href="./data/styles/style.css"><body onload="self.focus();" class=photo><div class=all align=center style="margin:10px;"><P><a href="javascript:window.close();"><img src="./'+pic+'" width='+w+' height='+h+' border=0 alt="Закрыть" class=bordered></a></P><P>'+alt+'</P><a href="javascript: self.');
	if (prn==1) {tz.document.write('print();">Распечатать');}
	else {tz.document.write('close();">Закрыть окно')}
	tz.document.write("</a>");
	tz.document.write("</body></html>");
	tz.document.close();
} 
//===========================================
function showHelp(w, h, url) {
//===========================================
	if (typeof(wnd)=='object') wnd.close();
	wnd=window.open(base+url,"wnd","width="+w+",height="+h+",status=no,left="+(screen.width-w)/2+",top="+(screen.height-h)/2+",toolbar=no,menubar=no,resizable=no,scrollbars=no");
} 
