function stdzSlashes(dm) {
	var len = dm.elements.length;
	var i = 0;
	for(i = 0; i < len; i++) {
		if( dm.elements[i].value ) {
			dm.elements[i].value = dm.elements[i].value.replace(RegExp("\'{1}" , "g"), "\\\'");
		}
	}
	return true;
}


function addSlashes( sText ) {
	if( sText) {
		return sText.replace(RegExp("\'{1}" , "g"), "\\\'");
	} else
		return sText;
}


function isNaturalNumber( sText ) {
    var re = /^[\d]+$/;
	return re.test( sText );
}


function isIntNumber( sText ) {
    if( sText.toString( ) == '-0' ) return false;
	
	var re = /^\-?[\d]+$/;
	return re.test( sText );
	
}

 
function isFloatNumber( sText ) {
	if( sText.toString( ) == '-0' ) return false;
	
	var re = /^\-?[\d]+$/;
	if( re.test( sText ) ) return true;
	re = /^\-?[\d]+\.[\d]+$/;
	return re.test( sText );
} 


function isEmpty( sText ) {
	if( !sText ) return false;
    
	return true;
}


function isNumberFormat( sText, sFormat ) {
	var specCharPattern = /[\D]/;
	var specChar = sFormat.match( specCharPattern );
	var aNum = sFormat.split( specChar );
	
	var sCmd = "var re = /^";
	for( var iC = 0; iC < aNum.length; iC++ ) {
		if( iC != 0 )
			sCmd += "\\" + specChar; 
		sCmd += "[0-9]{" + aNum[iC] + "}";
	}
	sCmd += "$/;";
	eval( sCmd );
	return re.test( sText );
}


// validates that the entry is formatted as an email address
function isEmail( sText ) {
    var str = sText;
	if(str == "") {
        //alert("Verify the email address format.");
        return false;
    }
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        //alert("Verify the email address format.");
        return false;
    } else {
        return true;
    }
}


function isValidInput( ) {
	var sText = "";
	var bEmptyAllowed = true;
	var bSpaceAllowed = true;
	
	switch( arguments.length ) {
		case 1:
			sText = arguments[0];
			break;
		case 2:
			sText = arguments[0];
			bEmptyAllowed = arguments[1];
			break;
		case 3:
			sText = arguments[0];
			bEmptyAllowed = arguments[1];
			bSpaceAllowed = arguments[2];
			break;
	}
	
	if( bEmptyAllowed ) {
		if( bSpaceAllowed )
			var re = /^[a-zA-Z0-9_\-\s]*$/;
		else 
			var re = /^[a-zA-Z0-9_\-]*/;
	}
	else {
		if( bSpaceAllowed )
			var re = /^[a-zA-Z0-9_\-\s]+$/;
		else 
			var re = /^[a-zA-Z0-9_\-]+$/; 
	}
	
	return re.test( sText );
			
}


function printPage() { print(document); }


function getInput( p_sFormId, p_sInputName ) {
	var oForm = document.getElementById( p_sFormId );
	eval( "var vInputVal = oForm." + p_sRadioName + ".value;" );
	return vInputVal;
}


function getRadio( p_sFormId, p_sRadioName ) {
	var oForm = document.getElementById( p_sFormId );
	
	var checkedVal;
	eval( "var aRadio = oForm." + p_sRadioName + ";" );
	if( aRadio.length ) {
		for( var iC = 0; iC < aRadio.length; iC++ ) {
			if( aRadio[iC].checked ) {
				checkedVal = aRadio[iC].value;
				break;
			}
		}
	} else {
		if( aRadio.checked ) {
			checkedVal = aRadio.value;
		}
	}
	
	return checkedVal;
}


/*
 *	Param:
 *		p_sGName: multiple select box name(not including '[]')
 *	Return:
 *		option array (option within the multiple select box)
 *		checked option number
 *		unchecked option number
 *		checked values array
 */
