// JavaScript Document
//************************************ INPUT VALIDATION ********************************//
function checkInput(field_name,message,message1)
{
		
	var field_value = document.getElementById(field_name).value;

	if(field_value=="")
	{
		alert(message);
		document.getElementById(field_name).value="";
		document.getElementById(field_name).focus();
		return false;
	}else{
		var ltrim=field_value.replace( /^\s*/, "" );
		var result=ltrim.replace( /\s*$/, "" );

		if(result=="")
		{
			alert("Empty spaces are not allowed in "+message1);
			document.getElementById(field_name).value="";
			document.getElementById(field_name).focus();
			return false;
		}else{
			document.getElementById(field_name).value=result;
			return true;
		}
	}
}

//************************************ NUMBER VALIDATION ********************************//
function checkNum(field_name,message)
{
		
	var field_value = document.getElementById(field_name).value;

	if(isNaN(field_value))
	{
		alert(message);
		document.getElementById(field_name).value="";
		document.getElementById(field_name).focus();
		return false;
	}else{
			return true;
		
	}
}


//************************************ ALPHA VALIDATION ********************************//

function checkAlpha(field_name,message)
{
	var field_value = document.getElementById(field_name).value;
	var alphaCount = 0;
    var alphaExp = /^[A-Za-z]$/;
	
    if(field_value != null && field_value != "")
    {
          for(var i = 0; i < field_value.length; i++)
          { 
            if (field_value.charAt(i).match(regExp))
            {
              alphaCount++;
            }
          }
    }

	if(alphaCount==0)
	{
		alert(message);
		document.getElementById(field_name).value="";
		document.getElementById(field_name).focus();
		return false;
	}else{
			return true;
		
	}
}

//************************************ PASSWORD VALIDATION ********************************//
function checkPassword(field_name,min_size,max_size) {
    var password = document.getElementById(field_name).value;
	var sizechar=max_size;
	var alphaCount = 0;
	var numCount = 0;
	var invalidCount = 0;
	var alphaCapsCount = 0;
    var alphaExp = /^[A-Za-z]$/;
	var alphaCapsExp = /^[A-Z]$/;
	var numExp = /^[0-9]$/;
	var regExp = /^[a-zA-Z0-9]$/;	
	var upass_string = document.getElementById(field_name).value;
	
	
    if (password=="") {

		alert("Please Enter Password");
		document.getElementById(field_name).value="";
		document.getElementById(field_name).focus();
		return false;
	} 
	
    if (password.length < min_size) {

		alert("Your password must be minimum "+min_size+" characters");
		document.getElementById(field_name).value="";
		document.getElementById(field_name).focus();
		return false;
	} 
	
	if (password.length >= min_size) {
		
		//check passwords max limit
		if (password.length > sizechar) {
		    alert("* Your password should not exceed "+max_size+" characters \n");
			document.getElementById(field_name).value="";
		    document.getElementById(field_name).focus();
		    return false;  }
		
		//check number existence
          for(var i = 0; i < upass_string.length; i++)
          { 
            if (upass_string.charAt(i).match(numExp))
            {
               numCount++;
            }
          }
		  
		if(numCount < 2){
			alert("* Your Password should contain minimum 2 numbers \n");
			document.getElementById(field_name).value="";
		    document.getElementById(field_name).focus();
		    return false;}
			
		//check alpha existence
          for(var i = 0; i < upass_string.length; i++)
          { 
            if (upass_string.charAt(i).match(alphaExp))
            {
             alphaCount++;
            }
          }
		
		if(alphaCount < 2 ){
			alert("* Your Password should contain minimum 2 alphabets \n");
			document.getElementById(field_name).value="";
			document.getElementById(field_name).focus();
			return false;
			}
			
			
			//check alpha caps existence
          for(var i = 0; i < upass_string.length; i++)
          { 
            if (upass_string.charAt(i).match(alphaCapsExp))
            {
             alphaCapsCount++;
            }
          }
		
		if(alphaCapsCount < 1 ){
			alert("* Your Password must contain minimum 1 capital letter \n");
			document.getElementById(field_name).value="";
			document.getElementById(field_name).focus();
			return false;
			}
		
		// check special characters
          for(var i = 0; i < upass_string.length; i++)
          { 
            if (!upass_string.charAt(i).match(regExp))
            {
              invalidCount++;
            }
          }
		
	 	 if(invalidCount > 0){
			alert("* Your Password should not contain special characters\n");
			document.getElementById(field_name).value="";
			document.getElementById(field_name).focus();
			return false;}

   }

}

//************************************ PASSWORD CONFIRMATION VALIDATION ********************************//

