
var iHowManyMinutesBuffer = 2; // minutes
var iHowOftenToCheckOnlineStatus = 10; // seconds

var sTargetNamespaceURI = 'urn:GetImageLastUpdated';
var sServiceLocationURL = 'http://www.dirty-paper.com/webcam/is_online.php';
var sProxy = null;

var wsGetImageLastUpdated = new WebService('GetImageLastUpdated',sTargetNamespaceURI,sServiceLocationURL,sTargetNamespaceURI + 'GetImageLastUpdated',sProxy);

wsGetImageLastUpdated.onload = function (){
	displayOnlineImage(this.XMLHttpRequest.responseXML);
}

function displayOnlineImage(domLastUpdatedInfo){
	var sServerTime = domLastUpdatedInfo.getElementsByTagName('ServerTime')[0].firstChild.nodeValue;
	var sLastModified = domLastUpdatedInfo.getElementsByTagName('LastModified')[0].firstChild.nodeValue;
	
	var dServerTime = new Date(sServerTime);
	var dLastModified_Plus = new Date(sLastModified);
		dLastModified_Plus.setMinutes(dLastModified_Plus.getMinutes() + iHowManyMinutesBuffer);
	var dLastModified_Minus = new Date(sLastModified);
		dLastModified_Minus.setMinutes(dLastModified_Minus.getMinutes() - iHowManyMinutesBuffer)
	
	var imgOnlineStatus1 = document.getElementById('imgOnlineStatus1');
	var imgOnlineStatus2 = document.getElementById('imgOnlineStatus2');
	
	if (dLastModified_Plus > dServerTime && dServerTime > dLastModified_Minus){
		if (imgOnlineStatus1){
			imgOnlineStatus1.src = '../art/images/on.gif'
		}
		if (imgOnlineStatus2){
			imgOnlineStatus2.src = '../art/images/wc_online.gif'
		}
		//document.title = document.title + ' - Web Cam is online'
		//alert('online')
	}
	else {
		if (imgOnlineStatus1){
			imgOnlineStatus1.src = '../art/images/off.gif'
		}
		if (imgOnlineStatus2){
			imgOnlineStatus2.src = '../art/images/wc_offline.gif'
		}
		//document.title = document.title
		//alert('offline')
	}	
	//alert(dLastModified_Plus.toString() + ' - ' + dLastModified_Minus.toString())
}

var timerCheckingOnlineStatus

function beginCheckingOnlineStatus(){
	var imgOnlineStatus1 = document.getElementById('imgOnlineStatus1');
	var imgOnlineStatus2 = document.getElementById('imgOnlineStatus2');
	if (imgOnlineStatus1){
			imgOnlineStatus1.src = '../webcam/pixel.gif'
	}
	if (imgOnlineStatus2){
		imgOnlineStatus2.src = '../webcam/pixel.gif'
	}
	
	// check now
	wsGetImageLastUpdated.call();
	// start timer to continue to check
	timerCheckingOnlineStatus = setInterval('wsGetImageLastUpdated.call()', iHowOftenToCheckOnlineStatus * 1000);
}


beginCheckingOnlineStatus()
