function doNothing() { }
function trim(name)
{
 var thelength =name.length;
 var index1=0;
 var index2=thelength -1;
   if (thelength > 0)
   {
       while ((index1 < thelength) &&(name.charAt(index1)==" "))	  	
	{
	index1++;
	}
        if (index1 == thelength) return "";
        else
           while ( (index2 > index1) &&(name.charAt(index2)==" ")) 	
	index2--;

        return name.substring(index1,index2 +1);
    }
return "";

}

function checkEmail(name)
{
   var email=name;	
   var reg = new RegExp("^[A-Za-z0-9\._-]+@([A-Za-z][A-Za-z0-9-]{1,62})(\.[A-Za-z][A-Za-z0-9-]{1,62})+$");  
  return reg.test(email);
}

function checkUserName(name)
{
	var regtwo = new RegExp('[^a-zA-Z0-9_-]');

	return	regtwo.test(name);

}

function validateForm(requirements, curFm) {

	
	isValid = true;
  if (typeof curFm.entityName != undefined){
	entityName = curFm.entityName.value;
}
    for (var i = 0; i<curFm.elements.length; i++) {
    	curField = curFm.elements[i];
        elName = curFm.elements[i].name;
		curValue = trim(curFm.elements[i].value);	        
		fieldType = curFm.elements[i].type;
        for (var required in requirements) {
        	if(elName==requirements[required] || elName == requirements[required]+"[]"){
				switch (fieldType) {
					case 'text':
					case 'textarea':
					case 'password':
					case 'file':
						if (curValue == '') {
							isValid = false; 
							focusField = curField;					
						}
						else{
							mailName = entityName + 'Email';	
							
							if (elName == mailName)	{
									if (!checkEmail(curValue)){
										isValid=false;
										focusField = curField;
									}
									
							}
								
							
							checkusername = entityName + 'UserName';
							if (elName == checkusername) {
								
								if	(checkUserName(curValue)) {
									isValid=false;
									focusField = curField;
								}
							}

							checkma = entityName + 'Ma';
							if (elName == checkma) {
								
								if	(checkUserName(curValue)) {
									isValid=false;
									focusField = curField;
								}
							}

							checkOrder = entityName + 'Order';
							
							if (elName == checkOrder) {
								if(isNaN(curValue) || parseInt(curValue) <=0 ) {
									isValid=false;
									focusField = curField;
								}
							}

							checkOrder = entityName + 'Thutu';
							
							if (elName == checkOrder) {
								if(isNaN(curValue) || parseInt(curValue) <=0 ) {
									isValid=false;
									focusField = curField;
								}
							}

							checkShowTop = entityName + 'newsShowTop';
							if (elName == checkShowTop) {
								if(isNaN(curValue) || parseInt(curValue) <0 ) {
									isValid=false;
									focusField = curField;
								}
							}
						}
						break;
					case 'select-one':
					case 'select-multiple':
						if (curField.selectedIndex  && curField.options[curField.selectedIndex].value != '') {
							isValid = true;
						} else {
							isValid = false;
							focusField = curField;
						}
						break;
					case 'radio':
					case 'checkbox':
						numSelected = 0;
						isValid = false;
						sameField = true;
						while(sameField) {				
							if (curFm.elements[i].checked) {
								numSelected++;
								isValid = true;
							}
							if(curFm.elements[i+1].name.indexOf(requirements[required]) != -1) {
								sameField = true;
								i++;
							} else {
								sameField = false;
								if(!numSelected){
									focusField = 'unsupportedType';
								}
							}										
						}
						break;
				}
        	}
        	if(isValid == false) break; // if a missing requirement already found, stop checking
        }
        if(isValid == false) break; // if a missing requirement already found, stop checking
    }		
	if (!isValid) {
		if(focusField == 'unsupportedType'){
			window.alert('Ban chua dien day du thong tin.');		
			return false;
		} else {
			window.alert('Ban chua dien day du thong tin. Vui long kiem tra lai gia tri tai vi tri con tro hien thoi.');
			focusField.focus();
			return false;
		}
	}			
	return true;
}


