/*function callPrelimClaim (strParamP, strParamF) {
var request = getXhr()
  if (!request) {
	alert("Unable to perform your request: Error creating object!");
  }else{
	  d = new Date();
	  strParam = 'P=' + strParamP + '&F=' + strParamF + '&tmpcode='+d.getDay()+d.getHours()+d.getMinutes()+d.getSeconds();
	  strParam = encodeURI(strParam);
	  var url = curHost + "Customers/PreliminaryClaims.inc/mail.php?"  
	  request.onreadystatechange = function() { updatePage(request); } //  request.onreadystatechange = updatePage;
//alert (url+' ||POST|| '+strParam);
      request.open('POST', url, true);
	  request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	  request.setRequestHeader("Content-length", strParam.length);
	  request.setRequestHeader("Connection", "close"); 
	  request.send(strParam); 
  }
}

function updatePage(request) {
//if (request.readyState) addStatus ('updatePage readyState=' + request.readyState);
  if (request.readyState == 4) 
  { //if (request.status) addStatus ('updatePage status=' + request.status);
    if (request.status == 200) 
	{ var theDoc = request.responseText;  //  alert('this is \n'+theDoc); 
	  document.getElementById("textInfos3").innerHTML = theDoc;	
    } else {
      var message = request.getResponseHeader("Status");
      if ((message.length == null) || (message.length <= 0)) {
        alert("Error! Request status is " + request.status);
      } else {
        alert(message);
      }
    }
  }
}
*/
//-------------------------------------------------------------------
// disallowBlank(input_object[,message[,true]])
//   Checks a form field for a blank value. Optionally alerts if 
//   blank and focuses
//-------------------------------------------------------------------
function disallowBlank(obj){
	var msg=(arguments.length>1)?arguments[1]:"";
	var dofocus=(arguments.length>2)?arguments[2]:false;
	if (isBlank(getInputValue(obj))){
		if(!isBlank(msg)){alert(msg);}
		if(dofocus){
			if (isArray(obj) && (typeof(obj.type)=="undefined")) {obj=obj[0];}
			if(obj.type=="text"||obj.type=="textarea"||obj.type=="password") { obj.select(); }
			obj.focus();
			}
		return true;
		}
	return false;
	}

function checkform(of)  
{
// Test if DOM is available and there is an element called required
	if(!document.getElementById || !document.createTextNode){return;}
	if(!document.getElementById('required')){alert(document.getElementById('required'));return;}

// Define error messages and split the required fields
	var errorID='errormsg';
	var errorClass='error'
	var errorMsg='Mandatory fields! ';
	var errorImg='../images/Customers/dot_red.jpg';
	var errorAlt='Error';
	var errorTitle='Mandatory fields!';
	var reqfields=document.getElementById('required').value.split(',');
	

// Cleanup old mess
	// if there is an old errormessage field, delete it
	if(document.getElementById(errorID))
	{
		var em=document.getElementById(errorID);
		em.parentNode.removeChild(em);
	}
	// remove old images and classes from the required fields
	for(var i=0;i<reqfields.length;i++)
	{
		var f=document.getElementById(reqfields[i]);
		if(!f){continue;}
		if(f.previousSibling && /img/i.test(f.previousSibling.nodeName))
		{
			f.parentNode.removeChild(f.previousSibling);
		}
		//f.className='';
	}
// loop over required fields
	for(var i=0;i<reqfields.length;i++)
	{
// check if required field is there
		var f=document.getElementById(reqfields[i]);
		if(!f){continue;}
// test if the required field has an error, 
// according to its type
		
		switch(f.type.toLowerCase())
		
		{
			case 'text':
				if(f.value=='' && f.id!='from' || f.value=='forName' || f.value=='awb'){cf_adderr(f)}							
// email is a special field and needs checking
				if(f.id=='from' && !cf_isEmailAddr(f.value)){cf_adderr(f)}							
			break;
			case 'textarea':
				if(f.value==''){cf_adderr(f)}							
			break;
			case 'checkbox':
				if(!f.checked){cf_adderr(f)}							
			break;
			case 'select-one':
				if(!f.selectedIndex && f.selectedIndex==0){cf_adderr(f)}							
			break;
			// case 'radio': 
			// 	if(!f.checked){cf_adderr(f)}
			// break;
		}
	}
	return !document.getElementById(errorID);

	// Tool methods 
	function cf_adderr(o)
	{
		// create image, add to and colourise the error fields
		var errorIndicator=document.createElement('img');
		errorIndicator.alt=errorAlt;
		errorIndicator.src=errorImg;
		errorIndicator.title=errorTitle;
		//o.className=errorClass;
		o.parentNode.insertBefore(errorIndicator,o);

	// Check if there is no error message
		if(!document.getElementById(errorID))
		{
		// create errormessage and insert before submit button
			var em=document.createElement('div');
			em.id=errorID;
			var newp=document.createElement('p');
			newp.appendChild(document.createTextNode(errorMsg))
							// clone and insert the error image
			newp.appendChild(errorIndicator.cloneNode(true));
			em.appendChild(newp);
							// find the submit button 
			for(var i=0;i<of.getElementsByTagName('input').length;i++)
			{
				if(/submit/i.test(of.getElementsByTagName('input')[i].type))
				{
					var sb=of.getElementsByTagName('input')[i];
					break;
				}
			}
			if(sb)	{
				sb.parentNode.insertBefore(em,sb);
			}	
		} 
	}
	function cf_isEmailAddr(str) 
	{
		return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
	}
}
		

// This script and many more are available free online at
//The JavaScript Source :: http://javascript.internet.com
//Created by: Manzi Olivier :: http://www.imanzi.com/ 

// calculate the ASCII code of the given character
function CalcKeyCode(aChar) {
  var character = aChar.substring(0,1);
  var code = aChar.charCodeAt(0);
  return code;
}

function checkNumber(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);

  // Check if the keyed in character is a number
  //   do you want alphabetic UPPERCASE only ?
  //   or lower case only just check their respective
  //   codes and replace the 48 and 57 

  if (cCode < 48 || cCode > 57 ) {
    var myNumber = val.value.substring(0, (strLength) - 1);
    val.value = myNumber;
  }
  return false;
}