/* ---------- common onload script ---------- */
var ie, safari;

if(window.attachEvent) {
	window.attachEvent('onload', doOnload);
	window.attachEvent('onunload', doOnUnload);
} else {
	window.addEventListener ('load', doOnload , false);
	window.addEventListener ('unload', doOnUnload , false);
}
	
	
function doOnload() {
	var appVersion = navigator.appVersion.toLowerCase();
	if(appVersion.indexOf('msie') != -1) {
		var pos  = appVersion.indexOf('msie');
		if(pos != -1)
			ie = parseInt(parseFloat(appVersion.substring(pos + 5, appVersion.indexOf(';', pos))))
	}
	
	safari = appVersion.indexOf('safari') != -1;
	
	triggerHiddenAnchor();
	initStatusPopup();
	startSessionTimer(1800, 'session.timeout');
}

function doOnUnload() {
	unlockPage();
}


Function.prototype.Timer = function (interval, calls, onend) {
    var count = 0;
	var payloadFunction = this;
	var startTime = new Date();
	var callbackFunction = function () {
	    return payloadFunction(startTime, count);
	};
	
	var endFunction = function () {
	    if (onend) {
	      onend(startTime, count, calls);
	    }
	};
	
	var timerFunction = function () {
	    count++;
	    if (count < calls && callbackFunction() != false) {
	        window.setTimeout(timerFunction, interval);
	    } else {
	        endFunction();
	    }
	};
	  
	timerFunction();
};
	
function leadingzero (number) {
    return (number < 10) ? '0' + number : number;
}

function startSessionTimer(seconds, target) {
	
	var element = document.getElementById(target);
	
	if(element != null) {
		
		var calculateAndShow = function () {
			
		    if (seconds >= 0) {
			    var h = Math.floor(seconds / 3600);
			    var m = Math.floor((seconds % 3600) / 60);
			    var s = seconds % 60;
			    element.innerHTML= leadingzero(m);
			    seconds--;
			} else {
			    return false;
			}
		};
	
		calculateAndShow.Timer(1000, Infinity);
	}
}

var checkAll = "0";

function doCheckAll() {
	var elements = document.getElementsByTagName("input");
	for(var i = 0; i < elements.length; i++) {
	   if(elements[i].type) {
		
	       if(elements[i].type.toLowerCase() == "checkbox") {
		
		       if(checkAll == "0") { 
	              elements[i].checked = new Boolean(true);
               }
		       else {
		          elements[i].checked = null;
		       }        
	       }
	   }
	}

	if(checkAll == "0") {
        checkAll = "1";
	}
	else {
		checkAll = "0";
	}
}

