

ajaxInProgress = false;




//
// Spot Profile Thumbnail IE Fix
//
function internetExplorerIsCrap (el)
{
	if (el.className == 'ieIsStupid') { el.className = ''; }
	else { el.className = 'ieIsStupid'; }
}




//
// Show arrows on directory's onload
//
function showDirectoryAreaAndCategory ()
{
	if (document.getElementById('directoryWrapper'))
	{
		var dirLocCatSelect = new Array ();
		dirLocCatSelect = document.getElementById('directoryWrapper').getElementsByTagName('h3');
		for (var n = 0; n < dirLocCatSelect.length; n++) { dirLocCatSelect[n].style.visibility = 'visible'; }
	}
}




//
// Show Arrows in Spot Profile
//
function showOverDivInProfile ()
{
	if (document.getElementById('outletName'))
	{
		var outletName = document.getElementById('outletName');
		var ajaxLoad = document.getElementById('ajaxLoad');
		outletName.style.display = 'block';
		ajaxLoad.style.display = 'none';
	}
}




//
// Random promo on right-hand side-bar
//
function screwSideBarEventPromo (el, status)
{
	var theBox = el.parentNode;
	if (status == 'out')
	{
		theBox.style.backgroundColor = '#1C1C1C';
		theBox.getElementsByTagName('strong')[0].style.color = '#B97800';
		theBox.getElementsByTagName('cite')[0].style.color = '#999999';
	}
	else
	{
		theBox.style.backgroundColor = '#003300';
		theBox.getElementsByTagName('strong')[0].style.color = '#FFFF00';
		theBox.getElementsByTagName('cite')[0].style.color = '#FFFFFF';
	}
}




//
// Spot Directory onover
//
function directoryOverOut (el)
{
	if (el.className == 'dirListHover') { el.className = ''; }
	else { el.className = 'dirListHover'; }
}




function showSome() { }
/*function showSome() {
	var otherLinks = document.getElementById('linkcat-10');
	otherLinks.getElementsByTagName('ul')[0].className = 'hideThis';
	var otherLinks = document.getElementById('linkcat-12');
	otherLinks.getElementsByTagName('ul')[0].className = 'hideThis';
}*/




//
// Screw blog categories
//
function fixBlogCat ()
{
	var blogCat = document.getElementById('blogCategories');
	var catParents = blogCat.getElementsByTagName('li');
	for (i=0; i < catParents.length; i++)
	{
		if (catParents[i].getElementsByTagName('ul')[0])
		{
			var childList = catParents[i].getElementsByTagName('ul')[0];
			addEvent (catParents[i].firstChild, 'click', hideNshowBlogCat, false);
			if (catParents[i].firstChild.innerHTML != 'JakartaSpot' || catParents[i].firstChild.innerHTML != 'Reviews')
			{
				/*childList.className = 'hideThis children';*/
				childList.className = 'children';
				catParents[i].getElementsByTagName('a')[0].innerHTML = '<span>+</span> ' + catParents[i].getElementsByTagName('a')[0].innerHTML + ' <span>+</span>';
			}
			else
			{
				catParents[i].getElementsByTagName('a')[0].innerHTML = '<span>-</span> ' + catParents[i].getElementsByTagName('a')[0].innerHTML + ' <span>-</span>';
			}
		}
	}
}

function hideNshowBlogCat (e)
{
	knackerEvent (e);
	var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
	target.blur();
	if (target.parentNode.getElementsByTagName('ul')[0])
	{
		var catChildren = target.parentNode.getElementsByTagName('ul')[0];
		var theSign = target.getElementsByTagName('span');
	}
	else
	{
		var catChildren = target.parentNode.parentNode.getElementsByTagName('ul')[0];
		var theSign = target.parentNode.getElementsByTagName('span');
	}

	if (catChildren.className == 'hideThis children')
	{
		catChildren.className = 'children';
		theSign[0].innerHTML = '-';
		theSign[1].innerHTML = '-';
	}
	else
	{
		catChildren.className = 'hideThis children';
		theSign[0].innerHTML = '+';
		theSign[1].innerHTML = '+';
	}
}




//
// Screw Blog Links
//
function hideNshow (el, e)
{
	el.blur();
	var catChildren = el.parentNode.getElementsByTagName('ul')[0];
	if (catChildren.className == 'hideThis')
	{
		catChildren.className = '';
	}
	else
	{
		catChildren.className = 'hideThis';
	}
	knackerEvent(e);
}




