
function CallGrid(grid,url){
	if(window.XMLHttpRequest)var http = new XMLHttpRequest();
	var start=(new Date()).getTime();
	http.onreadystatechange = function () {
	  if(http.readyState==4){
//	  	alert(http.responseText);
	  	 document.getElementById(grid).innerHTML=http.responseText+(((new Date()).getTime()-start)/1000)+"s";
	  }
	}
	http.open("GET",URLEncrypt(url),true);
	http.send(null);
}

function CheckUnCheckGrid(grid,item){
	if(item<=0)return;
	if(window.XMLHttpRequest)var http = new XMLHttpRequest();	
	var url=URLEncrypt(QueryReplace(QueryReplace("grid.php?watte=CHECKUNCHECK","guid",grid),"ID",item));
//	http.onreadystatechange = function () if(http.readyState==4)alert(http.responseText);
	
	http.open("GET",url,true);
	http.send(null);
    return false;
}

function DrawGrid(grid,page,order,filter){
	CallGrid(grid,QueryReplace(QueryReplace(QueryReplace(QueryReplace("grid.php","p",page),"o",order),"guid",grid),"c",filter));
	return false;
}

function GridDelete(grid,page,item){
	CallGrid(grid,QueryReplace(QueryReplace(QueryReplace("grid.php","p",page),"d",item),"guid",grid));
	return false;
}

function GridClone(grid,page,item){
	CallGrid(grid,QueryReplace(QueryReplace(QueryReplace("grid.php?watte=CLONE","p",page),"c",item),"guid",grid));
	//window.location=QueryReplace(QueryReplace(QueryReplace(QueryReplace(window.location,"p",page),"c",item),"guid",grid),"watte","CLONE")";
	return false;
}

function GridToggle(grid,page,item){
	CallGrid(grid,QueryReplace(QueryReplace(QueryReplace("grid.php","p",page),"t",item),"guid",grid));
	return false;
}

function FilterGrid(grid,page,order,filter){
	CallGrid(grid,QueryReplace(QueryReplace(QueryReplace(QueryReplace("grid.php","p",page),"c",filter),"o",order),"guid",grid));
	return false;
}

function GridViewItem(layer,grid,url){
	
	//var url="editautomatic.php?watte=EDIT&tablename="+tablename+"&ID="+item+"&layer="+layer;
	document.getElementById(layer).innerHTML="<div style='padding:2;background-color:green;'><iframe src='"+QueryReplace(url,"layer",layer)+"' style='width:800px;height:400px;'></iframe></div>";
	layerShow(layer,true);
	layerCenter(layer);
	return false;
	/*
	if(window.XMLHttpRequest)var http = new XMLHttpRequest();
	var start=(new Date()).getTime();
	
	http.onreadystatechange = function () {
	  if(http.readyState==4){
	  	
	  	document.getElementById(grid).innerHTML=http.responseText;
	  	 
	  }
	}
	http.open("GET",URLEncrypt(url),true);
	http.send(null);
	
	*/

}



var savedtext=null;
var editobj=null;
var savedwidth=0;

function ClickEdit(obj,url){
	var e=window.event;	
	if(editobj){
		if(obj!=editobj)StopEdit(editobj);	
	}	
	else {
		if((e.altKey||e.ctrlKey))StartEdit(obj);	
	    else return;
	}
	e.returnValue=false;
	e.cancelBubble=true;	
}

function EditKey(obj,e){
	if(!savedtext)return;
	if(!e)var e=window.event;	
	
	if(e.keyCode==13){		
		StopEdit(obj,true);
	}
	if(e.keyCode==27){
		StopEdit(obj,false);
	}
	
	if(obj.offsetWidth>savedwidth)obj.style.width=savedwidth;
	//debug(e);
}
function EditStatus(s){
	alert(s);
}

