// JavaScript Document

/*Read the following before using these script
1.First of all you will have to name your form with names like form1, form2, form3 etc.
2.While calling the function validate() on submit remember to pass form name as first value and then name
  of variables that you wish to validate.
3.If there are emailfield and numeric fields then you can make use of validateEmail() and validateNumber() functions
  For using both the functions you will need to make change within customScript() function and call both the functions
  from customScript() function by passing formName first and respective fieldNames
4. Still if any confusion you can contact me @ sunil@indianic.com
*/

var fieldsArray = new Array()
var	doc = "document."
var flag = true
//To validate all the req fields;
function validate(formName,field1,field2){
	
	var fieldName,fieldValue,componentType
	
	for(var i=0;i<validate.arguments.length;i++){
	
			fieldsArray[i]=validate.arguments[i];
			
			formName= fieldsArray[0];
			
			if(i>0){
			
				fieldName = fieldsArray[i]
				componentType = eval(doc+formName+"."+fieldName+".type")
			
			switch(componentType){
			case 'text':
						
						fieldValue = eval(doc+formName+"."+fieldName+".value")
						
						if(fieldValue==""){
			
							alert("Please fill in the required fields");
			
							eval(doc+formName+"."+fieldName+".select()")
			
							return false;		
						}
			break;

			case 'password':
						fieldValue = eval(doc+formName+"."+fieldName+".value")
			
						if(fieldValue==""){
			
							alert("Please fill in the required fields");
			
							eval(doc+formName+"."+fieldName+".focus()")
			
							return false;		
						}
				break;

			case 'radio':
	
				break;
			case 'checkbox':
				break;			
			
			case 'textarea':
						fieldValue = eval(doc+formName+"."+fieldName+".value")
			
						if(fieldValue==""){
			
							alert("Please fill in the required fields");
			
							eval(doc+formName+"."+fieldName+".focus()")
			
							return false;		
						}				
			break;
						
			case 'select-one':
			break;			
			case 'file':
						fieldValue = eval(doc+formName+"."+fieldName+".value")
			
						if(fieldValue==""){
			
							alert("Please select a file to upload");
			
							eval(doc+formName+"."+fieldName+".focus()")
			
							return false;		
						}							
			break;						
			case 'select-multiple':
			default:
			break;
			}
		}

	}
	
	return customScript(formName);

}

function ValidateSelection(FormName,FieldName,Num){

	var doc ="document.";
	var flag;
	flag = 0;
	var Field = eval(doc + FormName + "." + FieldName); 
	for (var i=1;i<=Num;i++){
		if (eval(doc + FormName + "." + FieldName + i+ ".checked")){
			flag = flag + 1;
		}
		//alert(eval(doc + FormName + "." + FieldName + i+ ".checked"));
	}
	if (flag > 0){
		return true;	
	}
	else{
		alert("Please select checkbox to order item");
		return false;
	}
	
	return false;

}

//function for validating empty field
function validateBlank(formName,fieldName,msg){

	var input = eval(doc+formName+"."+fieldName+".value");
	
	var lenth = input.length ;
	var ctr=0 ;
	
	if(input==""){		
		alert(msg);
		eval(doc+formName+"."+fieldName+".focus()")
		return false;		
	}
}
	
