
// from prototype.js
var _Browser =  {
    IE:     !!(window.attachEvent && !window.opera),
    Opera:  !!window.opera,
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
  };

/* ===============================================
	レイヤーの表示形式を変更
=============================================== */
function changeLayerDisplay(id,dis){
	if(document.all || document.getElementById){
		if(document.getElementById){
			var obj = document.getElementById(id);
			if(dis == "none"){
				obj.parentNode.removeChild(obj);
			}else{
				obj.style.display = dis;
			}
		} else if(document.all){
			document.all(id).style.display = dis;
                }
	}
}

/* ===============================================
	ポップアップウインドウ
=============================================== */

// ツールバーのみ表示
function popwintool(url,name,w,h) {
	var typewin;
	var bars = "location=no,menubar=yes,status=yes,toolbar=yes,scrollbars=yes,directories=no,resizable=yes,top=20,left=20";
	typewin = window.open(url,name,'width=' + w + ',height=' + h + bars);

//	typewin.focus();
//  Opera 対策。Focusは子ウィンドウで制御

}


// すべてのバー非表示
function popwin(url,name,w,h) {
	var typewin;
	var bars = "location=no,menubar=no,status=no,toolbar=no,scrollbars=yes,directories=no,resizable=yes,top=20,left=20";
	typewin = window.open(url,name,'width=' + w + ',height=' + h + bars);
}


// ツールバーのみ表示（スクリーンの高さに依存）
function popwinscreentool(url,name,w) {
	var typewin;
	var agt=navigator.userAgent.toLowerCase();
	var bars = "location=no,menubar=yes,status=yes,toolbar=yes,scrollbars=yes,directories=no,resizable=yes,top=20,left=20";
	if ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)) {
		var h = document.body.clientHeight - 20;
		typewin = window.open(url,name,'width=' + w + ',height=' + h + bars);
		} else {
		var h = window.outerHeight - 120;
		typewin = window.open(url,name,'width=' + w + ',height=' + h + bars);
	}
}

// すべてのバー非表示（スクリーンの高さに依存）
function popwinscreen(url,name,w) {
	var typewin;
	var agt=navigator.userAgent.toLowerCase();
	var bars = "location=no,menubar=no,status=no,toolbar=no,scrollbars=yes,directories=no,resizable=yes,top=20,left=20";

	if ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)) {
		var h = document.body.clientHeight + 60;
		typewin = window.open(url,name,'width=' + w + ',height=' + h + bars);
		} else {
		var h = window.outerHeight - 70;
		typewin = window.open(url,name,'width=' + w + ',height=' + h + bars);
	}
}



function createXMLHttpRequest() {
	var xmlhttp = false;
	if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")
    } catch (e) {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
    }
  }

  return xmlhttp;
}

function registerBookmark(type,id){
	var request = createXMLHttpRequest();
	var url="/bookmark/add_bookmark.do";
	url += "?" + type +"Id=" + id;
	var divPos = "div-"+type + "-" + id;
	var ancPos = "anc-"+type + "-" + id;
	var anc2Pos = "anc2-"+type + "-" + id;
	var imgPos = "img-"+type + "-" + id;
	
	var msgObjOK = document.getElementById("bookmark-popup-msg-ok");
	var msgObjNG = document.getElementById("bookmark-popup-msg-ng");
	
	var status = true;
	try{
		request.open("GET",url,false);
		request.setRequestHeader("If-Modified-Since","Thu, 01 Jun 1970 00:00:00 GMT"); 
		request.send("");
	}catch(e){
		status = false;
	}

	if (request.readyState != 4 || request.status != 200) {
		status = false;
	}
	
	var divObj = document.getElementById(divPos);
	var ancObj = document.getElementById(ancPos);
	var anc2Obj = document.getElementById(anc2Pos);
	var imgObj = document.getElementById(imgPos);
	var popupObj = document.getElementById("bookmark-popup");

	divObj.insertBefore(popupObj,ancObj);

	if(status){
		if(imgObj != null){
			imgObj.src = "/img/search/btn_looklistexamining.gif";
		}
		if(!anc2Obj){
			anc2Obj.href="/mypage/bookmark_list.do";
		}
		msgObjOK.style.display = "";
		msgObjNG.style.display = "none";
	}else{
		msgObjOK.style.display = "none";
		msgObjNG.style.display = "";
	}
	popupObj.style.display = "";
}
function registerBookmarkForJobDetail(id,position){
	var request = createXMLHttpRequest();
	var url="/bookmark/add_bookmark.do";
	url += "?jobId=" + id;
		
	var status = true;

	try{
		request.open("GET",url,false);
		request.setRequestHeader("If-Modified-Since","Thu, 01 Jun 1970 00:00:00 GMT"); 
		request.send("");
	}catch(e){
		status = false;
	}

	if (request.readyState != 4 || request.status != 200) {
		status = false;
	}

	var ancPos = "anc-job-" + position;
	var imgPos = "img-job-" + position;
	var divPos = "div-job-" + position;
	
	var divObj = document.getElementById(divPos);
	var ancObj = document.getElementById(ancPos);
	var imgObj = document.getElementById(imgPos);

	var msgObjOK = document.getElementById("bookmark-popup-msg-ok");
	var msgObjNG = document.getElementById("bookmark-popup-msg-ng");

	var popupObj = document.getElementById("bookmark-popup");
	popupObj.style.display = "";
	divObj.insertBefore(popupObj,ancObj);

	if(status){
		for(i = 1;i < 4;i++){
			var tmpObj = document.getElementById("anc-job-" + i);
			tmpObj.href = "/mypage/bookmark_list.do";
			tmpObj = document.getElementById("img-job-" + i);
			if(tmpObj != null){
				tmpObj.src = "/img/search/btn_looklistexamining.gif";
			}
		}
		msgObjOK.style.display = "";
		msgObjNG.style.display = "none";
	}else{
		msgObjOK.style.display = "none";
		msgObjNG.style.display = "";
	}
}

