function clearText(el, defaultText) {
	if (el.value == defaultText) {
		el.value = '';
	}
		
}

function resetText(el, defaultText) {
	if (el.value == '') {
		el.value = defaultText;
	}
}
function popmeup(url, name, width, height) {
	var _width = 404;
	var _height = 316;
	if(width != null)
		_width = width;
	if(height != null)
		_height = height;
		
	window.open( url, name, 
	"status = 1, height = " + _height + ", width = " + _width + ", resizable = 1" );
}

 function validateForm(elements) {
	for(var i = 0; i < elements.length; i++) {
		ele = elements[i];
		if (document.getElementById(ele[0]) != null) {
			value = document.getElementById(ele[0]).value;
			isvalid = true;
			if (ele[1] == 'text') {
				if (value == '' || value == ele[3]) {				
					isvalid = false;
				}
			}else if (ele[1] == 'email') {
				if (!isValidEmail(value)) {
					isvalid = false;
				}			
			}else if (ele[1] == 'number') {
				if (!isValidNumber(value)) {
					isvalid = false;
				}
			}		
			if (!isvalid) {
				document.getElementById(ele[0]).focus();
				alert(ele[2]);
				return false;
			}
		}
	} 
	return true;
		
}
 function isValidEmail(input) {
	regx = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
	return regx.test(input);
} 

 function isValidNumber(input) {
	regx = /^-?(0|[1-9]\d*|(?=\.))(\.\d+)?$/;
	return regx.test(input);
}

function scaleImg(what, maxWidth, maxHeight)
{
	var saveWidth = 0;
	var saveHeight = 0;
	var ratio = 1;
	what = document.getElementById(what);
	
	if (what.width > maxWidth || what.height > maxHeight)
	{
		if ((maxHeight / what.height) <= (maxWidth / what.width))
		{
			saveWidth = what.width;
			saveHeight = what.height;
			ratio = what.width / what.height;
			what.height = maxHeight;
			what.width = maxHeight * ratio;
			what.style.cursor = "pointer";
			
		}
		else
		{
		saveWidth = what.width;
		saveHeight = what.height;
		ratio = what.height / what.width;
		what.height = maxWidth * ratio ;
		what.width = maxWidth;
		what.style.cursor = "pointer";
		}
	}
	else if (saveWidth > maxWidth || saveHeight > maxHeight)
	{
		what.width = saveWidth;
		what.height = saveHeight;
		what.style.cursor = "pointer";
	}

}
function toggleDisplay(id) {
	if (document.getElementById(id).style.display == 'none') {
		document.getElementById(id).style.display = '';
	}else{
		document.getElementById(id).style.display = 'none';
	}
}
function openWeblinkPage(webLinkId)
	{
		var element = dojo.byId(webLinkId);
		var item = element.item(element.selectedIndex).value;
		if(item != "")
		{
			window.open(element.item(element.selectedIndex).value , 'my window');
		}
}

function show(objId) {
	setInterval(showDateVN,500, objId);
}    
function showDateVN(objId) {
	var dt = new Date();
	var strMonth = new Array("01","02","03","04","05","06","07","08","09","10","11","12"); 
	var strDay = new Array("Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"); 
	var date = strDay[dt.getDay()] + ", ";
	var years = dt.getYear();
	var days = dt.getDate();
	if (years<1900) years += 1900;
	if (days < 10) {
		date += " 0" + dt.getDate() + "/" + strMonth[dt.getMonth()] + "/" + years;
	}
	else {
		date += " " + dt.getDate() + "/" + strMonth[dt.getMonth()] + "/" + years;
	}
	date += ", " + dt.getHours() + ":";
	if (eval(dt.getMinutes())<10) {
		date += "0";
	}
	date += dt.getMinutes();
	if (document.getElementById(objId) != null) {
		document.getElementById(objId).innerHTML = date;
	}
			
}	

function OnlyContainNumber(e) {
    if (e.keyCode) {
         code = e.keyCode;
    }
    else if (e.which) {
         code = e.which;
    }
    if (code == 8 || code == 9 || code == 13) 
        return true;
    var character = String.fromCharCode (code);
    return ('0' <= character && character <= '9');
}

function copyInnerHLTMfromDivtoDiv(sourceDiv, targetDiv) {
	var lightDisplay = document.getElementById(targetDiv);
	var tempDiv = document.getElementById(sourceDiv);
	lightDisplay.innerHTML = tempDiv.innerHTML;
}

function parseStringToDate(strDDMMYY) {
    
	var str = strDDMMYY.split('/');
	if(str != null && str.length == 3) {
		var year , month, date ;
		year  =  str[2];
		month = (str[1].charAt(0) == '0') ? str[1].substring(1,2) : str[1];
		date  = (str[0].charAt(0) == '0') ? str[0].substring(1,2) : str[0];
		return new Date(year, month - 1, date);
	}
}

