// какие-то переменные:
var actMenuX = 0;
var actMenuY = 0;
var descViewMode = 0;

// вспомогательная функция:
function cwh(dim)
{
	var cheight, cwidth;
	if (document.all)
	{
		cheight = document.body.offsetHeight;
		cwidth = document.body.offsetWidth;
	}
	else
	{
		cheight = window.innerHeight;
		cwidth = window.innerWidth;
	}
	if(dim=='w') return cwidth;
	else return cheight;
}

// вспомогательная функция:
function findScrollTop()
{
	if(window.pageYOffset != null)
		return window.pageYOffset;
	if(document.body.scrollWidth != null)
		return document.body.scrollTop;
	return 0;
}

onload = function() {
  document.onclick = function(e) {
    if(!e) e = event;
    actMenuX = e.clientX-15;
    actMenuY = e.clientY-10;
    actMenuY += findScrollTop();
  }
}


// композиция - спам, вот и дадим средство сообщения этого:
function show_spam(track_id, status)
{
	hideActions();
	dd.elements.w_error.moveTo(Math.ceil(cwh('w')/2-dd.elements.w_error.w/2), Math.ceil((cwh('h')/2-dd.elements.w_error.h/2)+findScrollTop()));

	const SERVER_URL = '/ajax/spam/';

	function phpRequest() {
		this.parms = new Array();
		this.parmsIndex = 0;
		this.server = SERVER_URL;
		this.execute = phpRequestExecute;
		this.add = phpRequestAdd;
	}

	function phpRequestAdd(name,value) {
		this.parms[this.parmsIndex] = new Pair(name,value);
		this.parmsIndex++;
	}

	function phpRequestExecute() {
		var targetURL = this.server;
		try {
			var httpRequest = new XMLHttpRequest();
		}
		catch (e) {
			alert('Error creating the connection!');
			return;
		}
		try {
			var txt = "?1";
	    	for(var i in this.parms) {
	    		txt = txt+'&'+this.parms[i].name+'='+this.parms[i].value;
	    	}
			httpRequest.open("GET", targetURL+txt, false, null, null);
			httpRequest.send('');
		}
		catch (e) {
			alert('An error has occured calling the external site: '+e);
			return false;
		}
		switch(httpRequest.readyState) {
	    	case 1, 2, 3:
				alert('Bad Ready State: '+httpRequest.status);
				return false;
	    	break;
		case 4:
			if(httpRequest.status !=200) {
	        	alert('The server respond with a bad status code: '+httpRequest.status);
	        	return false;
	      	}
	      	else {
	        	var response = httpRequest.responseText;
			}
			break;
		}
		return response;
	}

	function Pair(name,value) {
		this.name = name;
		this.value = value;
	}


	req = new phpRequest();
	req.add('track_id',track_id);
	req.add('status',status);
	var response = req.execute();

	document.getElementById('error_mess').innerHTML = response;
	dd.elements.w_error.show(true);
}

// показать окошечко с информацией о получении композиции по смс:
function show_sms(track_id)
{
	nw = window.open("/sms.php?track_id="+track_id, '', "height=309,width=400,status=no,toolbar=no,menubar=no,location=no,left=200,top=250");
	nw.focus();
}

// скрыть окошечко с действиями для композиции:
function hideActions()
{
	document.getElementById('w_actions').style.display='none';
}

// показать окошечко с действиями для композиции:
function showActions(track_id)
{
	document.getElementById('w_actions').style.left = actMenuX;
	document.getElementById('w_actions').style.top = actMenuY;
	document.getElementById('w_actions').style.display='block';
	document.flags.ff_id.value = track_id;

	ADD_DHTML("a_spam"+NO_DRAG+CURSOR_DEFAULT);
	dd.elements.a_spam.show();
	dd.elements.a_spam.maximizeZ();
	dd.elements.w_actions.setZ(dd.elements.a_spam.z-1);

	ADD_DHTML("a_get"+NO_DRAG+CURSOR_DEFAULT);
	dd.elements.a_get.show();
	dd.elements.a_get.maximizeZ();
	dd.elements.w_actions.setZ(dd.elements.a_get.z-1);

	ADD_DHTML("a_hide"+NO_DRAG+CURSOR_DEFAULT);
	dd.elements.a_hide.show();
	dd.elements.a_hide.maximizeZ();
	dd.elements.w_actions.setZ(dd.elements.a_hide.z-1);
}
