function rm_trim(inputString){
	if (typeof inputString != "string") { return inputString;}

	var temp_str = '';
	temp_str = inputString.replace(/[\s]+/g,"");
	if(temp_str == '')
		return "";
	
	var retValue = inputString;
	var ch = retValue.substring(0, 1);
	while (ch == " "){
		retValue = retValue.substring(1, retValue.length);
		ch = retValue.substring(0, 1);
	}
	ch = retValue.substring(retValue.length-1, retValue.length);
	while (ch == " "){
		retValue = retValue.substring(0, retValue.length-1);
		ch = retValue.substring(retValue.length-1, retValue.length);
	}
	while (retValue.indexOf("  ") != -1){
	  retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
	}
	return retValue;
}

function isNumeric(elem){
	var numericExpression = /^[0-9]+$/;
	if(elem.match(numericExpression)){
		return true;
	}else{
		return false;
	}
}
function validateImage(Img){
	if((Img.value.toLowerCase().lastIndexOf(".jpg")==-1)
		 && (Img.value.toLowerCase().lastIndexOf(".gif")==-1)
		 && (Img.value.toLowerCase().lastIndexOf(".png")==-1)
		 && (Img.value.toLowerCase().lastIndexOf(".pjpeg")==-1)){
				return false;
			}
			else
			   return true;
}
function emailValidator(elem){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.match(emailExp)){
		return true;
	}else{
		return false;
	}
}
function getFormData(theForm){
	//alert(theForm.name);
   var inputtype=new Array("text","hidden","radio","checkbox","file","password");
   var urlData="";
   //checking select type
   if(document.getElementById(theForm).getElementsByTagName("select")){
    elements = document.getElementById(theForm).getElementsByTagName("select");
    for(i=0;i<elements.length;i++){
     urlData+="&"+elements.item(i).name+"="+escape(elements.item(i).value);
    }
   }
   
   if(document.getElementById(theForm).getElementsByTagName("textarea")){
    elements = document.getElementById(theForm).getElementsByTagName("textarea");
    for(i=0;i<elements.length;i++){
     urlData+="&"+elements.item(i).name+"="+escape(elements.item(i).value);
    }
   }
   
   for(var ti=0;ti<inputtype.length;ti++){
    elements = document.getElementById(theForm).getElementsByTagName("input");
    
    for(var i=0;i<elements.length;i++){
     if(elements.item(i).type == inputtype[ti]){
      if (elements.item(i).type == "radio" || elements.item(i).type == "checkbox"){
       if (elements.item(i).checked==true){ 
       urlData+="&"+elements.item(i).name+"="+escape(elements.item(i).value);
       }
      }
      else if (elements.item(i).type == "hidden"){
     // alert("hidden : "+elements.item(i).name+" "+elements.item(i).value);
       if (elements.item(i).name!="basePathtxt" && elements.item(i).name!="claimbillpath" && elements.item(i).name!="finalUploadPath"){
       urlData+="&"+elements.item(i).name+"="+escape(elements.item(i).value);
       }
      
      }
      else{
       urlData+="&"+elements.item(i).name+"="+escape(elements.item(i).value);
      }
     }
    }
    
   }
  
   return(urlData);

 }
  function clearFormData(theForm){
	//alert(theForm);
   var inputtype=new Array("text","hidden","radio","checkbox","file","password");
   var urlData="";
   //checking select type
   if(document.getElementById(theForm).getElementsByTagName("select")){
    elements = document.getElementById(theForm).getElementsByTagName("select");
    for(i=0;i<elements.length;i++){
     elements.item(i).value="";
    }
   }
   
   if(document.getElementById(theForm).getElementsByTagName("textarea")){
    elements = document.getElementById(theForm).getElementsByTagName("textarea");
    for(i=0;i<elements.length;i++){
     	elements.item(i).value="";
    }
   }
   
   for(var ti=0;ti<inputtype.length;ti++){
    elements = document.getElementById(theForm).getElementsByTagName("input");
    
    for(var i=0;i<elements.length;i++){
     if(elements.item(i).type == inputtype[ti]){
      if (elements.item(i).type == "radio" || elements.item(i).type == "checkbox"){
       if (elements.item(i).checked==true){ 
       //urlData+="&"+elements.item(i).name+"="+elements.item(i).value;
       }
      }
      else if (elements.item(i).type == "hidden"){
     
       }
      
      }
      else{
		  if(elements.item(i).type !="button")
		       elements.item(i).value="";
      }
     }
    }
    
   }
 function HideShowAlter(heading,msg,action){
	document.getElementById("onlineadd-div").style.display=action;
	document.getElementById("MsgError").innerHTML=msg;
	document.getElementById("alertheading").innerHTML="<strong>"+heading+"</strong>";
}
 