function checkChangePage(newURL){
	if(checkSave != 'init'){ // only check save if page have save function
		//if choose save:
			//save, then change page if save success
			//save, then do nothing if save fail
		//if choose cancel:
			// change page without save
		var saveReturn = unLoadPage(newURL);
		if(saveReturn == 'cancel') {	//Don't save
			changeURL(newURL);
		}
	} else {
		changeURL(newURL);
	}
}

function changeURL(url){	
	var myUrl = window.location.href;
	var index = myUrl.indexOf(contextPath);
	var local = myUrl.substring(0,index);
	window.location.href = local + url;
}
function doToggleActionAjaxSubmit(divName, divNameView, url, formId, urlView, formIdView ,status, divIdLight, divIdPage){					
if (formId == null){
	new Ajax.Updater({success: divName, failure: divName}, url, null);
} else {
	var objForm = getElementFromId(formId); 
	new Ajax.Updater({success: divName, failure: divName}, url, {parameters:Form.serialize(objForm), evalScripts:true,
		onComplete: function (response) {
			var responseS = response.responseText;
			
			if (responseS == null || responseS == ''){
				
			}else if (responseS.indexOf("_", 0) > 0) {
				var intypemess = responseS.indexOf("_", 0);
				var messcontent = responseS.slice(intypemess + 1, responseS.length);
				var messtype = responseS.slice(0, intypemess);
				messtype = responseS.slice(messtype.indexOf(":", 0) + 1, messtype.length);
				if (messtype=="error"){
					alert(messcontent);
					if (refreshIfFalse){
						doAjaxSubmit(divName, urlView);
					}
					
					return false;
				}
				if (messtype=="success"){
					alert(messcontent);
					parent_window.doAjaxSubmit(divNameView, urlView, formIdView);
					toggleLightbox(status, divIdLight, divIdPage);
					return true;
				}
			}
		}
	});
}
}



function doAjaxFormSave(divName, url, formId, newURL){	
	var objForm = getElementFromId(formId);
	new Ajax.Updater({success: divName, failure: divName}, url, {parameters:Form.serialize(objForm), evalScripts:true,
	onComplete: function (response) {
		var responseS = response.responseText;
		if (responseS == null || responseS == ''){
		} else if (responseS.indexOf("_", 0) > 0) {
			var intypemess = responseS.indexOf("_", 0);
			var messcontent = responseS.slice(intypemess + 1, responseS.length);
			var messtype = responseS.slice(0, intypemess);
			messtype = responseS.slice(messtype.indexOf(":", 0) + 1, messtype.length);
			if (messtype=="error"){
				alert(messcontent);
				return false;
			} else if (messtype=="success"){
				alert(messcontent);
				document.location = newURL;
				return true;
			}
		}
	}
}
);
}


function getElementFromId(id)
{
	if (document.getElementById)
	var returnVar = document.getElementById(id);
	else if (document.all)
	var returnVar = document.all[id];
	else if (document.layers)
	var returnVar = document.layers[id];
	return returnVar;
}

function showElementId(id) 
{
	var elm = getElementFromId(id);
	if(elm) {
	elm.style.display = 'block';
	}
}

function hideElementId(id) 
{
	var elm = getElementFromId(id);
	if(elm) {
		elm.style.display = 'none';
	}
}

function showElement(elm)
{
	elm.style.display = 'block';
}

function hideElement(elm)
{
	elm.style.display = 'none';
}


function toggleElement(id)
{
	var elm = getElementFromId(id);
	if( elm == null ) return false;
	elm.style.display = elm.style.display == 'none' ? 'block' : 'none';
}

function toggleImageSrc(imgElm, src1, src2)
{
	var src = imgElm.src;
	var v1 = src1.substr(2);
	var v2 = src2.substr(2);
	var idx = src.indexOf(v1);
	imgElm.src = idx > -1 ? src2 : src1;
}

function deleteQuickAdd(confirmMessage,divName, divNameView, url, formId, urlView, formIdView, refreshIfFalse, changeUrlIfTrue){
	var ok =confirm(confirmMessage);
	if(!ok) return false;
	doAjaxActionForm(divName, divNameView, url, formId, urlView, formIdView, refreshIfFalse, changeUrlIfTrue);
	return true;
}

function doAjaxSubmit(divName, url, formId){					
	if (formId == null){
		new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true});
	} else {
		var objForm = getElementFromId(formId); 
		new Ajax.Updater({success: divName, failure: divName}, url, {parameters:Form.serialize(objForm), evalScripts:true});
	}	
}
function doAjaxSubmitWithoutEvalScript(divName, url, formId){					
	if (formId == null){
		new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:false});
	} else {
		var objForm = getElementFromId(formId); 
		new Ajax.Updater({success: divName, failure: divName}, url, {parameters:Form.serialize(objForm), evalScripts:false});
	}	
}

