//ModalPop
//Author: Owain Lewis
//Author URL: www.Owainlewis.com
//Simple Modal Dialog for jQuery
//The idea here was to keep this plugin as lightweight and easy to customize as possible
//You are free to use this plugin for whatever you want.
//If you enjoy this plugin, I'd love to hear from you

(function(){

jQuery.fn.modalpop = function(options){



	var defaults = {
		speed:500,
		center:false
	};
	
	var options = $.extend(defaults, options);
	var width = $(window).width();
	//Get the full page height including the scroll area
	var height = $(document).height();
	jQuery('body').prepend("<div id='mask'></div>");
	jQuery('#mask').css('height',height);
	jQuery('#mask').css('width',width);

	return this.each(function(){
	
		jQuery(this).click(function(){
		
			if(!validatemodalform())return false;
			/* Copy from base to iframe */
			mybaseform_to_iframeform();
			
			$this = jQuery(this);
			var id = $this.attr('href');
			//Get the window height and width
			var winH = height;
			var winW = width;
			
			//Set the popup window to center if required
			if (defaults.center == true){
				$(id).css('top',  winH/2-$(id).height()/2);
			}else{
				$(id).css('top',  200);
			}
			$(id).css('top',  500);
			$(id).css('left', winW/2-$(id).width()/2);
			jQuery('#mask').fadeIn(defaults.speed);
			jQuery(id).fadeIn(defaults.speed);
			
			return false;
		});
		
		jQuery('#mask').click(function(){
			jQuery(this).fadeOut(defaults.speed);
			jQuery('.window').fadeOut(defaults.speed);
		});
		
		jQuery('.close').click(function(){
			jQuery(this).fadeOut(defaults.speed);
			jQuery('.window').fadeOut(defaults.speed);
		});
		
	});
	
	
	
};

})(jQuery);

function validatemodalform()
{
	var errorMsg='';
	var errorFlag=false;
	
	if($('#txtFname_base').val()==''){ errorMsg+='* First Name, '; errorFlag=true; }else {
			if(!aplphaonly($('#txtFname_base').val()))
			{
				errorMsg+='<br/>* First Name should not contain any numbers or special chars and '; errorFlag=true;
			}		
	
	 }
	if($('#txtLname_base').val()==''){ errorMsg+='Last Name, '; errorFlag=true; }else
	{
		if(!aplphaonly($('#txtLname_base').val()))
		{
				errorMsg+='<br/>* Last Name should not contain any numbers or special chars and '; errorFlag=true;
		}
	}
	if($('#txtTelephone_base').val()==''){ errorMsg+='Telephone, '; errorFlag=true; }else{
		
		if(isNaN($('#txtTelephone_base').val()))
		{
			errorMsg+='<br/>* Please provide numeric value for Telephone Field'; errorFlag=true;
		}
	}
	if($('#txtEmail_base').val()==''){ errorMsg+='Email, '; errorFlag=true; } else {
		
		if(!is_valid_email($('#txtEmail_base').val())){ errorMsg+='<br/>* Please provide valid Email address and '; errorFlag=true; }
	
	 }
	 
	 if($('#txtAltPhone_base').val()!=''){ 
	 	if(isNaN($('#txtAltPhone_base').val()))
	 	{
	 		errorMsg+='<br/>* Please provide numeric value for Alt. Telephone Field and '; errorFlag=true;
	 	} 
	 }
	 
	if($('#txtMove_Date_base').val()==''){ errorMsg+='Move Date are a Required Field'; errorFlag=true; }	
	
	if(errorFlag)
	{
		$('#errormsgcont').html(errorMsg);
		return false;
	}else{
		
		
	}
	return true;
}

function is_valid_email(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		  // alert("Invalid E-mail ID")
		   return false;
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		  // alert("Invalid E-mail ID")
		   return false;
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		  //  alert("Invalid E-mail ID")
		    return false;
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		   // alert("Invalid E-mail ID")
		    return false;
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		   // alert("Invalid E-mail ID")
		    return false;
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    //alert("Invalid E-mail ID")
		    return false;
		 }
		
		 if (str.indexOf(" ")!=-1){
		    //alert("Invalid E-mail ID")
		    return false;
		 }

 		 return true					
}
function reset_form_inputs()
{
		/* Required fields */
		$('#txtFname_base').val('');
		$('#txtLname_base').val('');
		$('#txtTelephone_base').val('');
		$('#txtEmail_base').val('');
		$('#txtMove_Date_base').val('');
		/* Not Required fields */
		$('#txtAltPhone_base').val('');
		$('#txtF_Zip_base').val('');
		$('#txtT_Zip_base').val(''); 
}
function aplphaonly(str)
{
	var re = /^[a-zA-Z]*$/;
	
	if (!re.test(str))
	{
		 	
		return false;
	}
	return true;
}

function baseform_to_iphrameform()
{
		/* Required fields */
		$('#txtFname').val($('#txtFname_base').val());
		$('#txtLname').val($('#txtLname_base').val());
		$('#txtTelephone').val($('#txtTelephone_base').val());
		$('#txtEmail').val($('#txtEmail_base').val());
		$('#txtMove_Date').val($('#txtMove_Date_base').val());
		/* Not Required fields */
		$('#txtAltPhone').val($('#txtAltPhone_base').val());
		$('#txtF_Zip').val($('#txtF_Zip_base').val());
		$('#txtT_Zip').val($('#txtT_Zip_base').val());
}



function mybaseform_to_iframeform()
{	
	 /* Required fields */
	 myframe.document.getElementById('txtFname').value=document.getElementById('txtFname_base').value;
	 myframe.document.getElementById('txtLname').value=document.getElementById('txtLname_base').value;
	 myframe.document.getElementById('txtEmail').value=document.getElementById('txtEmail_base').value;
	 myframe.document.getElementById('txtTelephone').value=document.getElementById('txtTelephone_base').value;
	 myframe.document.getElementById('txtMove_Date').value=document.getElementById('txtMove_Date_base').value;
	 /* Not Required fields */
	 myframe.document.getElementById('txtAltPhone').value=document.getElementById('txtAltPhone_base').value;
	 myframe.document.getElementById('txtF_Zip').value=document.getElementById('txtF_Zip_base').value;
	 myframe.document.getElementById('txtT_Zip').value=document.getElementById('txtT_Zip_base').value;
	 
}

