String.prototype.getSuffix = function() {
	return this.substr(this.lastIndexOf('_')+1);
}
/**
<div class="smenu"><div class="str"><div class="sbl"><div class="sbr">
<ul>
	<li><a href="#">SDasd</a></li>
	<li><a href="#">SDasd</a></li>
	<li style="border-bottom:0;"><a href="#">SDasd</a></li>
</ul>
</div></div></div></div>
**/


function createMenu(menuData) {
	var div = document.createElement('div');
	div.className = 'smenu';
	var cnt = '<div class="str"><div class="sbl"><div class="sbr"><ul>';

	for (var i in menuData) {
		cnt +='<li><a href="'+menuData[i]['url']+'">'+menuData[i]['title']+'</a></li>';
	}
	
	cnt +='</ul></div></div></div>';
	div.innerHTML = cnt;
	return div;
}

function showMenu(e, el) {
	closeMenu();
	var elId =e.parentNode.parentNode.parentNode.id;
	var id = elId.getSuffix();
	new Ajax.Request(
		'/inc/ajax/ajaxResponse.php?do=getDealData',
		{
			method: 'POST',
			parameters:
			$H({
				'id': id,
			}).toQueryString(),
			onComplete: function(responseText) {
				json = eval(responseText.getResponseHeader('X-JSON'));
				menuData = json.dealData;
		
				var div = createMenu(menuData);
				e.appendChild(div);
				el.className = 'act_title';
				setTimeout("Event.observe(document, 'click', closeMenu)", 1);
			}
		}
	);
}

function closeMenu(){
	var allMenus = document.getElementsByClassName('smenu');
	allMenus.each(function(e){ e.parentNode.removeChild(e); });

	var allGetDeals = document.getElementsByClassName('getthisdeal');
	allGetDeals.each(function(e) {
		var el = e.getElementsByClassName('act_title')[0];
		if(el) el.className = 'title';
	  }
	);
	Event.stopObserving(document, 'click', closeMenu);
}
function callMenu() {
	var allGetDeals = document.getElementsByClassName('getthisdeal');
	allGetDeals.each(function(e) {
		var el = e.getElementsByClassName('title')[0];
		if(el) {
			el.onclick = function() {
				showMenu(e, el);
			}
		}
	}
	);
}

var isLogged = true; // If the user is logged;
function loginError() {
	var div = document.createElement('div');
	div.className = 'login-error';
	div.innerHTML = '<div>&nbsp;</div>'+
	'<p><strong>Make your vote count!</strong>'+
	' To Shlogging, <a href="/login"><strong>login</strong></a> or <a href="/register"><strong>register</strong></a> to Shlogging for free.</p>';

	return div;
}
function removeLoginError() {
	var allErrors = document.getElementsByClassName('login-error');
	allErrors.each(function(e){e.parentNode.removeChild(e);});
	Event.stopObserving(document, 'click', removeLoginError);
}

function shlogg(obj, id) {
	var parent = obj.parentNode.parentNode; // className: shlogg
	if(!isLogged) {
		parent.appendChild(loginError());
		setTimeout("Event.observe(document, 'click', removeLoginError)", 1);
		return;
	}
	
	var numShloggs = parent.getElementsByClassName('num-shloggs')[0];
	var oldValue = parseInt(numShloggs.innerHTML);
	
	var span = document.createElement('span');
	span.innerHTML = '<span>shlogged</span>';
	span.className = 'shlogged';
	
	
//	alert(oldValue);
	
	new Ajax.Request(
		'/inc/ajax/ajaxResponse.php?do=shlogg',
		{
			method: 'POST',
			parameters:
			$H({
				'id': id
			}).toQueryString(),
			onComplete: function() {
				numShloggs.innerHTML = oldValue+1;
				obj.parentNode.replaceChild(span, obj);
			}
		}
	);
}

function flog(obj, id) {
	var parent = obj.parentNode.parentNode.parentNode.parentNode;// className: shlogg
	if(!isLogged) {
		parent.appendChild(loginError());
		setTimeout("Event.observe(document, 'click', removeLoginError)", 1);
		return;
	}
	
	var numShloggs = parent.getElementsByClassName('num-shloggs')[0];
	var oldValue = parseInt(numShloggs.innerHTML);
	
//	alert(slink);
	
	var lispan = document.createElement('span');
	lispan.innerHTML = 'Flogged';
	
	new Ajax.Request(
		'/inc/ajax/ajaxResponse.php?do=flog',
		{
			method: 'POST',
			parameters:
			$H({
				'id': id
			}).toQueryString(),
			onComplete: function() {
				numShloggs.innerHTML = oldValue-1;
				obj.parentNode.className='';
				obj.parentNode.replaceChild(lispan, obj);
			}
		}
	);
}