function doAjaxSubmitMessage(divName, url, formId, errorMsg, successMsg){					
	if (formId == null){
		new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
			onComplete: function (response) {
				var responseS = response.responseText;
				
				if (responseS == null || responseS == ''){
					
				} else if (responseS.indexOf("_", 0) > 0) {
					var intypemess = responseS.indexOf("_", 0);
					var messcontent = responseS.slice(intypemess + 1, responseS.length);
					var messtype = responseS.slice(0, intypemess);
					messtype = responseS.slice(messtype.indexOf(":", 0) + 1, messtype.length);
					if (messtype=="error"){
						alert(errorMsg);
					}
					if (messtype=="success"){
						alert(successMsg);
					}
				}
			}
		});
	} else {
		var objForm = getElementFromId(formId); 
		new Ajax.Updater({success: divName, failure: divName}, url, {parameters:Form.serialize(objForm), evalScripts:true,
			onComplete: function (response) {
				var responseS = response.responseText;
				
				if (responseS == null || responseS == ''){
					
				} else if (responseS.indexOf("_", 0) > 0) {
					var intypemess = responseS.indexOf("_", 0);
					var messcontent = responseS.slice(intypemess + 1, responseS.length);
					var messtype = responseS.slice(0, intypemess);
					messtype = responseS.slice(messtype.indexOf(":", 0) + 1, messtype.length);
					if (messtype=="error"){
						alert(errorMsg);
					}
					if (messtype=="success"){
						alert(successMsg);
					}
				}
			}
		});
	}	
}

function doAjaxActionForm(divName, divNameView, url, formId, urlView, formIdView, refreshIfFalse, changeUrlIfTrue){	
	var orgUrlView = urlView;		
	//divName : div nhan ket qua tra ve cuoi cung
	//divNameView : div hien thi alert
	//formId : form truyen data cho action url
	//formIdView :form truyen data cho action urlView
	// Add divId to urlView, this code is used for paging
	if (urlView.indexOf("divId") < 0) {
		if (urlView.indexOf("?") >= 0){
			urlView = urlView + "&divId=" + divName;
		} else {
			urlView = urlView + "?divId=" + divName;
		}
	}	
	
	if (urlView.indexOf("formId") < 0) {
		if (urlView.indexOf("?") >= 0){
			urlView = urlView + "&formId=" + formIdView;
		} else {
			urlView = urlView + "?formId=" + formIdView;
		}
	}
		
	if (formId == null){
		if (divNameView == null || divNameView == '')
			divNameView = 'searchResultList';
			
		new Ajax.Updater({success: divNameView, failure: divNameView}, url, {
		onComplete: function (response) {
			var responseS = response.responseText;
			
			if (responseS == null || responseS == ''){
				
			} else if (responseS.indexOf("_", 0) > 0) {
				var intypemess = responseS.indexOf("_", 0);
				var messcontent = responseS.slice(intypemess + 1, responseS.length);
				var messtype = responseS.slice(0, intypemess);
				messtype = responseS.slice(messtype.indexOf(":", 0) + 1, messtype.length);
				if (messtype=="error"){
					alert(messcontent);
					
					if (refreshIfFalse){
						if(changeUrlIfTrue){
							changeURL(orgUrlView);
						} else {
							doAjaxSubmit(divName, urlView, formIdView);
						}
					}
					return false;
				}
				if (messtype=="success"){
					alert(messcontent);
					
					if(changeUrlIfTrue){
						changeURL(orgUrlView);
					} else {
						alert("Hehehre");
						doAjaxSubmit(divName, urlView, formIdView);
					}
					return true;
				}
			}
		}
		});
	} else {		
		
		if (divNameView == null || divNameView == '')
			divNameView = 'searchResultList';
	
		var objForm = getElementFromId(formId); 
		new Ajax.Updater({success: divNameView, failure: divNameView}, url, {parameters:Form.serialize(objForm), evalScripts:true,
		onComplete: function (response) {
			var responseS = response.responseText;
			
			if (responseS == null || responseS == ''){
				
			}else if (responseS.indexOf("_", 0) > 0) {
				var intypemess = responseS.indexOf("_", 0);
				var messcontent = responseS.slice(intypemess + 1, responseS.length);
				var messtype = responseS.slice(0, intypemess);
				messtype = responseS.slice(messtype.indexOf(":", 0) + 1, messtype.length);
				if (messtype=="error"){
					alert(messcontent);
					
					if (refreshIfFalse){
						if(changeUrlIfTrue){
							changeURL(orgUrlView);
						} else {
							doAjaxSubmit(divName, urlView, formIdView);
						}
					}
					return false;
				}
				if (messtype=="success"){
					alert(messcontent);
					
					if(changeUrlIfTrue){
						changeURL(orgUrlView);
					} else {
						doAjaxSubmit(divName, urlView, formIdView);
					}
					return true;
				}
			}
		}
		});
	}
}


