//Vivisimo

//submit
function presubmit() {
	var query = sj2utf(document.vivisimo.query.value);
	var sources = sj2utf(document.vivisimo.sources.value);
	var tl_id = sj2utf(document.vivisimo.tl_id.value);
	var retrieve = "";
	retrieve += "query="+query;
	retrieve += "&v:project=ww";
	retrieve += "&tl_id="+tl_id;
	if(document.vivisimo.sources.value){
		retrieve += "&v:sources="+sources;
//	}else{
//		retrieve += "&binning-state="+area;
	}
	
	parent.top.location.href = "http://search.walkerplus.com/search?"+retrieve;
//	parent.top.location.href = "http://wpds01.walkerplus.com/vivisimo/cgi-bin/query-meta?"+retrieve;
}

//sjis to utf

function presubmit2() {
	var query = sj2utf(document.vivisimo1.query2.value);
	var cat = sj2utf(document.vivisimo1.cat2.value);
	var input = sj2utf(document.vivisimo1.input.value);
	var area = sj2utf(document.vivisimo1.area.value);
	var retrieve = "";
	retrieve += "v:sources=ww01";
	retrieve += "&v:project=ww";
	retrieve += "&cat="+cat;
	retrieve += "&input-form="+input;
	if(document.vivisimo1.area.value == 0){
	}else{
		retrieve += "&binning-state="+area;
	}
	if(document.vivisimo1.query2.value == 0){
	}else{
		retrieve += "&query="+query;
	}
	
	parent.top.location.href = "http://search.walkerplus.com/search?"+retrieve;
//	parent.top.location.href = "http://wpds01.walkerplus.com/vivisimo/cgi-bin/query-meta?"+retrieve;
}

function sj2utf(source){
	var len=source.length;
	var out="";
	var char;
	var code;
	var pos;

	for(i=0; i<len; i++){
		char=source.charAt(i);
		if(char=="\x20"){
			out+="\x2b";
		}else if(char.match(/[0-9a-zA-Z._-]/)!=null){
			out+=char;
		}else{
			code=char.charCodeAt(0);
			if(code <= 0x7f){
				out+=(code<=0xf?"%0":"%")+code.toString(16);
			}else{
				pos=(code <= 0x7ff)?1:(code<=0xffff)?2:3;
				out+="%"+([0,0xc0,0xe0,0xf0][pos]^(code>>(6*pos))).toString(16);
				while (pos--) {
					out+="%"+(0x80^(0x3f&(code>>(6*pos)))).toString(16);
				}
			}
		}
	}
	return out;
}

