﻿// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}
//PHONE NUMBER VALIDATION
function ValidatePhone(id){
	var Phone=id;
	
	if ((Phone.value==null)||(Phone.value=="")){
		alert("Please Enter your Phone Number")
		Phone.focus()
		return false
	}
	if (checkInternationalPhone(Phone.value)==false){
		alert("Please Enter a Valid Phone Number")
		Phone.value=""
		Phone.focus()
		return false
	}
	return true
 }
 //URL VALIDATION
 function isValidURL(theurl) {     
     var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
     if ((theurl.value == null) || (theurl.value == "")) {
              alert("Please Enter URL")
              theurl.focus()
              return false
          }
     if (tomatch.test(theurl.value))
     {
         return true;
     }
     else
     {
         window.alert("Invalid URL.");
         theurl.focus ();
         return false; 
     }
}
//ALPHA NUMERIC + ADDRESS VALIDATION
var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz ';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ';
var spl = ',- ./';

function isValid(parm,val) {
for (i=0; i<parm.value.length; i++) {
if (val.indexOf(parm.value.charAt(i),0) == -1) return false;
}
return true;
}

function isNumber(parm) 
{
    if (isValid(parm,numb)==false)
    {
        alert ('Please Enter Numbers Only');
        return false;
    }
    return true;
}
function isLower(parm) {return isValid(parm,lwr);}
function isUpper(parm) {return isValid(parm,upr);}
function isAlpha(parm) 
{
    if (isValid(parm,lwr+upr)==false)
    {
        alert ('Please Enter Alphabetic Characters Only');
        return false;    
    }
    return true;
}
function isAlphanum(parm) 
{
    if (isValid(parm,lwr+upr+numb)==false)
    {
        alert ('Please Enter AlphaNumeric Characters Only');
        return false;
    }
    return true;
} 
function isAddress(parm) {return isValid(parm,lwr+upr+numb+spl);}

// FILE UPLOAD VALIDATION
function isValidFile(elem,filetypes) 
{

    var filePath = elem.value;
    if(filePath.indexOf('.') == -1)
        return false;   
    var validExtensions = filetypes.split(",");
    var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase();

    //validExtensions[0] = 'pdf';
    //validExtensions[1] = 'wmv';
    //validExtensions[2] = 'mpg';
    //validExtensions[3] = 'mp4';
    //validExtensions[4] = 'avi';
    for(var i = 0; i < validExtensions.length; i++) 
    {
        if(ext == validExtensions[i])
            return true;
    }
    alert('The file extension ' + ext.toUpperCase() + ' is not allowed!');    
    remove(elem);
    return false;
}
// TO RESET FILE UPLOAD CONTROL
function remove(control)
{
    var who=document.getElementById(control.id);
    who.value = "";
    var who2= who.cloneNode(false);
    who2.onchange= who.onchange;
    who.parentNode.replaceChild(who2,who);
}
//EMAIL VALIDATION
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) {
              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 isEmail(emailID)
  {
   if ((emailID.value == null) || (emailID.value == "")) {              
        alert ('Please Enter EmailID');
          return false
      }
      if (echeck(emailID.value) == false) {
        
          return false
      }
      return true;
      }
      
      /* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Robert Nyman | http://robertnyman.com/ */
function removeHTMLTags(){
 	if(document.getElementById && document.getElementById("input-code")){
 		var strInputCode = document.getElementById("input-code").innerHTML;
 		/* 
  			This line is optional, it replaces escaped brackets with real ones, 
  			i.e. < is replaced with < and > is replaced with >
 		*/	
 	 	strInputCode = strInputCode.replace(/&(lt|gt);/g, function (strMatch, p1){
 		 	return (p1 == "lt")? "<" : ">";
 		});
 		var strTagStrippedText = strInputCode.replace(/<\/?[^>]+(>|$)/g, "");
// 		alert("Output text:\n" + strTagStrippedText);	
   // Use the alert below if you want to show the input and the output text
   //		alert("Input code:\n" + strInputCode + "\n\nOutput text:\n" + strTagStrippedText);	
 	}	
}

