var foundObjects = new Array();

//a variable for knowing which DOM we're using.
var domType = '';
if (document.getElementById) {
	domType = "std";
} else if (document.all) {
	domType = "ie4";
} else if (document.layers) {
	domType = "ns4";
}

function findObject(objId, force) {
  if (force || typeof(foundObjects[objId]) == "undefined") {
    switch (domType) {
      case "std":
        foundObjects[objId] = document.getElementById(objId);
        break;
      case "ie4":
        foundObjects[objId] = document.all[objId];
        break;
      case "ns4":
        foundObjects[objId] = document.layers[objId];
        break;
    }
  }
  return foundObjects[objId];
}

function add(obj, value) {
	obj = findObject(obj);
	if (value == 1) {
		if (obj.value == '') {
			obj.value = 1
		} else {
			obj.value = obj.value * 1 + 1;
		}
	}
	
	if (value == -1) {
		if (obj.value == '' || obj.value == 1) {
			obj.value = '';
		} else {
			obj.value = obj.value * 1 - 1;
		}
	}
	//submit_form(obj.form);
}

function submit_form(obj) {
	saveScrollPos();
	obj.submit();
}

function restoreScrollPos() {
	var posX = parseInt(getCookie("scrollPosX"));
	var posY = parseInt(getCookie("scrollPosY"));
	//destroy the cookie
	deleteCookie("scrollPosX");
	deleteCookie("scrollPosY");
	//scroll to the recovered position
	window.scroll(posX, posY);
	
	return true;
}

//save the scroll poition to the cookie (set expire to small value)
function saveScrollPos() {
	var expiry = new Date();
	expiry.setSeconds(expiry.getSeconds() + 10);
	setCookie("scrollPosX", window.document.body.scrollLeft, expiry);
	setCookie("scrollPosY", window.document.body.scrollTop, expiry);
}


//================================================== ===
// Cookies
//================================================== ===
function setCookie(name, value, expires, path, domain, secure) {
	var curCookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
	
	document.cookie = curCookie;
}

function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else {
	begin += 2;
	}
	
	var end = document.cookie.indexOf(";", begin);
	
	if (end == -1) end = dc.length;
	
	return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie (name) {
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	// This cookie is history
	var cval = getCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
