// Coded by Travis Beckham, modified by RMcGirr83
tooltip = {
	name : "tooltip",
	offsetX : -25,
	offsetY : 25,
	tip : null
};

tooltip.move = function (evt) {
	var x=0, y=0;
	if (document.all) {// IE

		x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
		x += window.event.clientX;
		y += window.event.clientY;

	} else {// Mozilla
		x = evt.pageX;
		y = evt.pageY;
	}
	this.tip.style.left = (x + this.offsetX) + "px";
	this.tip.style.top = (y + this.offsetY) + "px";
};
tooltip.show = function (text) {
	if (!this.tip) return;
	text = text.replace(/\n/g, "<br />");
	this.tip.innerHTML = text;
	this.tip.style.visibility = "visible";
	this.tip.style.display = "block";
	if (this.tip.offsetWidth > 400)
   this.tip.style.width = "400px";
};
tooltip.hide = function () {
	if (!this.tip) return;
	this.tip.style.visibility = "hidden";
	this.tip.style.display = "none";
	this.tip.innerHTML = "";
	this.tip.style.width = null;
};

tooltip.init = function () {

var tipNameSpaceURI = "http://www.w3.org/1999/xhtml";
if(!tipContainerID){ var tipContainerID = "tooltip";}
var tipContainer = document.getElementById(tipContainerID);

if(!tipContainer){
  tipContainer = document.createElementNS ? document.createElementNS(tipNameSpaceURI, "div") : document.createElement("div");
  tipContainer.setAttribute("id", tipContainerID);
  tipContainer.style.display = "none";
  document.getElementsByTagName("body").item(0).appendChild(tipContainer);
}

	if (!document.getElementById) return;

	this.tip = document.getElementById (this.name);
	if (this.tip) document.onmousemove = function (evt) {tooltip.move (evt)};

	var a, sTitle;
	var anchors = document.getElementsByTagName ("a");

	for (var i = 0; i < anchors.length; i ++) {
		a = anchors[i];
		sTitle = a.getAttribute("title");
		if(sTitle) {
			a.setAttribute("tooltip", sTitle);
			a.removeAttribute("title");
			a.removeAttribute("alt");
			a.onmouseover = function() {tooltip.show(this.getAttribute('tooltip'))};
			a.onmouseout = function() {tooltip.hide()};
		}
	}

};

// this is used instead in a non-prosilver based template
window.onload = function () {
	tooltip.init ();
}
//onload_functions.push('tooltip.init();'); // prosilver based template only

function zakaz(tovar, signal)
	{
	var url = window.location.toString();
	var topic = getVarValueFromURL(url, 't');
	var forum = getVarValueFromURL(url, 'f');

    var type = "row";
	if (signal == 1) {var mycomment = prompt ("Вы можете оставить небольшой комментарий к заказу:"); if(!confirm("Подтвердите бронирование товара "+tovar+" на ваш ник. Внимание! Отменить бронирование может только Организатор СП. Ваш комментарий: "+mycomment))   return false; }
	if (signal == 2) {if(!confirm("Вы подтверждаете этот заказ?"))   return false; }
	if (signal == 0) {if(!confirm("Вы удаляете этот заказ?"))   return false; }
	if (signal == 10) {if(!confirm("Вы удаляете свой заказ?"))   return false; }
		

  new Ajax.Updater( 'result', 'ajax_zakaz.php', 
    { method: 'post', parameters: { topic: topic, forum: forum, tovar: tovar, type: type, signal: signal, mycomment:mycomment },
  onSuccess: function( transport ) {
  if ( transport.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue == "ok") 
	      {
		 // alert(transport.responseXML.getElementsByTagName('username')[0].firstChild.nodeValue);
		  var myzakaz = document.getElementById('s'+tovar); 		  
		  myzakaz.innerHTML = ' <span  id="d'+tovar+'" >Вами подана заявка на ник <b>' + transport.responseXML.getElementsByTagName('username')[0].firstChild.nodeValue+'</b> (<a href="#" onclick="zakaz(\''+tovar+'\',10); return false;" id="a'+tovar+'">удалить</a>) </span>';
		  myzakaz.style.color = "#FF5500";
		  }
  if ( transport.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue == "update") 
	      {
		 // alert(transport.responseXML.getElementsByTagName('username')[0].firstChild.nodeValue);
		  alert ('Заказ подтвержден');
		  var myzakaz = document.getElementById('d'+tovar); 		  
		  myzakaz.innerHTML = 'Подтверждено'; // на ник <b>' + transport.responseXML.getElementsByTagName('username')[0].firstChild.nodeValue+'</b> <a href="#" onclick="zakaz(\''+tovar+'\',0); return false;">удалить</a> )';
		  myzakaz.style.color = "#0000FF";
		  }		  
  if ( transport.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue == "anonymous") 
	      { alert ('Авторизируйтесь на форуме! Гостям бронь не доступна');	}	
  if ( transport.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue == "spnoblock") 
	      { alert ('Эта закупка еще не одобрена модератором');	}		  
  if ( transport.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue == "error") 
	      { alert ('Внимание! Бронь не принята из-за ошибки данных. Подайте заявку вручную.');	}	
  if ( transport.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue == "neuspel") 
	      { alert ('Этот ряд уже занят. Обновите страницу');	}	
  if ( transport.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue == "nettakogo") 
	      { alert ('Этой заявки не найдено');	}	
  if ( transport.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue == "noupdate") 
	      { alert ('Не могу сделать подтверждение');	}			  
  if ( transport.responseXML.getElementsByTagName('status')[0].firstChild.nodeValue == "deleted") 
	      { alert ('Заказ удален');	
		  var myzakaz = document.getElementById('d'+tovar); 		  
		  myzakaz.innerHTML = ' заказ удален <span  id="d'+tovar+'" > (<a href="#" onclick="zakaz(\''+tovar+'\',1); return false;" id="a'+tovar+'">занять ряд</a>) </span>';
		  myzakaz.style.color = "#0000FF";
		  }		  
		  
		  
		  } } );
	
	}

function getVarValueFromURL(url, varName) {

    var st = url.indexOf("?");
	if (st==-1) return null;
	var query = url.substring(st + 1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
	var pair = vars[i].split("=");
		if (pair[0] == varName) {
			return pair[1];
		}
	}
	return null;
} 
