// JavaScript Document LeasPlan Occasions

function removeSpaces(string) {
	var tstring = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	tstring += splitstring[i];
	return tstring;
}

function replaceChar(_char, string) {
	var tstring = "";
	splitstring = string.split(_char);
	for(i = 0; i < splitstring.length; i++)
	tstring += splitstring[i];
	return tstring;
}

function customSplit(strvalue, separator, arrayName) {
  var n = 0;
  if (separator.length != 0) {
    while (strvalue.indexOf(separator) != -1) {
      eval("arr"+n+" = strvalue.substring(0, strvalue.indexOf(separator));");
      strvalue = strvalue.substring(strvalue.indexOf(separator)+separator.length,
          strvalue.length+1);
      n++;
    }
    eval("arr" + n + " = strvalue;");
    arraySize = n+1;
  }
  else {
    for (var x = 0; x < strvalue.length; x++) {
      eval("arr"+n+" = \"" + strvalue.substring(x, x+1) + "\";");
      n++;
    }
    arraySize = n;
  }
  eval(arrayName + " = new Array(arraySize);");
  for (var i = 0; i < arraySize; i++)
    eval(arrayName + "[" + i + "] = arr" + i + ";");
  return arraySize;
}


function isNumber(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
         IsNumber = false;
      }
   }
   return IsNumber;
}

function isString(textObj) {
   var newValue   = textObj;
   var newLength  = newValue.length;
   var extraChars =". -'";
   var txt_search;
   for(var i = 0; i != newLength; i++) {
      aChar = newValue.substring(i,i+1);
      aChar = aChar.toUpperCase();
      txt_search = extraChars.indexOf(aChar);
      if(txt_search == -1 && (aChar < "A" || aChar > "Z") ) {
         return false;
      }
   }
   return true;
}

function isAlfa(textObj) {
   var newValue   = textObj;
   var newLength  = newValue.length;
   for(var i = 0; i != newLength; i++) {
      aChar = newValue.substring(i,i+1);
      aChar = aChar.toUpperCase();
      if(aChar < "A" || aChar > "Z") {
         return false;
      }
   }
   return true;
}

function isEmail(argvalue) {
  var retSize = customSplit(argvalue, "@", "arrayString");
  if (argvalue.indexOf(" ") != -1) {
    return false;
  } else if (argvalue.indexOf("@") == -1) {
    return false;
  } else if (argvalue.indexOf(".") == 0) {
    return false;
  } else if (argvalue.indexOf("@") == (argvalue.length-1)) {
    return false;
  } else if (arrayString[1].indexOf(".") == -1) {
    return false;
  } else if (arrayString[1].indexOf(".") == 0) {
    return false;
  } else if (arrayString[1].charAt(arrayString[1].length-1) == ".") {
    return false;
  }
  return true;
}

function isWWW(argvalue) {
  var arr = new Array();
  arr     = argvalue.split(".");
  if (argvalue.indexOf(" ") != -1) {
    return false;
  } else if (arr.length < 3) {
    return false;
  } else if (argvalue.indexOf(".") == 0) {
    return false;
  } else if (arr[0] != "www") {
    return false;
  } else if (arr[2].toString().length < 2) {
    return false;
  }
  return true;
}


function isZIPCode(code) {
  var testStr    = removeSpaces(code);
  var codeLength = testStr.length;  
  var firstPart  = testStr.substring(0,4);
  var lastPart   = testStr.substring(4,6);
  if(codeLength != 6) {
  	return false;
  } else if(isNumber(firstPart) == false) {
	return false;
  } else if(isAlfa(lastPart) == false) {
	return false;
  } 
  return true;
} 

function isPhone(number) {
	var telNr    = removeSpaces(number);
	var telNr    = replaceChar("-", telNr);
	var telNr    = replaceChar("(", telNr);
	var telNr    = replaceChar(")", telNr);
	var nrLength = telNr.length;
	if(nrLength != 10) {
		return false;
	} else if(telNr.substring(0,1) != "0") {
		return false;
	} else if(isNumber(telNr) == false) {
		return false;
	}
	return true;
}

function isDate(number) {
	var dateNr    = removeSpaces(number);
	var dateNr    = replaceChar("-", dateNr);
	var nrLength  = dateNr.length;
	if(nrLength > 8 || nrLength < 6) {
		return false;
	} else if(isNumber(dateNr) == false) {
		return false;
	}
	return true;
}