function getOptionGroup( p_sGName ) {
	var oSelect = document.getElementById( p_sGName + '[]' );
	var aInput = oSelect.getElementsByTagName( "option" );
	var aCheckOption = new Array( );
	var aCheckedValue = new Array( );
	var aTemp = p_sGName.split( "[]" );
	var sGName = aTemp[0];
	
	var iNum = 0;
	var iCheckedNum = 0;
	var iUncheckedNum = 0;
	for( var iC = 0; iC < aInput.length; iC++ ) {
		aCheckOption[iNum++] = aInput[iC];
		if( aInput[iC].selected == true ) {
			aCheckedValue[iCheckedNum] = aInput[iC].value;
			iCheckedNum ++;
		}
		else
			iUncheckedNum++;
	}
	
	return Array( aCheckOption, iCheckedNum, iUncheckedNum, aCheckedValue );
}


//-- Functions set controls checkbox groups interaction
/*
 *	Call on 'checkall' checkbox
 *	Param:
 *		p_sGName: checkbox group name(including '[]')
 */
function checkAll( p_sGName ) {
	var aTemp2 = p_sGName.split( "[]" );
	var sGName = aTemp2[0];
	var oCheckAll = document.getElementById( sGName + "All" );
	
	var aTemp = getCheckGroup( p_sGName );
	var aCheckbox = aTemp[0];
	var iCheckedNum = aTemp[1];
	
	for( var iC = 0; iC < aCheckbox.length; iC++ ) {
		aCheckbox[iC].checked = oCheckAll.checked;
	}
	
}


/*
 *	Call on each checkbox in group
 *	Param:
 *		p_sGName: checkbox group name(including '[]')
 *		p_vValue: checkbox value
 */
function checkOne( p_sGName, p_vValue ) {
	var aTemp2 = p_sGName.split( "[]" );
	var sGName = aTemp2[0];
	var oCheckAll = document.getElementById( sGName + "All" );
	
	var aTemp = getCheckGroup( p_sGName );
	var aCheckbox = aTemp[0];
	var iCheckedNum = aTemp[1];
	
	if( iCheckedNum == aCheckbox.length )
		oCheckAll.checked = true;
	else
		oCheckAll.checked = false;
}


/*
 *	Param:
 *		p_sGName: checkbox group name(not including '[]')
 *	Return:
 *		checkbox array(checkboxes in the group)
 *		checked checkbox number
 *		unchecked checkbox number
 *		checked values array
 */
function getCheckGroup( p_sGName ) {
	var aInput = document.getElementsByTagName( "input" );
	var aCheckbox = new Array( );
	var aCheckedValue = new Array( );
	var aTemp = p_sGName.split( "[]" );
	var sGName = aTemp[0];
	
	var iNum = 0;
	var iCheckedNum = 0;
	var iUncheckedNum = 0;
	for( var iC = 0; iC < aInput.length; iC++ ) {
		if( aInput[iC].type == "checkbox" && aInput[iC].name == sGName + "[]" ) {
			aCheckbox[iNum++] = aInput[iC];
			if( aInput[iC].checked == true ) {
				aCheckedValue[iCheckedNum] = aInput[iC].value;
				iCheckedNum ++;
			}
			else
				iUncheckedNum++;
		}
	}
	
	return Array( aCheckbox, iCheckedNum, iUncheckedNum, aCheckedValue );
}
//-- End

function Trim(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
return sString;
}

function leftTrim(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	return sString;
}

