﻿function getkey(e)
{
	if (window.event)
	return window.event.keyCode;
	else if (e)
	return e.which;
	else
	return null;
}
function goodchars(e, goods)
{
	var key, keychar;
	key = getkey(e);
	if (key == null) return true;
	// get character
	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();
	goods = goods.toLowerCase();
	// check goodkeys
	if (goods.indexOf(keychar) != -1)
	return true;
	// control keys
	if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
	return true;
	// else return false
	return false;
}

/* This function use for check valid specialcharacter */
function ScriptCheck(stringVal)
{
	var iChars = "<>";
	for (var i = 0; i < stringVal.length; i++) 
	{
		if (iChars.indexOf(stringVal.charAt(i)) != -1)
		{
			return stringVal;
		}
	}
}
/* This function use for check valid email */
function validEmail(email)
{
	var filter  = /^([\w]+(?:\.[\w]+)*)@((?:[\w]+\.)*\w[\w]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (!filter.test(email))
	{
		return email;
	}
}

function trimAll(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

function winload()
{
	document.frmcontact.Name.focus();
}
function ValidMail()
{
	if(document.frmcontact.Name.value == "")
	{
		alert("Please provide your name");
		document.frmcontact.Name.value = "";
		document.frmcontact.Name.focus();
		return false;
	}
	if(document.frmcontact.Name.value != "")
	{
		if(trimAll(document.frmcontact.Name.value) == '')
		{
			alert('Please provide your name');
			document.frmcontact.Name.value="";
			document.frmcontact.Name.focus();
			return false;
		}
		if(ScriptCheck(document.frmcontact.Name.value))
		{
			alert("Please provide a valid name");
	    	document.frmcontact.Name.value = "";
	    	document.frmcontact.Name.focus();
	    	return false;
		}
	}
	if(document.frmcontact.Email.value == "")
	{
		alert("Please provide your email address");
		document.frmcontact.Email.value = "";
		document.frmcontact.Email.focus();
		return false;
	}
	if(document.frmcontact.Email.value != "")
	{
		if(trimAll(document.frmcontact.Email.value) == '')
		{
			alert('Please provide your email address');
			document.frmcontact.Email.value="";
			document.frmcontact.Email.focus();
			return false;
		}
		if(validEmail(document.frmcontact.Email.value))
		{
			alert("Please provide your valid email address");
			document.frmcontact.Email.value = "";
			document.frmcontact.Email.focus();
			return false;
		}
	}
	if(document.frmcontact.Phone.value == "")
	{
		alert("Please provide a contact phone number");
		document.frmcontact.Phone.value = "";
		document.frmcontact.Phone.focus();
		return false;
	}
	if (checkInternationalPhone(document.frmcontact.Phone.value) == false){
		alert("Please provide a valid contact phone number (minimum 8 digits)")
		document.frmcontact.Phone.value="";
		document.frmcontact.Phone.focus();
		return false
	}
	if(document.frmcontact.Subject.value == "")
	{
		alert("What is the purpose of your enquiry?");
		document.frmcontact.Subject.value = "";
		document.frmcontact.Subject.focus();
		return false;
	}
	if(document.frmcontact.Subject.value != "")
	{
		if(trimAll(document.frmcontact.Subject.value) == '')
		{
			alert('What is the purpose of your enquiry?');
			document.frmcontact.Subject.value="";
			document.frmcontact.Subject.focus();
			return false;
		}
		if(ScriptCheck(document.frmcontact.Subject.value))
		{
			alert("Please provide a valid subject");
			document.frmcontact.Subject.value = "";
			document.frmcontact.Subject.focus();
			return false;
		}
	}
	if(document.frmcontact.Message.value != "")
	{
		if(ScriptCheck(document.frmcontact.Message.value))
		{
			alert("Please provide a valid message");
			document.frmcontact.Message.value = "";
			document.frmcontact.Message.focus();
			return false;
		}
	}
	return true;
}

// 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 = 8;

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);
}