//function for checking email validation
function validateEmail(formName,fieldName){


	var input = eval(doc+formName+"."+fieldName+".value");
	
	var lenth = input.length ;
	var ctr=0 ;
	
	if(input==""){		
		alert("Please fill in the required fields");
		
		eval(doc+formName+"."+fieldName+".focus()")
			
		return false;		
	}	
	
						
  	for ( i = 0; i < lenth; i++ ){
		if ( eval(doc+formName+"."+fieldName+".value.charAt(i) == '!'" ) || eval(doc+formName+"."+fieldName+".value.charAt(i) == '#'") )
    	{
	  	alert("Please enter a proper email address") ;
	  	eval(doc+formName+"."+fieldName+".select()");
      	return false;
		break;
    	}
	}
	
	for ( i=0; i < lenth; i++ )
	{
		var oneChar = input.charAt(i) ;
		
		if(oneChar == "@")
		{
			ctr = ctr + 1;
		}
		
		if ( (i == 0 && oneChar == "@") || (i == 0 && oneChar == ".") || ( oneChar == " " ) )
		{
			alert ( "This does not seem to be a proper email address" ) ;
		    eval(doc+formName+"."+fieldName+".select()");
			return false ;
		}
		
		if ( (oneChar == "@" && input.charAt(i+1) == ".") || (oneChar == "." && input.charAt(i+1) == "@") || (oneChar == "." && input.charAt(i+1) == ".") )
		{
			alert ( "This does not seem to be a proper email address" ) ;
		    eval(doc+formName+"."+fieldName+".select()");
			return false ;
		}
		
		if( input.indexOf("@") < 2 )
		{
			alert ( "This does not seem to be a proper email address" ) ;
		    eval(doc+formName+"."+fieldName+".select()");
			return false ;
		}
		
		if(input.indexOf(".")<4)
		{
			alert ( "This does not seem to be a proper email address" ) ;
		    eval(doc+formName+"."+fieldName+".select()");
			return false ;
		}

		if(input.indexOf(".") == lenth - 1)
		{
			alert ( "This does not seem to be a proper email address" ) ;
		    eval(doc+formName+"."+fieldName+".select()");
			return false ;
		}
		
		if (ctr > 1)
		{
			alert ( "This does not seem to be a proper email address" ) ;
		    eval(doc+formName+"."+fieldName+".select()");
			return false ;
		}
	}
		
}


//Check particular sets of characters
function checkCharacters(formName,fieldName,charList){

	formName = formName
	fieldName = fieldName
	charList = charList
	var input = eval(doc+formName+"."+fieldName+".value");
	var lenth = input.length ;

	for(i=0;i!=lenth;i++)
	{
	ch1=input.charAt(i);
	rtn1=charList.indexOf(ch1);
		if(rtn1!=-1)
		{
		alert("Pls Enter Valid Data");
		eval(doc+formName+"."+fieldName+".focus()");
		return false;
		break;
		}
	}

}



//function for checking fileds like address
function checkSpaces(formName,fieldName){
	formName = formName
	fieldName = fieldName
	charList = " "
	
	var input = eval(doc+formName+"."+fieldName+".value");
	var lenth = input.length ;

	for(i=0;i!=lenth;i++)
	{
	ch1=input.charAt(i);
	rtn1=charList.indexOf(ch1);
		if(rtn1!=-1)
		{
		flag = false
		}
		else
		{
		flag = true
		}
	}
	
	if(flag)
		return flag;
	else{
		alert("Pls Enter Valid Data");
		eval(doc+formName+"."+fieldName+".select()");
		return flag;
	}
}



//function for validating Number
function validateNumber(formName,fieldName,msg){


var	doc = "document."

a=eval(doc+formName+"."+fieldName)
fieldValue=eval(doc+formName+"."+fieldName + ".value")

if (msg.length<1) 
{
	msg="Please Enter a valid Number"
}	

if (fieldValue.length<1)
{
	alert(msg)
	eval(doc+formName+"."+fieldName + ".select()")
	return false
}

chk1="1234567890";

	for(i=0;i!=fieldValue.length;i++)
	{
		ch1=fieldValue.charAt(i);
		rtn1=chk1.indexOf(ch1);
		if(rtn1==-1)
		{
			alert(msg);
			eval(doc+formName+"."+fieldName + ".focus()")
			return false;
			break;
		}
	}
}


//function for validating Number
function validateNumberandautochk(formName,fieldName,msg,cnt){


var	doc = "document."

a=eval(doc+formName+"."+fieldName)
fieldValue=eval(doc+formName+"."+fieldName + ".value")

var chk_var=eval(doc+formName+"."+"chk"+cnt);

if (msg.length<1) 
{
	msg="Please Enter a valid Number"
}	

if (fieldValue.length<1)
{
	alert(msg)
	eval(doc+formName+"."+fieldName + ".select()")
	return false
}

chk1="1234567890";

	for(i=0;i!=fieldValue.length;i++)
	{
		ch1=fieldValue.charAt(i);
		rtn1=chk1.indexOf(ch1);
		if(rtn1==-1)
		{
			if(chk_var.checked==true)
			{
				chk_var.checked=false;
			}			
			alert(msg);
			eval(doc+formName+"."+fieldName + ".focus()")
			return false;
			break;
		}
	}

if(chk_var.checked==false)
{
	chk_var.checked=true;
}
	
}



