// JavaScript Document
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function ajaxHandler()
{
	var xmlHttp;
	try
	{  // Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest(); 
	}
	catch (e)
	{  // Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	    }
		catch (e)
	    {
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	    	}
	    	catch (e)
    	  	{
				xmlHttp=null;
			}
		}
	} 
	return xmlHttp;
}
function isLeapYear(year)
{
	if( (year % 4) == 0 )
	{
		if( (year % 100 ) == 0 )
		{
			if( (year % 400 ) == 0 )
				return true;
			return false;
		}
		return true;
	}
	else return false;
}
function checkday(day,month,year)
{
 var c_y=0;
 
 if(day != "")
 { 	
	if(year != "" && month != "")
	{
		c_d = isLeapYear(year) ? 29 : 28 ;
		var flag = false;
		if(month == 02 && day > c_d)
			flag = true;
		else if( (month == 04 || month == 06 || month == 09 || month == 11 ) && day > 30 )
			flag = true;
		if(flag)
		{	
			return true;
		}
	} 
 }
 return false;
}
function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		alert("Email address seems incorrect (check @ and .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
		alert("The username doesn't seem to be valid.")
		return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		  for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Destination IP address is invalid!")
			return false
			}
		}
		return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("The domain name doesn't seem to be valid.")
		return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>4) {
	   alert("The address must end in a valid domain, or two letter country.")
	   return false
	}
	if (len<2) {
	   var errStr="This address is missing a hostname!"
	   alert(errStr)
	   return false
	}
	return true;
}
function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}
function popup(id,pos)
{
var element = document.getElementById(id);
element.style.visibility = "visible";
element.style.display='block';
}
function popup_exit(id,pos)
{
var element = document.getElementById(id);
element.style.visibility = "hidden";
element.style.display='none';
document.getElementById('f_a_mt').style.display='none';
}