function addOption(selectObj, optLabel, optValue) {
	if (navigator.appName == "Netscape") {
		var newOpt  = new Option(optLabel, optValue);
        var selectLength = selectObj.length;
        selectObj.options[selectLength] = newOpt;
	} else {
		newOpt = document.createElement("OPTION");
		newOpt.text = optLabel;
		newOpt.value = optValue;
		selectObj.add(newOpt);
	}
	return newOpt;
}

function toggleFrameSize(frameObj, setSize) {
		frameNumber = frameObj.name;
		frameObjs = new Array();
		frameObjs[1] = top.mainContent;
		framesetObjs = new Array();
		framesetObjs[1] = frameObjs[1]['frameset1'];
		for (i = 2;i <= frameNumber; i++) {
			frameObjs[i] = frameObjs[i-1]['Set' + i];
			framesetObjs[i] = frameObjs[i]['frameset' + i];
		}
		
		for (i = 1; i < framesetObjs.length; i++) {
			framesetObj = framesetObjs[i];
			frameNumber = 1;
			if (setSize != 0) {
				framesetObj.cols = setSize + ',*';
			} else if (framesetObj.cols == "75,*") {
				framesetObj.cols = saveFrameSize[frameNumber];
	 		} else {
	 			saveFrameSize[frameNumber] = framesetObj.cols;
	 			framesetObj.cols = "75,*";
	 		}
		}
}		

function showToggleLink(frameObj) {
 	frameObj.document.write('<a href="javascript:top.toggleFrameSize(self, 0)">&lt;--&gt;</a>');
}	

function restoreHelp() {
	if (lockHelp) return;
	if ((baseHelp.genericHelp == '') && (baseHelp.header == '') && (baseHelp.contents == '')) return;
	writeHelpFrame(baseHelp.genericHelp, baseHelp.header, baseHelp.contents);
}

function setHelpLock(lockSetting) {
	lockHelp = lockSetting;
}

function writeHelpFrame(genericHelp, header, contents) {
	if (lockHelp) return;
	if (contents == '') {
		if (genericHelp == 'wizard') {
			contents = 'B&#7841;n h&#227;y l&#7921;a ch&#7885;n c&#225;c ch&#7913;c n&#259;ng.';	
		}	
	}
	var moreString = '';
	if (typeof storeParams.help != 'undefined') {
		if (typeof storeParams.help.id != 'undefined') {
			if (storeParams.help.id > 0) 
				moreString = '<br' + gt + '<a target=_blank href=#' + '<a' + gt;
		}
	}
	helpDocString = '<HTML' + gt + '<head' + gt + 
		'<link rel="stylesheet" href="ThuVien/CssClass/styles.css"' + gt +
		'<style type="text/css" media="screen"' + gt + 
		'#layer2 { position: absolute; top: 61px; left: 315px; width: 21px; height: 21px; visibility: visible; display: block }' +
		'</style' + gt + '</head' + gt +
		'<BODY marginheight=5 marginwidth=5 topmargin=5 leftmargin=5 BGCOLOR=#cef0e7' + gt +
		//'<div id="miniHelp" visibility="visible"' + gt + 
		'<span class=helpheader' + gt + header + '</span' + gt + '<br' + gt + '' +
		'<span class=helptext' + gt + contents + moreString + '</span' + gt + 
		//'</div' + gt +
		'</body' + gt + '</html' + gt;
	helpDoc = window.frames['help'].document;
    helpDoc.open();
   	helpDoc.write(helpDocString);
    helpDoc.close();
}		
		
function imageEdit(imagePath) {
	window.frames['help'].location = '../tools/software/original/customstep/imageEdit.php?imagePath=' + imagePath;
}

function getMainFrame() {
	if (curMainFrame) {
		return curMainFrame;
	} else {
		curMainFrame = top.frames.mainContent;
		return curMainFrame;
	}
}

