/**
 * @author Tran Van Giang
 * @since 2008-09-12
 */
function openDialog(layer_ref,layer_edit,layer_save){
	stateBlock = 'block';
	stateNone = 'none';
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.all." + layer_ref + ".style.display = stateBlock ");
		eval( "document.all." + layer_edit + ".style.display = stateNone");
		eval( "document.all." + layer_save + ".style.display = stateBlock ");
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		document.layers[layer_ref].display = stateBlock;
		document.layers[layer_edit].display = stateNone;
		document.layers[layer_save].display = stateBlock;
	}
	if (document.getElementById &&!document.all) {
		hza = document.getElementById(layer_ref);
		hzaEdit = document.getElementById(layer_edit);
		hzaSave = document.getElementById(layer_save);
		hza.style.display = stateBlock ;
		hzaEdit.style.display = stateNone;
		hzaSave.style.display = stateBlock ;
	}
	var popupArray = ['priceandma_5','priceandma_10','priceandma_21','priceandma_50','priceandma_200',
					  'pricecrossma_5','pricecrossma_10','pricecrossma_21','pricecrossma_50','pricecrossma_200',
					  'ma5crossma_10','ma10crossma_21','ma21crossma_50','ma50crossma_200',
					  'macd_9','rsi_14','stoch_5_3_3','dimov_14','bbands_20_2','mfi_14'];
	for(i=0;i<popupArray.length; i++){
		if(popupArray[i] != layer_ref) closeDialog(popupArray[i],'edit_'+popupArray[i],'save_'+popupArray[i]);
	}
}
function closeDialog(layer_ref,layer_edit,layer_save){
	stateBlock = 'block';
	stateNone  = 'none';
	if (document.all){
		eval( "document.all." + layer_ref + ".style.display = stateNone");
		eval( "document.all." + layer_edit + ".style.display = stateBlock");
		eval( "document.all." + layer_save + ".style.display = stateNone");	
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		document.layers[layer_ref].display = stateNone ;
		document.layers[layer_edit].display = stateBlock;
		document.layers[layer_save].display = stateNone ;
	}
	if (document.getElementById &&!document.all){	
		hza = document.getElementById(layer_ref);		
		hzaEdit = document.getElementById(layer_edit);
		hzaSave = document.getElementById(layer_save);
		hza.style.display = stateNone ;
		hzaEdit.style.display = stateBlock;
		hzaSave.style.display = stateNone ;
	}
}
/**
 * @author Tran Van Giang
 * @since 2008-10-21
 */
function cancelPrice_MA(default_value,layer_ref,layer_edit,layer_save){
	strMA      = "SMA";//default
	if (document.all){
		eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_value");
		eval( "document.forms[1].method_" + layer_ref + "[0].checked = true");
		eval( "document.all.label_" + layer_ref + ".innerHTML = strMA+\"(\"+default_value+\")\"");
		
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
	}
	if (document.getElementById &&!document.all){
		timePeriodPrice_MA = document.getElementById("timeperiod_"+layer_ref);
		methodPrice_MA = document.getElementById("method_"+layer_ref);
		labelPrice_MA = document.getElementById("label_"+layer_ref);
		
		timePeriodPrice_MA.value = default_value;
		methodPrice_MA.value = strMA;//Not good in Mozilla 3.0
		labelPrice_MA.innerHTML = strMA+"("+default_value+")";
	}
	closeDialog(layer_ref,layer_edit,layer_save);
}
/**
 * @author Tran Van Giang
 * @since 2008-09-12
 */
function savePrice_MA(default_value,layer_ref,layer_edit,layer_save){
	strMA      = "";
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		timePeriod = parseInt(eval( "document.forms[1].timeperiod_" + layer_ref + ".value"), 10);
		if(isLongDigit(timePeriod)){
			closeDialog(layer_ref,layer_edit,layer_save);
			if(eval( "document.forms[1].method_" + layer_ref + "[1].checked")) strMA="EMA";
			else strMA="SMA";
			if(parseInt(timePeriod, 10) >= 1 && parseInt(timePeriod, 10) <=500) eval( "document.all.label_" + layer_ref + ".innerHTML = \"<font color=blue>\"+strMA+\"(\"+timePeriod+\")</font>\"");
			else {
				alert("Invalid input value. Only allow from 1 to 500.");
				eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_value");
			}
		} else {
			alert("Invalid input value. Number only.");
			eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_value");			
		}
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		closeDialog(layer_ref,layer_edit,layer_save);
	}
	if (document.getElementById &&!document.all) {
		timePeriodPrice_MA = document.getElementById("timeperiod_"+layer_ref);
		methodPrice_MA = document.getElementById("method_"+layer_ref);
		labelPrice_MA = document.getElementById("label_"+layer_ref);
		timePeriod = timePeriodPrice_MA.value;
		if(isLongDigit(timePeriod)){
			closeDialog(layer_ref,layer_edit,layer_save);
			strMA=methodPrice_MA.value;
			if(parseInt(timePeriod, 10)  >= 1 && parseInt(timePeriod, 10)  <=500) labelPrice_MA.innerHTML ="<font color=blue>&nbsp;"+strMA+"("+timePeriod+")</font>";
			else {
				alert("Invalid input value. Only allow from 1 to 500.");
				timePeriodPrice_MA.value = default_value;
			}
		} else {
			alert("Invalid input value. Number only.");
			timePeriodPrice_MA.value = default_value;
		}		
	}
}
/**
 * @author Tran Van Giang
 * @since 2008-10-27
 */
