// JavaScript Document
var form = "";
var submitted = false;
var error = false;
var error_message = "";

function check_form(form_name) 
{
  if (submitted == true)
  {
    alert("This form has already been submitted. Please press Ok and wait for this process to be completed.");
    return false;
  }
   error = false;
   form = form_name;

    check_validate();

  if (error == true)
  {
    alert(error_message);
    return false;
  }
  else
  {
    submitted = true;
    return true;
  }
}

function replaceAll(s, fromStr, toStr)
{
    var new_s = s;
    for (i = 0; i < 100 && new_s.indexOf (fromStr) != -1; i++)
    {
        new_s = new_s.replace (fromStr, toStr);
    }
    return new_s;
}

function check_empty(field_name,message)
{
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden"))
  {

    var field_value = form.elements[field_name].value;
    
    var k
    k=replaceAll(field_value," ", "")
    
    if ((field_value == '') || (k=='') )
    {
     error_message = error_message + "* " + message + "\n";
      error = true;
    }
  }
}

function check_email(field_name,message)
{
	emailStr=form.elements[field_name].value;
 
	if (form.elements[field_name].value=="")
	{
	   error_message = error_message + "* " + message + "\n";
		error=true;
	}
    else
    {
		var checkTLD=1;
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		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)
		{
			error_message = error_message + "* " + "Email address seems incorrect (check @ and .'s)" + "\n";
			error=true;
			return false;

		}
		var user=matchArray[1];
		var domain=matchArray[2];
		for (i=0; i<user.length; i++)
		{
			if (user.charCodeAt(i)>127)
			{
				error_message = error_message + "* " + "The emailid contains invalid characters." + "\n";
				error=true;
			}
		}
		for (i=0; i<domain.length; i++)
		{
			if (domain.charCodeAt(i)>127)
			{
				error_message = error_message + "* " + "The domain name contains invalid characters." + "\n";
				error=true;
			}
		}
		if (user.match(userPat)==null)
		{
			error_message = error_message + "* " + "The emailid doesn't seem to be valid." + "\n";
			error=true;
		}
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null)
		{
			for (var i=1;i<=4;i++)
			{
				if (IPArray[i]>255)
				{
					error_message = error_message + "* " + "Destination IP address is invalid!" + "\n";
					error=true;
				}
			}
		}
		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		for (i=0;i<len;i++)
		{
			if (domArr[i].search(atomPat)==-1)
			{
				error_message = error_message + "* " + "The domain name does not seem to be valid." + "\n";
				error=true;
			}
		}
		
		if (len<2)
		{
			error_message = error_message + "* " + "This emailid is missing a hostname!" + "\n";
			error=true;
		}
    }
}

function check_lengthlow(field_name,message,lenval)
{
	var lenval1
	lenval1=form.elements[field_name].value
	var lval
	lval=lenval1.length;
	if(lval< lenval)
	{
		error_message = error_message + "* " + message + "\n";	
		error=true;
	}
}


function check_lengthhigh(field_name,message,lenval)
{
	var lenval1
	lenval1=form.elements[field_name].value
	var lval
	lval=lenval1.length;
	if(lval> lenval)
	{
		error_message = error_message + "* " + message + "\n";	
		error=true;
	}
}
function check_match(field_name1,field_name2,message)
{
    if (form.elements[field_name1].value != form.elements[field_name2].value)
	{
        error_message = error_message + "* " + message + "\n";
        error=true;
    }
}

function check_numeric(field_name,message)
{
     if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) 
     {
        var field_value = form.elements[field_name].value;

        if (isNaN(field_value))
        {
			error_message = error_message + "* " + message + "\n";
			error = true;
		}	
	}
}

function check_zero(field_name,message)
{
     if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) 
     {

        var field_value = form.elements[field_name].value;

		if(field_value!="")
		{
			if (Math.abs(field_value)==0)
			{
				error_message = error_message + "* " + message + "\n";
				error = true;
			}
		}
  }

}

function check_quotes(field_name,message)
{
  if (form.elements[field_name] && (form.elements[field_name].type != "hidden"))
  { 
     var field_value = form.elements[field_name].value; 
	  
	  //for double quotes 
	  var k=field_value.indexOf('"');
	  if(k!=-1)
	  {
		 error_message = error_message + "* " + message + "\n";
		  error = true;

	  }
  }
}

