var dragobject = null;

var dragx = 0;
var dragy = 0;


var posx = 0;
var posy = 0;
var selected=null;


// key events
// *************************

var k=0;
function rf(e){
	k= (window.event) ? event.keyCode : e.keyCode;	
	if ((k==38) || (k==37) || (k==39) ||(k==40) ){
		return false;
	}
	return k
}
function nullKey(){
	k=0;
}
function KeyCheck(e){
	k= 1;//(window.event) ? event.keyCode : e.keyCode;	
	if (selected!=null){
		if (k==38){			
			selected.style.top = (parseInt(selected.style.top) - 1) + "px";
			document.getElementById('posy').value=selected.style.top;
		document.getElementById('posx').value=selected.style.left;
			return false;					
		}
		if (k==37){
			selected.style.left = (parseInt(selected.style.left) - 1)+ "px";    
			document.getElementById('posy').value=selected.style.top;
		document.getElementById('posx').value=selected.style.left;return false;	
		}
		if (k==39){
			selected.style.left = (parseInt(selected.style.left) +1) + "px";document.getElementById('posy').value=selected.style.top;
		document.getElementById('posx').value=selected.style.left;    return false;		
		}
		if (k==40){					
			selected.style.top = (parseInt(selected.style.top)+1) + "px";document.getElementById('posy').value=selected.style.top;
		document.getElementById('posx').value=selected.style.left;return false;
		}
		
		
	}	
}

// *****************************

function draginit() {  

  document.onmousemove = drag;
  document.onmouseup = dragstop;  
  document.onmousedown= drag;
}


function dragstart(element) {    
	
  dragobject = element; 
  zulu=false; 
  
  // modify the class selection
  if (selected==null){
	selected=element;	
	//element.style.border='0px dashed black';
	
  } else {  
	//selected.style.border='0px dashed #efefef';
	selected=element;
	//element.style.border='0px dashed black';
	
  }
  if ((dragobject.id!='up2') && ((dragobject.id!='up'))){
  //document.getElementById('obj1').value=element.id;
  }
  
  dragx = posx - dragobject.offsetLeft;
  dragy = posy - dragobject.offsetTop;  
  
  // make the pictures work
  if (document.all) { document.selection.empty(); } else {
	 //window.getSelection().removeAllRanges(); 
  }
  
  stretchx=posx;
  stretchy=posy;
  
  
  
  
 
  
}


function dragstop(element) {  
 
   if (dragobject!=null){				
		
	 
	if ((dragobject.id!='up') && (dragobject.id!='up2')){	
	dragobject.style.filter='alpha(opacity=100)'
	dragobject.style.opacity='1';
	
	ShoppingCart.posY=parseInt(document.getElementById('shoppingcart').style.top)-parseInt(getScrollY());
	
  	ShoppingCart.posX=document.getElementById('shoppingcart').style.left;
  	
  	ShoppingCart.write();
  
	zulu=true;doScroll();	
	  
	  
	
	} else {
		dragobject.style.filter='alpha(opacity=30)'
		dragobject.style.opacity='.30';
	}
	}
	
  dragobject=null;


  
}


function drag(element) {
	
	
  
   if (dragobject!=null){
	dragobject.style.filter='alpha(opacity=50)'
	dragobject.style.opacity='.50';
	}  

  posx = document.all ? window.event.clientX : element.pageX;
  posy = document.all ? window.event.clientY : element.pageY;
  if (document.all){
  	var height=parseInt(document.body.clientHeight)+parseInt(getScrollY());
  } else {
	var height=parseInt(document.body.clientHeight)+parseInt(getScrollY());
  }
  
  if (document.all){
  	var width=document.body.clientWidth;
  } else {
	var width=document.body.clientWidth;
  }
	
  
  // cancel selection
  document.all ? window.event.cancelBubble = true : element.cancelBubble=true;
 document.all ? window.event.returnValue = false : element.returnValue = false;
  
  
  
  if (k==0){
		if(dragobject != null) {
				if (dragobject.id!='up2'){
				if (document.all){
				dragobject.style.left = (posx - dragx) + "px";    
				
				} else {
					dragobject.style.left = (posx - dragx+1) + "px";    
					
				}
				}
				if (dragobject.id!='up'){
				if (document.all){
				dragobject.style.top = (posy - dragy) + "px";
				
				} else {
				dragobject.style.top = (posy - dragy) + 1+"px";
				
				}
				}
			
		}
}

  if (dragobject){
    
    if (document.all) { document.selection.empty(); } else {
	 window.getSelection().removeAllRanges(); 
  }
    
		  if (parseInt(document.getElementById('shoppingcart').style.top)+parseInt(ShoppingCart.height)>height-4){
		    dragobject.style.top=height - (parseInt(ShoppingCart.height)+4);
		  }
		  
		  if (parseInt(document.getElementById('shoppingcart').style.top)-parseInt(getScrollY())<0){
		    dragobject.style.top=parseInt(getScrollY());
		  }
		  
		  if (parseInt(document.getElementById('shoppingcart').style.left)+125>width){
		    dragobject.style.left=width - 125;
		  }
		  
		  if (parseInt(document.getElementById('shoppingcart').style.left)<0){
		    dragobject.style.left=0;
		  }
		  
	}
  
}

function createRequestObject(){
	
		var request_o; 
		var browser = navigator.appName; 
		
		if(browser == "Microsoft Internet Explorer"){
			
			request_o = new ActiveXObject("Microsoft.XMLHTTP");
	
		}else{
			
			request_o = new XMLHttpRequest();
			
		}
		
		return request_o;
		
	}
	
	var http = createRequestObject(); 
	
function savePosition(pid){
	var divs=document.getElementsByTagName("div");  
    var final_result='';
    var a=0;
	for (x=0;x<divs.length;x++){
		if ((divs[x].id!="up2") && (divs[x].id!="up")){								
			final_result+='ids[1]['+a+']='+divs[x].id+'&ids[2]['+a+']='+divs[x].style.width+'&ids[3]['+a+']='+divs[x].style.height+'&ids[4]['+a+']='+divs[x].style.top+'&ids[5]['+a+']='+divs[x].style.left+'&ids[6]['+a+']='+divs[x].style.visibility+'&';
			a++;
		}		
	}
	
	  
		val='';
	
		http.open('POST', 'saveposition.php?pid='+pid);				
		
		http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
		
		http.onreadystatechange = handlesaveposition;
	
		http.send(final_result);
		
}

function handlesaveposition(){

	if ( http.readyState == 4 ){
		
				alert( http.responseText);
				document.getElementById('savepos').disabled=false;
	}

}

function savePositionToAll(pid){
	var divs=document.getElementsByTagName("div");  
    var final_result='';
    var a=0;
	for (x=0;x<divs.length;x++){
		if ((divs[x].id!="up2") && (divs[x].id!="up")){								
			final_result+='ids[1]['+a+']='+divs[x].id+'&ids[2]['+a+']='+divs[x].style.width+'&ids[3]['+a+']='+divs[x].style.height+'&ids[4]['+a+']='+divs[x].style.top+'&ids[5]['+a+']='+divs[x].style.left+'&ids[6]['+a+']='+divs[x].style.visibility+'&';
			a++;
		}		
	}
	
	  
		val='';
	
		http.open('POST', 'saveposition.php?toall=true&pid='+pid);				
		
		http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
		
		http.onreadystatechange = handlesavepositiontoall;
	
		http.send(final_result);
		
}

function handlesavepositiontoall(){

	if ( http.readyState == 4 ){
		
				alert( http.responseText);
				document.getElementById('savepostoall').disabled=false;
	}

}

draginit()

