var popupHandle='';
function openPhoto(theId,doEdit_value) {
	var theUrl='popupPhoto.cfm?id='+theId+'&doEdit='+doEdit_value;
	if (!popupHandle.closed && popupHandle.location)
		popupHandle.location.href=theUrl;
	else
		popupHandle=window.open(theUrl,'','width=100,height=100,menubar=0,scrollbars=0,status=0,location=0,directories=0,resizable=0,titlebar=0,toolbar=0');
	if (window.focus)
		popupHandle.focus();
	return false;
}
function isPdfOrDoc(theFile) {
	var re=/.pdf$/i;
	if (re.test(theFile))
		return true;
	var re=/.doc$/i;
	if (re.test(theFile))
		return true;
	return false;
}
function isWebImg(theFile) {
	var re=/.jpg$/i;
	if (re.test(theFile))
		return true;
	var re=/.jpeg$/i;
	if (re.test(theFile))
		return true;
	var re=/.gif$/i;
	if (re.test(theFile))
		return true;
	var re=/.png$/i;
	if (re.test(theFile))
		return true;
	return false;
}
function get_object(o) {
	if (document.getElementById && document.getElementById(o) != null)
		return document.getElementById(o);
	else if (document.layers && document.layers[object] != null)
		return document.layers[o];
	else if (document.all)
		return document.all[o];
}
function addOption(theSelect,theValue,theText) {
	var theOption=new Option(theText, theValue, false, false)
	var selectLength=theSelect.options.length;
	theSelect.options[selectLength]=theOption;
}
function emailValidation(theEmail) {
	emailLength = theEmail.length;
	indexOfAlpha = theEmail.indexOf('@');
	lenBetweenAlphaAndNextDot = theEmail.indexOf('.',indexOfAlpha) - indexOfAlpha - 1;
	lenDomain = emailLength - theEmail.lastIndexOf('.') - 1;
	//the email address lenght must be at least 8 characters (ab@cd.ef)
	if (emailLength < 8) {
		return false;
	//the @ can occur at index 2 as earliest, -1 is returned if it don't exist at all
	} else if (indexOfAlpha < 2) {
		return false;
	//the first . after @ must occur at least 2 indexes later
	} else if (lenBetweenAlphaAndNextDot < 2) {
		return false;
	//the domain name must be at least 2 characters
	} else if (lenDomain < 2) {
		return false;
	} else {
		return true;
	}
}
function isValid(type,value) {
	switch (type) {
		case 'email':
			var lCaseValue=value.toLowerCase();
			return lCaseValue.match(/^[\_]*([a-z0-9]+(\.|\_*|\-*)?)+@([a-z0-9\-\.]+(\.|\-*\.))+[a-z]{2,6}$/);
		break;
		case 'webImage':
			var re=/.jpg$/i;
			if (re.test(value))
				return true;
			var re=/.jpeg$/i;
			if (re.test(value))
				return true;
			var re=/.gif$/i;
			if (re.test(value))
				return true;
			var re=/.png$/i;
			if (re.test(value))
				return true;
			return false;
		break;
		case 'swf':
			var re=/.swf$/i;
			if (re.test(value))
				return true;
			return false;
		break;
	}
	return false;
}
function idExist(theID) {
	if (document.all) {
		if (document.all[theID])
			return true;
		else
			return false;
	} else if (document.getElementById) {
		if (document.getElementById(theID))
			return true;
		else
			return false;
	} else {
		return false;
	}
}
function isInt(theValue) {
	if (isNaN(theValue) || theValue.indexOf(',') > 0 || theValue.indexOf('.') > 0)
		return false;
	else
		return true;
}
function replaceBadMSWordCharacter(theField) {
	theField.value=theField.value.replace(/\u201A/g,"'");//baseline single quote
	theField.value=theField.value.replace(/\u0192/g,'<i>f</i>');//florin (small letter f with hook)
	theField.value=theField.value.replace(/\u201E/g,'"');//baseline double quote
	theField.value=theField.value.replace(/\u2026/g,'...');//ellipsis (3 horisontal ellipsis)
	theField.value=theField.value.replace(/\u2020/g,'&sup1');//dagger (cross)
	theField.value=theField.value.replace(/\u2021/g,'&sup2');//double dagger (cross with two horisontal lines)
	theField.value=theField.value.replace(/\u02C6/g,'^');//circumflex accent
	theField.value=theField.value.replace(/\u2030/g,'o/oo');//permile (as procent sign, but with double zeros)
	theField.value=theField.value.replace(/\u0160/g,'Sh');//S Hacek
	theField.value=theField.value.replace(/\u2039/g,'"');//left single guillemet (single left-pointing angle quotation mark)
	theField.value=theField.value.replace(/\u0152/g,'OE');//OE ligature
	theField.value=theField.value.replace(/\u2018/g,"'");//left single quote
	theField.value=theField.value.replace(/\u2019/g,"'");//right single quote
	theField.value=theField.value.replace(/\u201C/g,'"');//left double quotation mark
	theField.value=theField.value.replace(/\u201D/g,'"');//right double quotation mark
	theField.value=theField.value.replace(/\u2022/g,"*");//bullet
	theField.value=theField.value.replace(/\u2013/g,"-");//endash
	theField.value=theField.value.replace(/\u2014/g,"--");//emdash
	theField.value=theField.value.replace(/\u02DC/g,'~');//tilde accent
	theField.value=theField.value.replace(/\u2122/g,'<sup>TM</sup>');//trademark ligature
	theField.value=theField.value.replace(/\u0161/g,'sh');//s Hacek
	theField.value=theField.value.replace(/\u203A/g,'"');//right single guillement  (single right-pointing angle quotation mark)
	theField.value=theField.value.replace(/\u0153/g,'oe');//oe ligature
	theField.value=theField.value.replace(/\u0178/g,'Y');//Y Dieresis
}
Array.prototype.inArray=function (value,caseSensitive) {
	var i;
	for (i=0;i<this.length;i++) {
		if (caseSensitive) {
			if (this[i].toLowerCase() == value.toLowerCase())
				return true;
		} else {
			if (this[i] == value)
				return true;
		}
	}
	return false;
}
Array.prototype.removeItems=function(itemsToRemove) {
	if (!/Array/.test(itemsToRemove.constructor))
		itemsToRemove=[itemsToRemove];
	var j;
	for (var i=0;i<itemsToRemove.length;i++) {
		j=0;
		while (j < this.length) {
			if (this[j] == itemsToRemove[i])
				this.splice(j,1);
			else
				j++;
		}
	}
}
// Removes leading whitespaces
function LTrim(value) {
	var re=/\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

// Removes ending whitespaces
function RTrim(value) {
	var re=/((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
function trim(value) {
	return LTrim(RTrim(value));
}
function restoreInteger(theField) {
	theField.value=theField.value.replace(/[^\d]/g, "");
}
function restoreNumeric(theField) {
	theField.value=theField.value.replace(",",".");
	theField.value=theField.value.replace(/[^\d.]/g, "");
}






