
function obj(id){
	return document.getElementById(id);
}

function execAP(path,params,widget,area,debug,evalOnComplete,whileProcess){
	var HttpRequest = new JsHttpRequest();
		HttpRequest.onreadystatechange = function(){
	        if (HttpRequest.readyState == 4){
	        	hideObj('loadingDiv');
	        	
	        	if(HttpRequest.responseJS.debug){
	        		alert(HttpRequest.responseText);
	        	}
	        	
	        	if(HttpRequest.responseJS.eval){
	        		eval(HttpRequest.responseJS.eval);
	        	}
	        	
	        	if(HttpRequest.responseJS.redirect){
	        		if(HttpRequest.responseJS.redirect == 'self'){
	        			var rlink = location.href;
	        		}else{
	        			var rlink = HttpRequest.responseJS.redirect;
	        		}
	        		
	        		if(HttpRequest.responseJS.redirectTime){
	        			setTimeout("RD('"+rlink+"')",HttpRequest.responseJS.redirectTime*1000);
	        		}else{
	        			RD(rlink);
	        		}
	        	}
	        	   	
	        	if(HttpRequest.responseJS.blur){
	        		blurSc(HttpRequest.responseJS.blur);
	        	}
	        			
	        	if(area){
	        		document.getElementById(area).innerHTML = HttpRequest.responseJS.data;
	        	}
	        	
	        	if(widget){
	        		obj(widget).style.visibility = 'visible';
	        		obj(widget).style.display = 'none';
	        		obj(widget).style.zIndex = 1000;
	        		obj(widget).innerHTML = HttpRequest.responseJS.data;
	        		        		
	        		divCenter(widget);
	        	}    
	        	
	        	if(HttpRequest.responseJS.focusid){
		        	obj(HttpRequest.responseJS.focusid).focus();
		        }  
	        	
	        	if(evalOnComplete){
	        		eval(evalOnComplete);
	        	}
	        }else{
	        	if(whileProcess == 'loading'){
	        		loading('loadingDiv');
	        	}else{
	        		if(whileProcess)
	        			eval(whileProcess);
	        	}
	        }
    	}
	
	HttpRequest.open('POST', path, true);
    HttpRequest.send(params);	
}

function AP(op,w,a){
	var prms;
	
	if(typeof(op) == 'object'){
		prms = op;
	}else{
		prms = {o:op};
	}
	
	if(!w){
		var w = 'Widget1';
	}
	
	if(!a){
		var a = false;
	}
	
	execAP('/q.php',prms,w,a,false,false,'loading')
}

function Auth(login,pass){
	execAP('/q.php',{o:'auth',l:login,p:pass},'Widget1',false,false,false,'loading');
}

function scset(value){
	createCookie('sc',value,100);
}

function scflush(){
	createCookie('sc',0,1);
}

function loading(wid){
	var dE 	= document.documentElement;

	obj(wid).style.visibility 	= 'visible';
	obj(wid).style.left 		= ((dE.clientWidth-300)/2)+dE.scrollLeft + 'px';	
	obj(wid).style.top 			= ((dE.clientHeight-200)/2)+dE.scrollTop + 'px';
	obj(wid).style.zIndex 		= 1000;	
	
	obj(wid).innerHTML = "<div class=\"widget brd\" style=\"background:#FFFFFF\"><div class=\"pd10\"><img src=\"/i/loading.gif\"></div><b>Обработка...</b><br />Пожалуйся подождите!</div>";
}


function hideObj(id){
	obj(id).innerHTML = '';
	blurSc('off');
}
	
function fcs(id){
	obj(id).focus();
}

function val(id){
	return obj(id).value;
}

function byName(name){
	return document.getElementsByName(name);
}

function toArray(theObj,type){
	var objecT = new Array();
	
	for(var p in theObj){
		if(theObj[p].value != undefined){
			switch(type){
				case 'checked':
					if(theObj[p].checked == true){
						objecT.push(theObj[p].value);
					}
				break;
				
				default:
					objecT.push(theObj[p].value);
			}	
		}
	}
	
	return objecT;
}

function chBoxes(name,value){
	var field = byName(name);
	
	for (i = 0; i < field.length; i++)
		field[i].checked = value;
}

function t3menu(objid,id){
	if (obj(objid).style.display == 'none'){
		createCookie("menu["+id+"]",'1',50);
		obj(objid).style.display = 'block';
	}else {
		createCookie("menu["+id+"]",'0',50);
		obj(objid).style.display = 'none';
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; domain=.vmashine.com; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function RD(link){
	if(link == 'update'){
		location.href=location.href;
	}else{
		location.href=link;
	}
}


function blurSc(type){          
	if(type == 'on'){
		obj('blurDiv').style.height = document.documentElement.clientHeight+document.documentElement.scrollTop + 'px';
		obj('blurDiv').style.width 	= document.documentElement.clientWidth + 'px';
		obj('blurDiv').style.bgcolor = '#000000';
		obj('blurDiv').style.visibility = 'visible';
    }else{
        obj('blurDiv').style.visibility = 'hidden';
        obj('blurDiv').width = '1px';
    }
}

function txtdefval(id,val){
	if(obj(id).value == val){
		obj(id).value = '';
	}
	
	obj(id).onblur = function(){
		if(obj(id).value == ''){
			obj(id).value=val;
		}
	}
}

function ldupdate(){
	AP('make.update.session');
}

function limitvalue(obj,max,min,allowzero){
	if(obj.value > max){
		obj.value=max;
	}
	if(obj.value < min){
		obj.value=min;
	}
	
	if((!allowzero && obj.value == 0) && max > 0){
		obj.value = 1;
	}
}

function checkINPUT(rows){
	for(i in rows){
		if(!obj(i).value.length){
			alert("Поле "+rows[i]+" не заполнено!");
			obj(i).focus();
			return false;
		}
	}
	
	return true;
}

function divCenter(id){
	var jObj = '#'+id;
	
	$(jObj).css({
			left: ($(window).width() - $(jObj).outerWidth())/2,
			top: ($(window).height() - $(jObj).outerHeight())/2+$(window).scrollTop()
		});
		
	obj(id).style.display = 'block';	
}

function init(){
	
}

onload = init;

