/* 
openBrWindow usage:
  <a href="javascript://" onclick="openBrWindow('apage.html','pop1','menubar=yes,scrollbars=no,resizable=yes, width=384,height=370');">Pop Up Window</a>
*/

function openBrWindow(theURL,winName,features) { //v2.0
   window.open(theURL,winName,features);
   /* window.focus(winName); */
}


/* 
   BOPlaceMark usage: 
	   <a href='javascript://' onclick="openBrWindow('somedoc.html','pop1');return BOPlaceMark();">Click here</a>
*/

function BOPlaceMark () {                            //v1.1
	var bAgent = window.navigator.userAgent; 
	var bAppName = window.navigator.appName;
	if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
		return true; // dont follow link
	else return false; // dont follow link
}   


/* 
send2Us usage example:
  <noscript>[link to some page]</noscript>
  <a href="javascript://" onclick="send2Us('editors*TizN0tNiZE42ZEnDzpAmM!');return false" onkeypress="send2Us('editors*TizN0tNiZE42ZEnDzpAmM!');return false">E-mail the Editors</a>
*/

function send2Us(address) {   	
	var blockString = "*TizN0tNiZE42ZEnDzpAmM!"; 
	var dmn = new Array('om','.c','ins','a','tbr','je').reverse().toString();
	var mt = new Array('o:','lt','i','ma').reverse().toString();
		dmn = dmn.replace(/\,/g,'').replace(/(x)/g,'le$1');
	mt = mt.replace(/\,/g,'').replace(/(x)/g,'le$1');
	var dest = address + dmn;   	
	dest = dest.split(blockString); 
   dest = dest.join("@");          
  	window.open (mt + dest,'_blank');
}

function open_link_in_parent(url) {
            top.opener.document.location.href = url;
            window.focus();
}

// URI parser
// to get access to fields use the call URI = parseUri(location.href) and then fileName = URI['file']
var parseUri = function (source) {
	var o = parseUri.options,
		value = o.parser[o.strictMode ? "strict" : "loose"].exec(source);

	for (var i = 0, uri = {}; i < 14; i++) {
		uri[o.key[i]] = value[i] || "";
	}

	uri[o.q.name] = {};
	uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
		if ($1) uri[o.q.name][$1] = $2;
	});
	return uri;
};

parseUri.options = {
	strictMode: false,
	key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
	q: {
		name: "queryKey",
		parser: /(?:^|&)([^&=]*)=?([^&]*)/g
	},
	parser: {
		strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
		loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
	}
};