var xmlHttp=null;

function registration()
{
	if(xmlHttp==null)
	{
		var frmvalidator  = new Validator("regi");
		frmvalidator.addValidation("fname","req","Please Enter Your First Name");
		frmvalidator.addValidation("lname","req","Please Enter Your Last Name");
		frmvalidator.addValidation("mname","req","Please Enter Your Membername");
		frmvalidator.addValidation("lpassword","req","Please Enter Your Password");
		frmvalidator.addValidation("lcpassword","req","Please Enter Confirmation Password");
		frmvalidator.addValidation("email","req","Please Enter Email Address");
		frmvalidator.addValidation("email","email","Please Enter Valid Email Address");
		frmvalidator.addValidation("postcode","req","Please Enter Your Zipcode");
		frmvalidator.addValidation("postcode","num","Please Enter Valid Zipcode");
		
		
		
		
		
		
		if(frmvalidator.validate() == true)
		{
			if(document.getElementById("lpassword").value != document.getElementById("lcpassword").value)
			{
				alert("Password and confirmation Password should be same");
			} else if(!document.regi.terms.checked){
					alert("Please Read Terms Of Use & Privacy Policy and check the box below");
			}
			else
			{
				var url="login.php?action=ajax&";
				url +=get_form_values(document.regi);
				xmlHttp=GetXmlHttpObject();
				xmlHttp.onreadystatechange=registration;
				xmlHttp.open("post",url,true);
				xmlHttp.send(null);
				document.getElementById("loader").style.display="block";
			}
		}
	}
	else
	{
		if (xmlHttp.readyState==4)
		{ 
			document.getElementById("loader").style.display="none";
			var result=xmlHttp.responseText;
			xmlHttp=null;
			
			if(result == 0)
			{
				alert("Username already exists!");
			}
			else if(result == 1)
			{
				
				location.href="reg_succ.php";
			}
			else if(result == 2)
			{
				alert("Email Address already exists!");
			}
		}
	}
	return false;
}

function login()
{
	var frmvalidator  = new Validator("lgn");
	frmvalidator.addValidation("username","req","Please Enter Your Username");
	frmvalidator.addValidation("password","req","Please Enter Your Password");
	return frmvalidator.validate();
}

function forgot_password()
{
	if(xmlHttp==null)
	{
		var frmvalidator  = new Validator("forgot_pass");
		frmvalidator.addValidation("email","req","Please Enter Email Address");
		frmvalidator.addValidation("email","email","Please Enter Valid Email Address");
		if(frmvalidator.validate() == true)
		{
			var url="password_forgotten.php?action=ajax&";
			url +=get_form_values(document.forgot_pass);
			xmlHttp=GetXmlHttpObject();
			xmlHttp.onreadystatechange=forgot_password;
			xmlHttp.open("post",url,true);
			xmlHttp.send(null);
			document.getElementById("result").innerHTML="Loading...";
		}
	}
	else
	{
		if (xmlHttp.readyState==4)
		{ 
			document.getElementById("result").innerHTML="";
			var result=xmlHttp.responseText;
			xmlHttp=null;
			if(result == 0)
			{
				document.getElementById("result").innerHTML="Email Address is not found!";
			}
			else if(result == 1)
			{
				document.getElementById("result").innerHTML="Success! Your password has been sent to your Email!";
			}
			setTimeout("document.getElementById('email').value='';document.getElementById('result').innerHTML=''",10000);
		}
	}
	return false;
}

function post_topic_validation()
{
	var frmvalidator  = new Validator("post_topic_frm");
	frmvalidator.addValidation("new_topic","req","Please Enter Value For New Topic");
	
	return frmvalidator.validate();
}

function reply_post_topic_validation()
{
	var frmvalidator  = new Validator("reply_post_topic_frm");
	frmvalidator.addValidation("new_topic","req","Please Enter Value For Reply");
	
	return frmvalidator.validate();
}

function post_search_validation()
{
	var frmvalidator  = new Validator("topic_search");
	frmvalidator.addValidation("findTopic","req","Please Enter Value For Search");
	
	
	
	return frmvalidator.validate();
}

function search_doctors1()
{
	var frmvalidator  = new Validator("search_frm1");
	str1 = trim(document.getElementById("input1").value);
	str2 = trim(document.getElementById("input2").value);
	if((str1=="" && str2=="") || (str1=="Business Name or Last Name" && str2=="Address, City & State, or Zip") || (str1=="" && str2=="Address, City & State, or Zip") || (str1=="Business Name or Last Name" && str2==""))
	{
		alert("Enter Valid Input!");
		return false;
	} 
}