function checkPasswordConfirmation(field_name1,field_name2,message)
{
	var field_value1 = document.getElementById(field_name1).value;
	var field_value2 = document.getElementById(field_name2).value;

    if(field_value1 != field_value2 )
    {
  		alert(message);
		document.getElementById(field_name2).value="";
		document.getElementById(field_name2).focus();
		return false;
	}else{
			return true;
		
	}
}


//************************************ EMAIL-ID VALIDATION ********************************//

function checkEmail(field_name,message)
{
	var field_value= document.getElementById(field_name).value;
	
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(field_value))
		{
			return true;
		}
	else
		{
			alert(message);
			document.getElementById(field_name).value="";
			document.getElementById(field_name).focus();
			return false;
		}

}



//************************************ FILE VALIDATION ********************************//

function checkFileFormat(field_name,message1,message2)
{
 var field_value= document.getElementById(field_name).value;
 if(field_value==""){	  	
			alert(message1);
			document.getElementById(field_name).value="";
			document.getElementById(field_name).focus();
			return false;
  }else{	  
	    if(field_value.lastIndexOf(".jpg")==-1 && field_value.lastIndexOf(".gif")==-1 && field_value.lastIndexOf(".png")==-1)
			{
				alert(message2);
				document.getElementById(field_name).value="";
				document.getElementById(field_name).focus();
				return false;	
			}
		else
			{
				return true;
			}
  }
}

function showMagazine1()
{
	document.getElementById("Magazine 1 Address").value=document.getElementById("Billing Address 1").value;
	document.getElementById("Magazine 1 address2").value=document.getElementById("Billing Address2").value;
	document.getElementById("Magazine 1 City").value=document.getElementById("Billing City").value;
	document.getElementById("Magazine 1 select").value=document.getElementById("Billing State").value;
	document.getElementById("Magazine 1 shipzip").value=document.getElementById("Billing Zip").value;
}
function clearMagazine1()
{
	document.getElementById("Magazine 1 Address").value='';
	document.getElementById("Magazine 1 Address").value='';
	document.getElementById("Magazine 1 address2").value='';
	document.getElementById("Magazine 1 City").value='';
	document.getElementById("Magazine 1 select").value='';
	document.getElementById("Magazine 1 shipzip").value='';
}
function showMagazine2()
{
		
	document.getElementById("Magazine 2 Address1").value=document.getElementById("Billing Address 1").value;
	document.getElementById("Magazine 2 address2").value=document.getElementById("Billing Address2").value;
	document.getElementById("Magazine 2 city").value=document.getElementById("Billing City").value;
	document.getElementById("Magazine 2 select").value=document.getElementById("Billing State").value;
	document.getElementById("Magazine 2 zip").value=document.getElementById("Billing Zip").value;
	
	
}
function clearMagazine2()
{
	document.getElementById("Magazine 2 Address1").value='';
	document.getElementById("Magazine 2 address2").value='';
	document.getElementById("Magazine 2 address2").value='';
	document.getElementById("Magazine 2 city").value='';
	document.getElementById("Magazine 2 select").value='';
	document.getElementById("Magazine 2 zip").value='';
}
function showMagazine3()
{
		
	document.getElementById("Magazine 3 address1").value=document.getElementById("Billing Address 1").value;
	document.getElementById("Magazine 3 address2").value=document.getElementById("Billing Address2").value;
	document.getElementById("Magazine 3 city").value=document.getElementById("Billing City").value;
	document.getElementById("Magazine 3 select").value=document.getElementById("Billing State").value;
	document.getElementById("Magazine 3 zip").value=document.getElementById("Billing Zip").value;
	
	
}
function clearMagazine3()
{
	document.getElementById("Magazine 3 address1").value='';
	document.getElementById("Magazine 3 address2").value='';
	document.getElementById("Magazine 2 address2").value='';
	document.getElementById("Magazine 3 city").value='';
	document.getElementById("Magazine 3 select").value='';
	document.getElementById("Magazine 3 zip").value='';
}


function showShipping()
{
	document.getElementById("billfirst").value=document.getElementById("hdn_shipfirst").value;
	document.getElementById("billlast").value=document.getElementById("hdn_shiplast").value;
	document.getElementById("billline1").value=document.getElementById("hdn_shipline1").value;
	document.getElementById("billline2").value=document.getElementById("hdn_shipline2").value;
	document.getElementById("billcity").value=document.getElementById("hdn_shipcity").value;
	document.getElementById("billstate").value=document.getElementById("hdn_shipstate").value;
	document.getElementById("billzip").value=document.getElementById("hdn_shipzip").value;

}
function clearShipping()
{
	document.getElementById("billfirst").value="";
	document.getElementById("billlast").value="";
	document.getElementById("billline1").value="";
	document.getElementById("billline2").value="";
	document.getElementById("billcity").value="";
	document.getElementById("billstate").value="";
	document.getElementById("billzip").value="";
}

