if (!window.event && window.addEventListener) {
	(function(){
		var events = ["keypress", "click", "dblclick"];
		for (var i = 0; i < events.length; i++) {
			window.addEventListener(events[i], function(e){
				window.event = e;
			}, true);
		}
	}());
}
function disableBtn($target) {
	var ev = window.event;
	if(ev && ev.type == 'keypress' && ev.keyCode != 13) {
		return false;
	}
	$target.disabled = true;
	if ($target.form) {
		$target.form.submit();
	}
}
function disableEnter(ev){
    if (!ev) {
        ev = window.event;
    }
    if(ev.keyCode == 13) {
        return false;
    } else {
        return true;
    }
}
function chSubMenu(sub_id) {
    var submenu= new Array("personal", "work", "config");
    var obj;
    for (var i = 0; i < submenu.length; i++) {
        obj = document.getElementById("submenu_" + submenu[i]);
        if (submenu[i] == sub_id) {
            obj.style.display = "block";
        } else {
            obj.style.display = "none";
        }
    }
}
function showBlock(obj_id) {
    var obj = document.getElementById(obj_id);
    var disp = obj.style.display;
    if (disp == "none") {
	obj.style.display = "block";
    } else {
	obj.style.display = "none";
    }
}
function showSearch(obj) {
    showBlock("search_form");
    if (obj.className == "show_search") {
	obj.className = "hide_search";
    } else {
	obj.className = "show_search";
    }
    return false;
}
/* 
fobj = form object
chk = true(check) or false(uncheck)
*/
function formCheckAll(fobj, chk) {
    var feles = fobj.elements;
    var ele;
    for (var i = 0; i < feles.length; i++) {
		ele = feles[i];
		switch (ele.type) {
		case "checkbox":
		    ele.checked = chk;
		    break;
		default:
		    break;
		}
    }
    return true;
}
function formCheckAll_(fobj, chk) {
    var feles = fobj.elements;
    var ele;
    var obj_name="";
    for (var i = 0; i < feles.length; i++) {
		ele = feles[i];
		switch (ele.type) {
		case "checkbox":
			obj_name = ele.name;
			if (obj_name.substr(0, 9) == "my_media[") {
			    ele.checked = chk;
			}
		    break;
		default:
		    break;
		}
    }
    return true;
}

function is_checked(obj) {
	var checked = false;
	if (obj.length) {
		for (var i = 0; i < obj.length; i++) {
			if (obj[i].checked) {
				checked = true;
				break;
			}
		}
	} else {
		if (obj.checked) {
			checked = true;
		}
	}
	return checked;
}
function checked_value(obj) {
	var ret;
	if (obj.length) {
		for (var i = 0; i < obj.length; i++) {
			if (obj[i].checked) {
				ret = obj[i].value;
				break;
			}
		}
	} else {
		if (obj.checked) {
			ret = obj.value;
		}
	}
	return ret;
}
function form_all_clear(fobj, msg) {
	if (msg == null) {
		msg = "検索条件をすべてクリアしても良いですか？";
	}
	if (window.confirm(msg)) {
		var feles = fobj.elements;
		var ele;
		for (var i = 0; i < feles.length; i++) {
			ele = feles[i];
			switch (ele.type) {
			case "text":
				ele.value = "";
				break;
			case "select":
			case "select-one":
				ele.value = "";
				ele.selectedIndex == 0;
				break;
			case "checkbox":
				ele.checked = false;
				break;
			default:
				break;
			}
		}
	}
	return true;
}
function moveSelectedOptions(from, to) {
	var o;
	for (var i = 0; i < from.options.length; i++) {
	    o = from.options[i];
	    if (o.selected) {
	        to.options[to.options.length] = new Option(o.text, o.value, false, false);
	    }
	}
	for (var i = from.options.length - 1; i >= 0; i--) {
	    o = from.options[i];
	    if (o.selected) {
	        from.options[i] = null;
	    }
	}
	from.selectedIndex = -1;
	to.selectedIndex = -1;
}
function selectAll(id) {
	var list_box = document.getElementById(id);
	for (var i = 0; i < list_box.options.length; i++) {
		list_box.options[i].selected = true;
	}
}
function paramChange(param_name, param_value, base_url, return_value) {
	if (!base_url) {
		base_url = window.location.href;
	}
	if (base_url.indexOf(param_name) != -1) {
		var re = new RegExp('/' + param_name + '/[^/]*');
		base_url = base_url.replace(re, '');
	}
	base_url = base_url.replace(/\/$/, '');
	base_url = base_url + '/' + param_name + '/' + param_value + '/';
	if (return_value) {
		return base_url;
	} else {
		window.location.href = base_url;
	}
}
function externalLinks() { 
	if (!document.getElementsByTagName) return; 
	var anchors = document.getElementsByTagName("a"); 
	for (var i=0; i<anchors.length; i++) { 
	    var anchor = anchors[i]; 
	    if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
	        anchor.target = "_blank";
	    }
	}
}
window.onload = externalLinks;
function showPopup(url, width, height) {
	if (width == null) {
		width = 650;
	}
	if (height == null) {
		height = 600;
	}
	var mywindow = window.open(url,'_blank','scrollbars=yes,resizable=yes,width=' + width + ',height=' + height);
	mywindow.focus();
	if(mywindow.opener == null){
		mywindow.opener = self;
	}
}

function setDate(input_date, form_id, date_prefix) {
    var form = document.getElementById(form_id);
    var year_name = date_prefix + 'Year';
    var month_name = date_prefix + 'Month';
    var day_name = date_prefix + 'Day';
    input_date = input_date.split("-");
    form[year_name].value = input_date[0];
    if (input_date[1].length == 1) {
        input_date[1] = '0' + input_date[1];
    }
    form[month_name].value = input_date[1];
    form[day_name].value = input_date[2];
}
