/*
 * ENVIROMENT VARS
 * 
 * urls <- list of all url's
 * clickUrls <- list of url's for redirection
 * urlStatus <- status of preloading: 'not loaded', 'loading' or 'loaded';
 * preloadEnabled
 */

var currentNr = '';

var preload = function(nr) {
	urlStatus[nr] = 'loading';
	//console.debug('Loading - url number '+nr+' in cache');
	dojo.xhrGet( {
		url :preloadUrl + '/?url=' + urls[nr],
		handleAs :"text",
		load : function(data, args) {
			urlStatus[nr] = 'loaded';
			if(data == 'done'){
				//console.debug('Loading - url number '+nr+' in cache -> DONE');
			}else{
				//console.debug('Loading - url number '+nr+' in cache -> FAILED: '+data);
			}
			preloadNext();
			//alert('preloaded: '+data+' - '+url);
		},
		error : function(error, args) {
			//alert("error! "+ error);
		}
	});
};

var preloadNext = function(){
	var i = 0;
	while(urlStatus[i] != 'not loaded' && urlStatus[i] != undefined){
		i++;
	}
	if(urlStatus[i] != undefined){
		preload(i);
	}
};

function loadInFrame(nr, direct) {

	if (currentNr === nr) {

	} else {
		//console.debug('Loading - url number '+nr+' in frame');
		currentNr = nr;
		urlStatus[nr] = 'loading';
		if(top.frames[1] != undefined){
			if (direct) {
				top.frames[1].location = urls[nr];
			} else {
//				if(adId[nr] == ""){
					top.frames[1].location = proxyUrl + '/?url=' + dojox.dtl.filter.strings.urlencode(urls[nr]);
//				}else{
//					top.frames[1].location = proxyUrl + '/?id=' + adId[nr];
//				}
			}
		}
	}
	for(var i = 0;i<urls.length;i++){
		dojo.query('#res'+i).removeClass('active');
	}
	dojo.query('#res'+nr).addClass('active');
}

var loadFirstPreview = function() {
	if(urls[0] != undefined){
		loadInFrame(0,false);
	};
};

var visitActiveSite = function(){
	//console.debug('Visiting site '+currentNr);
	top.location.href = clickUrls[currentNr];
};

//var activateMouseEvents = function(){
//	dojo.query('#results .result').connect("onclick",function(e){
//		var resultNode = e.target;
//		while(resultNode.tagName != 'DIV'){
//			resultNode = resultNode.parentNode;
//		}
//		var link = dojo.query('a',resultNode);
//		var link = link[0];
//		top.location.href = link.href;
//    });	
//	
//	dojo.query('#results .result').connect("onmouseover",function(e){
//		var resultNode = e.target;
//		while(resultNode.tagName != 'DIV'){
//			resultNode = resultNode.parentNode;
//		}
//		var id = parseInt(resultNode.id.substring(3));
//		window.status = urls[id];
//	});
//	
//	dojo.query('#results .result').connect("onmouseout",function(e){
//		window.status = '';
//	});
//};

var visitSite = function(nr){
	top.location.href = clickUrls[nr];
};


dojo.addOnLoad(loadFirstPreview);
//dojo.addOnLoad(activateMouseEvents);

if(preloadEnabled){
	dojo.addOnLoad(preloadNext);
};
