// JavaScript Document
var validChars = {"numeric":"0123456789",
                  "phone":"0123456789-",
                  "email":"emailaddress@domain.com"};
						
function onlyint(e,field)
{
	if (window.event) keynum = e.keyCode;
	else if (e.which) keynum = e.which;
	
	if(keynum == "0x0b") return true;//allow tabs
	if (keynum == "0x08") return true;
	if (keynum == "0x09") return true;
  	if (keynum == "0x20") return true; //allow space
	if (keynum == "0x2d" && field == 'phone') return true; //allow hyphen
	if (keynum == "0x28" && field == 'phone') return true; //left parenthesis
	if (keynum == "0x29" && field == 'phone') return true; //right parenthesis
	if (keynum == "0x2E" && field == 'currency') return true;
	if (keynum == "0x2F" && field == 'date') return true;
	if ((keynum >= "0x30") && (keynum <="0x39")) return true; //allow 0 - 9
	return false;
}

function onlyAlphaNumeric(e)  
{  
     if (window.event) keynum = e.keyCode;  
     else if (e.which) keynum = e.which;  
  
     if (keynum == "0x08") return true;  
     if (keynum == "0x09") return true;  
       if (keynum == "0x20") return true;  
     if ((keynum >= "0x30") && (keynum <="0x39")) return true;  
     if ((keynum >= "0x41") && (keynum <="0x5A")) return true;  
     if ((keynum >= "0x61") && (keynum <="0x7A")) return true;  
     return false;  
}

function onlyAlpha(e)  
{  
     if (window.event) keynum = e.keyCode;  
     else if (e.which) keynum = e.which;  
  
     if (keynum == "0x08") return true;  
     if (keynum == "0x09") return true;  
       if (keynum == "0x20") return true;  
     //if ((keynum >= "0x30") && (keynum <="0x39")) return true;  
     if ((keynum >= "0x41") && (keynum <="0x5A")) return true;  
     if ((keynum >= "0x61") && (keynum <="0x7A")) return true;  
     return false;  
}

function autotab(current,to){  
    if (current.getAttribute &&   
      current.value.length==current.getAttribute("maxlength")) {  
        to.focus()  
        } 
}

function enable_field(element) {
	element = $(element);
	element.show();
	element.down('.input').disabled = false;
	element.down('.input').style.backgroundColor = "#ffffff";
}

function disable_field(element) {
	element = $(element);
	element.hide();
	element.down('.input').disabled = true;
	element.down('.input').style.backgroundColor = "#efefef";
}

function swapState(val)
{
  if(val != 1)
  {
	  var input_width = Math.floor(219*.58);
	  $('state_div').hide();
	  $('state').disabled = true;
	  $('city').style.width = input_width+"px";
	  $('province').style.width = input_width+"px";
	  $('province_div').show();
	  $('province').disabled = false;
	  $('mail_label').update("Postal");
	  $('zip').disabled = true;
	  $('postal').disabled = false;
	  $('zip').hide();
	  $('postal').show();
  }
  else
  {
	  $('state_div').show();
	  $('state').disabled = false;
	  $('city').style.width = "211px";
	  $('province_div').hide();
	  $('province').disabled = true;
	  $('mail_label').update("Zip");
	  $('zip').disabled = false;
	  $('postal').disabled = true;
	  $('zip').show();
	  $('postal').hide();
	  
  }
}


specialties = ["individual_physicians",
               "medical_groups", 
               "urgent_care_centers",
               "hospitals",
               "medical_spas",
               "skilled_nursing_facilities",
               "home_healthcare_agencies",
               "hospice_care",
               "teleradiology",
               "hmo_reinsurance",
               "surgical_centers"]; 