//
// Scott Andrew's Util Functions
//
function addEvent (element, eventType, lamdaFunction, useCapture)
{
	if (element.addEventListener) { element.addEventListener(eventType, lamdaFunction, useCapture); return true; }
	else if (element.attachEvent) { var r = element.attachEvent('on' + eventType, lamdaFunction); return r; }
	else { return false; }
}
function knackerEvent(eventObject)
{
	if (eventObject && eventObject.stopPropagation) { eventObject.stopPropagation(); }
	if (window.event && window.event.cancelBubble ) { window.event.cancelBubble = true; }
	if (eventObject && eventObject.preventDefault) { eventObject.preventDefault(); }
	if (window.event) { window.event.returnValue = false; }
}
function cancelEventSafari() { return false; }
function getElementStyle(elementID, CssStyleProperty)
{
	var element = document.getElementById(elementID);
	if (element.currentStyle) { return element.currentStyle[toCamelCase(CssStyleProperty)]; }
	else if (window.getComputedStyle) { var compStyle = window.getComputedStyle(element, ''); return compStyle.getPropertyValue(CssStyleProperty); }
	else { return ''; }
}
function toCamelCase(CssProperty)
{
	var stringArray = CssProperty.toLowerCase().split('-');
	if (stringArray.length == 1) { return stringArray[0]; }
	var ret = (CssProperty.indexOf("-") == 0)
		? stringArray[0].charAt(0).toUpperCase() + stringArray[0].substring(1)
		: stringArray[0];
	for (var i = 1; i < stringArray.length; i++) { var s = stringArray[i]; ret += s.charAt(0).toUpperCase() + s.substring(1); }
	return ret;
}
function disableTestLinks ()
{
	var pageLinks = document.getElementsByTagName('a');
	for (var i=0; i<pageLinks.length; i++) { if (pageLinks[i].href.match(/[^#]#$/)) { addEvent(pageLinks[i], 'click', knackerEvent, false); }}
}
function createCookie (name, value, days)
{
	var expires = '';
	if (days)
	{
		var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000));
		var expires = '; expires=' + date.toGMTString();
	}
	document.cookie = name + '=' + value + expires + '; path=/';
}
function readCookie (name)
{
	var cookieCrumbs = document.cookie.split(';');
	var nameToFind = name + '=';
	for (var i = 0; i < cookieCrumbs.length; i++)
	{
		var crumb = cookieCrumbs[i];
		while (crumb.charAt(0) == ' ') { crumb = crumb.substring(1, crumb.length); }
		if (crumb.indexOf(nameToFind) == 0) { return crumb.substring(nameToFind.length, crumb.length); }
	}
    return null;
}
function eraseCookie (name) { createCookie(name, '', -1); }




//
// External Links
//
function externalLinks ()
{
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName ('a');
	for (i = 0; i < anchors.length; i++) { if (anchors[i].getAttribute ('href') && anchors[i].getAttribute ('rel') == 'external') { anchors[i].target = '_blank'; }}
}




//
// Fix Searches
//
function fixSearch ()
{
	var searchCol = document.getElementById ('s');
	if (searchCol.value == '') { searchCol.value = 'search'; }
}
function searchFoc (el)
{
	el.style.backgroundColor = '#FFFFFF';
	if (el.value == 'search') { el.value = ''; }
}
function searchBlur (el)
{
	el.style.backgroundColor = '#FEDE8B';
	if (el.value == '') { el.value = 'search'; }
}




//
// Digital Beat
//
function dbeatToptenHover () {
	var dbeatTopten = document.getElementById('dbeatToptenHover');
	dbeatTopten.getElementsByTagName('h4')[0].className = 'hover';
}
function dbeatToptenOut () {
	var dbeatTopten = document.getElementById('dbeatToptenHover');
	dbeatTopten.getElementsByTagName('h4')[0].className = '';
}




//
// Popup
//
function JakartaSpotPopup (JakartaSpotPopupURI, e)
{
	var JakartaSpotPopup = window.open (JakartaSpotPopupURI, 'JakartaSpotPopup', 'toolbar=no, directories=no, location=yes, status=no, menubar=no, resizable=yes, scrollbars=yes, width=550, height=450');
	JakartaSpotPopup.focus ();
	knackerEvent (e);
}




//
// Scroll Comments
//
function scrollComments ()
{
	if (document.getElementById('latestComments'))
	{
		var latestComments = document.getElementById('latestComments');
		latestComments.scrollTop = latestComments.scrollHeight - latestComments.clientHeight;
	}
}




//
// Blog Fix
//
function blogfix ()
{
	if (document.getElementById('blogCategories'))
	{
		showSome ();
		fixBlogCat ();
	}
}




//
// AJAX Outlet
//
function getOutlet (outletID, el, e)
{
	knackerEvent (e);
	nd ();
	var elementHREF = el.getAttribute('href');
	if (ajaxInProgress == true) { return; }
	if (!Sarissa || !document.getElementById) return window.location.href = elementHREF;
	var outletName = document.getElementById('outletName');
	var outlets = outletName.innerHTML;
	var ajaxOutletData = document.getElementById('ajaxOutletData');
	outletName.innerHTML = '<img src="' + wroot + 'images/common/ajax-load-outlet.gif" alt="Loading..." style="display: block;" />';
	document.title = '...mohon tunggu';
	var xmlhttp =  new XMLHttpRequest ();
	xmlhttp.open ('POST', wroot + 'ajaxcall.php', true);
	xmlhttp.onreadystatechange = function ()
	{
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
		{
			if (xmlhttp.responseText && xmlhttp.responseText.indexOf('<!-- js_separator -->' != -1))
			{
				var responses = new Array ();
				var responses = xmlhttp.responseText.split('<!-- js_separator -->');

				ajaxOutletData.innerHTML = responses[0];
				outletName.innerHTML = outlets;
				outletName.getElementsByTagName('a')[0].innerHTML = responses[1];
				document.title = responses[2] + ' - Jakarta Event & Promo Guide';
				document.getElementById('ajaxSpotLocationUserConfirm').innerHTML = responses[3];
				ajaxInProgress = false;
			}
			else
			{
				window.location.href = elementHREF;
			}
		}
	}      
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('act=get-outlet&outlet=' + outletID);
	ajaxInProgress = true;
}




/*
** SPOT LOGOS
*/
function getSpots(page) {
	var genContainer = new Array();
	genContainer = document.getElementById('showSpotLogos').getElementsByTagName('div');

	while (genContainer[1].hasChildNodes()) { genContainer[1].removeChild(genContainer[1].firstChild); }

	var xmlhttp =  new XMLHttpRequest();
	xmlhttp.open('POST', wroot + 'modules/spots/ajaxgrab.php', true);

	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			if (xmlhttp.responseXML.getElementsByTagName('status')[0].firstChild.data == 1) {

				for (var n = 0; n < xmlhttp.responseXML.getElementsByTagName('spotid').length; n++) {
					var anch = document.createElement('a');
					anch.setAttribute('href', 'spot/' + xmlhttp.responseXML.getElementsByTagName('spoturi')[n].firstChild.data);
					anch.setAttribute('title', xmlhttp.responseXML.getElementsByTagName('spottitle')[n].firstChild.data);

					var imgs = new Image();
					imgs.className = 'spotz';
					imgs.src = 'images/spot-logos/' + xmlhttp.responseXML.getElementsByTagName('spotid')[n].firstChild.data + 's.png';
					imgs.setAttribute('alt', xmlhttp.responseXML.getElementsByTagName('spottitle')[n].firstChild.data);

					anch.appendChild(imgs);
					genContainer[1].appendChild(anch);
					
				}

				genContainer[0].innerHTML = '<a href="javascript:getSpots(' + xmlhttp.responseXML.getElementsByTagName('naviprev')[0].firstChild.data + ')">&#8249; prev</a> &curren; <a href="javascript:getSpots(' + xmlhttp.responseXML.getElementsByTagName('navinext')[0].firstChild.data + ')">next &#8250;</a>';
				genContainer[3].innerHTML = '<a href="javascript:getSpots(' + xmlhttp.responseXML.getElementsByTagName('naviprev')[0].firstChild.data + ')">&#8249; prev</a> &curren; <a href="javascript:getSpots(' + xmlhttp.responseXML.getElementsByTagName('navinext')[0].firstChild.data + ')">next &#8250;</a>';


			} else {
				var nores = document.createTextNode('Halamannya kurang');
				var norescont = document.createElement('span');
				norescont.appendChild(nores);
				genContainer[1].appendChild(norescont);
			}
		}
	}
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send('p=' + page);
}




//
// Onload
//
window.onload = function ()
{
	showDirectoryAreaAndCategory ();
	showOverDivInProfile ();
	blogfix ();
	externalLinks ();
	fixSearch ();
	scrollComments ();
}