function cancelMA_MA(default_shortterm, default_longterm,layer_ref,layer_edit,layer_save){
	strMA      = "SMA";//default
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.forms[1].shortterm_timeperiod_" + layer_ref + ".value = default_shortterm");
		eval( "document.forms[1].longterm_timeperiod_" + layer_ref + ".value = default_longterm");
		eval( "document.forms[1].method_" + layer_ref + "[0].checked = true");
		eval( "document.all.shortterm_label_" + layer_ref + ".innerHTML = strMA+\"(\"+default_shortterm+\")\"");
		eval( "document.all.longterm_label_" + layer_ref + ".innerHTML =  strMA+\"(\"+default_longterm+\")\"");
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
	}
	if (document.getElementById &&!document.all) {
		shorttermTimePeriodMAMA = document.getElementById("shortterm_timeperiod_"+layer_ref);
		longtermTimePeriodMAMA = document.getElementById("longterm_timeperiod_"+layer_ref);
		methodMAMA = document.getElementById("method_"+layer_ref);
		shorttermLabelMAMA = document.getElementById("shortterm_label_"+layer_ref);
		longtermLabelMAMA = document.getElementById("longterm_label_"+layer_ref);
		
		shorttermTimePeriodMAMA.value = default_shortterm;		
		longtermTimePeriodMAMA.value  = default_longterm;
		methodMAMA.value = strMA;//Not good in Mozilla 3.0
		shorttermLabelMAMA.innerHTML = strMA+"("+default_shortterm+")";
		longtermLabelMAMA.innerHTML  = strMA+"("+default_longterm+")";
	}
	closeDialog(layer_ref,layer_edit,layer_save);
}
/**
 * @author Tran Van Giang
 * @since 2008-09-16
 */
