var _number = /[\D]/i;
var _alpha = /[a-z]/i;
var _spaces = /\s/;
var _postcode = /[1-9]{1}[0-9]{3}[a-z]{2}/i;


function isInt(e){
	if(!e) e = window.event;
	if(e.charCode!=0 && _number.test(getKeyStringVal(e))){
		cancelEvent(e);
		return false;
	}
	return true;
}

function isFloat(e){
	if(!e) e = window.event;
	var el = getTargetElement(e);
	if(el.value.indexOf('.')==-1 && (getKeyStringVal(e)=='.' || getKeyStringVal(e)==',')) {
		if(getKeyStringVal(e)==','){
			el.value += '.';
			cancelEvent(e);
			return false;
		}
		else {
			return true;
		}
	}
	if(isInt(e)) return true;
}

function isNLPostalCode(e){
	if(!e) e = window.event;
	var el = getTargetElement(e);
	return _postcode.test(el.value);
}

function checkPostCodeInput(e){
	if(!e) e = window.event;
	var input = getTargetElement(e);
	var value = getKeyStringVal(e);
	var ascii = getCharCode(e);
	var nchar = input.value.length + 1;
	var bctrl = false;
	var cancel = false;
	if(ascii==8 || ascii==9 || (ascii==46 && value != ".")){
		bctrl = true;
	}
	switch(nchar){
		case 1:
			if(_number.test(value) || value==0){
				cancel = true;
			}
			break;
		case 2:
		case 3:
		case 4:
			if(_number.test(value)){
				cancel = true;
			}
			break;
		case 5:
		case 6:
			if(!_alpha.test(value)){
				cancel = true;
			}
			break;
		default:
			cancel = true;
	}
	if(cancel && !bctrl){
		cancelEvent(e);
	}
}

function hasValue(el){
	if(el.type.toLowerCase() == 'checkbox' || el.type.toLowerCase() == 'radio'){
		var frm = getParentByTagName(el,"form"); 
		var els = frm[el.name];
		var bOK = false;
		if(els.length){
			for(var i=0,ch;i<els.length,ch=els[i];i++){
				if(ch.checked){
					bOK = true;
					break;
				}
			}
		}
		else {
			if(els && els.checked){
				bOK = true;
			}
		}
		return bOK;
	}
	else {
		return (el.value!='');
	}
	return true;
}

function changeDoubleBox(e){
	if(!e) e = window.event;
	var el = getTargetElement(e);
	var fun = el.id.split("_")[0];
	var id = el.id.split("_")[1];
	doubleBox(fun,id);	
}

function initDoubleBoxes(dboxArr){
	for(var i in dboxArr)
		for(var j=0,buttons=dboxArr[i].getElementsByTagName("IMG");j<buttons.length;j++)
			if(hasClass(buttons[j],"submit"))
				addEvent(buttons[j],"click",changeDoubleBox);
}

function initAjaxPulldowns(){
	var pulldownInformation = $C("ajaxpulldown");
	for(var i=0;i<pulldownInformation.length;i++){
		addEvent(new Array(pulldownInformation[i]),"change",getAjaxPulldownValues);
	}
}

function getAjaxPulldownValues(e){
	var trg = getTargetElement(e);
	var lnkinfo = $(trg.id+"_ajaxdef").value;
	lnkinfo = $("ajax_linked_select_defenition"+lnkinfo).value;
	var requestvars = new Array('linkedtable','linkedfield','linkedid','linkeddisplay','contextnode');
	var requestdata = lnkinfo.split(",");
	
	var ajaxRequest = new AjaxRequest('index.cfm?act=linkedselect.tonen');
	for(var i=0;i<requestvars.length;i++){
		ajaxRequest.addNameValuePair(requestvars[i],requestdata[i]);
	}
	ajaxRequest.addNameValuePair("linkvalue",trg.value);
	ajaxRequest.sendRequest(); 
}

function deleteImage(d,f,dl){
	var div = $(d);
	var frm = $(f);
	var del = $(dl);
	
	div.style.backgroundImage = 'url("media/img/noimage.gif")';
	frm.value = "";
	del.style.display = 'none';
}