function search_doctors2()
{
	var frmvalidator  = new Validator("search_frm2");
	var str = document.getElementById("input3").value;
	var s = trim(str);
	if(s == "Search bracesquestions.com")
	{
		document.getElementById("input3").value = "";
	}
	frmvalidator.addValidation("input3","req","Please Enter Search Text");
	return frmvalidator.validate();
}

function trim(s)
{
    var l=0; var r=s.length -1;
    while(l < s.length && s[l] == ' ')
    {     l++; }
    while(r > l && s[r] == ' ')
    {     r-=1;     }
    return s.substring(l, r+1);
} 

function poll_frm()
{
	var frmvalidator  = new Validator("polling");
	//var i = 1;
	//alert(document.getElementById("poll_radio_" + i).value);
    var c=0;c1=0;

	for(var i=1;i<=document.getElementById("no_of_poll").value;i++)
	{
		if(document.getElementById("poll_radio_"+i).checked == false)
		{
		 c++;
		}
		else
		 c1=1;
		
	}
	if(c1!=1)
	 {
		document.getElementById("poll_radio_1").value = "";	
		frmvalidator.addValidation("poll_radio_1","req","Please select anyone poll");
		return frmvalidator.validate(); 
	 }
	 else
	  return true;
}

function change_password()
{
	var frmvalidator  = new Validator("change_pass");
	frmvalidator.addValidation("old_password","req","Please Enter Old Username");
	frmvalidator.addValidation("new_password","req","Please Enter New Password");
	frmvalidator.addValidation("cnew_password","req","Please Enter Confirmation Password");
	if(frmvalidator.validate() == true)
	{
		if(document.getElementById("new_password").value == document.getElementById("cnew_password").value)
		{
			return true;
		}
		else
		{
			document.getElementById("err_cnew_password").innerHTML="Password and confirmation Password should be same";
//			alert("Password and confirmation Password should be same");
			return false;
		}
	}
	return false;
}

function friendemail()
{
	var frmvalidator  = new Validator("refer");
	frmvalidator.addValidation("your_name","req","Please Enter Your Name");
	frmvalidator.addValidation("your_email","req","Please Enter Your Email");
	frmvalidator.addValidation("your_email","email","Please Enter Valid Email");	
	frmvalidator.addValidation("friend_email","req","Please Enter Friend Email");
	
	return frmvalidator.validate();
}
function reportpost()
{
	var frmvalidator  = new Validator("rpost");
	frmvalidator.addValidation("your_name","req","Please Enter Your Name");
/*	frmvalidator.addValidation("your_email","req","Please Enter Your Email");
	frmvalidator.addValidation("your_email","email","Please Enter Valid Email");*/
	frmvalidator.addValidation("message1","req","Please Enter message");
	return frmvalidator.validate();
}


function showmap(map_content) 
{ 
	var result = map_content.split("SPLIT_POINTER");
	for (var i = 0; i < result.length-1 ; i++) 
	{
		var data_pointer = result[i].split("SPLIT_LAT_LONG");
		var lat=data_pointer[0];
		var long=data_pointer[1];
		var display=data_pointer[2];
//		alert(lat+" "+long+" "+display)
		marker("map",lat,long,display);
	}
}

function post_form()
{
		txt_box_keys=document.getElementById("keyword").value;
		document.getElementById("add_map").style.display='block';
		showLocation("map",txt_box_keys);
}



// Map marker start

var map=null;

function marker(map_div_id,lat,long,display)
{
	if(map == null)
	{
		map = new GMap2(document.getElementById(map_div_id));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(lat,long), 5 ,G_MAP_TYPE);
	}
	var point = new GLatLng(lat,long);
	map.addOverlay(createMarker(point, display)); 
}

function createMarker(point, number) 
{
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function() {
	marker.openInfoWindowHtml(number);
	});
	
	return marker;
}

// Map marker end