function changeSpecialty(val)
{
   index = val.toLowerCase();
   index = index.replace(/\ /gi,'_');
   
   for(i=0;i<specialties.length;i++)
	   if($(specialties[i]+"_div"))
	   {
		   var inputs = $$("#"+specialties[i]+"_div input");
		   
		   inputs.each(function(f) {
			   f.disable();
		   })
		   
		   var selects = $$("#"+specialties[i]+"_div select");
		   
		   selects.each(function(f) {
			   f.disable();
		   })
		   
		   $(specialties[i]+"_div").hide();
	   }

   var inputs = $$("#"+index+"_div input");
   
   inputs.each(function(f) {
	   f.enable();
   })
   
   var selects = $$("#"+index+"_div select");
   
   selects.each(function(f) {
	   f.enable();
   })
   
   $(index+"_div").show();
}

function echeck(str)
{
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    
		    return false
		 }

 		 return true					
	}

function clearField(element)
{
	if(fieldvalue[element.name])
		if(fieldvalue[element.name] == element.value) {
		   element.value = "";
		}
		else if(element.value == "") {
		   element.value = fieldvalue[element.name];
		}
}

function checkPhone(element,doalert)
{	
	var vallen   = $F(element).length;
  	var IsNumber = true;
	var inpt     = $F(element);
   var Char;
   var number;		
	
	if(inpt != '' && inpt != null && fieldvalue[element.name] != inpt)
	{
		//alert(inpt+" "+fieldvalue[element.name]+" "+(fieldvalue[element.name] != inpt))
	   inpt = inpt.replace(/[^0-9]/g,""); 
	
		if(vallen > 9)
		{
			for (i = 0; i < vallen && IsNumber == true; i++) 
			{ 
			  	Char = inpt.charAt(i); 
			  	if (validChars['numeric'].indexOf(Char) == -1) 
				{
					IsNumber = false;
				}
			}
			
			if(!IsNumber)
			{						
				 element.addClassName('errorinput');
			    
				if(!doalert)
					alert("A phone number contains only numbers.")
				return false;
				
			}
			else 
			{
				 element.removeClassName('errorinput');
				return true;
			}	
		}
		else
		{
			element.addClassName('errorinput');
			
			if(!doalert)
				alert("A phone number is at least 10 characters long.")
			return false;
		}
	}
	else
	{
		element.addClassName('errorinput');
	   
		if(!doalert)
	      alert("Please enter a phone number.")
		return false;
	}
	
	element.removeClassName('errorinput');	
	return true;
}

function checkZip(element,doalert)
{	
	var ziplen   = $F(element).length;
  	var IsNumber = true;
	var inpt     = $F(element);
   var Char;
   var number;
	
	if(inpt != '' || inpt  != null || fieldvalue[element.name] != inpt )
	{
		if(ziplen >= 5)
		{
			for (i = 0; i < ziplen && IsNumber == true; i++) 
			{ 
			  	Char = inpt.charAt(i); 
			  	if (validChars['numeric'].indexOf(Char) == -1) 
				{
					IsNumber = false;
				}
			}
			
			if(!IsNumber)
			{						
				 element.addClassName('errorinput');
				if(!doalert)
					alert("A zip code contains only numbers.")
				return false;
				
			}
			else 
			{
				 element.removeClassName('errorinput');
				return true;
			}			
		}
		else
		{
			element.addClassName('errorinput');
			
			if(!doalert)
				alert("A zip code is normally 5 characters long.")
			return false;
		}
	}
	else
	{
		element.addClassName('errorinput');
	   
		if(!doalert)
	      alert("Please enter a zip code.")
		return false;
	}
	
	element.removeClassName('errorinput');
	return true;
}

function prep_form() {
    fields = Object.keys(fieldvalue);

	 fields.each(function(m)
    {
		 if($(m))
			 if($(m).value == "" || $(m).value == fieldvalue[m])
			 {
				 $(m).style.color = "#cccccc";
			    $(m).style.padding = "1px 3px";
			    $(m).style.width = ($(m).getWidth() - 12) + "px";
				 $(m).value = fieldvalue[m];
			 }
	 })
}

function checkEmail(element,doalert)
{			
   inpt = $F(element);
	
	if ((inpt==null)||(inpt=="") || fieldvalue[element.name] == inpt){		
		element.addClassName('errorinput');
	   
		if(!doalert)
	      alert("Please enter your email address.")
		return false;
	}
	
	if (echeck(inpt)==false){		
		element.addClassName('errorinput');
	   
		if(!doalert)
	      alert("Please enter make sure your email address is in this format: "+validChars['email'])
		return false;
	}
	
	element.removeClassName('errorinput');
	return true;
}

