/*
	함수명: makeRecentHistory
	작성일: 2007.08.10
	작성자: EC21
	함수설명:RH(Recent History)
		=
		KEY(History KEYWORD)KEYWORD^KEYWORD^KEYWORD^KEYWORD^KEYWORD
		CAT(History CATEGORY)|CATEGORY^CATEGORY^CATEGORY^CATEGORY^CATEGORY
		HP(History Product title)|(Proeuct title)^(Proeuct title)^(Proeuct title)^(Proeuct title)^(Proeuct title)
		HT(History Selling Leads title)|(Trade title)^(Trade title)
		HC(History Company title)|(Company title)^(Company title)
    HB(History Buying Leads title)|(Trade title)^(Trade title)
		ex)
		RH= KEYWORD^KEYWORD^KEYWORD^KEYWORD^KEYWORD
		|CATEGORY_ID^CATEGORY_ID^CATEGORY_ID^CATEGORY_ID^CATEGORY_ID
		|GCATALOG_ID_CATALOG_ID_MEMBER_ID^GCATALOG_ID_CATALOG_ID_MEMBER_ID^GCATALOG_ID_CATALOG_ID_MEMBER_ID
		|OFFER_ID^OFFER_ID
		|MEMBER_ID^MEMBER_ID
		|OFFER_ID^OFFER_ID

		제약사항:
			1.같은 내용은 최근것을 보여준다
			2.최근것이 맨위로
			3.리스트는 5행
		작업절차:
			쿠키값을 가져와서
			1. 값이 없으면 최초의 값을 셋팅
				RH=@#$&@11^@#$&@12^@#$&@13^@#$&@14^@#$&@15
				|@#$&@21^@#$&@22^@#$&@23^@#$&@24^@#$&@25
				|@#$&@31^@#$&@32^@#$&@33^@#$&@34^@#$&@35
				|@#$&@41^@#$&@42^@#$&@43^@#$&@44^@#$&@45
				|@#$&@51^@#$&@52^@#$&@53^@#$&@54^@#$&@55
				|@#$&@61^@#$&@62^@#$&@63^@#$&@64^@#$&@65
			2.기존것을 배열에 넣은다음 새로들어온값이 존재하는지 검사하여
			있으면 맨처음 위치에 값을 넣고 기존것은 지우고 다른것들은 위치를 재조정한다.
		aguments:
			1.sumid: job에 따라서 내용이 틀림(titie에 관련된 인자 | keyword | category)
			4.mod : 1(keyword), 2(category), 3(product), 4(selling leads), 5(company) , 6(buying leads)
			6.dox: 함수 실행 여부 0(false), 1(true)
*/