function userRegistration(formid,divid,thebutton){
	var theFields=new Array("username","password","repassword","fullname","email","organization");
	var theCaption=new Array("username","password","re-password","full name","e-mail","organization");
	for(var i=0;i<6;i++){
		var thevalue=document.getElementById(theFields[i]).value;
		thevalue=rm_trim(thevalue);
		
		if(thevalue==''){
			document.getElementById(divid).innerHTML=theCaption[i]+" should not blank";
			document.getElementById(theFields[i]).focus();
			document.getElementById(theFields[i]).style.outline = "4px solid #FF0000";
			return false;
		}
		else{
			document.getElementById(theFields[i]).style.outline = "none";
		}
		
		if(i==4){
			if(!emailValidator(thevalue)){
			  document.getElementById(divid).innerHTML=""+theCaption[i]+" is invalid";
			  document.getElementById(theFields[i]).focus();
			  document.getElementById(theFields[i]).style.outline = "4px solid #FF0000";
			  return false;
			}
		}
	}
	var p1=document.getElementById("password");
	var p2=document.getElementById("repassword");
	if( rm_trim(p1.value)!= rm_trim(p2.value)){
		document.getElementById(divid).innerHTML="Password Not Matched";
		p1.focus();
		p1.style.outline = "4px solid #FF0000";
		return false;
	}
	if(document.getElementById("uavl").innerHTML!=""){
		document.getElementById(divid).innerHTML="username not available";
	  document.getElementById("username").focus();
	  document.getElementById("username").style.outline = "4px solid #FF0000";
	  return false;
	}
	
	document.getElementById(divid).innerHTML="";
	thebutton.value = "wait....";
  	thebutton.disabled=true;;
  
	var ajaxRequest=getAjaxRequestObject();  // The variable that makes Ajax possible!
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var message=ajaxRequest.responseText.split("#@#");
			//alert(message);
			if(message[0]=="failure"){
				HideShowAlter("Registration confirmation",message[1],"block");
				thebutton.value = "Submit";
				thebutton.disabled=false;
			}
			else if(message[0]=="success"){
				//HideShowAlter("Registration confirmation",message[1],"block");
				thebutton.value = "Submit";
				thebutton.disabled=false;
				window.location.href="member-signup-finish.php";
				//clearFormData(formid);
				
			}
			else{
				HideShowAlter("Registration confirmation","Error 505 : "+message,"block");
				thebutton.value = "Submit";
				thebutton.disabled=false;;		
			}
		}
	}
	
	var queryString ="AjaxHandler.php?query=userreg";
//	alert(queryString);
	ajaxRequest.open("POST", queryString, true);
	var params=getFormData(formid);//"&FilePath="+theField.value+"&dt="+new Date().getTime()
	//alert(params);
	 ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	 ajaxRequest.setRequestHeader("Content-length", params.length);
	 ajaxRequest.setRequestHeader("Connection", "close");
	 ajaxRequest.send(params);

}

function showHideDoubleDiv(FirstDiv,FristAction,SecondDiv,SecondAction){
	if(document.getElementById(FirstDiv))
		document.getElementById(FirstDiv).style.display=FristAction;
	if(document.getElementById(SecondDiv))
		document.getElementById(SecondDiv).style.display=SecondAction;
}