function rightTrim(sString)
{
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function isDateValid(datevl)
{
	datearr=datevl.split("/");
	sizearr=datearr.length;
	if(sizearr!=3)
	{
		alert("Not date format : mm-dd-year");
		return false;
	}
	else
	{		
		month=datearr[0];
		day=datearr[1];
		year=datearr[2];
		if(!isIntNumber(year)||!isIntNumber(month)||!isIntNumber(day))
		{
			alert('Year or Month or Day is not number format !');
			return false;
		}
		else
		{
			if((year<1900)||(year>2100))
			{
				alert ("Year must from 1900 to 2100");
				return false;
			}
			if((month<1)||(month>12))
			{
				alert ("Month must from 1 to 12");
				return false;
			}
			if((day<1)||(day>31))
			{
				alert ("Day must from 1 to 31");
				return false;
			}			
			return true;
		}		
	}
}

/* DUNG TV mod_search ************************************************************************************/
function quickSelect(path, cName, cId) {
	var cName1 = cName;
	var aRN = Array(" ", "!", "@", "$", "%", "^", "&", "*", "(", ")", "_", "+", "=", "~", "?", "/", "\\", "---", "--");
	for(var i = 0; i < aRN.length; i++) {
	    var id = 0;
	    while(id != -1) {
	        var sid = id;
	        id = cName1.indexOf(aRN[i], sid);
	        if(id != -1) {
	            cName1 = cName1.replace(aRN[i], "-");
	        }
	    }
    }
	window.location = path + cName1 + '-' + cId + '/';
}
function uss(path, city) {
    window.location = path + city + '/';
}
/* DUNGTV *****************************************************************************************************/
function pagingChangePage( ) {
	var oForm = document.getElementById( "mainForm" );
	createHidden( 'page', oForm.x_pagingPage.value );
	oRootEngine.doSyncTask( 'default' );
}
/* DUNGTV */
function searchCBS() {
    var ts = document.getElementById('ts').value;
    if(ts != "") {
        document.getElementById('fs').submit();
    }
    else {
        return;
    }
}
/* TOAN ***********************************************************************************/
function confirmDelete(comp, act, id, postid, msg)
{
	if(confirm( msg ))
	{
		if(postid != '' && id != '') {
			document.getElementById(postid).value = id;
		}
		oRootEngine.doSyncTask('mainForm', comp, act);
	}
	else
	{
		return;
	}
}

function addtoFavorite(url,title)
{
	if(confirm("Are you want to add this page to your Bookmarks ?"))
	{
		if (window.sidebar) { // Mozilla Firefox Bookmark
			window.sidebar.addPanel(title, url,"");
		} 
		else if( window.external ) { // IE Favorite
			window.external.AddFavorite( url, title); }
		else if(window.opera && window.print) 
		{ // Opera Hotlist
			var elem = document.createElement('a');
			elem.setAttribute('href',url);
			elem.setAttribute('title',title);
			elem.setAttribute('rel','sidebar');
			elem.click();
		}
	}
	else
		return;
}

function updateClick(id, url)
{
	//var id = document.getElementById('banner').value;
	//alert(id + "===" + url );
	var Params = new Object();
	Params.id = id;
	Params.url = url;
	
	oRootEngine.m_bEnableChangeAppPath = false;
	oRootEngine.setParam( Params );
		
	oRootEngine.doAsyncTaskImp( 'featuredmalls','','updateClick',
	function ( result ) {
		//if( result == "true" ) location.href = url; 
		document.getElementById('reportClick').innerHTML = result;		
		oRootEngine.m_bEnableChangeAppPath = true;
		return false;
	});
	
}

function updateClick2(id, url)
{
	//var id = document.getElementById('banner').value;
	//alert(id + "===" + url );
	var Params = new Object();
	Params.id = id;
	Params.url = url;
	
	oRootEngine.m_bEnableChangeAppPath = false;
	oRootEngine.setParam( Params );
		
	oRootEngine.doAsyncTaskImp( 'featuredmalls','','updateClick',
	function ( result ) {
		if( result == "true" ) location.href = url; 
		document.getElementById('reportClick').innerHTML = result;		
		oRootEngine.m_bEnableChangeAppPath = true;
		return false;
	});
	
}

function updateClick1(id, url)
{
	createHidden( 'facebook_id', id );
	createHidden( 'facebook_url', url );
	
	oRootEngine.doSyncTask( 'mainForm', 'facebook', 'updateClick' );
	
		
}

/*ajax*/
