// JavaScript Document
function trim(str) 
{
	var xx;
	xx = str.replace(/^\s+|\s+$/g,"");
	if(xx.length == 0)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	if (required && !check_input(formField,fieldLabel))
		result = false;
	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert('Please enter a complete email address in the form: yourname@yourdomain.com');
		formField.focus();
		result = false;
	}
	return result;
}

function isbulkaddr(formField,fieldLabel,required)
{
	var result = true;
	var theStr1 = new String(formField.value);
	var start = theStr1.indexOf("@")
	var index = theStr1.substring(start);
	var finish = index.indexOf(".");
	var final = start+finish;
	var domain = theStr1.substring(start+1,final);
	if(domain == "hotmail" || domain == "gmail" || domain == "yahoo" || domain == "msn")
	{
		var str='Please use a valid business e-mail address. (No bulk addresses accepted)';
		alert_msg(formField,str);
		formField.focus();
		result = false;
	}
	return result;
}

function validEmail_with_value(formField,fieldLabel,required)
{
	var result = true;
	if (required && !check_input(formField,fieldLabel))
		result = false;
	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		var str='Please enter a complete email address in the form: yourname@yourdomain.com';
		alert_msg(formField,str);
		formField.focus();
		result = false;
	}
  if(result)
  {
	formField.className='NormalMode';
	return true;
  }
	return false;
}

function validEmailSpecialChars(obj, name)
{
	//var specialChars="\\(\\)<>,;:\\\\\\\"\\\[\\]"
	var atChars = "@";
	var at=0;
	var iChars = "!#$%^&*()=[]\\\';,/{}|\":<>?";

  for (var i = 0; i < obj.value.length; i++) {
  	if (obj.value.charAt(i) == '@') {  	
		at++;
	}
  }
  if(at > 1){
	alert_msg(obj,"WARNING : Your "+name+" is invalid.");
	obj.select();
	obj.focus();	
  	return false;
  }  
  for (var i = 0; i < obj.value.length; i++) {
  	if (iChars.indexOf(obj.value.charAt(i)) != -1) {
  	alert_msg(obj,"WARNING : Your "+name+" seems invalid.");
	obj.select();
	obj.focus();	
  	return false;
  	}
  }
  obj.className='NormalMode';	
  return true;
}

function check_input(obj,name)
{
	if(!obj.value.length)
	{
		alert('WARNING : Please provide '+name+ ' in the form');
		obj.focus();
		return false;
	}
	return true;
}

function check_input_with_value(obj,name,default_value)
{
	var str='WARNING : Please provide '+name+ ' in the form';	

	if(!obj.value.length)
	{
		alert_msg(obj,str);
		obj.focus();
		return false;
	}
	else if(obj.value==default_value)
	{
		alert_msg(obj,str);
		obj.value=default_value;
		obj.select();
		obj.focus();
		return false;
	}
	else
	{
		if(isEmpty(obj)){
			alert_msg(obj,str);
			obj.select();
			obj.focus();
			return false;
		}
	}	
	obj.className='NormalMode';	
	obj.value=trim(obj.value);
	return true;
}
function trim(str)
{
  return str.replace(/^\s+|\s+$/g, '');
}