function doAjaxSubmitPager(divId, url, formId, numPerPage, totalItems, pageNumber){							
	
	
	/*if(numPerPage != null) {
		var tempNum = url.substring(url.indexOf("maxPageItems=") + 13, url.indexOf("maxPageItems=") + 15);		

		url = url.replace("maxPageItems="+tempNum, "maxPageItems="+numPerPage);						

		var newPageOffset = pageNumber * numPerPage;
		var pageOffset = url.substring(url.indexOf("firstItem=") + 10);
		if(newPageOffset > totalItems){					
			url = url.replace("firstItem="+pageOffset, "firstItem=0");
		}else{
			newPageOffset = (pageNumber-1) * numPerPage;	
			url = url.replace("firstItem="+pageOffset,"firstItem="+newPageOffset.toString());
		}
	}else{
		url = url.replace("pager.offset=","firstItem=");
	}*/
	url = url.replace("pager_offset=","firstItem=");
	if (numPerPage != null){
	   var tempNum = url.substring(url.indexOf("maxPageItems=") + 13, url.indexOf("maxPageItems=") + 15);
	   url = url.replace("maxPageItems="+tempNum, "maxPageItems="+numPerPage);	
	}
	if (url.indexOf("?") >= 0){
		url = url + "&divId=" + divId;
	} else {
		url = url + "?divId=" + divId;
	}
	if (formId == null || formId == ""){
		new Ajax.Updater({success: divId, failure: divId}, url, {evalScripts:true});
	} else {
	
		url = url + "&formId=" + formId;		
		var objForm = getElementFromId(formId);
		new Ajax.Updater({success: divId, failure: divId}, url, {parameters:Form.serialize(objForm), evalScripts:true});
	}	
}

function doAjaxSubmitPagerAction(divId, url, formId, idFullName, idHiddenField){							
	if (url.indexOf("?") >= 0){
		url = url + "&divId=" + divId;
	} else {
		url = url + "?divId=" + divId;
	}
	if (formId == null || formId == ""){
		new Ajax.Updater({success: divId, failure: divId}, url, {evalScripts:true});
	} else {
		url = url + "&formId=" + formId;
		var objForm = getElementFromId(formId); 
		new Ajax.Updater({success: divId, failure: divId}, url, {parameters:Form.serialize(objForm), evalScripts:true, 
		onComplete: function (response) {
			var responseS = response.responseText;
			
			if (responseS == null || responseS == ''){
				
			}else if (responseS.indexOf("_", 0) > 0) {
				var intypemess = responseS.indexOf("_", 0);
				var messcontent = responseS.slice(intypemess + 1, responseS.length);
				var messtype = responseS.slice(0, intypemess);
				messtype = responseS.slice(messtype.indexOf(":", 0) + 1, messtype.length);
				if (messtype=="error"){
					document.getElementById(divId).innerHTML = msg_general_search_condition_text;
					alert(messcontent);
				}else {
					document.getElementById(idFullName).value = document.getElementById(idHiddenField).value;
				}
			}
		}
		});
	}	
}

function doAjaxSubmitPrint(divName, url, formId){
		var objForm = getElementFromId(formId);
		
		if (formId != null) {
			new Ajax.Updater({success: divName, failure: divName}, url, {parameters:Form.serialize(objForm), evalScripts:true,
				onComplete: function (response) {
					var responseS = response.responseText;
					
					var newWindow = window.open("");
					newWindow.document.write(responseS);
					newWindow.focus();
					newWindow.document.close();
				}
			});
		} else {
			new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
				onComplete: function (response) {
					var responseS = response.responseText;
					var newWindow = window.open("");
					newWindow.document.write(responseS);
					newWindow.focus();
					newWindow.document.close();
				}
			});
		}
}
function doAjaxAction(div, action, formId, listName, actionView, formIdView, nodatamessage, message, messageFlag){
	var nodata = nodatamessage? nodatamessage : msg_general_must_choose_at_least_one_error;
	var msg = message?message:msg_general_confirm_do_action_message;

	var form = getElementFromId(formId); 
	if(form) {
		var list =  form.elements[listName];
		if(list){ //List exist
			var listSize = list.length;
			if(listSize){ //List have many elements				
				for(i = 0;i < listSize; i++)
					if(list[i].checked){
						if (messageFlag != null && messageFlag) {
							var ok =confirm(msg);
							if(!ok) return false;
						}
						doAjaxActionForm(div, div, action, formId, actionView, formIdView, true);
						return true;
					}
				alert(nodata);

				return false;
			}else if(list.checked) { //List has 1 element and checked
				if (messageFlag != null && messageFlag) {
					var ok =confirm(msg);
					if(!ok) return false;
				}
				
				doAjaxActionForm(div, div, action, formId, actionView, formIdView, true);
				return true;
			}else {	//List has 1 element and isn't checked
				alert(nodata);
				return false;
			}
		}else //No list exist
			alert(nodata);

	}
	
}