function saveMA_MA(default_shortterm, default_longterm,layer_ref,layer_edit,layer_save){
	strMA      = "";
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		shortterm_timePeriod = eval( "document.forms[1].shortterm_timeperiod_" + layer_ref + ".value");
		longterm_timePeriod = eval( "document.forms[1].longterm_timeperiod_" + layer_ref + ".value");
		if(isLongDigit(shortterm_timePeriod) && isLongDigit(longterm_timePeriod)){
			if(parseInt(shortterm_timePeriod, 10) < parseInt(longterm_timePeriod, 10)){
				if(parseInt(shortterm_timePeriod, 10) >= 1 && parseInt(shortterm_timePeriod, 10) <=500 && parseInt(longterm_timePeriod, 10) >= 1 && parseInt(longterm_timePeriod, 10) <=500) {
					closeDialog(layer_ref,layer_edit,layer_save);
					if(eval( "document.forms[1].method_" + layer_ref + "[1].checked")) strMA="EMA";
					else strMA="SMA";
					eval( "document.all.shortterm_label_" + layer_ref + ".innerHTML = \"<font color=blue>\"+strMA+\"(\"+shortterm_timePeriod+\")</font>\"");
					eval( "document.all.longterm_label_" + layer_ref + ".innerHTML = \"<font color=blue>\"+strMA+\"(\"+longterm_timePeriod+\")</font>\"");
				}else {
					alert("Invalid input value. Only allow from 1 to 500.");
					eval( "document.forms[1].shortterm_timeperiod_" + layer_ref + ".value = default_shortterm");
					eval( "document.forms[1].longterm_timeperiod_" + layer_ref + ".value = default_longterm");
				}
			} else {
				alert("Invalid input value. Short term < long term.");
				eval( "document.forms[1].shortterm_timeperiod_" + layer_ref + ".value = default_shortterm");
				eval( "document.forms[1].longterm_timeperiod_" + layer_ref + ".value = default_longterm");			
			}
		} else {
			alert("Invalid input value. Number only.");
			eval( "document.forms[1].shortterm_timeperiod_" + layer_ref + ".value = default_shortterm");
			eval( "document.forms[1].longterm_timeperiod_" + layer_ref + ".value = default_longterm");
		}
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		closeDialog(layer_ref,layer_edit,layer_save);
	}
	if (document.getElementById &&!document.all) {
		shorttermTimePeriodMAMA = document.getElementById("shortterm_timeperiod_"+layer_ref);
		longtermTimePeriodMAMA = document.getElementById("longterm_timeperiod_"+layer_ref);
		methodPriceAndMA = document.getElementById("method_"+layer_ref);
		shorttermLabelMAMA = document.getElementById("shortterm_label_"+layer_ref);
		longtermLabelMAMA = document.getElementById("longterm_label_"+layer_ref);
		
		shortterm_timePeriod = shorttermTimePeriodMAMA.value;
		longterm_timePeriod = longtermTimePeriodMAMA.value;
		if(isLongDigit(shortterm_timePeriod) && isLongDigit(longterm_timePeriod)){
			if(parseInt(shortterm_timePeriod, 10) < parseInt(longterm_timePeriod, 10)){
				if(parseInt(shortterm_timePeriod, 10) >= 1 && parseInt(shortterm_timePeriod, 10) <=500 && parseInt(longterm_timePeriod, 10) >= 1 && parseInt(longterm_timePeriod, 10) <=500) {
					closeDialog(layer_ref,layer_edit,layer_save);
					strMA=methodPriceAndMA.value;
					shorttermLabelMAMA.innerHTML = "<font color=blue>"+strMA+"("+shortterm_timePeriod+")</font>";
					longtermLabelMAMA.innerHTML = "<font color=blue>"+strMA+"("+longterm_timePeriod+")</font>";
				}else {
					alert("Invalid input value. Only allow from 1 to 500.");
					shorttermTimePeriodMAMA.value = default_shortterm;
					longtermTimePeriodMAMA.value = default_longterm;
				}
			} else {
				alert("Invalid input value. Short term < long term.");
				shorttermTimePeriodMAMA.value = default_shortterm;
				longtermTimePeriodMAMA.value = default_longterm;
			}
		} else {
			alert("Invalid input value. Number only.");
			shorttermTimePeriodMAMA.value = default_shortterm;
			longtermTimePeriodMAMA.value = default_longterm;
		}
	}
}
/**
 * @author Tran Van Giang
 * @since 2008-10-27
 */
function cancelMACD(default_value,layer_ref,layer_edit,layer_save){
	strMA      = "SMA";//default
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_value");
		eval( "document.all.label_" + layer_ref + ".innerHTML = default_value+\")\"");
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
	}
	if (document.getElementById &&!document.all) {
		timePeriodMACD = document.getElementById("timeperiod_"+layer_ref);
		labelMACD = document.getElementById("label_"+layer_ref);
		
		timePeriodMACD.value = default_value;
		labelMACD.innerHTML = default_value+")";
	}
	closeDialog(layer_ref,layer_edit,layer_save);
}
/**
 * @author Tran Van Giang
 * @since 2008-09-22
 */
function saveMACD(default_value,layer_ref,layer_edit,layer_save){
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		timePeriod = parseInt(eval( "document.forms[1].timeperiod_" + layer_ref + ".value"), 10);
		if(isLongDigit(timePeriod)){
			closeDialog(layer_ref,layer_edit,layer_save);
			if(parseInt(timePeriod, 10) >= 1 && parseInt(timePeriod, 10) <=50) eval( "document.all.label_" + layer_ref + ".innerHTML = \"<font color=blue>\"+timePeriod+\"</font>)\"");
			else {
				alert("Invalid input value. Only allow from 1 to 50.");
				eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_value");
			}
		} else {
			alert("Invalid input value. Number only.");
			eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_value");
		}
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		closeDialog(layer_ref,layer_edit,layer_save);
	}
	if (document.getElementById &&!document.all) {
		timePeriodMACD = document.getElementById("timeperiod_"+layer_ref);
		labelMACD = document.getElementById("label_"+layer_ref);
		timePeriod = timePeriodMACD.value;
		if(isLongDigit(timePeriod)){
			closeDialog(layer_ref,layer_edit,layer_save);
			if(parseInt(timePeriod, 10)  >= 1 && parseInt(timePeriod, 10)  <=50) labelMACD.innerHTML ="<font color=blue>"+timePeriod+"</font>)";
			else {
				alert("Invalid input value. Only allow from 1 to 50.");
				timePeriodMACD.value = default_value;
			}
		} else {
			alert("Invalid input value. Number only.");
			timePeriodMACD.value = default_value;
		}
	}
}
/**
 * @author Tran Van Giang
 * @since 2008-10-27
 */
