// ajax using
var ajax = {
	_objPool: [],
	_getInstance: function () {
		for (var i = 0; i < this._objPool.length; i ++) {
			if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4) return this._objPool[i];
		}
		this._objPool[this._objPool.length] = this._createObj();
		return this._objPool[this._objPool.length - 1];
	},
	_createObj: function () {
		if (window.XMLHttpRequest) var objXMLHttp = new XMLHttpRequest();
		else if (window.ActiveXObject) var objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
		return objXMLHttp;
	},
	send: function (url, callback) {
		var objXMLHttp = this._getInstance();
		with(objXMLHttp) {
			try {
				if (url.indexOf("?") > -1)  url += "&randnum=" + Math.random();
				else url += "?randnum=" + Math.random();
				open('GET', url, true);
				send('');
				onreadystatechange = function () {
					if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304)) {
						if(callback=='' || callback==null) new JSON(objXMLHttp);
						else callback(objXMLHttp);
					}
				}
			} catch(e) {
				alert(e);
			}
		}
	}
};

function createXmlHttpRequest() {
	var $http_request = null;
	if(window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		window.alert("Oject create error!");
		return false;
	}
	return http_request;
}

// check if a time format
function isATime(veld) {
	v = veld.value;
	if(v.value!="") {
		arr = v.split(':');
	} else {
		return false;
	}

	if(parseInt(arr[0])!="NaN" && parseInt(arr[0])<24 && (parseInt(arr[1])=="NaN" || parseInt(arr[1])<60)) {
		return false;
	}
	alert(time_format_error);
	veld.value="";
}

// convert time to minutes
function timetominute(time) {
	var arr = time.split(":");
	minute = Number(arr[0])*60+Number(arr[1]);
	return minute;
}

// convert minutes to time
function minutetotime(minute) {
	var h = Math.floor(minute/60);
	var m = minute%60;
	if(h<10) {
		h = "0"+h;
	}
	if(m<10) {
		m = "0"+m;
	}
	return h+":"+m;
}

// check input password
function check_wachtwoord(n) {
	err = "nee"; 
	if(n.wachtwoord1.value == '') {
		alert(check_wachtwoord_1);
		n.wachtwoord1.focus();
		err = "ja";
	}
	if((n.wachtwoord2.value == '') && (err == "nee")) {
		alert(check_wachtwoord_2);
		n.wachtwoord2.focus();
		err = "ja";
	}
	if((n.wachtwoord1.value != n.wachtwoord2.value) && (err == "nee")) {
		alert(check_wachtwoord_3);
		n.wachtwoord1.focus();
		err = "ja";
	}
	if(err == "nee") {
		n.opslaan.value="ja";
		n.submit();
	}
}

// check sentence
function check_sentence(n, type) {
	err = "nee"; 
	if ((n.NED.value == "") && (err == "nee")) {
		alert(check_woorden_2);
		err = "ja";
	}		
	if ((n.ENG.value == "") && (err == "nee")) {
		alert(check_woorden_3);
		err = "ja";
	}	
	if ((n.CHN.value == "") && (err == "nee")) {
		alert(check_woorden_4);
		err = "ja";
	}		
	if (err == "nee"){
		if(type == "update") {
			n.MM_insert.value = "sentence_update";
		}
		if(type == "insert") {
			n.MM_insert.value = "sentence_insert";
		}
		n.submit();
	}
}

function check_medewerker(n,type) {
	err = "nee"; 
	if (n.CODE.value == "") {
		alert(check_medewerker_1);
		err = "ja";
	}	
	if ((n.NAAM.value == "") && (err == "nee")) {
		alert(check_medewerker_2);
		err = "ja";
	}		
	if ((n.PASSWORD.value == "") && (err == "nee")) {
		alert(check_medewerker_3);
		err = "ja";
	}	
	if ((n.PASSWORD1.value == "") && (err == "nee")) {
		alert(check_medewerker_5);
		err = "ja";
	}
	if ((n.PASSWORD1.value != n.PASSWORD.value) && (err == "nee")) {
		alert(check_medewerker_6);
		err = "ja";
	}
	if (err == "nee"){
	if(type == "update"){
			n.MM_insert.value = "medewerker_update";
		}
		if(type == "insert"){
			n.MM_insert.value = "medewerker_insert";
		}
		warning_string = check_medewerker_code;
		select = "select MDW_ID from MEDEWERKERS where MDW_ID<>'" + n.record_id.value + "' and CODE='" + n.CODE.value + "'";
		check_SendQuery(select, warning_string);
	}
}

