
function openWindow(url, name, feature){
	var win = window.open(url, name, feature);
	win.focus();
	return win;
}

function closeWindow(refresh){
	if(refresh == null) refresh = false;
	try
	{
		if(window.opener){ 
			window.opener.focus();
			if(refresh) window.opener.location.reload();
		}
	}
	catch(e){}

	window.close();
}

/******************************************************************************************/

function checkNumber(v){
	var chk_result = false;
	if(v.indexOf('.') != -1){
		var integer = v.split('.');
		for(var i=0;i<integer.length;i++){
			if(!checkInteger(integer[i])){
				return false;
			}
		}

		return true;
	}
	else
		return checkInteger(v);
}

function checkInteger(v){
	v = Math.floor(v);
	return !isNaN(v);
}



var img_ext = new Array("jpg", "jpeg","gif","png");

function checkImageExt(fileext){
	return checkFileExt(img_ext, fileext);
}

function checkFileExt(acceptlist, filename){
	for(var i = 0;i < acceptlist.length;i++){
		var accept_ext = acceptlist[i];
		var fileext = filename.toLowerCase();
		fileext = fileext.substring((fileext.length - accept_ext.length));
		if(accept_ext == fileext) return true;
	}

	return false;
}


function objectFocus(obj){
	if(obj) obj.focus();
}

function checkEmail(email){
	var ok = false;

	if((email.indexOf('@') != -1) && (email.indexOf(' ') == -1)){
		var ext = email.substring(email.indexOf('@'));
		if(ext.indexOf('.') != -1)
			ok = true;
	}
	return (ok)?true:false;
}

function checkLoginFormatInvalid(login){
	var format = new Array("-", "@","!","#","$","%","^","&","*","(",")","=","+","[","]","{","}","/","","\\","|","<",">","~","`","\"");
	var found = false;

	login = login.toLowerCase();

	var first_char = login.charAt(0);

	if((first_char < "a".charCodeAt()) || (first_char > "z".charCodeAt()))
		found = true;
	else
	{
		for(var i=0;i<login.length;i++){
			for(var j=0;j<format.length;j++){
				if(format[j] == login.charAt(i)){
					found = true;
					break;
				}
			}
		}
	}

	return (found)?true:false;
}

function replaceSpace(txt){
	if(txt.indexOf(' ') != -1) txt = replaceSpace(txt.replace(' ',''));
	return txt;
}

function chgBg(obj, color){
	obj.style.background = color;
}

function Trim(txt)
{
	if(txt != ''){
		if ((typeof txt) == 'string')
			return txt.replace(/^\s+/,'').replace(/\s+$/,'');
	}

	return '';
}

function replaceAll(text, tag, value){
	if(text.indexOf( tag ) != -1){
		text = text.replace( tag , value );
		return replaceAll( text, tag, value );
	}
	return text;
}

/***************************************************************************************/

function checkDate(date){
	if(date.indexOf(' ') != -1){
		var d = date.split(' ');
		date = d[0];
	}

	var day = date.split('-');
	var org_y = date[0];		org_y = (typeof(org_y) != 'number')?parseInt(org_y):org_y;
	var org_m = date[1];		org_m = (typeof(org_m) != 'number')?parseInt(org_m):org_m;
	org_m--;
	var org_d = date[2];		org_d = (typeof(org_d) != 'number')?parseInt(org_d):org_d;

	var now = new Date(org_y, org_m, org_d);
	var now_d = now.getDate();
	if(now_d.length < 2) now_d = '0'+now_d;
	var now_m = now.getMonth();
	if(now_m.length < 2) now_m = '0'+now_m;
	var now_y = now.getYear();
	
	if(org_m.length < 2) org_m = '0'+org_m;
	if(org_d.length < 2) org_d = '0'+org_d;
	var org_date = org_y+'-'+org_m+'-'+org_d;

	alert( org_date + ' : ' + (now_y+'-'+now_m+'-'+now_d) );
	return (org_date == (now_y+'-'+now_m+'-'+now_d));
}


function addDay( day, type, thisdate, thai){
	if((day == null) || (typeof(day) != 'number')) day = 0;
	if((type == null) || (typeof(type) == 'undefined')) type = 'd';
	var today = ((thisdate == null) || (typeof(thisdate) == 'boolean') || (typeof(thisdate) == 'undefined'));
	if((thai == null) || (typeof(thai) != 'boolean')) thai = false;

	var month_thai = ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฏาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"];

	var date = today?new Date():thisdate.split('-');
	var dmy_y = today?date.getYear():date[0] * 1;
	var dmy_m = today?date.getMonth():(date[1] * 1) - 1;
	var dmy_d = today?date.getDate():date[2] * 1;

	switch(type){
		case 'y': dmy_y += day; break;
		case 'm': dmy_m += day; break;
		case 'd': dmy_d += day; break;
	}

//	alert(day+ ' - '+dmy_y + ' ' + dmy_m + ' '+dmy_d);
	
	var now = new Date(dmy_y, dmy_m, dmy_d);
	var d = now.getDate();
	if(!thai && (d.length < 2)) d = '0'+d;
	var m = now.getMonth();
	if(!thai) m++;
	m = ''+m;
	if(!thai && m.length == 1) m = '0'+m;
	var y = now.getYear();
	if(thai) y += 543;

	var dmy = thai?d+' '+month_thai[m]+' '+y:y+'-'+m+'-'+d;

	return dmy;
}

