//V 1.1
var _loading=false;

//Prepare Text for Ajax
function parseText(myTxt){
	myTxt = (myTxt==undefined)?'':myTxt;
	//myTxt = myTxt.replace(HTMLREGEX, "");
	myTxt =	myTxt.replace(/\+/gi, "_:SIGNPLUS:_");
	myTxt =	myTxt.replace(/\&/gi, "_:SIGNAND:_" );
	return myTxt;
}

//encode url
function urlencode(str) {
	return escape(str).replace('+', '%2B').replace('%20', '_').replace('*', '%2A').replace('/', '%2F').replace('@', '%40');
}

//decode url
function urldecode(str) {
	return unescape(str.replace('_', ' '));
}

// trim whitespaces
function trim(str) {
	myStr = str.replace(/^\s+/, '').replace(/\s+$/, '');
	return myStr;
}

//START LOADING
function startAjax(){
	_loading = true;
	$('.g_status').html('LOADING');
}

//LOADCHECK
function loadcheck(object){
	var result = true;
	if(_loading===false&&_sel.lastSelect!=object){
		result=false;
	}
	return result;
}

//END LOADING
function endAjax(){
	_loading = false;
	$('.g_status').html('READY');
}

// get mysql compatible date
function mysqlDate(_y, _m, _d, _h, _min, _s){
	var date = new Date();
	if(_y == 'start') {
		var _y = date.getFullYear();
		var _m = date.getMonth()+1;
		var _d = 1;
		var _h = 0;
		var _min = 0;
		var _s = 0;
	}else if (_y == 'end') {
		var _y = date.getFullYear();
		var _m = date.getMonth()+1;
		var _d = 31;
		var _h = 23;
		var _min = 59;
		var _s = 59;		
	}else{
		var _y = (_y==undefined||_y.length!=4)?date.getFullYear():_y;
		var _m = (_m==undefined||_m<0 ||_m>12)?date.getMonth()+1:_m;
		var _d =(_d==undefined||_d<0 ||_d>31)?date.getDate():_d;
		var _h =(_h==undefined||_h<0 ||_h>23)?date.getHours():_h;
		var _min =(_min==undefined||_min<0 ||_min>59)?date.getMinutes():_min;
		var _s =(_s==undefined||_s<0 ||_s>59)?date.getSeconds():_s;
	}

	return _y+'-'+ddigit(_m)+'-'+ddigit(_d)+' '+ddigit(_h)+':'+ddigit(_min)+':'+ddigit(_s);
}

function ddigit(_x) {
	var _x = _x+'';
	var _x = (_x<10&&_x.length<2)?'0'+_x:_x;
	return _x;
}

function getMysqlDurationArray(startdate, enddate) {
	var start = parseMysqlDateToArray(startdate);
	var end = parseMysqlDateToArray(enddate);
	
	var startdate = new Date(start['year'], start['month'], start['day'], start['hours'], start['minutes']);
	var enddate = new Date(end['year'], end['month'], end['day'], end['hours'], end['minutes']);
	
	var timestamp = Math.floor((Date.parse(enddate)-Date.parse(startdate))/1000);

	if(timestamp < 0){
		return false;
	}
	
	var _return = new Array();
	
	_return['years']=Math.floor(timestamp/(60*60*24*365));timestamp%=60*60*24*365;
	_return['weeks']=Math.floor(timestamp/(60*60*24*7));timestamp%=60*60*24*7;
	_return['days']=Math.floor(timestamp/(60*60*24));timestamp%=60*60*24;
	_return['hours']=Math.floor(timestamp/(60*60));timestamp%=60*60;
	_return['minutes']=Math.floor(timestamp/60);var secs=timestamp%60;

	_return['string']='';
	if (_return['years'] >= 1) { _return['string']+= _return['years']+' years '; }
	if (_return['weeks'] >= 1) { _return['string']+= _return['weeks']+' weeks '; }
	if (_return['days'] >= 1) { _return['string']+=_return['days']+' days '; }
	if (_return['hours'] >= 1) { _return['string']+=_return['hours']+' hrs. '; }
	if (_return['minutes'] >= 1) { _return['string']+=_return['minutes']+' min. '; }	
	
	return _return;
}

function parseMysqlDateToArray(_date) {
	var error = false;
	var year = _date.substring(0,4);
	var month = _date.substring(5,7);
	var day = _date.substring(8,10);
	var hrs = _date.substring(11,13);
	var mins = _date.substring(14,16);
	
	//evaluate
	if(year.length!=4){
		return false;
	}
	if(month.length!=2||month<=0||month>12){
		return false;
	}
	
	if(day.length!=2||day<=0||day>31){
		return false;
	}
	
	if(hrs.length!=2||hrs<0||hrs>23){
		return false;
	}
	
	if(mins.length!=2||mins<0||mins>59){
		return false;
	}
	
	var _return = new Array();
	_return['year']=year;
	_return['month']=month;
	_return['day']=day;
	_return['hours']=hrs;
	_return['minutes']=mins;
	
	return _return;
}