function doAjaxDelete(div, action, formId, listName, actionView, formIdView, nodatamessage, message){
	var nodata = nodatamessage? nodatamessage : msg_general_must_choose_at_least_one_error;
	var msg = message?message:msg_general_confirm_delete_selected_item_message;
	
	var form = getElementFromId(formId); 
	if(form) {
		var list =  form.elements[listName];
		if(list){ //List exist
			var listSize = list.length;
			if(listSize){ //List have many elements
				for(i = 0;i < listSize; i++)
					if(list[i].checked){
						var ok =confirm(msg);
						if(!ok) return false;
						
						
						doAjaxActionForm(div, null, action, formId, actionView, formIdView, true);
						
						return true;
					}
				alert(nodata);

				return false;
			}else if(list.checked) { //List has 1 element and checked
				var ok =confirm(msg);
				if(!ok) return false;
				
				
				doAjaxActionForm(div, null, action, formId, actionView, formIdView, true);
				
				return true;
				return true;
			}else {	//List has 1 element and isn't checked
				alert(nodata);

				return false;
			}
		}else //No list exist
			alert(nodata);

	}
}	
function exportToExcel(flagDivResult, url, formId) {
	if(document.getElementById(flagDivResult) != null) {
		var currenForm = document.getElementById(formId);
		currenForm.action = url;
		currenForm.submit();
	} else {
		alert(msg_general_no_data_exporting);
	}
}
function checkAll(listName, thisStatus){
	var list = document.getElementsByName(listName);
	var listSize = list.length;
	if(listSize > 0) { //Have one or more element
		for(i = 0; i < listSize; i++) {
			list[i].checked = thisStatus.checked ? true : false;
		}
	}
}
function checkEmpty(checkListArray, messageError){
	if (checkListArray == null) {
		if (messageError == null || messageError == '') {
			alert(msg_general_must_choose_at_least_one_error);
		} else {
			alert(messageError);
		}
		
		return false;
	} else if (checkListArray.length == 0) {
		if (messageError == null || messageError == '') {
			alert(msg_general_must_choose_at_least_one_error);
		} else {
			alert(messageError);
		}
		
		return false;
	}else {
		var listSize = checkListArray.length;
		var flag = false;
		if(listSize > 0){
			for(var i = 0;i < listSize; i++) {
				if(checkListArray[i].checked){
					flag = true;
				}	
			}
		}
		
		if (! flag) {
			if (messageError == null || messageError == '') {
				alert(msg_general_must_choose_at_least_one_error);
			} else {
				alert(messageError);
			}
			
			return false;
		}
		
		return true;
	}
}
function deleteCustomer(divId, action, formId, fieldId, value){
		input_box=confirm(msg_general_auto_check_stock_symbol_no_exist_text);
		if (input_box==true){ 
			// Output when OK is clicked
			getElementFromId(fieldId).value = value;
			doAjaxSubmit(divId,action,formId);
		}
	};			
	
	
function doAjaxAutoCheckSymbol(currentElement, url, divName, arrayInput){	
	//var url = "${ctx}/content/autocheck/stocksymbol.html?symbol=" + currentElement.value;
	new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
		onComplete: function (response) {
			var responseS = response.responseText;
			if (responseS.indexOf("error") > 0){
				alert(currentElement.value + " " + msg_general_auto_check_stock_symbol_no_exist_text);
				currentElement.value = "";
				currentElement.focus;
			} else if (responseS.indexOf("success") > 0){
				doAjaxSetStockRenderValue(divName, currentElement.value, arrayInput);
			}
			return;
		}
	});	
}
function doAjaxAutoCheckAccount(currentElement, url, divName, arrayInput){

	new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
		onComplete: function (response) {
			
			var responseS = response.responseText;
			
			if (responseS.indexOf("error") > 0){
			
				alert(currentElement.value + " " + msg_general_auto_check_account_no_exist_text);
				currentElement.value = "";
				currentElement.focus;
			} else if (responseS.indexOf("success") > 0){
				doAjaxSetAccountRenderValue(divName, currentElement.value, arrayInput);
			}
			return;
		}
	});	
}