//Map starts
    var geocoder;
	var map_div_id;
	var lat="lat";
	var long="long";
	var lat_value = 0;
	var long_value = 0;
	
    function addAddressToMap(response) {
	map = new GMap2(document.getElementById(map_div_id));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(34, 0), 5);
	geocoder = new GClientGeocoder();
      map.clearOverlays();
	  
      if (!response || response.Status.code != 200) {
//        alert("Sorry, we were unable to geocode that address");
      } else {
        place = response.Placemark[0];
		lat_value=place.Point.coordinates[1];
		long_value=place.Point.coordinates[0];
		
/*		document.getElementById(lat).value=place.Point.coordinates[1];
		document.getElementById(long).value=place.Point.coordinates[0];
*//*		alert("Lat:" + place.Point.coordinates[1]);
		alert("Long:" + place.Point.coordinates[0]);
*/
        point = new GLatLng(place.Point.coordinates[1],
                            place.Point.coordinates[0]);
        marker = new GMarker(point);
        map.addOverlay(marker);
        marker.openInfoWindowHtml(place.address + '<br>' +
          '<b>Country code:</b> ' + place.AddressDetails.Country.CountryNameCode);
     }
    }
    // showLocation() is called when you click on the Search button
    // in the form.  It geocodes the address entered into the form
    // and adds a marker to the map at that location.
    function showLocation(mapdivid,keys) {
	map_div_id=mapdivid;
	geocoder = new GClientGeocoder();
      var address = keys;
      geocoder.getLocations(address, addAddressToMap);
    }

   // findLocation() is used to enter the sample addresses into the form.
    function findLocation(address) {
      showLocation(address);
    }
//Map Ends

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    var aVersions = [ "MSXML2.XMLHttp.5.0",
        "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
        "MSXML2.XMLHttp","Msxm12.XMLHTTP","Microsoft.XMLHttp"];

    for (var i = 0; i < aVersions.length; i++) 
	 {
        try {
            var xmlHttp = new ActiveXObject(aVersions[i]);
            return xmlHttp;
            } 
		catch (oError) 
		   {
            //Do nothing
           }
    }
    }
  catch (e)
    {
    }
  }
  if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
return xmlHttp;
}

function get_form_values(obj)
{
  var getvalues = "";
  for (i=0; i<obj.elements.length; i++) {
	 if (obj.elements[i].tagName == "input" || obj.elements[i].tagName == "INPUT") {
		  name=obj.elements[i].name;
		  value=escape(obj.elements[i].value);
		if (obj.elements[i].type == "text") {
		   getvalues += name + "=" + value + "&";
		}
		else if (obj.elements[i].type == "password") {
		   getvalues += name + "=" + value + "&";
		}
		else if (obj.elements[i].type == "hidden") {
		   getvalues += name + "=" + value + "&";
		}
		else if (obj.elements[i].type == "checkbox") {
		   if (obj.elements[i].checked) {
			  getvalues += name + "=" + value + "&";
		   } else {
			  getvalues += name + "=&";
		   }
		}
		else if (obj.elements[i].type == "radio") {
		   if (obj.elements[i].checked) {
			  getvalues += name + "=" + value + "&";
		   }
		}
	 }
	 else if (obj.elements[i].tagName == "select" || obj.elements[i].tagName == "SELECT") {
	  name=obj.elements[i].name;
	  value=escape(obj.elements[i].value);
		var sel = obj.elements[i];
		if(sel.multiple==true)
		{
			var str="";
			for (var j = 0; j < sel.options.length; j++)
			{
				if(str)
				str+=",";
				str+=sel.options[ j ].value;
			}
			getvalues += name + "=" + str + "&";
		}
		else
		{
			getvalues += name + "=" + sel.options[sel.selectedIndex].value + "&";
		}
				
		}
	 else if (obj.elements[i].tagName == "textarea" || obj.elements[i].tagName == "TEXTAREA") {
	  name=obj.elements[i].name;
			  getvalues += name + "=" + escape(obj.elements[i].innerHTML) + "&";
		 }
  }
	return getvalues;
}


function fn_invisalign()
{
	
		var frmvalidator  = new Validator("invisalign");
	frmvalidator.addValidation("dname","req","Please Enter Your Name");
	frmvalidator.addValidation("stadd","req","Please Enter Your Address");
	frmvalidator.addValidation("city","req","Please Enter Your City");
	frmvalidator.addValidation("zipcode","req","Please Enter Your Zipcode");
	frmvalidator.addValidation("pnumber","req","Please Enter Your Phone Number");
	
	return frmvalidator.validate();
}

function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);

else
cntfield.value = maxlimit - field.value.length;
}

function SetValues(Form, CheckBox, Value)  
    {  
        var objCheckBoxes = document.forms[Form].elements[CheckBox];  
        var countCheckBoxes = objCheckBoxes.length;  
        for(var i = 0; i < countCheckBoxes; i++)  
            objCheckBoxes[i].checked = Value;  
			
			
    }  
