var m_uid = 0;
var m_div = '';
var m_completed = true;
var m_language = 1;
// image routine
function fnUploadImageOpen(strDiv, strForm, strInput) {
	var frm;
	if (ifmUpload.loaded) {
		if (fnUploadOpen(strDiv, strForm, strInput)) {
			fnUploadImageProgress();
			frm = ifmUpload.document.frmUpload;
			frm.txtType.value = 'image';
			frm.submit();
		}
	} else {
		ifmUpload.location = '/i_interface/upload_form.asp';
		window.setTimeout('fnUploadImageOpen(\''+strDiv+'\',\''+strForm+'\',\''+strInput+'\')', 1000);
	}
}
function fnUploadImageErase(strDiv, strForm, strInput) {
	var ojbField;
	document.getElementById('divFile_'+strDiv).innerHTML = '<img src="/i_interface/images/uimg_empty.gif" width="100" height="75">';
	objField = document.forms[strForm].elements[strInput];
	objField.value = '';
	fnUpdateField(objField);
}
function fnUploadImageProgress() {
	if (!m_completed) {
		fnAjaxURL('divProgressBar_'+m_div,'/i_interface/upload_progress_image.asp?UploadID='+m_uid);
		window.setTimeout('fnUploadImageProgress()', 1000);
	}
}
// file routine
function fnUploadFileOpen(strDiv, strForm, strInput) {
	var frm;
	if (ifmUpload.loaded) {
		if (fnUploadOpen(strDiv, strForm, strInput)) {
			fnUploadFileProgress();
			frm = ifmUpload.document.frmUpload;
			frm.txtType.value = 'file';
			frm.submit();
		}
	} else {
		ifmUpload.location = '/i_interface/upload_form.asp';
		window.setTimeout('fnUploadFileOpen(\''+strDiv+'\',\''+strForm+'\',\''+strInput+'\')', 1000);
	}
}
function fnUploadFileErase(strDiv, strForm, strInput) {
	var ojbField;
	document.getElementById('divFile_'+strDiv).innerHTML = '';
	objField = document.forms[strForm].elements[strInput];
	objField.value = '';
	fnUpdateField(objField);
}
function fnUploadFileProgress() {
	if (!m_completed) {
		fnAjaxURL('divProgressBar_'+m_div,'/i_interface/upload_progress_file.asp?UploadID='+m_uid);
		window.setTimeout('fnUploadFileProgress()', 1000);
	}
}
// common routine
function fnUploadOpen(strDiv, strForm, strInput) {
	var frm;
	var uid;
	frm = ifmUpload.document.frmUpload;
	uid = frm.txtUploadID.value;
	if (uid != '') {
		frm.fileUpload.click();
		if (frm.fileUpload.value != '') {
			m_uid = uid;
			m_div = strDiv;
			m_completed = false;

			fnDivHide('divField_'+strDiv);
			fnDivShow('divProgress_'+strDiv);

			frm.txtUploadID.value = '';
			frm.txtDiv.value = strDiv;
			frm.txtForm.value = strForm;
			frm.txtInput.value = strInput;
			return true;
		}
	}
	return false;
}
function fnUploadCancel(strDiv) {
	fnDivHide('divProgress_'+strDiv);
	fnDivShow('divField_'+strDiv);
	ifmUpload.location = '/i_interface/upload_form.asp';
	m_completed = true;
}

function fnDivUpdate(strDiv, strForm, strInput, strOutput, strValue) {
	var objField;
	document.getElementById('divFile_'+strDiv).innerHTML = strOutput;
	objField = document.forms[strForm].elements[strInput];
	objField.value = strValue;
	fnUpdateField(objField);
	fnDivHide('divProgress_'+strDiv);
	fnDivShow('divField_'+strDiv);
	m_completed = true;
}
function fnDivCancel(strDiv) {
	fnDivHide('divProgress_'+strDiv);
	fnDivShow('divField_'+strDiv);
	ifmUpload.location = 'upload_form.asp';
	m_completed = true;
}
function fnDivHide(strDiv) {
	document.getElementById(strDiv).style.display = 'none';
}
function fnDivShow(strDiv) {
	document.getElementById(strDiv).style.display = 'inline';
}

// ajax routine
function fnAjaxCombo(strUpdateView, strUpdateField, strField, strValue) { 
	var strURL="update_combo.asp";
	strURL=strURL+"?update_field="+strUpdateView+'/'+strUpdateField;
	strURL=strURL+"&field="+strField;
	strURL=strURL+"&value="+strValue;
	strURL=strURL+"&sid="+Math.random();
	fnAjaxURL(strUpdateField, strURL)
}


var aryHttpObj = new Array();
var aryHttpDiv = new Array();

function fnAjaxURL(strDiv, strURL) { 
	//alert(strURL);
	if (strURL!='') {
	var i = aryHttpObj.length;
	aryHttpObj[i] = GetXmlHttpObject();
	if (aryHttpObj[i]==null) {
		alert ("Browser does not support HTTP Request");
		return;
	} 
	aryHttpDiv[i] = strDiv;
	aryHttpObj[i].onreadystatechange=stateChanged ;
	aryHttpObj[i].open("GET",strURL,true);
	aryHttpObj[i].send(null);
	} else {
	document.getElementById(strDiv).innerHTML = '';	
	}
}