function cancelRSI_MFI(default_timeperiod, default_lowerline, default_upperline, layer_ref, layer_edit, layer_save){
	strMA      = "SMA";//default
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_timeperiod");
		eval( "document.forms[1].lowerline_" + layer_ref + ".value = default_lowerline");
		eval( "document.forms[1].upperline_" + layer_ref + ".value = default_upperline");
		eval( "document.all.label_timeperiod_" + layer_ref + ".innerHTML = \"(\"+default_timeperiod+\")\"");
		eval( "document.all.label_line_" + layer_ref + ".innerHTML =  \";{\"+default_lowerline+\",\"+default_upperline+\"}\"");
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
	}
	if (document.getElementById &&!document.all) {
		timePeriodRSI = document.getElementById("timeperiod_"+layer_ref);
		lowerLineRSI = document.getElementById("lowerline_"+layer_ref);
		upperLineRSI = document.getElementById("upperline_"+layer_ref);
		labelTimePeriodRSI = document.getElementById("label_timeperiod_"+layer_ref);
		labelLineRSI = document.getElementById("label_line_"+layer_ref);

		timePeriodRSI.value = default_timeperiod;
		lowerLineRSI.value  = default_lowerline;
		upperLineRSI.value  = default_upperline;
	    labelTimePeriodRSI.innerHTML="("+default_timeperiod+")";
	    labelLineRSI.innerHTML=";{"+default_lowerline+","+default_upperline+"}";
	}
	closeDialog(layer_ref,layer_edit,layer_save);
}
/**
 * @author Tran Van Giang
 * @since 2008-09-22
 */
function saveRSI_MFI(default_timeperiod, default_lowerline, default_upperline, layer_ref, layer_edit, layer_save){
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		timePeriod = parseInt(eval( "document.forms[1].timeperiod_" + layer_ref + ".value"), 10);
		lowerline = parseInt(eval( "document.forms[1].lowerline_" + layer_ref + ".value"), 10);
		upperline = parseInt(eval( "document.forms[1].upperline_" + layer_ref + ".value"), 10);
		if(isLongDigit(timePeriod) && isLongDigit(lowerline) && isLongDigit(upperline)){
			if(timePeriod >= 1 && timePeriod <= 500 &&
			    lowerline >= 10 && lowerline <= 40 &&
			    upperline >= 60 && upperline <= 90) { 
				closeDialog(layer_ref,layer_edit,layer_save);
			    	
				eval( "document.all.label_timeperiod_" + layer_ref + ".innerHTML = \"(<font color=blue>\"+timePeriod+\"</font>)\"");
				eval( "document.all.label_line_" + layer_ref + ".innerHTML = \";{<font color=blue>\"+lowerline+\"</font>,<font color=blue>\"+upperline+\"</font>}\"");
			} else {
				alert("Invalid input value. Only allow: \n - Time period: 1 to 500. \n - Lower line: 10 to 40. \n - Upper line: 60 to 90");
				eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_timeperiod");
				eval( "document.forms[1].lowerline_" + layer_ref + ".value = default_lowerline");
				eval( "document.forms[1].upperline_" + layer_ref + ".value = default_upperline");
			}
		} else {
			alert("Invalid input value. Number only.");
			eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_timeperiod");
			eval( "document.forms[1].lowerline_" + layer_ref + ".value = default_lowerline");
			eval( "document.forms[1].upperline_" + layer_ref + ".value = default_upperline");
		}
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		closeDialog(layer_ref,layer_edit,layer_save);
	}
	if (document.getElementById &&!document.all) {
		timePeriodRSI = document.getElementById("timeperiod_"+layer_ref);
		lowerLineRSI = document.getElementById("lowerline_"+layer_ref);
		upperLineRSI = document.getElementById("upperline_"+layer_ref);
		labelTimePeriodRSI = document.getElementById("label_timeperiod_"+layer_ref);
		labelLineRSI = document.getElementById("label_line_"+layer_ref);

		timePeriod = timePeriodRSI.value;
		lowerline  = lowerLineRSI.value;
		upperline  = upperLineRSI.value;
		if(isLongDigit(timePeriod) && isLongDigit(lowerline) && isLongDigit(upperline)){
			if(timePeriod >= 1 && timePeriod <= 500 &&
			    lowerline >= 10 && lowerline <= 40 &&
			    upperline >= 60 && upperline <= 90) { 
				closeDialog(layer_ref,layer_edit,layer_save);			    
			    labelTimePeriodRSI.innerHTML="(<font color=blue>"+timePeriod+"</font>)";
			    labelLineRSI.innerHTML=";{<font color=blue>"+lowerline+"</font>,<font color=blue>"+upperline+"</font>}";
			} else {
				alert("Invalid input value. Only allow: \n - Time period: 1 to 500. \n - Lower line: 10 to 40. \n - Upper line: 60 to 90");
				timePeriodRSI.value = default_timeperiod;
				lowerLineRSI.value = default_lowerline;
				upperLineRSI.value = default_upperline;
			}
		} else {
			alert("Invalid input value. Number only.");
			timePeriodRSI.value = default_timeperiod;
			lowerLineRSI.value = default_lowerline;
			upperLineRSI.value = default_upperline;
		}
	}	
}
/**
 * @author Tran Van Giang
 * @since 2008-10-27
 */