function doAjaxAutoCheckGeneratedAccountNo(txtPrefix,currentElement, url, divName, arrayInput){	
	new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
		onComplete: function (response) {
			var responseS = response.responseText;
			if (responseS.indexOf("error") > 0){
				alert(txtPrefix.value + currentElement.value + " " + msg_general_auto_check_customer_account_number_exist_text);
				currentElement.value = "";
				currentElement.focus;
			} else if (responseS.indexOf("success") > 0){
				//doAjaxSetAccountRenderValue(divName, currentElement.value, arrayInput);
			}
			return;
		}
	});	
}
function doAjaxAutoCheckTraderCode(currentElement, url, divName, arrayInput){	
	new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
		onComplete: function (response) {
			var responseS = response.responseText;
			if (responseS.indexOf("error") > 0){
				alert(currentElement.value + " " + msg_general_auto_check_trader_code_exist_text);
				currentElement.value = "";
				currentElement.focus;
			} else if (responseS.indexOf("success") > 0){
				doAjaxSetTraderCodeRenderValue(divName, currentElement.value, arrayInput);
			}
			return;
		}
	});	
}		
function doAjaxAutoCheckUserName(currentElement, url, divName, arrayInput){	
	new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
		onComplete: function (response) {
			var responseS = response.responseText;
			if (responseS.indexOf("error") > 0){
				alert(currentElement.value + " " + msg_general_auto_check_user_name_exist_text);
				currentElement.value = "";
				currentElement.focus;
			} else if (responseS.indexOf("success") > 0){
				doAjaxSetUserNameRenderValue(divName, currentElement.value, arrayInput);
			}
			return;
		}
	});	
}	
function doAjaxSetUserNameRenderValue(divName, username, arrayInput){	
	try{
	var url = contextPath + "/content/autocheck/getusernamedata.html?username=" + username;
		for(var i=0; i< arrayInput.length; i++){	
			url = url + "&" + arrayInput[i] + "=" + arrayInput[i];
		}
		new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
			onComplete: function (response) {
				var responseS = response.responseText;
				var beginPosition = parseInt(responseS.indexOf("begin")) + 6; //5 is length of begin
				var endPosition = parseInt(responseS.indexOf("end")) - 1; //1: except leter "e"
				responseS = responseS.substring(beginPosition, endPosition);
				var arrayResult = responseS.split("\n");
				autoSetUserName(arrayResult);
				return;
			}
		});	
	}catch(e){
			
	}
}		
function checkAllIfOne(listName, thisStatus, checkboxAll){
	var allCheck = document.getElementsByName(checkboxAll);
	if(!thisStatus.checked)	//uncheck one  checkbox
		allCheck[0].checked = false;
	else{	//check one  checkbox
		var checkList = document.getElementsByName(listName);
		var listSize = checkList.length;
		if(listSize > 0){ //Have one or more elements
			for(i = 0;i < listSize; i++)
				if(!checkList[i].checked)
					return false;
			allCheck[0].checked = true;
		}
	}
}
function clickModuleCheckbox(currentCheck, module){
	var i_screen = 1;
	var j_function = 1;
	while (document.getElementById(module + "_" + i_screen)){
		j_function = 1;
		$(module + "_" + i_screen).checked = currentCheck.checked ? true : false;
		while (document.getElementById(module + "_" + i_screen + "_" + j_function)){
			$(module + "_" + i_screen + "_" + j_function).checked = currentCheck.checked ? true : false;
			j_function = j_function + 1;
		}
		i_screen = i_screen + 1;
	}
}

function clickcScreenCheckbox(currentCheck, module, screen){
	var i_count = 1;
	//check all permission
	while (document.getElementById(screen + "_" + i_count)){
			$(screen + "_" + i_count).checked = currentCheck.checked ? true : false;
		i_count = i_count + 1;
	}
	
	//check, uncheck for mudule
	i_count = 1;
	if(!currentCheck.checked){	//uncheck one checkbox permission
		$(module).checked = false;
	}else{	//check one checkbox function
		while(document.getElementById(module + "_" + i_count)){
			if(!$(module + "_" + i_count).checked) //has a screen uncheck
				return false;
			i_count = i_count + 1;
		}
		$(module).checked = true;
	}
	return true;
}

function clickFunctionCheckbox(currentCheck, module, screen){
	var i_count = 1;
	
	if(!currentCheck.checked){	//uncheck one checkbox function
		$(screen).checked = false;
		$(module).checked = false;
	}else{	//check one checkbox function
		while(document.getElementById(screen + "_" + i_count)){
			if(!$(screen + "_" + i_count).checked) //has a function uncheck
				return false;
			i_count = i_count + 1;
		}
		$(screen).checked = true;
		
		while(document.getElementById(module + "_" + i_count)){
			if(!$(module + "_" + i_count).checked) //has a screen uncheck
				return false;
			i_count = i_count + 1;
		}
		$(module).checked = true;
	}
	return true;
}
	
function changeCurrentTab(tabName)
{	
	
	new Ajax.Request('/skycoreweb/common/update-tab.html?tab=' + tabName);
}
function clickTopMenu(id, collapseid, expandid) {
	var collapse = getElementFromId(collapseid);
	if (collapse==null) return false;
	
	var expand = getElementFromId(expandid);
	if (expand==null) return false;
	
	var elm = getElementFromId(id);
	if( elm == null ) return false;

	if (elm.style.display == 'none'){
		elm.style.display = 'block';
		collapse.style.display = 'none';
		expand.style.display = 'block';
		return false;
	}else {
		elm.style.display = 'none';
		collapse.style.display = 'block';
		expand.style.display = 'none';
		return false;
	}
};
function moveOnTopCollapse(invisble1, display, id, invisble2, invisble3){
	var inv1 = getElementFromId(invisble1);
	if (inv1==null) return false;

	var dis = getElementFromId(display);
	if (dis==null) return false;
	
	var elm = getElementFromId(id);
	if (elm==null) return false;
	
	var inv2 = getElementFromId(invisble2);
	if (inv2==null) return false;
	
	var inv3 = getElementFromId(invisble3);
	if (inv3==null) return false;
	
	if (elm.style.display == 'block'){
		inv1.style.display = 'none';
		dis.style.display = 'none';
	}else{
		inv1.style.display = 'none';
		dis.style.display = 'block';
		inv2.style.display = 'none';
		inv3.style.display = 'none';
	}
};