function checkInput(element,doalert)
{			
   inpt = $F(element);
	
	if ((inpt==null)||(inpt=="")){		
		element.addClassName('errorinput');
		if(!doalert)
	      alert("Please enter a value.")
		return false;
	}
	
	element.removeClassName('errorinput');
	return true;
}

function validate_form(form)
{
	elements = Form.getElements(form);
	
	error_arr = new Array();
	
	elements.each(function(m)
	{
		if(m.type == "text")
		{
			if(m.id == "email")
			{
			   if(!checkEmail(m,true))
				   error_arr.push(false);
			}
			else if(m.id == "work_phone")
			{
				if(!checkPhone(m,true))
				   error_arr.push(false);
			}
			else if(m.id == "zip")
			{
				if(!checkZip(m,true))
				   error_arr.push(false);
			}
			else
			{
				if(!checkInput(m,true))
				   error_arr.push(false);
			}
		}
		
		
		if(m.type == "select-one" && m.id!= "type")
		{
			if(!checkInput(m,true))
			   error_arr.push(false);
		}
	});
	
	//alert(error_arr.length);
	
	if(error_arr.length > 0)
	{
		alert("Please make sure you have the correct information in all highlighted fields.");
		//alert(em +' '+ p1 +' '+p2+' '+fn+' '+ln+' '+cp);
		return false;
	}
	else
	{
		return true;
	}
	
}
var container;
var alpha_bg;

function display_form_thank_you(message) {

	var size = {'width':'300px','height':'300px'};
	
	name = 'thnky';
	
	alpha_bg   = new top.Element('div', {id:'alpha_bg', style:'position:fixed;top:0px;left:0px;background-color:#000;filter:alpha(opacity=50);-moz-opacity:0.5;-khtml-opacity: 0.5;opacity: 0.5;display:none;width:100%;height:100%;z-index:152;'});
	
	container   = new top.Element('div', {id:name+'_cont', style:'position:fixed;top:0px;left:0px;background-color:#fff;border:1px solid #ccc;display:none;width:300px;z-index:153;'});
	var header       = new top.Element('div', {id:name+'_header', style:'background: #666;text-align: right;color: #fff;height: 30px;line-height: 30px;width:300px;'});
	var content      = new top.Element('div', {id:name+'_content', style:'padding:10px 0px 10px 0px;width:300px;'});
	var opt_img_div  = new top.Element('div', {id:name+'_img', style:''});
	var header_text  = new top.Element('div', {style:'float: left;font-size: 16px;margin-left: 10px;line-height: 30px;font-weight: bold;'});
	var header_close = new top.Element('div', {style:'float: right;margin: 5px 5px 0px 0px;'});	
	var footer       = new top.Element('div', {id:name+'_footer', style:'text-align:right;width:280px;margin:5px 10px;line-height:16px;color:#666;'});	
	
	var close_img    = new top.Element('img', {src:'http://www.inroads.us/iopt/images/map_close.gif',title:"Close",style:'cursor: pointer;'});
	var inroads      = new top.Element('img', {src:'http://www.inroads.us/iopt/images/inroads-map.gif',title:"Inroads, LLC",style:"vertical-align:top"});
    dbody = top.$(document.body);
	//alpha_bg.style.height = dbody.getHeight()+'px';
	header_close.insert(close_img);
	header.insert(header_close);
	header.insert(header_text);
	header.insert(header_text);
	content.insert(message);
	
	footer.insert(inroads);
	
	container.insert(header);
	container.insert(content);

	dbody.insert(alpha_bg);
	dbody.insert(container);
	divDialogs.position_dialog(container,300);
	close_img.observe('click',hide_ty);
	container.show();
	alpha_bg.show();
}

function hide_ty(message) {
	alpha_bg.remove();
	container.remove();
	if($('site_overlay'))$('site_overlay').hide();
	hide_popups();
}
