﻿/* Call, performs a get request with the given arguments and the given action! Nothing changed in the html! */
function Call(arguments, action) {
	var request = new Request.HTML({method: 'get', url: '/ajaxcontent.ajax', onFailure: function() {
		alert('The action failed!');
	}});
	if (arguments.length > 0) {
		arguments += '&';
	}
	arguments += 'Action=' + action;
	request.send(arguments);
}

function Get(arguments, action, onSuccess) {
	var request = new Request.HTML({method: 'get', url: '/ajaxcontent.ajax', onSuccess: onSuccess, onFailure: function() {
		alert('The action failed!');
	}});
	if (arguments.length > 0) {
		arguments += '&';
	}
	arguments += 'Action=' + action;
	request.send(arguments);
}

function IsValidEmail(sFieldValue) {
	// TODO: IDN ? Validate with ajax!??!
	return true;

	iDotPos = sFieldValue.indexOf('@');
	if (iDotPos == -1) {
		return false;
	}

	var aParts = sFieldValue.split('@');
	if (aParts.length != 2) {
		return false;
	}

	var aLocalPart = aParts[0].split('.');
	for (iIndex = 0; iIndex < aLocalPart.length; iIndex++) {
		if (!IsWord(aLocalPart[iIndex], "abcdefghijklmnopqrstuvwxyz-0123456789")) {
			return false;
		}
	}

	iDotPos = aParts[1].indexOf('.');
	if (iDotPos == -1) {
		return false;
	}

	var aDomainPart = aParts[1].split('.');
	for (iIndex = 0; iIndex < aDomainPart.length; iIndex++) {
		if (!IsWord(aDomainPart[iIndex], "abcdefghijklmnopqrstuvwxyz-0123456789")) {
			return false;
		}
	}
	return true;
}

function IsWord(sWord, sValidChars) {
	if (sWord == '') {
		return false;
	}
	sWord = sWord.toLowerCase();
	var iCounter = 0;
	var iCharIndex;
	while (iCounter < sWord.length) {
		var iCharCode = sWord.charCodeAt(iCounter);
		iCharIndex = sValidChars.indexOf(sWord.charAt(iCounter));
		if (iCharIndex < 0 && iCharCode < 0x80) {
			return false;
		}
		iCounter = iCounter + 1
	}
	return true;
}

function ValueIsInteger(valueStr) {
	var number = new String('0123456789');
	
	if (valueStr.substring(0, 0) == '-') {
		valueStr = valueStr.substring(1, valueStr.length - 1);
	}
	for (i = 0; i < valueStr.length; i++) {
		if (number.indexOf(valueStr.substring(i, i + 1)) == -1) {
			return false;
		}
	}
	return true;
}
