var xmlHttp;
var missing = "";
var error = ""
var errorFields = "";
function processForm()
{
 if(errorFields != "")
 {
 	changeCSS("Body_Text2",errorFields)
 }
	if(validateForm())
	{
	getValues();
	hide();
	} 
}
function validateForm()
{
    var req_fields;
	var req_field;
    if(document.getElementById("rb_campus").checked )
	{
   		req_field  = (document.getElementById("required_campus").value);
   		req_fields  = (document.getElementById("required_campus").value).split(",");
	}
	else
	{
			req_field  = (document.getElementById("required_common").value);
			req_fields = (document.getElementById("required_common").value).split(",");	

		}		
   error		= "";
   errorFields  = "";
   missing 		= "";
	for(i=0; i<req_fields.length;i++)
	{    
		if(document.getElementById(req_fields[i]).value == "")
		{   
			if(missing == "")
				missing =  req_fields[i];
			else
			missing =  missing+","+req_fields[i];
		}
	}	
	if(missing != "")
	{  
		error = "Enter information for all mandatory fields ";
	    alert(error)		
	}
	if(missing == "")
	{ 
		if(!isAlphabetWithSpace(document.getElementById("firstName").value))
		{      
			if(errorFields == "")
				errorFields = "firstName";
			else
				errorFields = errorFields + ",firstName"
				 
		}		
		if(!isAlphabetWithSpace(document.getElementById("lastName").value))
		{      
			if(errorFields == "")
				errorFields = "lastName";
			else
				errorFields = errorFields + ",lastName"
		}		
		if(!isAlphabetWithSpace(document.getElementById("middleName").value))
		{      
			if(errorFields == "")
				errorFields = "middleName";
			else
				errorFields = errorFields + ",middleName"
		}
		if(req_field.indexOf("organization")>=0)
		{			
			if(!isAlphabetWithDot(document.getElementById("organization").value))
			{      
				if(errorFields == "")
					errorFields = "organization";
				else
					errorFields = errorFields + ",organization"
			}	
		}
		if(req_field.indexOf("institution")>=0)
		{			
			if(!isAlphabetWithDot(document.getElementById("institution").value))
			{      
				if(errorFields == "")
					errorFields = "institution";
				else
					errorFields = errorFields + ",institution"
			}		
		}
		if(!isAlphabetWithSpace(document.getElementById("state").value))
		{      
			if(errorFields == "")
				errorFields = "state";
			else
				errorFields = errorFields + ",state"			
		}
		if(!isAlphabetWithSpace(document.getElementById("city").value))
		{      
			if(errorFields == "")
				errorFields = "city";
			else
				errorFields = errorFields + ",city"			
		}		
		if(!isURL(document.getElementById("website").value))
		
		{ 
		if(errorFields == "")
				errorFields = "website";
			else
		  errorFields = errorFields + ",website"  
		}
		
		if(!isPhone(document.getElementById("phone").value))
		{      
			if(errorFields == "")
				errorFields = "phone";
			else
				errorFields = errorFields + ",phone"			
		}
		
		if(!isNumber(document.getElementById("countrycode").value))
		{      
			if(errorFields == "")
				errorFields = "phone";
			else
				errorFields = errorFields + ",phone"			
		}
		
		if(!isPhone(document.getElementById("areacode").value))
		{      
			if(errorFields == "")
				errorFields = "phone";
			else
				errorFields = errorFields + ",phone"			
		}
		
		if(!ismobile(document.getElementById("mobile").value))
		{      
			if(errorFields == "")
				errorFields = "mobile";
			else
				errorFields = errorFields + ",mobile"			
		}
	
		if(!isEmail(document.getElementById("email").value))
		{      
			if(errorFields == "")
				errorFields = "email";
			else
				errorFields = errorFields + ",email"			
		}
	
		if(errorFields == "")
		return true;
		else
		{
			showErrorFields(errorFields)
			return false;	   	
		}	
	}
	missing = "";		
}
function showErrorFields(errorFields)
{		
		if(errorFields != "")
		{  
			changeCSS("Text_Red",errorFields)
			show();			
		}
}
function changeCSS(style,fields)
{
		var fields = fields.split(",")
		for(i=0;i<fields.length;i++)
		{
				document.getElementById(fields[i]+"_lbl").className = style;		
		}
}
function isAlphabetWithSpace(val)
{
    for (var i=0;i<val.length;i++)
	{
		var charval = val.charAt(i).toUpperCase()
		if (! (isAlpha(charval) || isSpace(charval) ))
			return false;
	}
    return true;
}
function isAlphabetWithComma(val)
{
    for (var i=0;i<val.length;i++)
	{
		var charval = val.charAt(i).toUpperCase()
		if (! (isAlpha(charval) || isSpace(charval) || isComma(charval)))
			return false;
	}
    return true;
}
function isAlphabetWithDot(val)
{
    for (var i=0;i<val.length;i++)
	{
		var charval = val.charAt(i).toUpperCase()
		if (! (isAlpha(charval) || isSpace(charval) || isDot(charval) || isalphanumeric(val)))
			return false;
	}
    return true;
}
function isComma(charval)
{
	if ( (charval == ",") )
		return true;
	else
		return false;
}
function isDot(charval)
{
	if ( (charval == "." ) )
		return true;
	else
		return false;
}
function isSpace(charval)
{
	if ( (charval == " ") )
		return true;
	else
		return false;
}
function isAlpha(charval)
{
        if ( ((charval >= 'A') && (charval <= 'Z')) )
     		return true;
		else
			return false;
}
function isEmail(val)
{
	if (val.length == 0)
		return true;
	var splitted = val.match("^(.+)@(.+)$");
	if(splitted == null) 
		return false;
	if(splitted[1] != null )
	{
		var regexp_user = /^\"?[\w-_\.]*\"?$/;
		if(splitted[1].match(regexp_user) == null) 
			return false;
	}
	if(splitted[2] != null)
	{
		var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
		if(splitted[2].match(regexp_domain) == null) 
		{
			var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
			if(splitted[2].match(regexp_ip) == null) 
				return false;
		}
		return true;
	}
	return false;
}
function isalphanumeric(val)
{
var objRegExp=/^[a-zA-Z0-9]+$/;	
if(val.match(objRegExp) == null)
		return false;
	else
		return true;
}
function isNumber(val)
{
	var regexp_number=/^[+]?\d+?$/;
	if(val.match(regexp_number) == null)
		return false;
	else
		return true;
}
function isWebsite(val)
{
  var objVal=val;
   var objRegExp = /(^(http|ftp|HTTP|FTP)(\:\/\/www.([a-zA-Z0-9][\w\-]*[a-zA-Z0-9])(\.[a-z]+)+)+$)|(^(www.([a-zA-Z0-9][\w\-]*[a-zA-Z0-9])(\.[a-z]+)+)+$)/
	if(objVal.indexOf("http")==-1 && objVal.indexOf("ftp")==-1 && objVal.indexOf("https")==-1 && objVal.indexOf("www")==-1)
	{
		objRegExp=/^[a-zA-Z0-9\.\-\_]+[.]+[a-zA-Z0-9\.\/\-\_\?\=\$]*$/;
	}
	if(val.match(objRegExp) == null) 
		return false;
   else
		return true;
    }
