function com_get_radio_idx(elm,false_msg) {
	if (isNaN(elm.length)) {
		if (elm.checked) {
			return -1;
		}
		return -99;
	}
	for (var i=0;i<elm.length;i++) {
		if (elm[i].checked) {
			return i;
		}
	}
	if (false_msg != "") alert(false_msg);
	return -99;
}
function com_delete_cookie(name) {
	document.cookie=name + "=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT";
	document.cookie=name + "; expires=Thu, 01-Jan-1970 00:00:01 GMT";	
}
function com_get_age(yy,mm,dd) {
	var today=new Date();
    	var year_diff  = today.getYear() - yy;
    	var month_diff = (today.getMonth()+1) - mm;
    	var day_diff   = today.getDate() - dd;
    	if (day_diff < 0 || month_diff < 0)
      	year_diff--;
    	return year_diff;
}
function com_in_array(needle,haystack) {
	for (var i=0;i<haystack.length;i++) {
		if (needle==haystack[i]) {
			return true;
		}
	}
	return false;
}
function com_get_element_value(frm,element_name) {
	
	var found=0;
	var elm;
	for (var i=0;i<frm.elements.length;i++) {
		if (frm.elements[i].name==element_name) {
			elm=frm.elements[i];
			found=1;
			break;
		} else if (frm.elements[i].name==element_name+"[]"){
			elm=frm.elements[i];
			found=1;
			break;
		}
	}

	if (found==1) {
		// check if the element is multiple or not
		if (! isNaN(elm.length)) {
			found=2;
		}
	}
	if (found==0) {
		return "";
	} else if (found==1) {
		return elm.value;
	} else {
		return elm[0].value;
	}
}
//arguments[0]:msg_num, arguments[1~]:parameters
function com_get_msg()
{
	var msg_num=arguments[0];
	var msg=document.getElementById("client_msg:"+msg_num);
	if (! msg) {
		return "Not found message";
	}
	msg_text=msg.value;
	for (var i=1;i<arguments.length;i++) {
		msg_text=msg_text.replace("%"+i.toString(),arguments[i]);
	}
	return msg_text;
}
function com_find_input_field(frm)
{
	for (var i=0;i<frm.elements.length;i++) {
		switch (frm.elements[i].type) {
		case "text":
		case "textarea":
		case "select-one":
		case "select-multiple":
			value=frm.elements[i].value;
			break;
		case "radio":
			value=com_get_radio_value(frm.elements[i],"","");
			break;
		case "checkbox":
			value=com_get_checkbox_value(frm.elements[i],"");
			break;
		default:
			value="";
		}
		if (frm.elements[i].getAttribute("out_submit")!=null) {
			value="";
		}
		if (value!="") {
			return true;
		}
	}
	return false;

}
function com_required_field_check(frm)
{
	return com_required_field_check_ext(
		frm,"required",
		com_get_msg("101")
	);
}
function com_required_field_check_ext(frm,class_name,msg)
{
	for (var i=0;i<frm.elements.length;i++) {
		if (frm.elements[i].className==class_name) {
			value=frm.elements[i].value;
			if (frm.elements[i].type=="radio") {
				value=com_get_radio_value(frm.elements[frm.elements[i].name],"","");
			}
			if (frm.elements[i].type=="checkbox") {
				value=com_get_checkbox_value(frm.elements[frm.elements[i].name],",");
			}
			if (value=="") {
				alert(msg);
				frm.elements[i].focus();
				return false;
			}
		}
	}
	return true;
}
function com_get_radio_value(elm,false_msg,false_ret)
{
	if (isNaN(elm.length)) {
		if (elm.checked) {
			return elm.value;
		}
		return false_ret;
	}
	for (var i=0;i<elm.length;i++) {
		if (elm[i].checked) {
			return elm[i].value;
		}
	}
	if (false_msg != "") alert(false_msg);
	return false_ret;
}
function com_get_checkbox_value(elm,delimiter)
{
	if (isNaN(elm.length)) {
		if (elm.checked) {
			return elm.value;
		}
		return "";
	}

	var ret_str="";
	for (var i=0;i<elm.length;i++) {
		if (elm[i].checked) {
			ret_str=ret_str + elm[i].value + delimiter;
		}
	}
	return ret_str;
}
function com_get_elements(frm,element_name,elm_list)
{
	for (var i=0, j=0;i<frm.elements.length;i++) {
		if (frm.elements[i].name==element_name) {
			elm_list[j++]=frm.elements[i];
		}
	}
}
function com_test_check_submit() {
	if (event.altKey && event.shiftKey) {
		var frm=document.forms[0];
		var ret=prompt("Click Cancel:");
		if (ret=="SERVER") {
			//alert("SERVER"+frm.name);
			frm.onsubmit="";
			frm.submit();
		}
		if (ret=="CLIENT") {
			//alert("CLIENT"+frm.onsubmit);
			frm.onsubmit();
		}
	} 
}
/****************** Change Log ********************************
|#|Date|Project|Who|Where|How|Why|
|1|11/6/2008|Yourbestdoctor.jp|Hirono|com_get_raio_idx|Add a function|To read attribute "suv_enabled"|
*/