function StopEdit(obj,asksave){
  //if((asksave)&&(confirm("VSID:"+obj.veldsoort+"    update "+obj.tablename+" set "+obj.fieldname+"='"+obj.innerText+"' where ID="+obj.id)));
  if(asksave){
  	var val=obj.innerText;
  	
  	switch(parseInt(obj.veldsoort)){
  	case 4:	case 13:
  		val="'"+val+"'";
  		break;
  	case 3: case 12: case 44:	
  		val=Replace(val,"(yyyy/mm/dd)","");
  		val=Replace(val," ","");
  		obj.innerText=val;
  		val="'"+val+"'";
  		break;
  	case 1: break;
  		val=((val==1)||(val==true)||(val=="true"))?"true":"false";
  	default:
  	   prompt(obj.veldsoort);
  	}
  	var sql="update "+obj.tablename+" set "+obj.fieldname+"="+val+" where ID="+obj.id;  	
  	//alert(sql);
  	SQLExecute(sql);
  }	
  else obj.innerText=savedtext;
  obj.style.width=savedwidth;
  obj.contentEditable=false;
  obj.style.cursor='cell';
  obj.style.backgroundColor='transparent';
  editobj=savedtext=null;    
}

function StartEdit(obj){
  if(savedtext){
  	if(obj!=editobj)StopEdit(editobj);	
  	return ;
  }	  
  savedwidth=obj.offsetWidth;
  savedtext=obj.innerText;
  if(obj.veldsoort==3)obj.innerText+="  (yyyy/mm/dd)";
  editobj=obj;
  obj.contentEditable=true;
  obj.style.cursor='text';
  obj.style.backgroundColor='lightblue';
  obj.focus();
}

//================================================================================================

var drag=null;



function GridMouseOver(grid,obj){
	if(drag)GridDragOver(grid,obj);
	else{
		obj.savedBGColor=obj.style.backgroundColor;
		obj.style.backgroundColor="#00FF99";
	}
}
function GridMouseOut(grid,obj){
	if(drag) ;
	else obj.style.backgroundColor=obj.savedBGColor;
}
function GridMouseUp(grid,obj){
	GridDragEnd(grid,obj);
}

function GridSelectStart(grid,obj){
	if(event.preventDefault)event.preventDefault();
    else event.returnValue= false;
        
        
  GridDragStart(grid,obj);
        
  if(event.cancelBubble)event.cancelBubble = true;
  if(event.stopPropagation)event.stopPropagation();
    
  return false;

}

function GridDragStart(grid,obj){
	drag=new Array();
	drag[drag.length]=obj;
	obj.style.backgroundColor="#0099FF";	
}

function GridDragOver(grid,obj){
	if(!drag)return;
	for(var i=0;i<drag.length;i++)if(drag[i]==obj)return;
	drag[drag.length]=obj;
	obj.savedBGColor=obj.style.backgroundColor;
	obj.style.backgroundColor="#0099FF";	
}

function GridMenuExec(grid,wat){
	if(drag){
		
		
		//alert(wat);
		
			var ids=new Array();
			for(var i=0;i<drag.length;i++){
				ids[ids.length]=drag[i].RECORDID;
				drag[i].style.backgroundColor=drag[i].savedBGColor;
			}
			
			
			if(wat!=null){
				for(var j=0;j<document.all.length;j++)if(document.all[j].name=="IDS"){
					for(var i=0;i<drag.length;i++){
						if(document.all[j].value==drag[i].RECORDID){
							document.all[j].checked=wat;
						
						}
					}
				
				}
				CheckUnCheckGrid(grid,ids.join(","));
			}
			
			drag=null;
	}
}

function GridDragEnd(grid,obj){

	if(drag){
		var ids=new Array();
		for(var i=0;i<drag.length;i++)ids[ids.length]=drag[i].RECORDID;

		if(ids.length>0){
			ContextMenu(obj,[
			  	['Check','pics/checkbox_s.gif','GridMenuExec(\''+grid+'\',true)'],
			  	['UN-Check','pics/checkbox_u.gif','GridMenuExec(\''+grid+'\',false)'],
		    	['-','',''],
		    	
		    	['Check ALL','',''],
		    	['UN-Check ALL','',''],
		    	
		    	['-','',''],
		    	['Cancel','icons/cancel.png','GridMenuExec(\''+grid+'\',null)']],
		    	"GridMenuExec('"+grid+"',null);");			
		}
		else GridMenuExec(grid,null);
	}
	
}