function cancelStoch(default_percentK, default_percentKSM, default_percentD, default_lowerline, default_upperline, layer_ref, layer_edit, layer_save){
	strMA      = "SMA";//default
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.forms[1].percentK_" + layer_ref + ".value = default_percentK");
		eval( "document.forms[1].percentKSM_" + layer_ref + ".value = default_percentKSM");
		eval( "document.forms[1].percentD_" + layer_ref + ".value = default_percentD");
		eval( "document.forms[1].lowerline_" + layer_ref + ".value = default_lowerline");
		eval( "document.forms[1].upperline_" + layer_ref + ".value = default_upperline");
		eval( "document.all.label_" + layer_ref + ".innerHTML = \"(\"+default_percentK+\",\"+default_percentKSM+\",\"+default_percentD+\")\"");
		eval( "document.all.label_line_" + layer_ref + ".innerHTML = \";{\"+default_lowerline+\",\"+default_upperline+\"}\"");
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
	}
	if (document.getElementById &&!document.all) {
		percentKStoch = document.getElementById("percentK_"+layer_ref);
		percentKSMStoch = document.getElementById("percentKSM_"+layer_ref);
		percentDStoch = document.getElementById("percentD_"+layer_ref);
		lowerLineStoch = document.getElementById("lowerline_"+layer_ref);
		upperLineStoch = document.getElementById("upperline_"+layer_ref);
		labelStoch = document.getElementById("label_"+layer_ref);
		labelLineStoch = document.getElementById("label_line_"+layer_ref);

		percentKStoch.value   = default_percentK;
		percentKSMStoch.value = default_percentKSM;
		percentDStoch.value   = default_percentD;
		lowerLineStoch.value  = default_lowerline;
		upperLineStoch.value  = default_upperline;
	    labelStoch.innerHTML="("+default_percentK+","+default_percentKSM+","+default_percentD+")";
	    labelLineStoch.innerHTML=";{"+default_lowerline+","+default_upperline+"}";
	}
	closeDialog(layer_ref,layer_edit,layer_save);
}
/**
 * @author Tran Van Giang
 * @since 2008-09-30
 */