function buttonSubmit(divId, action, formId, fieldId, value){
	getElementFromId(fieldId).value = value;
	doAjaxSubmit(divId,action,formId);
};

function menuMouseOver(element)
{
	var cls = element.className;
	var suffix = cls.substr(cls.length - 4);
	if(suffix != 'over') element.className = cls + 'over';
}

function menuMouseOut(element)
{
	var cls = element.className;
	var suffix = cls.substr(cls.length - 4);
	if(suffix == 'over') {
		cls = cls.substr(0,cls.length - 4);
		element.className = cls;
	}
}

function menuClick(element,isShowLoading)
{	
	var cls = element.className;
	var suffix = cls.substr(cls.length - 10);
	if( suffix == 'expandover' ) {
		element.className = cls.substr(0,cls.length - 10) + 'collapseover';
		hideElementId(element.id + '-sub');
	} else {
		element.className = cls.substr(0,cls.length - 12) + 'expandover';
		showElementId(element.id + '-sub');
		if(typeof(isShowLoading) != 'undefined' && isShowLoading != null){
			isMenuLoading = isShowLoading;		
		}else{
			isMenuLoading = true;
		}
	}		
	changeCurrentTab(element.id);
}
function changeTab(tabId){
	if(tabId == 'account_information'){
		document.getElementById('account_information').style.display = 'block';
		document.getElementById('li_ai').className = 'current';
		document.getElementById('cash_transaction').style.display = 'none';
		document.getElementById('li_ct').className = '';
		document.getElementById('stock_transaction').style.display = 'none';
		document.getElementById('li_st').className = '';
		
	}
	if(tabId == 'cash_transaction'){
		document.getElementById('account_information').style.display = 'none';
		document.getElementById('li_ai').className = '';
		document.getElementById('cash_transaction').style.display = 'block';
		document.getElementById('li_ct').className = 'current';
		document.getElementById('stock_transaction').style.display = 'none';
		document.getElementById('li_st').className = '';
	}
	if(tabId == 'stock_transaction'){
		document.getElementById('account_information').style.display = 'none';
		document.getElementById('li_ai').className = '';
		document.getElementById('cash_transaction').style.display = 'none';
		document.getElementById('li_ct').className = '';
		document.getElementById('stock_transaction').style.display = 'block';
		document.getElementById('li_st').className = 'current';
		
	};
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function checkDateRequired(fieldDate, msgError) {
	var tradingDate = document.getElementById(fieldDate).value;
	if(tradingDate != null && trim(tradingDate) == "") {
		alert(msgError);
		return true;
	} else {
		return false;
	}
}
function doAjaxSetStockRenderValue(divName, symbol, arrayInput){	
	try{
	var url = contextPath + "/content/autocheck/getstockdata.html?symbol=" + symbol;
		for(var i=0; i< arrayInput.length; i++){	
			url = url + "&" + arrayInput[i] + "=" + arrayInput[i];
		}
		new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
			onComplete: function (response) {
				var responseS = response.responseText;
				var beginPosition = parseInt(responseS.indexOf("begin")) + 6; //5 is length of begin
				var endPosition = parseInt(responseS.indexOf("end")) - 1; //1: except leter "e"
				responseS = responseS.substring(beginPosition, endPosition);
				var arrayResult = responseS.split("\n");
				autoCheckSetStockSymbolValue(arrayResult);
				return;
			}
		});	
	}catch(e){
			
	}
}

function checkOnserver(url, elm, elm1) {
	new Ajax.Updater({success: "abc", failure: "abc"}, url, {evalScripts:true, onComplete: function (response) {
			var responseS = response.responseText;
			if (responseS == null || responseS == '') {
				return false;
			} else if (responseS.indexOf("_", 0) > 0) {
				var intypemess = responseS.indexOf("_", 0);
				var messcontent = responseS.slice(intypemess + 1, responseS.length);
				var messtype = responseS.slice(0, intypemess);
				messtype = responseS.slice(messtype.indexOf(":", 0) + 1, messtype.length);
				if (messtype=="error"){
					alert(messcontent);
					if (elm != null) {
						elm.value='';
					}
					if (elm1 != null) {
						elm1.value='';
						elm1.focus();
					}
				} else if (messtype=="success"){
					if (elm != null) {
						elm.value=messcontent;
					}
				}
			}
		}
	});
}

