//////////////////////////////////////////////////////
// this stuff is for the search pages
// the stuff for the viewer is down below
//////////////////////////////////////////////////////
var viewer_url = 'http://www.landlight.com/v1_support/viewer.html';
var list_url = 'http://www.landlight.com/v1_support/get_image_list.asp?';
var image_list;
var report_id = 0;

function fetch_image_list(settings) {
	// settings should be something like this:
	// "report_id=24&parcel_no=102881060001015"
	// or (for the sample images):
	// "sample"
	if (typeof(image_list) != "undefined") {
		return false;
	}
	var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");
	if (settings == "sample") {
		xmlhttp.open('GET', "http://www.landlight.com/v1_support/sample.txt", false);
	} else {

		xmlhttp.open('GET', list_url + settings, false);
		//alert(list_url + settings);
	}
	xmlhttp.send(null);
	image_list = xmlhttp.responseText.split('\r\n');
	//alert("rrr" + image_list[0]  + ' - ' +  image_list[1] + ' -' +  image_list[2]   );
	
	return false;
}

function open_viewer() {
	return window.open('', 'viewer', 'menubar=no, toolbar=no, status=no, resizable=yes');
//caused flashing screen or reloading problem	return window.open(viewer_url, 'viewer', 'menubar=no, toolbar=no, status=no, resizable=yes');
}

function wait_for(millis) {
	// this function is not good because
	// it uses a "busy wait", occupying
	// the processor for millis amount of
	// time when it should block, allowing
	// another process to have the processor
	var date = new Date();
	var curDate = null;

	do { curDate = new Date(); } 
	while(curDate-date < millis);
}

function was_viewer_already_open(viewer) {
	if (viewer.location != viewer_url) {
	//	alert("loc 1 ");
//		alert(viewer_url);
		viewer.location = viewer_url;
		return false;
	} else
		return true;
}

function show_sample() {
	viewer = window.open("http://www.landlight.com/v1_support/viewer.html?sample", 'viewer', 'menubar=no, toolbar=no, status=no, resizable=yes');
	return false;
	/*
	var viewer = open_viewer();
	viewer.focus();
	var viewer_was_open_already = was_viewer_already_open(viewer);
	// Wait for a small moment before trying to open
	//wait_for(500);
	// if the viewer isn't ready, then try again in 100 milliseconds
	if (!viewer.ViewONE || !viewer.ViewONE.isReady()) {
		setTimeout('show_sample()', 300);
		return false;
	}
	if (viewer.ViewONE.getView() == 0) {
		viewer.ViewONE.setView(2);
	}
	viewer.ViewONE.closeDocument();

	viewer.ViewONE.initializePageAndThumbsArray(2);
	viewer.ViewONE.setPageArray('http://www.landlight.com/v1_support/sample_page_1.tif', 0);
	viewer.ViewONE.setPageArray('http://www.landlight.com/v1_support/sample_page_2.tif', 1);
	viewer.ViewONE.openPageArray(1);
	*/
}

function show_image(settings) {
	viewer = window.open("http://www.landlight.com/v1_support/viewer.html?" + settings, 'viewer', 'menubar=no, toolbar=no, status=no, resizable=yes');
	return false;
/*	// settings should be something like this:
	// "report_id=24&parcel_no=102881060001015"
	var viewer = open_viewer();
	var viewer_was_open_already = was_viewer_already_open(viewer);
	fetch_image_list(settings);
	array_size = image_list[0];
	if (array_size == 0) {
		if (!viewer_was_open_already) {
			viewer.close();
		}
		alert("These images are not available.");
		image_list = 0;
		return false;
	}
	// Wait for a small moment before trying to open
	//wait_for(500);
	// if the viewer isn't ready, then try again in 100 milliseconds
	if (!viewer.ViewONE || !viewer.ViewONE.isReady()) {
		setTimeout('show_image("' + settings + '")', 300);
		//alert('debug');
		return false;
	}

	viewer.focus();
	if (viewer.ViewONE.getView() == 0) {
		viewer.ViewONE.setView(2);
	}
	viewer.ViewONE.closeDocument();

	viewer.report_id = image_list[1];
	viewer.ViewONE.initializePageAndThumbsArray(array_size);
	for (i = 0; i < array_size; i++) {
		viewer.ViewONE.setPageArray(image_list[i * 2 + 2], i);
		viewer.ViewONE.setThumbsArray(image_list[i * 2 + 3], i);
	}
	viewer.ViewONE.openPageArray(1);

	image_list = 0;
	*/
}

/////////////////////////////////////////////////////
// this stuff is for the viewer
/////////////////////////////////////////////////////
function load_images() {
	// if image_list hasn't been populated yet, then populate
	if (typeof(image_list) == 'undefined') {
		var url = document.URL;
		var settings = url.substring(url.indexOf("?") + 1, url.length);
		//alert(settings);
		fetch_image_list(settings);
	}

	// if the viewer isn't ready, then try again in 100 milliseconds
	if (!document.ViewONE || !document.ViewONE.isReady()) {
		setTimeout('load_images()', 100);
		return false;
	}

	// open the populated image_list
	var array_size = image_list[0];
	window.focus();
	window.report_id = image_list[1];
	document.ViewONE.initializePageAndThumbsArray(parseInt(array_size));
	//alert ('bgm');
	for (i = 0; i < array_size; i++) {
		//alert(image_list[i * 2 + 2]);
		
		document.ViewONE.setPageArray(image_list[i * 2 + 2], i);
		document.ViewONE.setThumbsArray(image_list[i * 2 + 3], i);
////////////////////////////////////////////////////////////////////////
		//alert (image_list[i * 2 + 2], i);
		//alert (image_list[i * 2 + 3], i);
///////////////////////////////////////////////////////////////////////	
	}
	document.ViewONE.openPageArray(1);

	// clear the image_list
	image_list = 0;
	return false;
}

function view(what_to_view) {
	switch (what_to_view) {
		case 'thumbsonly': {
			document.ViewONE.setView(2);
			return;
		}
		case 'fullpage': {
			document.ViewONE.setView(0);
			return;
		}
		case 'thumbsleft': {
			document.ViewONE.setView(3);
			return;
		}
	}
}

function vsave(what_to_save) {
	switch (what_to_save) {
		case 'document': {
			document.ViewONE.save(null);
			return;
		}
		case 'selected': {
			document.ViewONE.saveSelected(null);
			return;
		}
		case 'page': {
			document.ViewONE.savePage(null);
			return;
		}
	}
}

function print(what_to_print) {
	switch (what_to_print) {
		case 'document': {
			document.ViewONE.printDocument();
			return;
		}
		case 'selected': {
			document.ViewONE.printSelected();
			return;
		}
		case 'page': {
			document.ViewONE.printPage();
			return;
		}
		case 'visible': {
			document.ViewONE.printVisible();
			return;
		}
	}
}

function report_event(event_id, text) {
	var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");
	xmlhttp.open('GET', 'http://www.landlight.com/v1_support/report_event.asp?event_id=' + event_id + '&report_id=' + report_id + '&r=' + Math.random(), true);
	xmlhttp.send('');
	// debug
	//alert(event_id + ', ' + text + '; ' + xmlhttp.readyState);
}

