var context = "http://apl.suntory.co.jp/apl/ose/"
var SEARCH_TYPE_NEWS_RELEASE = "nr";//news release
var SEARCH_TYPE_SITE = "st";//other
var SORT_TYPE_STANDARD = "std";//standard
var SORT_TYPE_SCORE = "sco";//score
var SORT_TYPE_NEW = "new";//time

function dosub(formNm, schType, sortType)
{
	freeWord = document.forms[formNm].freeWord.value;	
	//filter dangerous words
	freeWord = filterWord(freeWord);
	
	//alert(freeWord);
	if(freeWord == null || freeWord == ""){
		document.forms[formNm].freeWord.value = "";	
		//alert(formNm + "_" + schType + "_msg");
		if(document.getElementById(formNm + "_" + schType + "_msg")){
			document.getElementById(formNm + "_" + schType + "_msg").innerHTML = 
				"\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002";
		}
		return;
	}
		
	path = context + "search/" + 
		   schType + "_" + sortType + "/" + 
		   encodeURL(freeWord) + "/";
									
	if(schType == SEARCH_TYPE_NEWS_RELEASE){
		if( document.forms[formNm].yearF 
		  && document.forms[formNm].monthF
		  && document.forms[formNm].yearT
		  && document.forms[formNm].monthT){
		  	yearF = document.forms[formNm].yearF.value;
		  	monthF = document.forms[formNm].monthF.value;
		  	if(yearF != "00" && monthF == "00"){
		  		monthF = "01";
		  	}
		  	
			dateF =  yearF + monthF;	
			
			yearT = document.forms[formNm].yearT.value;
			monthT = document.forms[formNm].monthT.value;
			if(yearT != "00" && monthT == "00"){
		  		monthT = "12";
		  	}
			dateT = yearT + monthT;
		}else {
			dateF = "0000";
			dateT = "0000";
		}
		path = path + 	dateF + "/" + dateT + "/";
	}
	
	document.forms[formNm].action = path;								
	//alert("action:" + document.forms[formNm].action);
	document.forms[formNm].submit();	
}

function osesearch(formNm, type)
{
	var freeWord = document.forms[formNm].freeWord.value;
	//filter dangerous words
	freeWord = filterWord(freeWord);
		
	//alert(freeWord);
	var url = context;
	if(freeWord != null && freeWord != ""){	
		url = url + "search/" +	type + "/" + encodeURL(freeWord) + "/";
		if(type == SEARCH_TYPE_NEWS_RELEASE){
			url = url + "0000/0000/";
		}
	}else{
		url = url + "input" + type + ".do";
	}
	//alert(url);
	window.location.href = url;
			  
}