/***************************************************************************************/


function showLayer(divID)
{
	var obj = document.layers ? document.layers[divID] :
	document.getElementById ?  document.getElementById(''+divID+'').style :
	document.all[divID].style;
	obj.position = '';
	obj.visibility = document.layers ? 'show' : 'visible';
}
function showFloatLayer(divID)
{
	var obj = document.layers ? document.layers[divID] :
	document.getElementById ?  document.getElementById(''+divID+'').style :
	document.all[divID].style;
	obj.position = 'absolute';
	obj.visibility = document.layers ? 'show' : 'visible';
}

function hideLayer(divID)
{
	var obj = document.layers ? document.layers[divID] :
	document.getElementById ?  document.getElementById(''+divID+'').style :
	document.all[divID].style;
	obj.position = 'absolute';
	obj.visibility = document.layers ? 'hide' : 'hidden';
}


function setLayerText(divID,st)
{
	if (document.layers && document.layers[divID] != null) document.layers[divID].innerHTML = st;
	else if (document.all) document.all[divID].innerHTML = st;
	else if (document.getElementById) document.getElementById(''+divID+'').innerHTML = st;
}

function swapIconLayer(img, divID, path){
	if((path == null) || (typeof(path) == 'undefined')) 
		path ='';
	else
	{
		if(path.substring( (path.length - 1) ) != '/') path += '/';
	}

	with(img){

		var minimize = (src.toLowerCase().indexOf('minimize') != -1)?false:true;
		src = path+'images/tiny-'+( minimize?'minimize':'maximize')+'.gif';
		alt = minimize?'Minimize':'Maximize';
		onclick = function click(){ swapIconLayer(img, divID); };
		!minimize?hideLayer(divID):showLayer(divID);
	}
}

/***************************************************************************************/


function changeCurrency(v){
	var url = location.href;

	if(url.indexOf('?') != -1){
		var u = url.split('?');
		var p = '';
		var pp = u[1].split('&');

		if(u[1].indexOf('currency') != -1){
			for(var i=0;i < pp.length;i++){
				if(p != '') p += '&';
				if(pp[i].indexOf('currency') != -1){
					p += 'currency='+v;
				}
				else
					p += pp[i];
			}

			url = u[0] + '?' + p;
		}
		else url += '&currency='+v;
	}
	else url += '?currency='+v;

	location.href = url;
}

/******************************************************************************************/
function getLayer(name){
	if(document.getElementById(name))
		return document.getElementById(name);
	return null;
}

function getFrame(name){
	if(parent){
		if(parent.document.getElementById(name)){
			if(parent.frames[parent.document.getElementById(name).name])
				return parent.frames[parent.document.getElementById(name).name];
		}
	}
	return null;
}

/******************************************************************************************/


function setStyle(obj, type, value){
	obj.style[type] = value;
}

function getStyle(obj, type){
	return obj.style[type];
}

/******************************************************************************************/

function menuBarOver(obj, e, over){
	if((over == null) || (typeof(over) != 'boolean')) over = true;

	obj.className = 'menubar'+(over?'over':'');

	try
	{

		if((obj.id != null) && (typeof(obj.id) != 'undefined') && (obj.id != '')){
			var menuname = obj.id.replace('top', '');

			if(over)
				exM(m1,menuname,obj.id,e);
			else
				coM(m1,menuname);
		}
	}
	catch(e){}
}

function go(url, newwindow){
	if(typeof(newwindow) != 'boolean') newwindow = false;
	if(newwindow) window.open( url );
	else location.href = url;
}

/******************************************************************************************/

function menuBuyerOver(obj, over){
	if((over == null) || (typeof(over) != 'boolean')) over = true;
	if(typeof(webtype)=='undefined') webtype = 'buyer';

	obj.className = webtype+'menu'+(over?'over':'');
}

function menuBuyerOut(obj){
	menuBuyerOver( obj, false );
}

function menuBuyerGo( module ){
	var url = buyer_url
	if(module != null && typeof(module) != 'undefined') url += '&a='+module;

	switch( module ){
		case 'group':
			window.open('group.php?user='+this_user);
			break;
		default:
			location.href = url;
			break;
	}
}

/******************************************************************************************/

function menuGroupHome(){
	location.href = 'group.php?user='+this_user;
}

function menuGroupOver(obj, over){
	if((over == null) || (typeof(over) != 'boolean')) over = true;
	obj.className = 'buyermenu'+(over?'over':'');
}

function menuGroupOut(obj){
	menuGroupOver( obj, false );
}

function menuGroupGo( module ){
	var url = group_url;
	if(this_id > 0) url += '&grpid='+this_id;
	if(module != null && typeof(module) != 'undefined') url += '&a='+module;

	switch( module ){
		case 'group':
			window.open('group.php?user='+this_user);
			break;
		default:
			location.href = url;
			break;
	}
}



/******************************************************************************************/

function switchLanguage(lang){

	var url = location.href;
	url = replaceAll(url, '#', '');
	if(url.indexOf('lang=') != -1){
		for(var i in site_lang){
			url = replaceAll(url, '&lang='+i, '');
			url = replaceAll(url, '?lang='+i, '');
		}
	}

	url += ((url.indexOf('?') != -1)?'&':'?') + 'lang='+lang;


	location.href = url;
}