function check_lan_update(n) {
	err = "nee"; 
	if (err == "nee") {
		n.MM_insert.value = "LAN_UPDATE";
		n.submit();
	}
}

function changePreferredTime(lct_id) {
	var url = "./cms/includes/getdata.php?c=getPreferredTime&lct_id="+lct_id+"&"+Math.random();
	ajax.send(url,displayPreferredTime);
}

function displayformatdate(dayValue, id) {
	if(tday>dayValue && canpast<1){
		document.form.predate.value = tday;
		dayValue = tday;
		alert(cannt_book_past);
	}
	var daystr, day = new Date(Date.parse(dayValue.replace(/-/g, '/')));
	daystr = today[day.getDay()] + " " + day.getDate() + " " + month[day.getMonth()] + " " + day.getFullYear();
	da = document.getElementById(id);
	da.innerHTML = daystr;
}

function displayPreferredTime(xmlHttp) {
	var arr = xmlHttp.responseText.split(",");
	document.form.pretime.options.length=1;
	for(i=0; i<arr.length; i++) {
		document.form.pretime.options[i+1] = new Option(arr[i],arr[i]); 
	}
	xmlHttp = null;
}

function daysBetween(DateOne, DateTwo) {
	var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));
	var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);
	var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));

	var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));
	var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);
	var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));

	var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);
	return Math.abs(cha);
}

function daysChange(olddate, changenum) {
	var oldmonth = olddate.substring(5,olddate.lastIndexOf ('-'));
	var oldday = olddate.substring(olddate.length,olddate.lastIndexOf ('-')+1);
	var oldyear = olddate.substring(0,olddate.indexOf ('-'));

	var minisec = Date.parse(oldmonth+'/'+oldday+'/'+oldyear) + changenum*24*60*60*1000;
	var newdate = new Date(minisec);
	var newmonth = ((newdate.getMonth()+1) < 10)?'0'+(newdate.getMonth()+1):(newdate.getMonth()+1);
	var newday = (newdate.getDate() < 10)?'0'+newdate.getDate():newdate.getDate();
	var newyear = newdate.getFullYear();
	return (newyear+'-'+newmonth+'-'+newday);
}

function checkOptionDisabled(obj_id) {
	obj_id = obj_id.toString();
	var inputs = document.getElementsByTagName("input");
	var flag = false;
	for(var i=0; i<inputs.length; i++) {
		if(inputs[i].type == "checkbox") {
			if((inputs[i].id.substr(0, (5+obj_id.length)) == "item_"+obj_id) && inputs[i].checked) {
				flag = true;
				break;
			}
		}
	}
	if(!flag) {
		for(var k=0; k<inputs.length; k++) {
			if(inputs[k].id.substr(0, (7+obj_id.length)) == "option_"+obj_id) {
				if(inputs[k].type=="text") {
					inputs[k].value = '';
				} else if(inputs[k].type=="checkbox") {
					inputs[k].checked = false;
				}
			}
		}
	}
	return flag;
}

function roundfloat(v) {
	return Math.round(v*100)/100;
}

function validate_email(field) {
	if(field=="") {
		return false;
	}
	apos=field.indexOf("@");
	dotpos=field.lastIndexOf(".");
	if(apos<1 || dotpos-apos<2) 
		return false; 
	else
		return true;
}

function get_checked_product() {
	var f = document.form;
	var p = document.getElementsByName('products');
	if(typeof p != "undefined") {
		for(var i=0; i<p.length; i++) {
			if(p[i].checked) {
				return p[i].value;
			}
		}
	}
	return 0;
}

function verifyAddress(email) {
	var pattern = /^([\w\-\.])+@([\w\-])+(\.[\w\-])+/i;
	flag = pattern.test(email);
	if(flag) {
		return true;
	} else {
		return false;
	}
}