function saveStoch(default_percentK, default_percentKSM, default_percentD, default_lowerline, default_upperline, layer_ref, layer_edit, layer_save){
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		percentK = parseInt(eval( "document.forms[1].percentK_" + layer_ref + ".value"), 10);
		percentKSM = parseInt(eval( "document.forms[1].percentKSM_" + layer_ref + ".value"), 10);
		percentD = parseInt(eval( "document.forms[1].percentD_" + layer_ref + ".value"), 10);
		lowerline = parseInt(eval( "document.forms[1].lowerline_" + layer_ref + ".value"), 10);
		upperline = parseInt(eval( "document.forms[1].upperline_" + layer_ref + ".value"), 10);
		if(isLongDigit(percentK) && isLongDigit(percentKSM) && isLongDigit(percentD) && isLongDigit(lowerline) && isLongDigit(upperline)){
			if(percentK >= 1 && percentK <= 500 &&
				percentKSM >= 1 && percentKSM <= 50 &&
				percentD >= 1 && percentD <= 120 &&
			    lowerline >= 10 && lowerline <= 40 &&
			    upperline >= 60 && upperline <= 90) { 
				closeDialog(layer_ref,layer_edit,layer_save);
			    	
				eval( "document.all.label_" + layer_ref + ".innerHTML = \"(<font color=blue>\"+percentK+\"</font>,<font color=blue>\"+percentKSM+\"</font>,<font color=blue>\"+percentD+\"</font>)\"");
				eval( "document.all.label_line_" + layer_ref + ".innerHTML = \";{<font color=blue>\"+lowerline+\"</font>,<font color=blue>\"+upperline+\"</font>}\"");
			} else {
				alert("Invalid input value. Only allow: \n - %K: 1 to 500. \n - %K smoothing: 1 to 50. \n - %D: 1 to 120. \n - Lower line: 10 to 40. \n - Upper line: 60 to 90.");
				eval( "document.forms[1].percentK_" + layer_ref + ".value = default_percentK");
				eval( "document.forms[1].percentKSM_" + layer_ref + ".value = default_percentKSM");
				eval( "document.forms[1].percentD_" + layer_ref + ".value = default_percentD");
				eval( "document.forms[1].lowerline_" + layer_ref + ".value = default_lowerline");
				eval( "document.forms[1].upperline_" + layer_ref + ".value = default_upperline");
			}
		} else {
			alert("Invalid input value. Number only.");
			eval( "document.forms[1].percentK_" + layer_ref + ".value = default_percentK");
			eval( "document.forms[1].percentKSM_" + layer_ref + ".value = default_percentKSM");
			eval( "document.forms[1].percentD_" + layer_ref + ".value = default_percentD");
			eval( "document.forms[1].lowerline_" + layer_ref + ".value = default_lowerline");
			eval( "document.forms[1].upperline_" + layer_ref + ".value = default_upperline");
		}
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		closeDialog(layer_ref,layer_edit,layer_save);	
	}
	if (document.getElementById &&!document.all) {
		percentKStoch = document.getElementById("percentK_"+layer_ref);
		percentKSMStoch = document.getElementById("percentKSM_"+layer_ref);
		percentDStoch = document.getElementById("percentD_"+layer_ref);
		lowerLineStoch = document.getElementById("lowerline_"+layer_ref);
		upperLineStoch = document.getElementById("upperline_"+layer_ref);
		labelStoch = document.getElementById("label_"+layer_ref);
		labelLineStoch = document.getElementById("label_line_"+layer_ref);

		percentK   = percentKStoch.value;
		percentKSM   = percentKSMStoch.value;
		percentD   = percentDStoch.value;
		lowerline  = lowerLineStoch.value;
		upperline  = upperLineStoch.value;
		if(isLongDigit(percentK) && isLongDigit(percentKSM) && isLongDigit(percentD) && isLongDigit(lowerline) && isLongDigit(upperline)){
			if(percentK >= 1 && percentK <= 500 &&
				percentKSM >= 1 && percentKSM <= 50 &&
				percentD >= 1 && percentD <= 120 &&
			    lowerline >= 10 && lowerline <= 40 &&
			    upperline >= 60 && upperline <= 90) { 
				closeDialog(layer_ref,layer_edit,layer_save);			    
			    labelStoch.innerHTML="(<font color=blue>"+percentK+"</font>,<font color=blue>"+percentKSM+"</font>,<font color=blue>"+percentD+"</font>)";
			    labelLineStoch.innerHTML=";{<font color=blue>"+lowerline+"</font>,<font color=blue>"+upperline+"</font>}";
			} else {
				alert("Invalid input value. Only allow: \n - %K: 1 to 500. \n - %K smoothing: 1 to 50. \n - %D: 1 to 120. \n - Lower line: 10 to 40. \n - Upper line: 60 to 90.");
				percentKStoch.value = default_percentK;
				percentKSMStoch.value = default_percentKSM;
				percentDStoch.value = default_percentD;
				lowerLineStoch.value = default_lowerline;
				upperLineStoch.value = default_upperline;
			}
		} else {
			alert("Invalid input value. Number only.");
				percentKStoch.value = default_percentK;
				percentKSMStoch.value = default_percentKSM;
				percentDStoch.value = default_percentD;
				lowerLineStoch.value = default_lowerline;
				upperLineStoch.value = default_upperline;
		}
	}	
}
/**
 * @author Tran Van Giang
 * @since 2008-10-27
 */
function cancelDI(default_value,layer_ref,layer_edit,layer_save){
	strMA      = "SMA";//default
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_value");
		eval( "document.all.label_" + layer_ref + ".innerHTML = \"(\"+default_value+\")\"");
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
	}
	if (document.getElementById &&!document.all) {
		timePeriodDI = document.getElementById("timeperiod_"+layer_ref);
		labelDI = document.getElementById("label_"+layer_ref);

		timePeriodDI.value = default_value;
		labelDI.innerHTML ="("+default_value+")";
	}
	closeDialog(layer_ref,layer_edit,layer_save);
}
/**
 * @author Tran Van Giang
 * @since 2008-09-30
 */
