			var CP_myl = false;
			var EL_num = 1;
			var BASE_PASS = "./";
			
			window.onresize = function() {
				if(CP_myl) resort_link(CP_myl);
			}
			
			
			function init(url_left, param_left, url_right, param_right)
			{
				createXMLHttpRequest(url_right, 'right_top', param_right);
				createXMLHttpRequest(url_left, 'left_menu', param_left);
				init_viewer();
				MM_preloadImages();
			}

			function home_init(url_left, param_left, url_right, param_right)
			{
				BASE_PASS = "../";
				createXMLHttpRequest(url_left, 'left_menu', param_left);
				createXMLHttpRequest(url_right, 'right_top', param_right, true);
				init_viewer();
				MM_preloadImages();
			}

			function createXMLHttpRequest(fName, divName, send_data, viewer_flg)
			{
				var XMLhttpObject = null;
				try{
						XMLhttpObject = new XMLHttpRequest();
				}
				catch(e){
	
					try{
						XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
					}
					catch(e){

						try{
							XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
						}
						catch(e){
							return null;
						}
					}
				}
				
				if (XMLhttpObject) {
					var get_post = (send_data)? "POST": "GET";
					XMLhttpObject.open(get_post, BASE_PASS + fName, true);
					XMLhttpObject.setRequestHeader("content-type", "application/x-www-form-urlencoded;charset=UTF-8");
					XMLhttpObject.onreadystatechange = function() {
						if ((XMLhttpObject.readyState == 4) && (XMLhttpObject.status == 200)) {
							document.getElementById(divName).innerHTML = XMLhttpObject.responseText;
							if(viewer_flg && document.f1) {
								var js_val     = document.f1.js_val.value;
								var link_param = document.f1.link_param.value;
								var srh        = document.f1.srh.value;
								var myl        = js_val.split("|");
								CP_myl         = myl;
								input_region_data(myl, link_param, srh);
							}
						}else{
							CP_myl = false;
							document.getElementById(divName).innerHTML = "<br /><div>&nbsp;&nbsp;<img src='http://fullmal.hgc.jp/work_icons/common/ajloading.gif'></div>";
						}
					}
					XMLhttpObject.send(send_data);
				}
				
	
				return true;
			}


			//check format
			function checkall2(see, uid) {
				var fkwd = document.search_keyword;
				var sele = fkwd.chr;
				var kwod = fkwd.kwd.value;
				var search_type = sele.options[sele.selectedIndex].value;
	
				if(kwod == "") {
					alert("Please input keyword.");
					fkwd.kwd.focus();
					return false;
				}
				
				var item_str = "";
				if(search_type == 1)   item_str = "1901!CLN";
				if(search_type == 111) item_str = "1901!GEN";
				if(search_type == 115) item_str = "1907!CLN";
				
				var srh = item_str + "!" + kwod;
				
				go_submit("UID=" + uid + "&SEE=" + see + "&SEARCH=" + srh, "fulcryptoaj_main_search.cgi");

				return true;
			}

			//check format
			function checkall(see, uid) {
				var frng = document.range_select;
				var vbps = frng.bps.value;
				var vbpe = frng.bpe.value;
				var sele = frng.chr;
				var chrom_id = sele.options[sele.selectedIndex].value;
	
				var vsp = "1901!" + chrom_id + "!" + vbps + "!" + vbpe + "!1";

				go_submit("UID=" + uid + "&SEE=" + see + "&VSP=" + vsp);
	
				return true;
			}
			
			//kyoutuu
			function go_submit(lnk_str, linkto) {
				
				var fcnt    = document.cntrol;
			
				var vpln_str = "sp005|stcrm|sp005|";
				var items = new Array();
				for(var cnt = 1; cnt <= 11; cnt ++) {
					items[cnt] = eval("fcnt.item_" + cnt + ".options[fcnt.item_" + cnt + ".selectedIndex].value") * 1;
				}
				
				if(items[4])  vpln_str += "cl071" + (items[4] - 1)  + "|sp003|";
				if(items[9])  vpln_str += "cl031" + (items[9] - 1)  + "|sp003|";
				if(items[10]) vpln_str += "tc021" + (items[10] - 1) + "|sp003|";
				if(items[8])  vpln_str += "cl021" + (items[8] - 1)  + "|sp003|";
				if(items[7])  vpln_str += "cl091" + (items[7] - 1)  + "|sp003|";
				if(items[6])  vpln_str += "cl081" + (items[6] - 1)  + "|sp003|";
				if(items[5])  vpln_str += "cl051" + (items[5] - 1)  + "|sp003|";
				if(items[2])  vpln_str += "gn011" + (items[2] - 1)  + "|sp003|";
				if(items[3])  vpln_str += "cl061" + (items[3] - 1)  + "|sp003|";
				if(items[1])  vpln_str += "cl011" + (items[1] - 1)  + "|sp003|";
				if(items[11]) vpln_str += "tc031" + (items[11] - 1) + "|";
				vpln_str += "scale|bsstr|";
				if(items[1])  vpln_str += "cl010" + (items[1] - 1)  + "|sp003|";
				if(items[3])  vpln_str += "cl060" + (items[3] - 1)  + "|sp003|";
				if(items[2])  vpln_str += "gn010" + (items[2] - 1)  + "|sp003|";
				if(items[5])  vpln_str += "cl050" + (items[5] - 1)  + "|sp003|";
				if(items[6])  vpln_str += "cl080" + (items[6] - 1)  + "|sp003|";
				if(items[7])  vpln_str += "cl090" + (items[7] - 1)  + "|sp003|";
				if(items[8])  vpln_str += "cl020" + (items[8] - 1)  + "|sp003|";
				if(items[10]) vpln_str += "tc020" + (items[10] - 1) + "|sp003|";
				if(items[9])  vpln_str += "cl030" + (items[9] - 1)  + "|sp003|";
				if(items[4])  vpln_str += "cl070" + (items[4] - 1)  + "|sp003|";


				//	   0     1     2     3     4     5     6     7     8     9    10    11    12    13    14
				// "sp005|stcrm|sp005|yomch|sp003|gn011|sp003|gn021|sp003|gn031|sp003|gn041|sp003|gn051|sp003|"
				//     15    16    17    18    19    20    21    22    23    24    25    26    27
				// "cl011|scale|cl010|sp003|gn050|sp003|gn040|sp003|gn010|sp003|gn020|sp003|gn030|";

				
				var send_data = lnk_str + "&VPLN=" + vpln_str
					+ "&MXX=" + fcnt.mxx.value;
				
				var link_url = "cgi-bin/fulcryptoaj_main_view.cgi";
				if(linkto) link_url = "cgi-bin/" + linkto;
				
				createXMLHttpRequest(link_url, 'right_top', send_data, true);

				return true;
			}
			
			//
			function change_scope(dir, rate, hlt)
			{
				var ns_start, ns_end;
				if((dir && s_direct) || (!dir && !s_direct)) {
					ns_start = Math.floor(s_start * 1 + (s_end - s_start) * rate + 1 * 1);
				} else {
					ns_start = Math.floor(s_start * 1 - (s_end - s_start) * rate - 1);
				}
				ns_end   = ns_start * 1 + (s_end - s_start);
	
				change_viewer(spid, chrom_id, ns_start, ns_end, s_direct, hlt);
	
				return true;
			}
			
			//
			function change_rate(rate_str, hlt)
			{
				var ns_start, ns_end;

				var middle = (s_start * 1 + s_end * 1) / 2;
				rate_each = rate_str.split("/");
				var lng_hlf = ((s_end - s_start * 1 + 1 * 1) * rate_each[1] / rate_each[0] - 1) / 2;
				if(lng_hlf < 0) lng_hlf = 0;
				ns_start = Math.floor(middle - lng_hlf);
				ns_end   = Math.floor(middle * 1 + lng_hlf * 1);
	
				change_viewer(spid, chrom_id, ns_start, ns_end, s_direct, hlt);

				return true;
			}

			//
			function change_viewer(spid, chrom_id, start, end, direct, hlt) {
//				var send_data = link_param + "&VSP=" + vsp + "|" + hlt;
				var fsel = document.range_select;
				fsel.bps.value = start;
				fsel.bpe.value = end;
				
				var chrom;
				for(var cnt = 0; cnt < fsel.chr.length; cnt ++) {
					if (fsel.chr.options[cnt].value == chrom_id) {
						fsel.chr.options[cnt].selected = true;
						chrom = fsel.chr.options[cnt].name;
					}
				}
				
				add_option(chrom + ":" + start + "-" + end, chrom_id + "|" + start + "|" + end);
				
				var vsp = spid + "!" + chrom_id + "!" + start + "!" + end + "!" + direct;
				var send_data = link_param + "&VSP=" + vsp + "|" + hlt;
//alert(send_data);
				createXMLHttpRequest('cgi-bin/fulcryptoaj_main_view.cgi', 'right_top', send_data, true);

				return true;
			}
			
			function up_history() {
				var freg = document.range_history.chr_reg;
				var reg_str = freg.options[freg.selectedIndex].value;
				var each_reg = reg_str.split("|");
				
				
				var chrom_id = each_reg[0];
				if(chrom_id <= 0) return false;
				
				var start = each_reg[1];
				var end = each_reg[2];

				var fsel = document.range_select;
				fsel.bps.value = start;
				fsel.bpe.value = end;
				
				var chrom;
				for(var cnt = 0; cnt < fsel.chr.length; cnt ++) {
					if (fsel.chr.options[cnt].value == chrom_id) {
						fsel.chr.options[cnt].selected = true;
					}
				}
			}
			
			function add_option(str, reg_str) {
				EL_num ++;
				var elem = document.createElement('option');
				elem.id    = "item" + EL_num;
				elem.value = reg_str;
				var caption = document.createTextNode(str);
				elem.appendChild(caption);
				document.getElementById('reg_sel').appendChild(elem);
				document.range_history.chr_reg.options.selectedIndex = EL_num - 1;
			}
			
			function delItem() {
				if(EL_num == 0) {
					alert('Cannot delete item.');
					return false;
				}
				var elem = document.getElementById('item' + EL_num);
				document.getElementById('reg_sel').removeChild(elem);
				EL_num --;
			}
			
			
			
			//viewer//
			var x_width;
			
			var spid;
			var chrom_id;
			var s_start;
			var s_end;
			var s_direct;
			
			var link_param;
			var hlt;
			
			IE4=(document.all)?true:false;
			NN4=(document.layers)?true:false;
			NN6=(!document.all && document.getElementById)?true:false;
			MAC=(navigator.userAgent.indexOf('Mac')!=-1)?true:false;
			function init_viewer(){

				if(!IE4 && !NN6 && !NN4)alert("Sorry!\\nThis system can't use in this version browser.");
				return true;

			}
			
			function input_region_data(myl, arg13, arg14)
			{
				x_width  = myl[5];
				
				spid     = myl[7];
				chrom_id = myl[8];
				s_start  = myl[9];
				s_end    = myl[10];
				s_direct = myl[11];
				
				link_param = arg13;
				hlt        = arg14;
				
				
				resort_link(myl);
				Region.prototype.initialize(s_start, s_end, (s_end - s_start + 1) / x_width);
			}
			
			function resort_link(myl)
			{
				var i = document.getElementById('vview');
				var region = YAHOO.util.Dom.getRegion(i);
				
				var ay1  = region.top;
				var ay2  = region.bottom;
				var ax1  = region.left;
				var ax2  = region.right;

var j = document.getElementById('d1');
YAHOO.util.Dom.setStyle(j,'position','absolute');
YAHOO.util.Dom.setStyle(j,'visibility','hidden');
YAHOO.util.Dom.setStyle(j,'top', ay1 + 'px');
YAHOO.util.Dom.setStyle(j,'left', ax1 + 'px');
YAHOO.util.Dom.setStyle(j,'width','100px');
YAHOO.util.Dom.setStyle(j,'height','100px');
YAHOO.util.Dom.setStyle(j,'visibility','visible');



//document.getElementById('status_line').innerHTML
//= "<b>coming...</b>" + s_start + "|" + s_end + "|" + x_width
// + "|" + ax1 + "|" + ax2 + "|" + ay1 + "|" + ay2;
	
				var cnt = 1;
				var k = document.getElementById('c' + cnt)
				while (k) {
					var regi = k.getAttribute('value').split(",");
					var x1 = regi[0] * 1 + ax1 + myl[0] * 1 - 1;
					var y1 = regi[1] * 1 + ay1 + myl[1] * 1;
					
					YAHOO.util.Dom.setStyle(k,'position','absolute');
					YAHOO.util.Dom.setStyle(k,'left', x1 + 'px');
					YAHOO.util.Dom.setStyle(k,'top',  y1 + 'px');
					
					cnt ++;
					k = document.getElementById('c' + cnt)
				}
							
			}
			
			function link_pairwise(uid) {
				var prgrm = document.pairwise.program.options[document.pairwise.program.selectedIndex].value
				var item1 = document.pairwise.item1.options[document.pairwise.item1.selectedIndex].value
				var item2 = document.pairwise.item2.options[document.pairwise.item2.selectedIndex].value
				var lal_url = "cgi-bin/comp_online_lalign.cgi?UID=" + uid + "&SEE=1&REG1=" + item1 + "&REG2=" + item2 + "&PRG=" + prgrm;
				var windw=window.open(lal_url, 'lnks');
				
				return true;
			}
			
			function print_commenter(str)
			{
				
				document.getElementById('commenter').innerHTML = str.substr(0, 100);
				
				return true;
			}
			
			function change_visibility(f_name) {
				if(document.getElementById){
					if(document.getElementById(f_name).style.display != "none"){
						document.getElementById(f_name).style.display = "none";
						document.getElementById(f_name + "_img").innerHTML
							= '<img src="http://fullmal.hgc.jp/work_icons/common/plus.gif" border="0" />';
					}else{
						document.getElementById(f_name).style.display = "block";
						document.getElementById(f_name + "_img").innerHTML
							= '<img src="http://fullmal.hgc.jp/work_icons/common/minus.gif" border="0" />';
					}
				}
			}
			
			function menuLink(linkLoc) {
				if(linkLoc !="") {window.location.href=linkLoc;}
			}
			
			
// for change image
var imgs = new Array(
	"cp/icons/full_on.gif", "cp/icons/full_on2.gif"
);

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length; for(i=0; i<imgs.length; i++)
		if (imgs[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=imgs[i];}}
}

function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;	if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}



function MM_swapImage(k) { //v3.0
	var i,j=0,x;
	document.MM_sr=new Array;
	if ((x=MM_findObj(k))!=null){
		document.MM_sr[j++]=x;
		if(!x.oSrc) x.oSrc=x.src;
		x.src=imgs[Math.floor(Math.random() * 3)];
	}
}