function stateChanged() { 
	var i;
	for (i=0; i<aryHttpObj.length; i++) {
		if (aryHttpObj[i]!=null) {
			if (aryHttpObj[i].readyState==4 || aryHttpObj[i].readyState=="complete") { 
				if (aryHttpDiv[i]!='') {
					document.getElementById(aryHttpDiv[i]).innerHTML=aryHttpObj[i].responseText;
					aryHttpDiv[i]='';
					var t = aryHttpObj[i].responseText;
					var st=0;
					var ed=0;
					while ((st=t.indexOf('<script>', ed))!=-1) {
						st+='<script>'.length;
						ed=t.indexOf('</script>', st);
						eval(t.substring(st, ed));
					}
				}
			} 
		}
	}
} 

function GetXmlHttpObject() { 
	var objXMLHttp=null
	if (window.XMLHttpRequest) {
		objXMLHttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}

function fnUpdateField(obj) {
	if (obj.form==undefined) {
		return;
	}
	var strValue = obj.form.elements['_frm_update'].value;
	var strName = obj.name;
	strName = strName.substring(strName.indexOf('_', 1)+1)
	if (obj.name.indexOf('_inplang_') != -1) {
		strName = m_language+'_'+strName;
	}
	if (strValue.indexOf('['+strName+']') == -1) {
		strValue=strValue+'['+strName+']';
	}
	// update label
	obj.form.elements['_frm_update'].value=strValue;
	var strLabel = 'lbl' + obj.name.substring(obj.name.indexOf('_', 1)+1);
	var strMsg = '<img src=';
	if (document.getElementById(strLabel) != undefined) {
		strValue = document.getElementById(strLabel).innerHTML;
		if (strValue.toLowerCase().substring(1).indexOf(strMsg) != -1) {
			strValue = strValue.substring(0, strValue.toLowerCase().substring(1).indexOf(strMsg)+1);
		}
		strValue = strValue + strMsg + '"/i_interface/images/msg_update.gif" align="absmiddle">';
		document.getElementById(strLabel).innerHTML = strValue;
	}
	
}
function fnUpdateDate(obj, strInput) {
	var strName;
	var strInpName;
	var intYear;
	var intMonth
	var intDay;
	strName = obj.name.substring(0, obj.name.lastIndexOf("_"));
	
	intYear = parseInt(obj.form.elements[strName+'_yyyy'].value);
	if (isNaN(intYear)) intYear = 0;
	intYear = '0000'+intYear;
	intYear = intYear.substring(intYear.length-4);

	intMonth = parseInt(obj.form.elements[strName+'_mm'].value);
	if (isNaN(intMonth)) intMonth = 0;
	intMonth = '00'+intMonth;
	intMonth = intMonth.substring(intMonth.length-2);
	
	intDay = parseInt(obj.form.elements[strName+'_dd'].value);
	if (isNaN(intDay)) intDay = 0;
	intDay = '00'+intDay;
	intDay = intDay.substring(intDay.length-2);
	
	obj.form.elements[strInput].value = intYear+intMonth+intDay;
	fnUpdateField(obj.form.elements[strInput]);
}
function fnInitInputHtml(strName, strForm, strInput, intWidth, intHeight) {
	var objHtml = new InnovaEditor("o_"+strName);
	objHtml.width=intWidth;
	objHtml.height=intHeight;
	objHtml.useTagSelector=false;
	objHtml.features=[
		"Cut","Copy","Paste","|",
		"Hyperlink","Image","|",
		"JustifyLeft","JustifyCenter","JustifyRight","JustifyFull","|",
		"Numbering","Bullets","|","Indent","Outdent","|",
		"Line","RemoveFormat","BRK",
		"Paragraph","FontName","FontSize","|",
		"Bold","Italic","Underline","Strikethrough","|",
		"ForeColor","BackColor"];		
	eval("o_"+strName+"=objHtml");
	objHtml.REPLACE(strInput, document.forms[strForm].elements[strInput]);
}
function fnSwitchLang(intLang) {
	var i;
	var strName;
	var strFm, strTo;
	var strType;
	var strValue;
	var strNameLang = '_inplang_';
	var frm = document.forms['frmDetail'];
	for (i=0; i<frm.elements.length; i++) {
		strName = frm.elements[i].name;
		if (strName.substring(0,strNameLang.length) == strNameLang) {
			strName = strName.substring(strNameLang.length);
			strType = strName;
			if (strName.lastIndexOf('_') != -1) {
				strType = strName.substring(strName.lastIndexOf('_'));
			}
			strTo = '_inp_' + m_language + '_' + strName;
			strFm = '_inp_' + intLang + '_' + strName;
			switch (strType) {
				case '_html':
					var obj;
					obj = eval('o_'+strName);
					frm.elements[i].value = obj.getHTMLBody();
					frm.elements[strTo].value = frm.elements[i].value;
					frm.elements[i].value = frm.elements[strFm].value;
					obj.putHTML(frm.elements[i].value);
					break;
				case '_image':
					frm.elements[strTo].value = frm.elements[i].value;
					frm.elements[i].value = frm.elements[strFm].value;
					if (frm.elements[i].value == '') {
						strValue = '<img src="/i_interface/images/uimg_empty.gif" width="100" height="75">';
					} else {
						strValue = '<img src="'+frm.elements[i].value+'" width="100" height="75">';
					}
					document.getElementById('divFile_'+strName).innerHTML = strValue;
					break;
				case '_file':
					frm.elements[strTo].value = frm.elements[i].value;
					frm.elements[i].value = frm.elements[strFm].value;
					if (frm.elements[i].value == '') {
						strValue = '';
					} else {
						strValue = frm.elements[i].value;
						if (strValue.lastIndexOf('/') != -1) {
							strValue = strValue.substring(strValue.lastIndexOf('/')+1);
						}
						strValue = '<a target="_blank" href="'+frm.elements[i].value+'">'+strValue+'</a>';
					}
					document.getElementById('divFile_'+strName).innerHTML = strValue;
					break;
				case '_date':
					frm.elements[strTo].value = frm.elements[i].value;
					frm.elements[i].value = frm.elements[strFm].value;
					if (frm.elements[i].value == '') {
						frm.elements['_box_'+strName+'_yyyy'].value = '';
						frm.elements['_box_'+strName+'_mm'].value = '';
						frm.elements['_box_'+strName+'_dd'].value = '';
					} else {
						strValue = frm.elements[i].value;
						frm.elements['_box_'+strName+'_yyyy'].value = strValue.substring(0, 4);
						frm.elements['_box_'+strName+'_mm'].value = parseInt(strValue.substring(4, 6));
						frm.elements['_box_'+strName+'_dd'].value = parseInt(strValue.substring(6, 8));
					}
					break;
				default:
					frm.elements[strTo].value = frm.elements[i].value;
					frm.elements[i].value = frm.elements[strFm].value;
					break;
			}
		}
	}
	var strErrorField;
	var intErrorPos;
	strNameLang = '_inp_';
	for (i=0; i<frm.elements.length; i++) {
		strName = frm.elements[i].name;
		if (strName.substring(0,strNameLang.length) == strNameLang) {
			strName = strName.substring(strNameLang.length);
			var strMsg = '<img src=';
			var strValue = document.getElementById('lbl'+strName).innerHTML;
			if (strValue.toLowerCase().substring(1).indexOf(strMsg) != -1) {
				strValue = strValue.substring(0, strValue.toLowerCase().substring(1).indexOf(strMsg)+1);
			}
			var strError = frm.elements['_frm_error'].value;
			strErrorField = '['+intLang+'_'+strName+':';
			intErrorPos = strError.indexOf(strErrorField);
			if (intErrorPos == -1) {
				strErrorField = '['+strName+':';
				intErrorPos = strError.indexOf(strErrorField);
			}
			if (intErrorPos != -1) {
				strError = strError.substring(intErrorPos+strErrorField.length, strError.indexOf(']', intErrorPos));
				strValue = strValue+unescape(strError);
			} else if (frm.elements['_frm_update'].value.indexOf('['+intLang+'_'+strName+']') != -1) {
				strValue = strValue+'<img src="/i_interface/images/msg_update.gif" align="absmiddle">';
			}
			document.getElementById('lbl'+strName).innerHTML = strValue;
		}
	}
	if ((document.getElementById('tabLang_'+m_language)!=null) &&
		(document.getElementById('tabLang_'+intLang)!=null)) {
		var strFm = document.getElementById('tabLang_'+m_language).innerHTML;
		var strTo = document.getElementById('tabLang_'+intLang).innerHTML;
		strFm = strFm.substring(strFm.indexOf(' class'), strFm.lastIndexOf('<'));
		strTo = strTo.substring(strTo.indexOf(' class'), strTo.lastIndexOf('<'));
		document.getElementById('tabLang_'+m_language).innerHTML = '<a href="javascript:fnSwitchLang('+m_language+')"'+strFm+'</a>';
		document.getElementById('tabLang_'+intLang).innerHTML = '<div'+strTo+'</div>';
		m_language = intLang;
	}
}
function fnSubmitInput(strForm) {
	fnSwitchLang(m_language);
	document.forms[strForm].submit();
}
function fnSubmitSearch(strForm) {
	var strName;
	var strValue;
	var strQuery = '';
	for (strName in document.forms[strForm].elements) {
		if (strName.substring(0, 7) == 'filter_') {
			strValue = document.forms[strForm].elements[strName].value;
			if (strQuery != '') strQuery += '&';
			strQuery += escape(strName) + '=' + escape(strValue);
		}
	}
	fnAjaxURL('divSide', document.location+'?ajax=list&'+strQuery);
}
document.write('<iframe id="ifmUpload" src="/i_interface/upload_form.asp" style="display:none"></iframe>');
//document.write('<iframe id="ifmUpload" src="/i_interface/upload_form.asp" style="display:none"></iframe>');