function saveDI(default_value,layer_ref,layer_edit,layer_save){
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		timePeriod = parseInt(eval( "document.forms[1].timeperiod_" + layer_ref + ".value"), 10);
		if(isLongDigit(timePeriod)){
			closeDialog(layer_ref,layer_edit,layer_save);
			if(parseInt(timePeriod, 10) >= 1 && parseInt(timePeriod, 10) <=500) eval( "document.all.label_" + layer_ref + ".innerHTML = \"(<font color=blue>\"+timePeriod+\"</font>)\"");
			else {
				alert("Invalid input value. Only allow from 1 to 500.");
				eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_value");
			}
		} else {
			alert("Invalid input value. Number only.");
			eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_value");
		}
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		closeDialog(layer_ref,layer_edit,layer_save);
	}
	if (document.getElementById &&!document.all) {
		timePeriodDI = document.getElementById("timeperiod_"+layer_ref);
		labelDI = document.getElementById("label_"+layer_ref);
		timePeriod = timePeriodDI.value;
		if(isLongDigit(timePeriod)){
			closeDialog(layer_ref,layer_edit,layer_save);
			if(parseInt(timePeriod, 10)  >= 1 && parseInt(timePeriod, 10)  <=500) labelDI.innerHTML ="(<font color=blue>"+timePeriod+"</font>)";
			else {
				alert("Invalid input value. Only allow from 1 to 500.");
				timePeriodDI.value = default_value;
			}
		} else {
			alert("Invalid input value. Number only.");
			timePeriodDI.value = default_value;
		}		
	}
}
/**
 * @author Tran Van Giang
 * @since 2008-10-27
 */
function cancelBBANDS(default_timeperiod, default_deviation, layer_ref,layer_edit,layer_save){
	strMA      = "SMA";//default
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_timeperiod");
		eval( "document.forms[1].deviation_" + layer_ref + ".value = default_deviation");
		eval( "document.all.label_" + layer_ref + ".innerHTML = \"(\"+default_timeperiod+\",\"+default_deviation+\")\"");		timePeriod = parseInt(eval( "document.forms[1].timeperiod_" + layer_ref + ".value"), 10);
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
	}
	if (document.getElementById &&!document.all) {
		timePeriodBBANDS = document.getElementById("timeperiod_"+layer_ref);
		deviationBBANDS = document.getElementById("deviation_"+layer_ref);
		labelBBANDS = document.getElementById("label_"+layer_ref);

		timePeriodBBANDS.value = default_timeperiod;
		deviationBBANDS.value  = default_deviation;
		labelBBANDS.innerHTML ="("+default_timeperiod+","+default_deviation+")";
	}
	closeDialog(layer_ref,layer_edit,layer_save);
}
/**
 * @author Tran Van Giang
 * @since 2008-09-30
 */
function saveBBANDS(default_timeperiod, default_deviation, layer_ref,layer_edit,layer_save){
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		timePeriod = parseInt(eval( "document.forms[1].timeperiod_" + layer_ref + ".value"), 10);
		deviation  = parseInt(eval( "document.forms[1].deviation_" + layer_ref + ".value"), 10);
		if(isLongDigit(timePeriod) && isLongDigit(deviation)){
			closeDialog(layer_ref,layer_edit,layer_save);
			if(timePeriod >= 1 && timePeriod <= 500 && deviation >= 1 && deviation <= 10) eval( "document.all.label_" + layer_ref + ".innerHTML = \"(<font color=blue>\"+timePeriod+\"</font>,<font color=blue>\"+deviation+\"</font>)\"");
			else {
				alert("Invalid input value. Only allow: \n - Time period: 1 to 500. \n - Deviation: 1 to 10.");
				eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_timeperiod");
				eval( "document.forms[1].deviation_" + layer_ref + ".value = default_deviation");
			}
		} else {
			alert("Invalid input value. Number only.");
				eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_timeperiod");
				eval( "document.forms[1].deviation_" + layer_ref + ".value = default_deviation");
		}
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		closeDialog(layer_ref,layer_edit,layer_save);
	}
	if (document.getElementById &&!document.all) {
		timePeriodBBANDS = document.getElementById("timeperiod_"+layer_ref);
		deviationBBANDS = document.getElementById("deviation_"+layer_ref);
		labelBBANDS = document.getElementById("label_"+layer_ref);
		timePeriod = timePeriodBBANDS.value;
		deviation  = deviationBBANDS.value;
		if(isLongDigit(timePeriod)){
			closeDialog(layer_ref,layer_edit,layer_save);
			if(timePeriod >= 1 && timePeriod <= 500 && deviation >= 1 && deviation <= 10) labelBBANDS.innerHTML ="(<font color=blue>"+timePeriod+"</font>,<font color=blue>"+deviation+"</font>)";
			else {
				alert("Invalid input value. Only allow: \n - Time period: 1 to 500. \n - Deviation: 1 to 10.");
				timePeriodBBANDS.value = default_timeperiod;
				deviationBBANDS.value = default_deviation;
			}
		} else {
			alert("Invalid input value. Number only.");
			timePeriodBBANDS.value = default_timeperiod;
			deviationBBANDS.value = default_deviation;
		}		
	}
}