function getMainDoc() {
	mainFrame = getMainFrame();
	curMainDoc = curMainFrame.document;
	return curMainDoc;
}

function goMain(linkName) {
		mainDoc = getMainDoc();
		mainFrame = getMainFrame();

		if (linkTo[linkName] == '') {
			return;
		} else if (linkTo[linkName] == 'submit') {
			validRequire ='';
			if (typeof mainDoc.validRequire != 'undefined')
				validRequire = mainDoc.validRequire;
			else if (typeof mainFrame.validRequire != 'undefined')
				validRequire = mainFrame.validRequire;
			else
				validRequire = new Array();
				
			if (validateForm(validRequire, mainDoc.fm))
				mainDoc.fm.submit();
		} else if (linkTo[linkName] == 'visualEdit') {
			mainDoc.location = 'admin.php';
		} else if (linkTo[linkName] == 'visualCancel') {
			if (confirm('Ban co chac muon thoat ma khong luu? Cac thay doi cua ban se bi xoa.')) {
				if (typeof listReturn != 'undefined'){					
					mainDoc.location = 'admin.php?op='+listReturn+'&amp;display=list';
					}
				else{
					mainDoc.location = 'admin.php?display=list';					
				}	
			}
		} else if (linkTo[linkName] == 'visualAdd') {
			if (typeof mainFrame.thisContentId == 'undefined') {
				alert('hien tai khong su dung.');
			} else {
				setHelpLock(true);
				top.help.location = 'help.php?id=';
			}
		} else if (linkTo[linkName] == 'visualDelete') {
			if (typeof mainFrame.thisContentId == 'undefined') {
				alert('Hien tai khong su dung');
			} else {
				setHelpLock(true);
				top.help.location = 'help.php?id=';
			}
		} else if (linkTo[linkName] == 'visualSave') {
			mainFrame.saveEdit();
		} else if (linkTo[linkName] == 'listReturn') {
			if (confirm('Ban co chac muon thoat ma khong luu? Cac thay doi cua ban se bi xoa.')) {
				
				if (typeof listReturn != 'undefined'){					
					mainDoc.location = 'admin.php?op='+listReturn+'&amp;display=list';
					}
				else{
					mainDoc.location = 'admin.php?display=list';					
				}
			}
		} else if (linkTo[linkName] == 'deleteMultiple') {
			if (confirm('Ban co chac ban muon xoa cac ' + entityName + ' duoc lua chon ?')) {
				elName = entityName + 'action';
				mainDoc.fm.elements[elName].value = 'delete';
				mainDoc.fm.submit();
			}
		} else if (linkTo[linkName] == 'deleteOne') {
			if(confirm('Ban co chac ban muon xoa ?.')) {
				mainDoc.fm.elements[entityName + 'action'].value = 'delete';
				mainDoc.fm.encoding='application/x-www-form-urlencoded';
				mainDoc.fm.submit();
			}
		} else if (linkTo[linkName]=='deleteCustom'){
				if(confirm('Ban co chac ban muon xoa cac ' + entityName + ' duoc lua chon ?')) {
				mainDoc.fmtwo.elements[entityName + 'action'].value = 'delete';
				mainDoc.fmtwo.submit();
			}
		}else {
			linkTarget[linkName].location = linkTo[linkName];
		}
}

function goMainRaw(linkUrl, forceFrame) {
	mainFrame = forceFrame;
	if (!linkUrl) return;
	mainFrame.location = linkUrl;
}

function goPager(direction) {
	mainDoc = getMainDoc();
	mainFm = mainDoc.fm;
	mainFm.elements[entityName + 'pageDirection'].value = direction;
	mainFm.submit();
}

function setNumPerPage(numPerPage) {
	mainDoc = getMainDoc();
	mainFm = mainDoc.fm;
	mainFm.elements[entityName + 'recsPerPage'].value = numPerPage;
	mainFm.submit();	
}