function isURL(val)
{  

  if(val=="")
	{
	return true;
	}  
   var objVal=val;
   var objRegExp=/((http|ftp|https):\/\/w{3}[\d]*.|(http|ftp|https):\/\/|w{3}[\d]*.)([\w\d\._\-#\(\)\[\]\\,;:]+@[\w\d\._\-#\(\)\[\]\\,;:])?([a-z0-9]+.)*[a-z\-0-9]+.([a-z]{2,3})?[a-z]{2,6}(:[0-9]+)?(\/[\/a-z0-9\._\-,]+)*[a-z0-9\-_\.\s\%]+(\?[a-z0-9=%&\.\-,#]+)?/
	 if(objVal.indexOf("file:///")>-1)
	 {
		if(navigator.userAgent.indexOf("Win")>-1)
			var objRegExp =/^file:\/\/\/[a-zA-Z](\||:)(|[^\\:*?"<>|]+\\[^\\:*?"<>|]+)(\/[^\\:*?"<>|]+)+(\.[^\\:*?"<>|]+)$/
		else if(navigator.userAgent.indexOf("Mac")>-1)
			var objRegExp = /^file:\/\/\/[a-zA-Z](|[^\\:*?"<>|]+\\[^\\:*?"<>|]+)(\/[^\\:*?"<>|]+)+([^\\:*?"<>|]+)$/
	}else if(objVal.indexOf("http")==-1 && objVal.indexOf("ftp")==-1 && objVal.indexOf("https")==-1 && objVal.indexOf("www")==-1)
	{
		objRegExp=/^[a-zA-Z0-9\.\-\_]+[.]+[a-zA-Z0-9\.\/\-\_\?\=\$]*$/;
	}   
	if(val.match(objRegExp) == null) 
	{
		return false
		
      }
	else
	    return true
	}
	
function isPhone(val)
{  
    if(val=="")
	{
	return true;
	}
	var objRegExp=/^[0-9()/s]+$/;
	if(val.match(objRegExp) == null)
		return false;
	else
		return true;
}
function ismobile(val)
{  
    if(val=="")
	{
	return true;
	}
	var objRegExp=/^[0-9+()/s]+$/;
	if(val.match(objRegExp) == null)
		return false;
	else
		return true;
}
function getValues()
{      

    var  checked= "";
   if(document.getElementById("rb_individual").checked)
   {
    	checked = "Individual";
    }  
	else if(document.getElementById("rb_campus").checked)
	{
    	checked = "Campus";
	}
	else if(document.getElementById("rb_enterprise").checked)
	{
    	checked = "Enterprise";
	}
    //var selected= "";

	//if(document.getElementById("status").selected)
	//{
	//selected = "Request";
	//}
    var values = [document.getElementById("firstName").value,
	               document.getElementById("lastName").value,
					document.getElementById("email").value,
					document.getElementById("industry").value,
					document.getElementById("remark").value,
					document.getElementById("organization").value,
					document.getElementById("website").value,
				    document.getElementById("focusarea").value,
					document.getElementById("phone").value,
					document.getElementById("countrycode").value,
					document.getElementById("areacode").value,
					document.getElementById("middleName").value,
					document.getElementById("mobile").value,
				    document.getElementById("state").value,
					document.getElementById("city").value, 
					document.getElementById("address").value,
					document.getElementById("country").value,
					document.getElementById("institution").value,
					checked,
					document.getElementById("status").options[document.getElementById("status").selectedIndex].value,
					document.getElementById("purpose").value];
					
					
	xmlHttp = GetXMLHttpRequest();
	if(xmlHttp == null)	
	{
		alert("SORRY!!!!!!!!! Your Browser doesn't support this script");
	}  	
	var url = "write2db.php";
    url = url + "?fName="+values[0]+"&lName="+values[1]+"&email="+values[2]+"&ind="+values[3]+"&remark="+values[4]+"&organization="+values[5]+"&website="+values[6]+"&focusarea="+values[7]+"&phone="+values[8]+"&countrycode="+values[9]+"&areacode="+values[10]+"&middleName="+values[11]+"&mobile="+values[12]+"&state="+values[13]+"&city="+values[14]+"&address="+values[15]+"&country="+values[16]+"&institution="+values[17]+"&type="+values[18]+"&status="+values[19]+"&purpose="+values[20];
	url = url + "&sid="+Math.random();
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	clearFormValues();
}
function clearFormValues()
{
	elements = ["firstName","middleName","lastName","email","institution","organization","industry","website","focusarea","countrycode","areacode","phone","mobile","country","state","city","address","remark","website"];
	for(i=0; i<elements.length;i++)
	{
		document.getElementById(elements[i]).value = "";
	}	
}	
function GetXMLHttpRequest()
{
	var xmlHttp = null;
	try
	{
		xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}	
	return xmlHttp;
}
prev_sts = "";
curr_sts = "";
function updateStatus(name,email,prestatus,newstatus)
{
	prev_sts = prestatus;
	curr_sts = newstatus;
	xmlHttp = GetXMLHttpRequest();
	if(xmlHttp == null)	
	{
		alert("SORRY!!!!!!!!! Your Browser doesn't support this script");
	}
	var url = "updstatus.php?name="+name+"&email="+email+"&prestatus="+prestatus+"&status="+newstatus;
	url = url + "&sid="+Math.random();
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function updateResponse(name,email,response)
{
	xmlHttp = GetXMLHttpRequest();
	if(xmlHttp == null)	
	{
		alert("SORRY!!!!!!!!! Your Browser doesn't support this script");
	}
     	
	var url = "updresponse.php?name="+name+"&email="+email+"&response="+response;
	url = url + "&sid="+Math.random();
	xmlHttp.onreadystatechange = afterUpdateResponse;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function stateChanged()
{
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
	{
		document.getElementById("ResponseText").innerHTML = xmlHttp.responseText;
		if(curr_sts=="Responded"){
			document.getElementById("prestatus").value = curr_sts;
			document.getElementById("status").innerHTML = curr_sts+"&nbsp;<a href=\"javascript:changeStatus('Closed')\">Close</a>";
		}
		else if(curr_sts=="Open"){
			document.getElementById("prestatus").value = "Open";
			document.getElementById("status").innerHTML = "Open";
			document.getElementById("responsetable").style.display = "";
		}
		else if(curr_sts=="Closed"){
			document.getElementById("prestatus").value = "Closed";
			document.getElementById("status").innerHTML = "Closed";
		}		
	}
}
function afterUpdateResponse()
{
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
	{
		document.getElementById("addresponsetext").innerHTML = xmlHttp.responseText;
		if(xmlHttp.responseText.indexOf("Updated")>=0)
		{
			document.getElementById("responsetable").style.display = "none"; 
			newstatus = "Responded";
			UpdStatus(newstatus);
		}
	}
}