function checkEnterSavePrice_MA(event,layer_ref,layer_edit,layer_save){
  var agt=navigator.userAgent.toLowerCase();
  
  // Maybe, Opera make an onClick event when user press enter key 
  // on the text field of the form
  if (agt.indexOf('opera') >= 0) return;
  // enter key is pressed
  if (getKeyCode(event) == 13) {
  	//Value not saved, this function should be recoding
  	//savePriceAndMA(layer_ref,layer_edit,layer_save);
  }
}


function cancelR(default_timeperiod, default_deviation,default_value, layer_ref,layer_edit,layer_save){
	strMA      = "SMA";//default
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_timeperiod");
		eval( "document.forms[1].deviation_" + layer_ref + ".value = default_deviation");
		eval( "document.all.label_" + layer_ref + ".innerHTML = \"(\"+default_timeperiod+\",\"+default_deviation+\",");		timePeriod = parseInt(eval( "document.forms[1].timeperiod_" + layer_ref + ".value"), 10);
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
	}
	if (document.getElementById &&!document.all) {
		timePeriodBBANDS = document.getElementById("timeperiod_"+layer_ref);
		deviationBBANDS = document.getElementById("deviation_"+layer_ref);
		labelBBANDS = document.getElementById("label_"+layer_ref);

		timePeriodBBANDS.value = default_timeperiod;
		deviationBBANDS.value  = default_deviation;
		labelBBANDS.innerHTML ="("+default_timeperiod+","+default_deviation+")";
	}
	closeDialog(layer_ref,layer_edit,layer_save);
}
/**
 * @author Tran Van Giang
 * @since 2008-09-30
 */
function saveR(default_timeperiod, default_deviation,default_value, layer_ref,layer_edit,layer_save){
	if (document.all) { //IS IE 4 or 5 (or 6 beta)
		timePeriod = parseInt(eval( "document.forms[1].timeperiod_" + layer_ref + ".value"), 10);
		deviation  = parseInt(eval( "document.forms[1].deviation_" + layer_ref + ".value"), 10);
		if(isLongDigit(timePeriod) && isLongDigit(deviation)){
			closeDialog(layer_ref,layer_edit,layer_save);
			if(timePeriod >= 1 && timePeriod <= 500 && deviation >= 1 && deviation <= 100) eval( "document.all.label_" + layer_ref + ".innerHTML = \"(<font color=blue>\"+timePeriod+\"</font>,<font color=blue>\"+deviation+\"</font>,<font color=blue>\"+default_value+\"</font>)\"");
			else {
				alert("Invalid input value. Only allow: \n - Time period: 1 to 500. \n - Deviation: 1 to 10.");
				eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_timeperiod");
				eval( "document.forms[1].deviation_" + layer_ref + ".value = default_deviation");
			}
		} else {
			alert("Invalid input value. Number only.");
				eval( "document.forms[1].timeperiod_" + layer_ref + ".value = default_timeperiod");
				eval( "document.forms[1].deviation_" + layer_ref + ".value = default_deviation");
		}
	}
	if (document.layers) { //IS NETSCAPE 4 or below (or Mozilla)
		closeDialog(layer_ref,layer_edit,layer_save);
	}
	if (document.getElementById &&!document.all) {
		timePeriodBBANDS = document.getElementById("timeperiod_"+layer_ref);
		deviationBBANDS = document.getElementById("deviation_"+layer_ref);
		labelBBANDS = document.getElementById("label_"+layer_ref);
		timePeriod = timePeriodBBANDS.value;
		deviation  = deviationBBANDS.value;
		if(isLongDigit(timePeriod)){
			closeDialog(layer_ref,layer_edit,layer_save);
			if(timePeriod >= 1 && timePeriod <= 500 && deviation >= 1 && deviation <= 100) labelBBANDS.innerHTML ="(<font color=blue>"+timePeriod+"</font>,<font color=blue>"+deviation+"</font>)";
			else {
				alert("Invalid input value. Only allow: \n - Time period: 1 to 500. \n - Deviation: 1 to 10.");
				timePeriodBBANDS.value = default_timeperiod;
				deviationBBANDS.value = default_deviation;
			}
		} else {
			alert("Invalid input value. Number only.");
			timePeriodBBANDS.value = default_timeperiod;
			deviationBBANDS.value = default_deviation;
		}		
	}
}