function setPropSet(setName) {
	if (setName == '[addNew]') {
		window.frames['mainContent'].document.location = 'admin.php?op=' + entityId;
	} else {
		mainFm = window.frames['mainContent'].document.fm;
		mainFm.elements['propertySet'].value = setName;
		if (mainFm.elements['flagCurrent'].value == 'detail') {
			mainFm.elements['display'].value = 'detail';
		}
		mainFm.submit();
	}
}

function goModHome() {
	if (modId == '') return;
	top.frames.mainContent.document.location = 'admin.php?op=' + modId;
}

function registerMainChange(params) {
	
	storeParams = params;
	curMainFrame = params['calledBy'];
	var allButtons = new Array('add','edit','save','del','ok','cancel','pagerBack','pagerNext');
	for (i = 0; i < allButtons.length; i++) {
		if (!(params[allButtons[i]])) {
			params[allButtons[i]] = new Object();
			params[allButtons[i]]['enabled'] = false;
		}
	}
	entityName = params['entityName'];
	listReturn = params['listReturn'];

	if (params['feedback']) writeHelpFrame('', params['feedback'], '');
	menuObj = document.fm.modMenu;
	if (params['menuTitle']) {
		menuObj.options[0].text = params['menuTitle'];
	} else {
		menuObj.options[0].text = 'L&#7921;a ch&#7885;n ch&#7913;c n&#259;ng...';

	}
	if (params['modMenu']) {
		menuObj.options.length = 1;
		for (optionItem in params['modMenu']) {
			addOption(menuObj, params['modMenu'][optionItem]['userTitle'], params['modMenu'][optionItem]['linkTo'])
		}
	}
	
	if (params['modName']) document.images['modName'].src = 'ThuVien/HinhAnh/moduleindicators/' + params['modName'] + '.gif';
	if (params['disableAll']) {
		for (imageName in offSrc) {
			document.images[imageName].src = 'ThuVien/HinhAnh/actionbuttons/' + offSrc[imageName];
			linkTo[imageName] = '';
		}
	}
	
	for (imageName in params) {
		if (imageName == 'menuTitle' || imageName == 'modName' || imageName == 'disableAll' || imageName == 'modMenu' || 
			imageName == 'modWelcome' || imageName == 'pager' || imageName == 'feedback' || imageName == 'propset' || 
			imageName == 'help' || imageName == 'calledBy' || imageName == 'entityName' || imageName=='listReturn') continue;
		if (params[imageName]['enabled']) {
			document.images[imageName].src = 'ThuVien/HinhAnh/actionbuttons/' + onSrc[imageName];
			linkTo[imageName] = params[imageName]['linkTo'];
			if (params[imageName]['linkTarget']) {
				linkTarget[imageName] = params[imageName]['linkTarget'];
			} else {
				linkTarget[imageName] = getMainDoc();
			}
		} else {
			
			document.images[imageName].src = 'ThuVien/HinhAnh/actionbuttons/' + offSrc[imageName];
			linkTo[imageName] = '';
		}
	}
	
	ppObj = document.pageFm.perPage;
	ptObj = document.pageFm.pagerText;
	if ((params['pager']) && params['pager'] != 'none') {
		pager = params['pager'];
		if (pager['limitStart'] > 0) {
			document.images['pagerBack'].src = 'ThuVien/HinhAnh/actionbuttons/' + onSrc['pagerBack'];
		} else {
			document.images['pagerBack'].src = 'ThuVien/HinhAnh/actionbuttons/' + offSrc['pagerBack'];
		}
		if (parseInt(pager['totalCount']) > parseInt(pager['limitEnd'])) {
			document.images['pagerNext'].src = 'ThuVien/HinhAnh/actionbuttons/' + onSrc['pagerNext'];
		} else {
			document.images['pagerNext'].src = 'ThuVien/HinhAnh/actionbuttons/' + offSrc['pagerNext'];
		}
		
		ppObj.disabled = false;
		ppObj.options.length = 0;
		for (i = 0; i < pager['perPageArr'].length; i++) {
			var curOpt = document.createElement("OPTION");
			curSel = pager['perPageArr'][i];
			addOption(ppObj, curSel, curSel);
			if (curSel == pager['recsPerPage']) ppObj.selectedIndex = i;
		}
		ptObj.disabled = false;
		showStart = parseInt(pager.limitStart) + 1;
		ptObj.value = showStart + ' to ' + pager.limitEnd + ' of ' + pager.totalCount;
		ptObj.disabled = true;
	} else {
		ppObj.options.length = 0;
		ppObj.disabled = true;
		ptObj.value = '';
		ptObj.disabled = true;
		document.images['pagerBack'].src = 'ThuVien/HinhAnh/actionbuttons/' + offSrc['pagerBack'];
		document.images['pagerNext'].src = 'ThuVien/HinhAnh/actionbuttons/' + offSrc['pagerNext'];
	}
	
    psObj = document.pageFm.propset;
	if (typeof params['propset'] != 'undefined') {
        propset = params['propset'];
        psObj.disabled = false;
        psObj.options.length = 0;
        i = 0;
		
        for (psProps in propset) {
				
        		curProps = propset[psProps];
        		addOption(psObj, curProps.linkShow, curProps.linkTo)
                if (curProps.selected) psObj.selectedIndex = i;
                i++;
        }
    } else {
    	psObj.options.length = 0;
    	psObj.disabled = true;	
    }
	
	if (params['help']) {
		lockHelp = false;
		baseHelp.genericHelp = params['help']['genericBody'];
		baseHelp.header = params['help']['header'];
		baseHelp.contents = params['help']['content'];
		writeHelpFrame(params['help']['genericBody'], params['help']['header'], params['help']['content']);
		if (params['help']['lock']) {
			lockHelp = true;
		} else {
			lockHelp = false;
		}
	}
}


						
var entityName = '';
var entityId = '';
var curMainFrame = false;
var curMainDoc = false;
var modId = '';
var listReturn =''
var saveFrameSize = new Array();

