<!--
function checkCookie(name) {
	if (document.cookie=='') {
		return false;
	}
	else {
		var charStart = "";
		var charEnd = "";
		var cookie = document.cookie;
		charStart = cookie.indexOf(name);
		if (charStart != -1) {
			charStart += name.length +1;
			charEnd = cookie.indexOf(';', charStart);
			if (charEnd == -1) {
				charEnd = cookie.length; 
			}
			return unescape(cookie.substring(charStart, charEnd));
		}
		else {
			return false;
		}
	}
}

//-------------

function confirmDate(dateStr) {
	var month = dateStr.substring(0, dateStr.indexOf("/"));
	var day   = dateStr.substring(dateStr.indexOf("/")+1, dateStr.lastIndexOf("/"));
	var year  = dateStr.substring(dateStr.lastIndexOf("/")+1, dateStr.length);
	if (!isNaN(month) && !isNaN(day) && !isNaN(year)) {
		if (year > 79 && year < 100)
			year = parseInt(year) + 1900;
		if (year > 0 && year < 79)
			year = parseInt(year) + 2000;
		if (month < 1 || month > 12 || day < 1 || day > 31 || year < 1800 || year > 2200)
			return false;
		else
		if (month == 2 && day > 29 && (year%400 == 0))
			return false;
		else
		if (month == 2 && day > 28 && (year%100 == 0) && (year%400 != 0))
			return false;
		else
		if (month == 2 && day > 29 && (year%4 == 0))
			return false;
		else
		if (month == 2 && day > 28 && (year%4 != 0))
			return false;
		else
		if (month == 9 && day > 30)
			return false;
		else
		if (month == 11 && day > 30)
			return false;
		else
		if (month == 4 && day > 30)
			return false;
		else
		if (month == 6 && day > 30)
			return false;
		else
			return true;
	}
	else
		return false;
}

//-------------

function confirmDateSimple(dateStr) {
	
	var month = dateStr.substring(0, dateStr.indexOf("/"));
	var day   = dateStr.substring(dateStr.indexOf("/")+1, dateStr.lastIndexOf("/"));
	var year  = dateStr.substring(dateStr.lastIndexOf("/")+1, dateStr.length);
	if (!isNaN(month) && !isNaN(day) && !isNaN(year)) {
		if (year > 79 && year < 100)
			year = parseInt(year) + 1900;
		if (year > 0 && year < 79)
			year = parseInt(year) + 2000;
		if (month < 1 || month > 12 || day < 1 || day > 31 || year < 1800 || year > 2200)
			return false;
		else
		if (month = 2 && day > 29 && (year%4 == 0))
			return false;
		else
		if (month = 2 && day > 28 && (year%4 != 0))
			return false;
		else
			return true;
	}
	else
		return false;
}

//-------------

function LTrim(str){
	var ret=str+"";
	while(ret.length>0 && ret.substring(0,1)==" "){
		ret=ret.substring(1,ret.length);
	}
	return ret;
}

//-------------

function RTrim(str){
	var ret=str+"";
	while(ret.length>0 && ret.substring(ret.length-1,ret.length)==" "){
		ret=ret.substring(0,ret.length-1);
	}
	return ret;
}

//-------------

function Trim(str){
	return RTrim(LTrim(str));
}



function nZ(field) { //checks for null field and if null outputs a 0
	var tmp = field+"";
	if (tmp != "null" && tmp != "")
		return tmp;
	else
		return 0;
}

function formatNumber(number, separator, decimals, currency) {

	orignumber = number;
	number+=""; //convert number into string
	number = parseFloat(number); // try to convert number into float
	if (isNaN(number)) {
		// return original value, since only numbers can be properly formatted
		return orignumber;
	}
	else {

		var i=0;
		var leftoutput = "";
		var rightoutput = "";
		var leftpart = "";
		var rightpart = "";
		var decpoint = ".";
		number+=""; // convert number back to string
		
		// split number in left and right part
		if (number.indexOf(decpoint) != -1) {
			var leftpart = number.substring(0, number.indexOf(decpoint));
			var rightpart = number.substring(number.indexOf(decpoint) + 1, number.length);
		}
		else {
			// there is only a left part
			leftpart = number;
		}

		// round number into desired number of decimals
		if ((rightpart.length > decimals) && (decimals > 0)) {
			rightoutput = rightpart.substring(0,decimals);
			//rightoutput = ""+Math.round(parseInt(rightoutput)/10);
		}
		else {
			if (decimals == 0) {
				// discard right output, no decimals required
				rightoutput = "";
			}
			else {
				rightoutput = rightpart;
				// pad number with extra zero's as needed
				for (i=0;i<=(decimals-rightpart.length-1);i++) {
					rightoutput+="0";
				}
			}
		}

		for (i=0; i < leftpart.length; i++) {
			// for every 3rd occurence insert separator
			if (i != 0 && ((leftpart.length - i) % 3 == 0)) {
				leftoutput += separator;
			}
			leftoutput += leftpart.charAt(i);
		}
	
		if (rightoutput == "") {
			return currency+leftoutput;
		}
		else {
			return currency+leftoutput+decpoint+rightoutput;
		}

	}
}

//------------

function RemoveNonNumericChars(bvObj) {
	var dimStr = bvObj.value;
	var ret = "";
	var char = "";
	for (var i=0; i<dimStr.length; i++) {
		if (isNaN(dimStr.charAt(i)) || dimStr.charAt(i) == " "){
			ret += replace(dimStr, dimStr.charAt(i), "");
		}
	}
	//cut any leading zeros
	while(dimStr.charAt(0) == 0 && dimStr.length > 1)
		dimStr = dimStr.substring(1, dimStr.length);
	return dimStr;
}