function makeRecentHistory(sumid, mod, dox){

	if(dox < 1) // 실행하지 않음.
		return;

	var rh;
	var tmp, tmp2, tmp3;

	var hkey;
	var hcat
	var hp;
	var ht;
	var hc;
	var hb;

	var be; // 값비교시 존재여부
	var tmpAr1, tmpAr2;

  var ExpDate = new Date();
  ExpDate.setTime(ExpDate.getTime() + 1000*60*60*24*365);

	rh =  getCookie("RH");
	if( null == rh){
		setCookie("RH", "@#$&@11^@#$&@12^@#$&@13^@#$&@14^@#$&@15|@#$&@21^@#$&@22^@#$&@23^@#$&@24^@#$&@25|@#$&@31^@#$&@32^@#$&@33^@#$&@34^@#$&@35|@#$&@41^@#$&@42^@#$&@43^@#$&@44^@#$&@45|@#$&@51^@#$&@52^@#$&@53^@#$&@54^@#$&@55|@#$&@61^@#$&@62^@#$&@63^@#$&@64^@#$&@65", ExpDate);
		rh = getCookie("RH");
	}
	tmp = rh.split("|");

	for(i=0; i < tmp.length; i++){


		//job별 1차원 배열
		if(i==0)
		  hkey = tmp[i].split("^");
		else if(i ==1)
		  hcat = tmp[i].split("^");
		else if(i ==2)
			hp = tmp[i].split("^");
		else if(i==3)
			ht = tmp[i].split("^");
		else if(i==4)
			hc = tmp[i].split("^");
		else
			hb = tmp[i].split("^");
	}

	//새로운 값적용
	//세가지 경우를 추출
	//	1. sumid만 존재시
	//	2. category 만 존재시
	//	3. category && keyword
	be = false;
	i = 0; // 검색된 배열의 index
//document.writeln("<br>sumid[" + sumid + "] mod[" + mod + "] keyword[" + keyword + "] category[" + category + "]  dox[" + dox + "] <br>");
  if((sumid.toUpperCase().indexOf("PS ") != -1) || sumid.indexOf("||") != -1)
    return;
	switch(mod){
		case 1: // KEYWORD
			if(sumid.length > 1){
				//존재하는지 비교
				for(; i < hkey.length; i ++){
					if(hkey[i].toUpperCase().indexOf(sumid.toUpperCase()) != -1){
						be = true;
						break;
					}
				}
				if(be) {//존재할경우 // i == 0 일때는 그대로
					if(i > 0){
						tmpAr1 = hkey.slice(0, i);
						for(m=0; m < tmpAr1.length; m++){
							hkey[m+1] = tmpAr1[m];
						}
						hkey[0] = sumid;
					}
				}else{ // 없을경우 : 첫배열에 진입값 넣고 나머지는 밀린다.
					tmpAr1 = hkey.slice(0, hkey.length-1);
					for(m = 0; m < tmpAr1.length; m ++){
						hkey[m+1] = tmpAr1[m];
					}
					hkey[0] = sumid;
				}
				break;
			}
			break;

		case 2: // CATEGORY 01, 0101, 010101, 01010101
			if(sumid.length > 1){
				//존재하는지 비교
				for(; i < hcat.length; i ++){
					if(hcat[i].indexOf(sumid) != -1){
						be = true;
						break;
					}
				}
				if(be) {//존재할경우 // i == 0 일때는 그대로
					if(i > 0){
						tmpAr1 = hcat.slice(0, i);
						for(m=0; m < tmpAr1.length; m++){
							hcat[m+1] = tmpAr1[m];
						}
						hcat[0] = sumid;
					}
				}else{ // 없을경우 : 첫배열에 진입값 넣고 나머지는 밀린다.
					tmpAr1 = hcat.slice(0, hcat.length-1);
					for(m = 0; m < tmpAr1.length; m ++){
						hcat[m+1] = tmpAr1[m];
					}
					hcat[0] = sumid;
				}
				break;
			}
		break;

		case 3: //PRODUCT
			if(sumid.length > 22){ //gcatalogid(10)_catalogid(10)_memberid(10)
				//존재하는지 비교
				for(; i < hp.length; i ++){
					if(hp[i].indexOf(sumid) != -1){
						be = true;
						break;
					}
				}
				if(be) {//존재할경우 // i == 0 일때는 그대로
					if(i > 0){
						tmpAr1 = hp.slice(0, i);
						for(m=0; m < tmpAr1.length; m++){
							hp[m+1] = tmpAr1[m];
						}
						hp[0] = sumid;
					}
				}else{ // 없을경우 : 첫배열에 진입값 넣고 나머지는 밀린다.
					tmpAr1 = hp.slice(0, hp.length-1);
					for(m = 0; m < tmpAr1.length; m ++){
						hp[m+1] = tmpAr1[m];
					}
					hp[0] = sumid;
				}
				break;
			}
			break;

		case 4: //SELLING LEADS
			if(sumid.length > 11){  //offer_id(12)
				//존재하는지 비교
				for(; i < ht.length; i ++){
					if(ht[i].indexOf(sumid) != -1){
						be = true;
						break;
					}
				}
				if(be) {//존재할경우 // i == 0 일때는 그대로
					if(i > 0){
						tmpAr1 = ht.slice(0, i);
						for(m=0; m < tmpAr1.length; m++){
							ht[m+1] = tmpAr1[m];
						}
						ht[0] = sumid;
					}
				}else{ // 없을경우 : 첫배열에 진입값 넣고 나머지는 밀린다.
					tmpAr1 = ht.slice(0, ht.length-1);
					for(m = 0; m < tmpAr1.length; m ++){
						ht[m+1] = tmpAr1[m];
					}
					ht[0] = sumid;
				}
				break;
			}
			break;


		case 5: //COMPANY
			if(sumid.length > 1){ //member_id(10)
				//존재하는지 비교
				for(; i < hc.length; i ++){
					if(hc[i].indexOf(sumid) != -1){
						be = true;
						break;
					}
				}
				if(be) {//존재할경우 // i == 0 일때는 그대로
					if(i > 0){
						tmpAr1 = hc.slice(0, i);
						for(m=0; m < tmpAr1.length; m++){
							hc[m+1] = tmpAr1[m];
						}
						hc[0] = sumid;
					}
				}else{ // 없을경우 : 첫배열에 진입값 넣고 나머지는 밀린다.
					tmpAr1 = hc.slice(0, hc.length-1);
					for(m = 0; m < tmpAr1.length; m ++){
						hc[m+1] = tmpAr1[m];
					}
					hc[0] = sumid;
				}
				break;
			}
			break;

			case 6: //BUYING LEADS
			  if(sumid.length > 11){  //offer_id(12)
				//존재하는지 비교
				for(; i < hb.length; i ++){
					if(hb[i].indexOf(sumid) != -1){
						be = true;
						break;
					}
				}
				if(be) {//존재할경우 // i == 0 일때는 그대로
					if(i > 0){
						tmpAr1 = hb.slice(0, i);
						for(m=0; m < tmpAr1.length; m++){
							hb[m+1] = tmpAr1[m];
						}
						hb[0] = sumid;
					}
				}else{ // 없을경우 : 첫배열에 진입값 넣고 나머지는 밀린다.
					tmpAr1 = hb.slice(0, hb.length-1);
					for(m = 0; m < tmpAr1.length; m ++){
						hb[m+1] = tmpAr1[m];
					}
					hb[0] = sumid;
				}
				break;
			}
			break;

		default:

	}

	//쿠키셋팅
	rh = hkey.join("^") + "|"
	   + hcat.join("^") + "|"
	   + hp.join("^") + "|"
	   + ht.join("^") + "|"
	   + hc.join("^") + "|"
	   + hb.join("^");
	//document.write("<br>RH_ALL : " + rh + "<br>");
	setCookie("RH", rh, ExpDate);

//확인
//showArray(hp, hc, ht);

}
function showArray(hp, hc, ht)
{
		for (j=0; j < 3; j++){
			for(k=0; k< 5; k++){
				document.writeln("hp[" + j + " ][" + k + "]:" + hp[j][k]);
			}
		}
		document.writeln("<br><br>")
		for (j=0; j < 3; j++){
			for(k=0; k< 5; k++){
				document.writeln("ht[" + j + " ][" + k + "]:" + ht[j][k]);
			}
		}
		document.writeln("<br><br>")
		for (j=0; j < 3; j++){
			for(k=0; k< 5; k++){
				document.writeln("hc[" + j + " ][" + k + "]:" + hc[j][k]);
			}
		}
}