function isEmpty(s)
{
	// whitespace characters
	var whitespace = " \t\n\r";
	var i;
	for (i = 0; i < s.value.length; i++)
    {   
		// Check that current character isn't whitespace.
		var c = s.value.charAt(i);
	
		if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;

}
function containsSpecialChars(obj, name)
{
	var iChars = "!@#$%^&*()+=[]\\\';,./{}|\":<>?_~®";

  for (var i = 0; i < obj.value.length; i++) {
  	if (iChars.indexOf(obj.value.charAt(i)) != -1) {
  	alert_msg(obj,"WARNING : Your "+name+" contains special characters. Please check!!");
	obj.select();
	obj.focus();	
  	return false;
  	}
  }
  obj.className='NormalMode';	
   return true;
}
function containsSpecialCharsUser(obj, name, sp_chars)
{
	var iChars = sp_chars;

  for (var i = 0; i < obj.value.length; i++) {
  	if (iChars.indexOf(obj.value.charAt(i)) != -1) {
  	alert_msg(obj,"WARNING : Your "+name+" has special characters. Please remove them and try again.");
	obj.select();
	obj.focus();	
  	return false;
  	}
  }
  obj.className='NormalMode';	
   return true;
}
function check_input_with_value_alert(obj,name,default_value)
{
	var str='WARNING : Please provide '+name+ ' in the form';
	if(!obj.value.length)
	{
		alert(str);
		obj.focus();
		return false;
	}
	else if(obj.value==default_value)
	{
		alert(str);
		obj.value='';
		obj.focus();
		return false;
	}	
	else if(trim(obj.value) == 0)
	{
		alert("your "+name+" is not valid")
		return false;
		}
	return true;
}
function check_select_with_value(obj,name,other_id)
{
	var str='WARNING : Please select '+name+ ' from Pop-Down list';
	var div_obj=document.getElementById(other_id);
	if(!obj.options.selectedIndex)
	{
		alert_msg(div_obj,str);
		obj.focus();
		return false;
	}
	div_obj.className='NormalMode';
	return true;
}

function alert_msg(obj,msg)
{
	var err_msg=document.getElementById('ErrorMsg');
// innerText
	var new_txt = document.createTextNode(msg);
    err_msg.replaceChild(new_txt, err_msg.childNodes[0]);
	err_msg.className='show';
	obj.className='ErrorMode';
}

function flush_id_value(obj,className,value)
{ 
	var err_msg=document.getElementById(obj);
// innerText
	var new_txt = document.createTextNode(value);
    err_msg.replaceChild(new_txt, err_msg.childNodes[0]);
	err_msg.className=className;
}

function check_date_field(obj,name,value)
{
	if(!obj.value.length || obj.value==value)
	{
		alert('WARNING : Please fill '+name+ ' in the form');
		obj.value='';
		obj.focus();
		return false;
	}
	return true;
}


function check_select(obj,name)
{
	if(!obj.options.selectedIndex)
	{
		alert('WARNING : Please select '+name+ ' from Pop-Down list');
		obj.focus();
		return false;
	}
	return true;
}

function check_radio(obj,name,count)
{
	var flag=0;
	for(var i=0;i<count;i++)
	{
		if(obj[i].checked)
		{
			return true;
		}
	}
	alert('WARNING : Please select '+name);
	obj[0].focus();
	return false;
}


function off(f)
{
	f.designation.disabled=true;
}

function on(f)
{
	f.designation.disabled=false;
}

function flush(f,str)
{
	if(f.value==str)
		f.value='';
	f.focus();
	return false;
}

var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height)
{
  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close();
  }
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}

function populate_select(obj, value)
{
		for(i=0;i<obj.length;i++)
		{
				if(obj.options[i].text==value)
					obj.options[i].selected=true;
		}
}

function expandcollapse(idvalue, obj){
	if(document.getElementById(idvalue).style.display == "none" || document.getElementById(idvalue).style.display == ""){
		document.getElementById(idvalue).style.display = "block";
		obj.src = "/images/icons/minus.gif";					
		obj.alt = "Collapse";				
	}else{
		document.getElementById(idvalue).style.display = "none";
		obj.src = "/images/icons/plus.gif";
		obj.alt = "Expand";
	}				
}
function showhide(idvalue, obj){
	if(document.getElementById(idvalue).style.display == "none" || document.getElementById(idvalue).style.display == ""){
		document.getElementById(idvalue).style.display = "block";
		obj.previousSibling.src = "/images/icons/minus.gif";					
	}else{
		document.getElementById(idvalue).style.display = "none";
		obj.previousSibling.src = "/images/icons/plus.gif";
	}				
}
function check_length(obj,name,maxsize)
{
	if(obj.value.length > maxsize)
	{
		alert('WARNING : '+name+ ' length should not exceed more than '+maxsize);
		obj.focus();
		return false;
	}
	return true;
}

function check_for_number(obj, name, default_value)
{
	var str='WARNING : '+name+ ' must contain numbers';	
	var digits = "0123456789";

	if(isEmpty(obj)){
			alert_msg(obj,str);
			obj.select();
			obj.focus();
			return false;
	}
	else if(obj.value==default_value)
	{
		alert_msg(obj,str);
		obj.value=default_value;
		obj.select();
		obj.focus();
		return false;
	}
	else{
				
		for (var i = 0; i < obj.value.length; i++)
		{
			temp = obj.value.substring(i, i+1)
		
			if (digits.indexOf(temp) == -1 &&
			 obj.value != "")
			{
			  alert_msg(obj,str);			 
			  obj.select();
			  obj.focus();
			  return false;
			}
		}
	}
	
	
	obj.className='NormalMode';	
	obj.value=trim(obj.value);
	return true;
}
//not used anywhere
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}
function defaultvalue(box, value){
	if(box.value == value){
		box.value = '';
	}	
}
function setdefaultvalue(box, value){
	if(box.value == ''){
		box.value = value;
	}	
}