//------------

function MakeValidNumber(bvObj) {
	var dimStr = bvObj.value;
	var neg = false;
	if (dimStr.charAt(0)=="-")
		neg = true;
	var ret = "";
	for (var i=0; i<dimStr.length; i++) {
		if ((!isNaN(dimStr.charAt(i)) && dimStr.charAt(i)!=" ") || dimStr.charAt(i)==".")
			ret += dimStr.charAt(i);
	}
	if (ret=="")
		ret="0";
	else if (neg==true)
		ret="-"+ret;
	return ret;
}

//-------------

function truncate(str,len){
	if(str.length>len)
		return str.substring(0,len)+"...";
	else
		return str;
}

//-------------

//Shortcut for debug.Write
function dout(s){
    alert("*"+s+"*");
}

//-------------

function correctYear(dateStr) {
	var month = dateStr.substring(0, dateStr.indexOf("/"));
	var day   = dateStr.substring(dateStr.indexOf("/")+1, dateStr.lastIndexOf("/"));
	var year  = dateStr.substring(dateStr.lastIndexOf("/")+1, dateStr.length);
	if (confirmDate(dateStr)) {
		if (year > 79 && year < 100)
			year = parseInt(year) + 1900;
		if (year > 0 && year < 79)
			year = parseInt(year) + 2000;
		return month+"/"+day+"/"+year;
	}
	else
		return "";
}

//------------

function CheckEntry(fName) {
	var dim = eval(fName);
	dim.value = MakeValidNumber(dim);
	return;
}

//-------------

function verifyEmail(eMail) {
		var posAt = eMail.indexOf("@");
		var posDotLast = eMail.lastIndexOf(".");
		if (posAt <= 0 || (posAt > posDotLast))
			return false;
		if (Trim(eMail) == "")
			return false;
		return true;		
}

//-------------


//changes selected option for the passed select control to value indicated
function selectOption(sel,val,clear) {
	var found = false;
	var l = sel.options.length;
	for(i=0; i<l; i++) {
		if (sel.options[i].value == val){
			sel.selectedIndex = i;
			found = true;
			break;
		}
	}
	if(found==false && clear==true){
		sel.selectedIndex = 0;
	}
}

function selectOptionText(sel,val,clear) {
	var found = false;
	var l = sel.options.length;
	for(i=0; i<l; i++) {
		if (sel.options[i].text == val){
			sel.selectedIndex = i;
			found = true;
			break;
		}
	}
	if(found==false && clear==true){
		sel.selectedIndex = 0;
	}
}


//-------------
//gets value from Radio buttons
function radioValue(radioButton){
    var val = "";
	for (i = 0; i < radioButton.length; i++){
		if (radioButton[i].checked == true) {
			val = radioButton[i].value;
		}
    }
	return val
}

//-------------

function popWin(fileName){
	var x = window.screenX;
	var y = window.screenY;
	var cx = (x+(window.outerWidth/2));
	var cy = (y+175);
	var hWindow = window.open(fileName, "Test", "width=500,height=400,scrollbars=yes,resizable=yes,screenX="+cx+",screenY="+cy);
}

//--------------

function resizeParentIframe(name){
	var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
	var FFextraHeight=0
	var obj = getObject_Parent(name);
	var hgt = 0;
	var sh = document.body.scrollHeight; //use for IE
	var oh = document.body.offsetHeight; //use for Firefox
	if(navigator.userAgent.indexOf("Firefox")==-1){
		hgt=sh;
	}else{
		hgt=oh+(parseFloat(getFFVersion)>=0.1? 50 : 0); //extra height in px to add to iframe in FireFox 1.0+ browsers
	}
	//alert("sh:"+sh+"/oh:"+oh+"/hgt:"+hgt);
	if (obj!=null)
		obj.style.height=hgt;
}

function updateParentContentDiv(divName, iframeName){
	if (window == parent){
		return
	}else{
		var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
		var hgt = 0;
		var sh = document.body.scrollHeight; //use for IE
		var oh = document.body.offsetHeight; //use for Firefox
		if(navigator.userAgent.indexOf("Firefox")==-1)
			hgt=sh;
		else
			hgt=oh+(parseFloat(getFFVersion)>=0.1? 50 : 0); //extra height in px to add to iframe in FireFox 1.0+ browsers

		var objIframe = getObject_Parent(iframeName);
		var objDiv = getObject_Parent(divName);
		objIframe.style.display="none";
		objDiv.style.display="block";
		objDiv.height = hgt;
		objDiv.style.height = hgt;
		objDiv.innerHTML = document.body.innerHTML;
	}
}

function getObject_Parent(id){
	if(document.getElementById)
		return parent.document.getElementById(id)
	else
		if(document.all)
			return parent.document.all[id]
		else
			return null
}

//-------------

function getObject(id){
	if(document.getElementById)
		return document.getElementById(id)
	else
		if(document.all)
			return document.all[id]
		else
			return null
}

//------------
function getPageContent(url){
	var req;
	req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	if(req) {
		req.open("GET", url, false);
		req.send("");
		return req.responseText;
	}else{
		return false;
	}
}
//
function replace(liner,outLine,inLine){
	var ret="";
	line=liner+"";
	while(line.indexOf(outLine)>=0){
		ret+=line.substring(0,line.indexOf(outLine));
		ret+=inLine;
		line=line.substring(line.indexOf(outLine)+outLine.length,line.length);
	}
	return ret+line;
}
//-->