function registerBookmarkWithoutPosition(type,id, element){
	var request = createXMLHttpRequest();
	var url="/bookmark/add_bookmark.do";
	url += "?" + type +"Id=" + id;
	
	var status = true;

	try{
		request.open("GET",url,false);
		request.setRequestHeader("If-Modified-Since","Thu, 01 Jun 1970 00:00:00 GMT"); 
		request.send("");
	}catch(e){
		status = false;
	}
	if (request.readyState != 4 || request.status != 200) {
		status = false;
	}
	
	var popupMsgOK = document.getElementById("bookmark-popup-msg-ok");
	var popupMsgNG = document.getElementById("bookmark-popup-msg-ng");
	if(status){
		popupMsgOK.style.display = "";
		popupMsgNG.style.display = "none";
	}else{
		popupMsgOK.style.display = "none";
		popupMsgNG.style.display = "";
	}
	var popupObj = document.getElementById("bookmark-popup");
	popupObj.style.display = "";
}

function closeBookmarkPopup(){
	var popupObj = document.getElementById("bookmark-popup");
	popupObj.style.display = "none";
}

function setSwfFile(id,file){
	if(file != ''){
 		document.getElementById(id).innerHTML = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"710\" height=\"300\" id=\"at-type\" align=\"middle\"><param name=\"allowScriptAccess\" value=\"sameDomain\" /><param name=\"movie\" value=\"http://type.jp/swf/webcm/" + file + "\" /><param name=\"quality\" value=\"high\" /><param name=\"salign\" value=\"t\" /><param name=\"bgcolor\" value=\"#ffffff\" /><embed src=\"/swf/webcm/" + file + "\" quality=\"high\" salign=\"t\" bgcolor=\"#ffffff\" width=\"710\" height=\"300\" name=\"at-type\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" /></object>";
 	}else{
	 doc.getElementById(id).innerHTML = "";
 	}
}

function getZipcodes(){
	// FIXME
	document.getElementById('zip1');
	document.getElementById('zip2');
}

/* ===============================================
	小分類以外を選択したらアラート表示
=============================================== */

function checkOldJob(select) {
	if (select.value == "-1") {
		alert("経験職種は小分類を選択してください。");
		select.selectedIndex=0;
	}
}

function checkJob(select) {
	if (select.value == "-1") {
		alert("希望職種は小分類を選択してください。");
		select.selectedIndex=0;
	}
}

function checkPlace(select) {
	if (select.value == "-1") {
		alert("希望勤務地は小分類を選択してください。");
		select.selectedIndex=0;
	}
}

/* ===============================================
	入力文字数表示
=============================================== */

function countLengthMessage(checkTarget, outputTarget) {
  var target=document.getElementById(outputTarget);

  target.innerHTML = "全角で約<span class=\"nm\"><span class=\"l orange2\">" + strMultibyteLength( document.getElementById(checkTarget).value ) + "</span></span>文字です";

  target.style.visibility = "visible";
  setTimeout("hideCountLengthMessage(\'" + outputTarget + "\')",5000);
}

function hideCountLengthMessage( outputTarget ){
  var target=document.getElementById(outputTarget);
  target.style.visibility = "hidden";
}

function strMultibyteLength(targetValue){
	var total = 0;
	var str = targetValue;
	for(var i=0; i<str.length; i++) {
		ch = str.substr(i,1);
		if (ch.charCodeAt() <= 255) {
			total++;
		} else {
			total = total + 2;
		}
	}
	total = total / 2;
	return Math.ceil( total );
}