function check_website(field_name,message)
{
	if(form.elements[field_name]!="")
	{
		v1 = form.elements[field_name].value;
		val1=v1.indexOf("http://")
		val2=v1.indexOf("https://")
		
		if((val1 == -1 && val2 == -1) || (val1 != 0 && val2 != 0))
		{
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}

function delete_record(url,msg)
{ 
 doyou = confirm(msg);
 if (doyou == true)
 {
 	  window.location.href=url;
 }
}

function preview_popup(url,width,height)
{
	//window.open(url,"",'status=0, channelmode=0,directories=0,location=0,menubar=0,resizable=0,scrollbars=0,toolbar=0,dialog=yes,modal=yes,alwaysRaised=yes, height=170, width=220, status=no, scroll=yes, left='+(screen.width/2-220)+',top='+(screen.height/2-150));
	window.open(url,"",'status=0, channelmode=0,directories=0,location=0,menubar=0,resizable=0,scrollbars=1,toolbar=0,dialog=yes,modal=yes,alwaysRaised=yes, height='+height+', width='+width+', status=no, scroll=yes, left='+(screen.width/2-400)+',top='+(screen.height/2-600));
	//window.open(url,"Player","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=700,height=350")
}

function validate_mail(field_name,message,form)
{
	emailStr=form.elements[field_name].value;
 
	if (form.elements[field_name].value=="")
	{
	   error_message = error_message + "* " + message + "\n";
		error=true;
	}
    else
    {
		var checkTLD=1;
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		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)
		{
			error_message = error_message + "* " + "Email address seems incorrect (check @ and .'s)" + "\n";
			error=true;
			return false;

		}
		var user=matchArray[1];
		var domain=matchArray[2];
		for (i=0; i<user.length; i++)
		{
			if (user.charCodeAt(i)>127)
			{
				error_message = error_message + "* " + "The emailid contains invalid characters." + "\n";
				error=true;
			}
		}
		for (i=0; i<domain.length; i++)
		{
			if (domain.charCodeAt(i)>127)
			{
				error_message = error_message + "* " + "The domain name contains invalid characters." + "\n";
				error=true;
			}
		}
		if (user.match(userPat)==null)
		{
			error_message = error_message + "* " + "The emailid doesn't seem to be valid." + "\n";
			error=true;
		}
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null)
		{
			for (var i=1;i<=4;i++)
			{
				if (IPArray[i]>255)
				{
					error_message = error_message + "* " + "Destination IP address is invalid!" + "\n";
					error=true;
				}
			}
		}
		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		for (i=0;i<len;i++)
		{
			if (domArr[i].search(atomPat)==-1)
			{
				error_message = error_message + "* " + "The domain name does not seem to be valid." + "\n";
				error=true;
			}
		}
		
		if (len<2)
		{
			error_message = error_message + "* " + "This emailid is missing a hostname!" + "\n";
			error=true;
		}
    }
}

function redirect(page)
{
	window.location=page;
}

//AJAX Functionalities
var http = getHTTPObject();
function request_ajax(divid,url,qrystr)
{
	var loadstatustext="Requesting content..."
	var sId="?"+qrystr;
   function handleHttpResponse()
   { 
		if (http.readyState == 4)
		{ 
			 if(http.status==200)
			  { 
				var results=http.responseText; 
				document.getElementById(divid).innerHTML = results; 
			  } 
		  }
	} 
	document.getElementById(divid).innerHTML = loadstatustext;  
	http.open("GET", url + sId, true);
	http.onreadystatechange = handleHttpResponse;
	http.send(null); 
}

var http1 = getHTTPObject();
function request_ajax1(divid,url,qrystr)
{
	var loadstatustext="Requesting content..."
	var sId="?"+qrystr;
   function handleHttpResponse()
   { 
		if (http1.readyState == 4)
		{ 
			 if(http1.status==200)
			  { 
				var results=http1.responseText; 
				document.getElementById(divid).innerHTML = results; 
			  } 
		  }
	} 
	document.getElementById(divid).innerHTML = loadstatustext;  
	http1.open("GET", url + sId, true);
	http1.onreadystatechange = handleHttpResponse;
	http1.send(null); 
}

function getHTTPObject()
{ 
  var xmlhttp; 

  if(window.XMLHttpRequest){ 
	xmlhttp = new XMLHttpRequest();
  } 
  else if (window.ActiveXObject){  
	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
	if (!xmlhttp){ 
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	} 
} 
  return xmlhttp; 
}

function only_numeric(e)
{
	var keynum;
	var keychar;
	var numcheck;
	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // netscape/Firefox/opera
	{
		keynum = e.which;
	}
	//condition for backspace(8) Key
	if(keynum != 8)
	{
		keychar = String.fromCharCode(keynum);
		numcheck = /\d/;
		return numcheck.test(keychar);
	}
	else 
	{
		return true;
	}
}