function filterWord(word)
{
	if(word == null || word == ""){
		return;
	}
	newWord = word.replace(/ /g, "");
	newWord = newWord.replace(/\u3000/g, "");
	if(newWord == null || newWord == ""){
		return;
	}
	//hankaku space -> zenkaku space
	word = word.replace(/ /g, "\u3000");
	//hankaku% -> zenkaku%
	word = word.replace(/%/g, "\uff05");
	//remove [/]
	word = word.replace(/\//g, "");
	
	//remove [\]
	word = word.replace(/\\/g, "");
	//remove [.]
	word = word.replace(/\./g, "");
	
	//word = word.replace("+"," ");
	
	
	return word;
	 
}

function osecount(type, linkID, url, event)
{
	if(event.button == 1 || event.button == 0)
	{
		//alert("left");
		osego(type,linkID,url);
	}else{
		//alert("right");
		return;
	}
}

function osego(type, linkID, url)
{	
	var freeWord = document.forms["resultform"].freeWord.value;
	freeWord = filterWord(freeWord);
	
	var s = context + "count/" + encodeURL(freeWord) 
						+ "/" + type
						+ "/" + linkID
						+ "/" + Math.random()
						+ "/" + url; 
			//+ "?url=" + url 
			//+ "&random=" + Math.random()
			//+ "&clickType=" + type 
			//+ "&linkID=" + linkID 
			//+ "&freeWord=" + encodeURL(freeWord);
			//+ "&random=" + Math.random();

	var image = new Image(1,1);
	image.src = s;

}

function showRecommendSite()
{

}

/*  Function Equivalent to java.net.URLEncoder.encode(String, "UTF-8")

    Copyright (C) 2002, Cresc Corp.

    Version: 1.0

*/

function encodeURL(str){

    var s0, i, s, u;

    s0 = "";                // encoded str

    for (i = 0; i < str.length; i++){   // scan the source

        s = str.charAt(i);

        u = str.charCodeAt(i);          // get unicode of the char

        if (s == " "){s0 += "+";}       // SP should be converted to "+"

        else {

            if ( u == 0x2a || u == 0x2d || u == 0x2e || u == 0x5f || ((u >= 0x30) && (u <= 0x39)) || ((u >= 0x41) && (u <= 0x5a)) || ((u >= 0x61) && (u <= 0x7a))){       // check for escape

                s0 = s0 + s;            // don't escape

            }

            else {                  // escape

                if ((u >= 0x0) && (u <= 0x7f)){     // single byte format

                    s = "0"+u.toString(16);

                    s0 += "%"+ s.substr(s.length-2);

                }

                else if (u > 0x1fffff){     // quaternary byte format (extended)

                    s0 += "%" + (oxf0 + ((u & 0x1c0000) >> 18)).toString(16);

                    s0 += "%" + (0x80 + ((u & 0x3f000) >> 12)).toString(16);

                    s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16);

                    s0 += "%" + (0x80 + (u & 0x3f)).toString(16);

                }

                else if (u > 0x7ff){        // triple byte format

                    s0 += "%" + (0xe0 + ((u & 0xf000) >> 12)).toString(16);

                    s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16);

                    s0 += "%" + (0x80 + (u & 0x3f)).toString(16);

                }

                else {                      // double byte format

                    s0 += "%" + (0xc0 + ((u & 0x7c0) >> 6)).toString(16);

                    s0 += "%" + (0x80 + (u & 0x3f)).toString(16);

                }

            }

        }

    }

    return s0;

}

 

/*  Function Equivalent to java.net.URLDecoder.decode(String, "UTF-8")

    Copyright (C) 2002, Cresc Corp.

    Version: 1.0

*/

function decodeURL(str){

    var s0, i, j, s, ss, u, n, f;

    s0 = "";                // decoded str

    for (i = 0; i < str.length; i++){   // scan the source str

        s = str.charAt(i);

        if (s == "+"){s0 += " ";}       // "+" should be changed to SP

        else {

            if (s != "%"){s0 += s;}     // add an unescaped char

            else{               // escape sequence decoding

                u = 0;          // unicode of the character

                f = 1;          // escape flag, zero means end of this sequence

                while (true) {

                    ss = "";        // local str to parse as int

                        for (j = 0; j < 2; j++ ) {  // get two maximum hex characters for parse

                            sss = str.charAt(++i);

                            if (((sss >= "0") && (sss <= "9")) || ((sss >= "a") && (sss <= "f"))  || ((sss >= "A") && (sss <= "F"))) {

                                ss += sss;      // if hex, add the hex character

                            } else {--i; break;}    // not a hex char., exit the loop

                        }

                    n = parseInt(ss, 16);           // parse the hex str as byte

                    if (n <= 0x7f){u = n; f = 1;}   // single byte format

                    if ((n >= 0xc0) && (n <= 0xdf)){u = n & 0x1f; f = 2;}   // double byte format

                    if ((n >= 0xe0) && (n <= 0xef)){u = n & 0x0f; f = 3;}   // triple byte format

                    if ((n >= 0xf0) && (n <= 0xf7)){u = n & 0x07; f = 4;}   // quaternary byte format (extended)

                    if ((n >= 0x80) && (n <= 0xbf)){u = (u << 6) + (n & 0x3f); --f;}         // not a first, shift and add 6 lower bits

                    if (f <= 1){break;}         // end of the utf byte sequence

                    if (str.charAt(i + 1) == "%"){ i++ ;}                   // test for the next shift byte

                    else {break;}                   // abnormal, format error

                }

            s0 += String.fromCharCode(u);           // add the escaped character

            }

        }

    }

    return s0;

}