function checkOnserver2(url, elm, elm2, elm1) {
	new Ajax.Updater({success: "abc", failure: "abc"}, url, {evalScripts:true, onComplete: function (response) {
			var responseS = response.responseText;
			if (responseS == null || responseS == '') {
				return false;
			} else if (responseS.indexOf("_", 0) > 0) {
				var intypemess = responseS.indexOf("_", 0);
				var messcontent = responseS.slice(intypemess + 1, responseS.length);
				var messtype = responseS.slice(0, intypemess);
				messtype = responseS.slice(messtype.indexOf(":", 0) + 1, messtype.length);
				if (messtype=="error"){
					alert(messcontent);
					if (elm != null) {
						elm.value='';
						elm2.value='';
					}
					if (elm1 != null) {
						elm1.value='';
						elm1.focus();
					}
				} else if (messtype=="success"){
					var messcontent1 = '';
					var messcontent2 = '';
					var intMesscontent = messcontent.indexOf(",", 0);
					messcontent1 = messcontent.slice(0, intMesscontent);
					messcontent2 = messcontent.slice(intMesscontent + 1, messcontent.length);
					
					if (elm != null) {
						elm.value=messcontent1;
						elm2.value=messcontent2;
					}
				}
			}
		}
	});
}

function doAjaxSetAccountRenderValue(divName, account, arrayInput){	
	try{
	var url = contextPath + "/content/autocheck/getaccountdata.html?accountno=" + account;
		for(var i=0; i< arrayInput.length; i++){	
			url = url + "&" + arrayInput[i] + "=" + arrayInput[i];
		}
		new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
			onComplete: function (response) {
				var responseS = response.responseText;
				var beginPosition = parseInt(responseS.indexOf("begin")) + 6; //5 is length of begin
				var endPosition = parseInt(responseS.indexOf("end")) - 1; //1: except leter "e"
				responseS = responseS.substring(beginPosition, endPosition);
				var arrayResult = responseS.split("\n");
				autoSetAccountNumber(arrayResult);
				return;
			}
		});	
	}catch(e){
			
	}
}
function doAjaxSetTraderCodeRenderValue(divName, traderCode, arrayInput){	
	try{
	var url = contextPath + "/content/autocheck/gettradercodedata.html?traderCode=" + traderCode;
		for(var i=0; i< arrayInput.length; i++){	
			url = url + "&" + arrayInput[i] + "=" + arrayInput[i];
		}
		new Ajax.Updater({success: divName, failure: divName}, url, {evalScripts:true,
			onComplete: function (response) {
				var responseS = response.responseText;
				var beginPosition = parseInt(responseS.indexOf("begin")) + 6; //5 is length of begin
				var endPosition = parseInt(responseS.indexOf("end")) - 1; //1: except leter "e"
				responseS = responseS.substring(beginPosition, endPosition);
				var arrayResult = responseS.split("\n");
				autoSetTraderCode(arrayResult);
				return;
			}
		});	
	}catch(e){
			
	}
}
function checkSubmit(issuerCode, divName, action, formId ){
	var form = getElementFromId(formId);
	if(form){
		var elm = getElementFromId(issuerCode);
		if(elm.value < 0){
			alert(msg_add_new_issuer_code_error);
			return false;
		}
		doAjaxSubmitPager(divName, action, formId);
		
	}
}				

var cursor = {x:0, y:0};
function setMousePosition(e) {
	e = e || window.event;
	cursor.x = e.clientX;
	cursor.y = e.clientY;
}
	

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
     function changeKQDT(contractid){
       for(i = 0; i < arrayKQDT.length; i++){
           var item = arrayKQDT[i];
           if (item[0] == contractid){
             dijit.byId('days').setValue(item[1]);
             dijit.byId('cost').setValue(item[2]);
             break;
          }
       }
    }
    function changesProjectwork(contractId) {
        for(i = 0; i < arrayHMKQDT.length; i++) {
            var item = arrayHMKQDT[i];
            if (item[1] == contractId) {
                document.getElementById('projectwork_'+item[0]+'_'+contractId).style.display='block';
            }
        }
        clearStyledisplay(arrayNVKQDT, 'projectwork_', contractId);
    }
    function changesCapital(contractId) {
        for(i = 0; i < arrayNVKQDT.length; i++) {
            var item = arrayNVKQDT[i];
            if (item[1] == contractId) {
                document.getElementById('capital_'+item[0]+'_'+contractId).style.display='block';
            }
        }    
        clearStyledisplay(arrayNVKQDT, 'capital_', contractId);
    }
    function clearStyledisplay(paramArr, divId, contractId){
        array = paramArr;
        for(i = 0; i < array.length; i++) {
            var item = array[i];
            if (item[1] != contractId) {
                document.getElementById(divId+item[0]+'_'+item[1]).style.display='none';
            }
        }    
    }
     function showCapitalAndProjectwork() {
        if (arrayNVKQDT != null && arrayNVKQDT.length > 0){
            for(i = 0; i < arrayNVKQDT.length; i++) {
                var item = arrayNVKQDT[i];
                document.getElementById('capital_'+item[0]+'_'+item[1]).style.display='block';   
            }
        }
        if(arrayHMKQDT != null && arrayHMKQDT.length > 0){
            for(i = 0; i < arrayHMKQDT.length; i++) {
            var item = arrayHMKQDT[i];
            document.getElementById('projectwork_'+item[0]+'_'+item[1]).style.display='block';
        }
        }
        
    }
