var i = 0;
var _prevObj = null;
var _maxLoad = 35;
var loadCount = 0;
var loadCountHolder = 0;
var loadInc = 7;
var contentHeight = 800;  
var pageHeight = 0;  
var scrollPosition;
var scrollInterval;
var industry = "";
var region = "";

document.getElementById("jsonLinkContainer").style.display = "block";

$(function() {
	generateClientList(null,null,document.getElementById('viewAllLink'));
	scrollInterval = setInterval("scroll()" , 250);
});

function scroll(){  
	pageHeight = document.documentElement.clientHeight; 
	scrollPosition = navigator.appName == "Microsoft Internet Explorer" ? scrollPosition = document.documentElement.scrollTop : scrollPosition = window.pageYOffset; 
	if((contentHeight - pageHeight - scrollPosition) < pageHeight){  
		generateClientList(industry,region,document.getElementById('viewAllLink'));
		contentHeight += pageHeight;  
	}  
}  

function clearClientList() {
	contentHeight = 800;
	loadCountHolder = 0;
	scrollInterval = setInterval("scroll()" , 250);
	$("#clientContainer").html("");
}

function generateClientList(strIndustry,strRegion,obj) {
	industry = strIndustry;
	region = strRegion;
	obj.className = "activeJSONLink";

	if(_prevObj != null && _prevObj != obj) {
		_prevObj.className = "";
	}
	showLoader();	
	
	if(typeof _clientArray != 'undefined' && _clientArray != null) {
		_maxLoad = _clientArray.length <= _maxLoad ? _clientArray.length : _maxLoad;
		_maxLoad = loadCount <= _maxLoad ? _maxLoad : loadInc;
		var hitCount = 0;
		/* --- LOOP THROUGH REGIONS UNTIL HITS ARE FOUND --- */
		if(region != null) {
			var i = loadCountHolder;
			while(hitCount <= _maxLoad && _clientArray[i] != null) {
				checkClientLength(i, _clientArray.length);
				if(region === _clientArray[i].region || _clientArray[i].region === "global") {
					createClient(i);
					hitCount++;
				}
				i++;
			}
			loadCountHolder = i;
		}	
		/* --- LOOP THROUGH INDUSTRY UNTIL HITS ARE FOUND --- */		
		else if(industry != null) {
			var i = loadCountHolder;
			while(hitCount <= _maxLoad && _clientArray[i] != null) {
				checkClientLength(i, _clientArray.length);
				if(_clientArray[i].industry.indexOf(industry) !== -1) {
					createClient(i);
					hitCount++;
				}
				i++;
			}
			loadCountHolder = i;
		}
		/* --- LOOP THROUGH EVERYTHING --- */
		else if(industry == null && region == null) {
			for (var i = loadCountHolder; i <= loadCountHolder + _maxLoad; i++) {
				if(_clientArray[i] != null) {
					checkClientLength(i, _clientArray.length);	
					createClient(i);
				}
			}	
			loadCountHolder = i;			
		}
	} 
	else {
		alert("Error reading xml");
	}
	
	hideLoader();	
	_prevObj = obj;
}

function checkClientLength(count, arraylength) {
	if(count >= arraylength - 1) {
		clearInterval(scrollInterval);
		hideLoader();	
		return false;
	}
}

function showLoader() {
	$("ajaxLoader").show();
}

function hideLoader() {
	$("ajaxLoader").hide();
}

function createClient(int) {
	$("#clientClone").clone()
	.attr("id" , "")
	.children("a").attr("href" , _clientArray[int].url).children("img").attr("src" , _clientArray[int].image).attr("alt" , _clientArray[int].title).attr("title" , _clientArray[int].title).end().end()
	.children(".titleSpan").html(_clientArray[int].title).end()
	.children(".countrySpan").html(_clientArray[int].country).end()
	.appendTo("#clientContainer");
}