var curImageObj;
var expandListOnFocus = false;

var clickResult = false;

var lastEditedPage = '';

var gt = unescape("%3E");

var disabledWarning = 'Ch&#7913;c n&#259;ng n&#224;y hi&#7879;n t&#7841;i kh&#244;ng ho&#7841;t &#273;&#7897;ng';
var lockHelp = false;

storeParams = new Object();
storeParams.help = new Object();
storeParams.help.id = 0;

baseHelp = new Object();
baseHelp.genericHelp = '';
baseHelp.header = '';
baseHelp.contents = '';

linkTo = new Object();
linkTo['add'] = '';
linkTo['edit'] = '';
linkTo['save'] = '';
linkTo['del'] = '';
linkTo['ok'] = '';
linkTo['cancel'] = '';

linkTarget = new Object();
linkTarget['add'] = '';
linkTarget['edit'] = '';
linkTarget['save'] = '';
linkTarget['del'] = '';
linkTarget['ok'] = '';
linkTarget['cancel'] = '';

onSrc = new Object();
offSrc = new Object();

onSrc['add'] = 'enabled/add.gif';
onSrc['edit'] = 'enabled/edit.gif';
onSrc['save'] = 'enabled/save.gif';
onSrc['del'] = 'enabled/delete.gif';
onSrc['pagerBack'] = 'enabled/previouspage.gif';
onSrc['pagerNext'] = 'enabled/nextpage.gif';
onSrc['ok'] = 'enabled/ok.gif';
onSrc['cancel'] = 'enabled/cancel.gif';


offSrc['add'] = 'disabled/add.gif';
offSrc['edit'] = 'disabled/edit.gif';
offSrc['save'] = 'disabled/save.gif';
offSrc['del'] = 'disabled/delete.gif';
offSrc['pagerBack'] = 'disabled/previouspage.gif';
offSrc['pagerNext'] = 'disabled/nextpage.gif';
offSrc['ok'] = 'disabled/ok.gif';
offSrc['cancel'] = 'disabled/cancel.gif';