function validateResetPassword(divid){
	var str="&nbsp;&nbsp;"
	var p0=document.getElementById("oldpassword");
	var p1=document.getElementById("newpassword");
	var p2=document.getElementById("renewpassword");
	if( rm_trim(p0.value)== ""){
		str+="Old Password Should Not Blank";
		document.getElementById(divid).innerHTML=str;
		p0.focus();
		return false;
	}
	if( rm_trim(p1.value)== ""){
		str+="New Password Should Not Blank";
		document.getElementById(divid).innerHTML=str;
		p1.focus();
		return false;
	}
	if( rm_trim(p2.value)== ""){
		str+="Re Password Should Not Blank";
		document.getElementById(divid).innerHTML=str;
		p2.focus();
		return false;
	}
	if( rm_trim(p1.value)!= rm_trim(p2.value)){
		str+="Password Not Matched";
		document.getElementById(divid).innerHTML=str;
		p1.focus();
		return false;
	}
	
	var url="AjaxHandler.php?query=resetpassword";
	url+="&oldpassword="+p0.value+"&newpassword="+p1.value+"&dt="+new Date().getTime();
	var ajaxRequest=getAjaxRequestObject(); 
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var message=ajaxRequest.responseText.split("#@#");
			if(message[0]=="failure"){
				document.getElementById(divid).innerHTML=message[1];
			}
			else if(message[0]=="success"){
				document.getElementById(divid).innerHTML=message[1];
				document.getElementById("oldpassword").value="";
				document.getElementById("newpassword").value="";
				document.getElementById("renewpassword").value="";
			}
			else{
				document.getElementById(divid).innerHTML="Error in server response";
			}
		}
	}
	
	ajaxRequest.open("POST", url, true);
	ajaxRequest.send(null); 
	//getServerResponse(divid,url,"",true);	
	
}

function updateUserProfile(formid,divid,thebutton){
	var theFields=new Array("fullname","email","organization");
	var theCaption=new Array("full name","e-mail","organization");
	for(var i=0;i<3;i++){
		var thevalue=document.getElementById(theFields[i]).value;
		thevalue=rm_trim(thevalue);
		
		if(thevalue==''){
			document.getElementById(divid).innerHTML=theCaption[i]+" should not blank";
			document.getElementById(theFields[i]).focus();
			document.getElementById(theFields[i]).style.outline = "4px solid #FF0000";
			return false;
		}
		else{
			document.getElementById(theFields[i]).style.outline = "none";
		}
		
		if(i==1){
			if(!emailValidator(thevalue)){
			  document.getElementById(divid).innerHTML=""+theCaption[i]+" is invalid";
			  document.getElementById(theFields[i]).focus();
			  document.getElementById(theFields[i]).style.outline = "4px solid #FF0000";
			  return false;
			}
		}
	}
	
	
	document.getElementById(divid).innerHTML="";
	thebutton.value = "wait....";
  	thebutton.disabled=true;;
  
	var ajaxRequest=getAjaxRequestObject();  // The variable that makes Ajax possible!
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
			var message=ajaxRequest.responseText.split("#@#");
			//alert(message);
			if(message[0]=="failure"){
				//HideShowAlter("Update confirmation",message[1],"block");
				thebutton.value = "Save Changes";
				thebutton.disabled=false;
				window.location.href="member-signup-finish.php";
			}
			else if(message[0]=="success"){
				HideShowAlter("Update confirmation",message[1],"block");
				thebutton.value = "Save Changes";
				thebutton.disabled=false;

			}
			else{
				HideShowAlter("Update confirmation","Error 505 : "+message,"block");
				thebutton.value = "Save Changes";
				thebutton.disabled=false;;		
			}
		}
	}
	
	var queryString ="AjaxHandler.php?query=userprofileupdate";
//	alert(queryString);
	ajaxRequest.open("POST", queryString, true);
	var params=getFormData(formid);//"&FilePath="+theField.value+"&dt="+new Date().getTime()
	//alert(params);
	 ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	 ajaxRequest.setRequestHeader("Content-length", params.length);
	 ajaxRequest.setRequestHeader("Connection", "close");
	 ajaxRequest.send(params);

}