//function for checking user selects a select field
function chkSelectField(formName,fieldName,fieldDesc){
	formName = formName
	fieldName = fieldName
	fieldDesc = fieldDesc
	
	fieldLength = parseInt(eval("document."+formName+"."+fieldName+".length"))
	for(i=0;i<fieldLength;i++){
		if(eval("document."+formName+"."+fieldName+"["+i+"].selected")){
			fieldValue = eval("document."+formName+"."+fieldName+"["+i+"].value")
			if(fieldValue == ""){
				alert("Please Select a Proper "+fieldDesc)
				eval("document."+formName+"."+fieldName+".focus()")
				return false;
				break;
			}	
		}
	}

}
//function for verifying checked option button;
function checkOptname(formname,optname){
	
	
	var index = parseInt(eval("document."+formname+ "." + optname +".length"));
	var optflag;
	optflag = false;
	for (var i=0; i< index ; i++){
		if (eval("document."+formname+ "." + optname +"[" +i + "].checked") == true)
		{
			optflag = true;
		}			
	}
	
	return optflag;
}
//function for selecting checkbox
function chkname(formname,optname){
	
	
	var index = parseInt(eval("document."+formname+ "." + optname +".length"));
	var optflag;
	optflag = false;
	for (var i=0; i< index ; i++){
		if (eval("document."+formname+ "." + optname +"[" +i + "].checked") == true)
		{
			optflag = true;
		}			
	}
	
	return optflag;
}


function CreditCardOK(formname,fieldname) {

	var doc = "document." + formname + "." + fieldname + ".value";
	
	var crdValue = eval("document." + formname + "." + fieldname + ".value");
	
	if (crdValue.length != 16){
		return false;			
	}
	
	chk1="1234567890";
	var ch1,rtn1;
	for(i=0;i< crdValue.length;i++)
	{		
		ch1=crdValue.charAt(i);
		rtn1=chk1.indexOf(ch1);
		if(rtn1==-1)
		{	
			
			return false;
		}
	}
}	
	
	
function validateDecimal(formName,fieldName,msg){

var	doc = "document."

a=eval(doc+formName+"."+fieldName)
fieldValue=eval(doc+formName+"."+fieldName + ".value")


if (msg.length<1) 
{
	msg="Please Enter a valid Number"
}	

if (fieldValue.length<1)
{
	alert(msg)
	eval(doc+formName+"."+fieldName + ".select()")
	return false
}

chk1="123456789.0";

	for(i=0;i!=fieldValue.length;i++)
	{
		ch1=fieldValue.charAt(i);
		rtn1=chk1.indexOf(ch1);
		if(rtn1==-1)
		{
			alert(msg);
			eval(doc+formName+"."+fieldName + ".focus()")
			return false;
			break;
		}
	}
}    
    

function validatefile(formName,fieldName,msg)
{
var	doc = "document."
fieldValue=eval(doc+formName+"."+fieldName + ".value")

if(fieldValue.length > 1)
	{		
		logo = fieldValue;		
		x = logo.indexOf(".");
		y = logo.substr(x) ;
		y = y.toLowerCase();
		
		if(y != ".gif" && y != ".bmp" && y != ".jpe" && y != ".jpeg" && y != ".jpg")	
		{	alert(msg);
			return false;	}
	}
}

function submit_Selection(formName,fieldName,subType,QueryVal){
	
	var doc ="document.";
	var fieldIndex = eval(doc + formName + "." + fieldName + ".selectedIndex");
	if (fieldIndex == 0 ) 
		return false;
	
	var fieldVal = eval(doc + formName + "." + fieldName + ".options[" + fieldIndex + "].value");
	
	
	if (subType =="BRAND"){
		//alert("brandFinder.asp" + QueryVal + "brand=" + fieldVal);
		//window.location = "brandFinder.asp" + QueryVal + "brand=" + fieldVal;		
		window.location = "brandFinder.asp?sec=brandfinder&brand=" + fieldVal;		
	} 
	if (subType  =="PRICE"){
		//alert("brandFinder.asp"+ QueryVal + "pricerange=" + fieldVal);
		//window.location = "brandFinder.asp"+ QueryVal + "pricerange=" + fieldVal;
		window.location = "brandFinder.asp?sec=brandfinder&pricerange=" + fieldVal;
		
	}
	return false;
	
}


			
