﻿/**
* system : YMC_framework
* sub-system:common utility
* 
*/

/** count by double click */
var clickCount = 0;

/**
 * form submit (double click) */
function doSubmit(obj){
	if (checkDoubleClick()){
		obj.form.action_type.value=obj.name;
		obj.form.submit();
	}
}

/**
 * form submit function(double click)
 * action special function
 */
function doSubmitAction(obj, act){
	if (checkDoubleClick()){
		obj.form.action = act;
		obj.form.action_type.value=obj.name;
		obj.form.submit();
	}
}

/**
 * judge double click function
 */
function checkDoubleClick(){
	if (clickCount == 0){
		clickCount++;
		return true;
	}
	return false;
}

/**
 * form content clear function
 * all clear form content when window paint
 * but, readonly item is not cleared
 */
function doClear(obj){
	return doClearImpl(obj, false);
}

/**
 * form content clear function
 * all clear form content when window paint
 * readonly item is also cleared
 */
function doClearAll(obj){
	return doClearImpl(obj, true);
}

/**
 * form content clear funtion
 * all clear form content when window paint
 * readonly item is also cleared when second reference value is true
 */
function doClearImpl(obj, isClearAll){
	var form = obj.form;
	var flag = false;
	var radioFlag = true;
	var tmpCounter = 0;
	form.reset();
	for (i = 0; i < form.elements.length; i++){

		//
		// below, input type branch process
		//
		
		// input type field(TEXT, TEXTATREA, PASSWORD)
		if (
		(form.elements[i].type == "text") ||
		(form.elements[i].type == "password") ||
		(form.elements[i].type == "textarea")
		){
			if (
			  ( (! form.elements[i].disabled) &&
			    (! form.elements[i].readOnly)    )||
			  (isClearAll == true)){
				form.elements[i].value = "";
				if (flag == false){
					tmpCounter = i;
					form.elements[i].focus();
					flag = true;
				}
			}
		}

		// SELECT
		if (
		(form.elements[i].type == "select") ||		// NN?
		(form.elements[i].type == "select-one")		// IE
		){
			if (
			  ( (! form.elements[i].disabled) &&
			    (! form.elements[i].readOnly)    )||
			  (isClearAll == true)){
				form.elements[i].selectedIndex = 0;
			}
		}
		
		// RADIO
		if (
		(form.elements[i].type == "radio")
		){
			if (
			  ( (! form.elements[i].disabled) &&
			    (! form.elements[i].readOnly)    )||
			  (isClearAll == true)){
				form.elements[i].checked = radioFlag;
				if(radioFlag == true){
					radioFlag = false;
				}
			}
		}
		
		// CHECKBOX
		if (
		(form.elements[i].type == "checkbox")
		){
			if (
			  ( (! form.elements[i].disabled) &&
			    (! form.elements[i].readOnly)    )||
			  (isClearAll == true)){
				form.elements[i].checked = false;
			}
		}
	}
	return;
}

/**
 * open sub window on center
 */
function openSubWindowToCenter(url, name, width, height){
	var left = (screen.width - width) / 2;
	var top  = (screen.height- height) /2;
	openSubWindow(url, name, width, height, left, top);
}

/**
 * resize and move window on center
 */
function moveAndResizeWindowToCenter(win){
	var left = (screen.width) / 8;
	var top  = (screen.height) /8;
	win.resizeTo(left*6, top*6);
	win.moveTo(left, top);
}

/**
 * open sub window on special option
 * if fifth, sixth referece value are null, open window on special position by browser
 */
function openSubWindow(url, name, width, height, left, top){
	var defaultParam = "";
	defaultParam += "alwaysRaised=yes";
	defaultParam += ",resizable=yes";
	defaultParam += ",toolbar=no";
	defaultParam += ",location=no";
	defaultParam += ",directories=no";
	defaultParam += ",status=no";
	defaultParam += ",menubar=no";
	defaultParam += ",scrollbars=yes"
	defaultParam += ",copyhistory=no";
	
	var param = defaultParam;
	if (width != null){
		param = param + ",width=" + width;
	}
	if (height != null){
		param = param + ",height=" + height;
	}
	if (left != null){
		param = param + ",left=" + left;
		param = param + ",screenX" + left;
	}
	if (top != null){
		param = param + ",top=" + top;
		param = param + ",screenY" + top;
	}
	window.open(url, name, param);
}



