// JavaScript Document

//Setup the Naming Conventions according to the form available which is useable while composing a new form.

// Basic Form Validation
// Declaring a variable for input field ID's
function checkForm(which)
{
	//Buyers Form categories
	var strFirstName;
	var strLastName;
	var strEmail;
	//var strAddress;
	var strCity;
	var strLocation;
	var strZip;
	var strBusinesspreferred;

	

//Detecting the input field ID's from the form taking the id values ineo the declared variables above
//Buyers IDs
	
	strFirstName = document.getElementById('buyer_FirstName').value;
	strLastName = document.getElementById('buyer_LastName').value;
	strEmail = document.getElementById('buyer_Email').value;
	//strAddress = document.getElementById('buyer_addressOne').value;
	strCity = document.getElementById('buyer_City').value;	
	strLocation = document.getElementById('buyer_drpLocation').value;	
	strZip = document.getElementById('buyer_Zip').value;
	strBusinesspreferred = document.getElementById('drpbusinesspreferred').value;
	

//validations for the elements in the forms starts here	
//Buyers Validation
	if(strFirstName != "" && strLastName != "" && strEmail != "" && strCity != "" && strLocation != "" && strZip != "" && strBusinesspreferred != "")
	{
		//Character Validation
		if (((strFirstName < "a" || "z" > 0) && (strFirstName < "A" || "Z" > 0)) && strFirstName != ' ')
		{
			alert("\nThe NAME field only accepts letters & spaces.\n\nPlease re-enter your First Name.");
			document.getElementById('buyer_FirstName').value='';
			document.getElementById('buyer_FirstName').select();
			document.getElementById('buyer_FirstName').focus();
			return false;
		}
		else if (((strLastName < "a" || "z" > 0) && (strLastName < "A" || "Z" > 0)) && strLastName != ' ')
		{
			alert("\nThe NAME field only accepts letters & spaces.\n\nPlease re-enter your Last Name.");
			document.getElementById('buyer_LastName').value='';
			document.getElementById('buyer_LastName').select();
			document.getElementById('buyer_LastName').focus();
			return false;
		}
		
		else if (((strCity < "a" || "z" > 0) && (strCity < "A" || "Z" > 0)) && strCity != ' ')
		{
			alert("\nThe TEXT field only accepts letters & spaces.\n\nPlease re-enter the City Name.");
			document.getElementById('buyer_City').value='';
			document.getElementById('buyer_City').select();
			document.getElementById('buyer_City').focus();
			return false;
		}
		
		//email validation
		var emailok = true;
		var temp = document.getElementById('buyer_Email');  // ## validate by id ##	
		var atsym = temp.value.indexOf('@');
		var period = temp.value.lastIndexOf('.');
		var space = temp.value.indexOf(' ');
		var length = temp.value.length - 1;	
		if ((atsym < 1) || (period <= atsym+1) || (period == length ) || (space != -1))
		{ 
			var emailok = false;
			// ## You can change your Valid Email alert message here ##
			alert('###### VALID EMAIL REQUIRED ###### \n Please enter a Valid Email Address! \n\n An example of a Valid Email Address would be \n\n userid@email.com \n');
			temp.value='';
			temp.focus();		
		}
		return emailok;	
		//return true;
		}
		
		else
		{
			alert("##### INCOMPLETE FORM ERROR ##### \n\n Some of the fields in this form (marked with an asterisk *)are mandatory. \n\n Please complete all these fields before submitting your request.");
	//		alert(myArr);
			return false;
		}
		return true;
		//setTimeout('reloadIt()', 6000);	
}



// Single Select CheckBox functionality
//it only checks the checkboxes one at a time


/*format Phone Number Automatically by tab key*/

	var zChar = new Array(' ', '(', ')', '-', '.');
	var maxphonelength = 13;
	var phonevalue1;
	var phonevalue2;
	var cursorposition;

function ParseForNumber1(object)
{
	phonevalue1 = ParseChar(object.value, zChar);
}

function ParseForNumber2(object)
{
	phonevalue2 = ParseChar(object.value, zChar);
}

function backspacerUP(object,e) 
{ 
	if(e)
	{ 
		e = e 
	} 
	else 
	{
		e = window.event 
	} 
	if(e.which)
	{ 
		var keycode = e.which 
	} 
	else 
	{
		var keycode = e.keyCode 
	}

	ParseForNumber1(object)

	if(keycode >= 48)
	{
		ValidatePhone(object)
	}
}

function backspacerDOWN(object,e) 
{ 
	if(e)
	{ 
		e = e 
	} 
	else 
	{
		e = window.event 
	} 
	if(e.which)
	{ 
		var keycode = e.which 
	} 
	else 
	{
		var keycode = e.keyCode 
	}
	
	ParseForNumber2(object)
} 

function GetCursorPosition()
{
    
	var t1 = phonevalue1;
	var t2 = phonevalue2;
	var bool = false
    for (i=0; i<t1.length; i++)
    {
    	if (t1.substring(i,1) != t2.substring(i,1)) 
		{
    		if(!bool) 
			{
    			cursorposition=i
    			bool=true
    		}
    	}
    }
}

function ValidatePhone(object)
{
	var p = phonevalue1
	
	p = p.replace(/[^\d]*/gi,"")

	if (p.length < 3)
	{
		object.value=p
	} 
	else if(p.length==3)
	{
		pp=p;
		d4=p.indexOf('(')
		d5=p.indexOf(')')
		if(d4==-1)
		{
			pp="("+pp;
		}
		if(d5==-1)
		{
			pp=pp+")";
		}
		object.value = pp;
	} 
	else if(p.length>3 && p.length < 7)
	{
		p ="(" + p;	
		l30=p.length;
		p30=p.substring(0,4);
		p30=p30+")"

		p31=p.substring(4,l30);
		pp=p30+p31;

		object.value = pp;	
		
	} 
	else if(p.length >= 7)
	{
		p ="(" + p;	
		l30=p.length;
		p30=p.substring(0,4);
		p30=p30+")"
		
		p31=p.substring(4,l30);
		pp=p30+p31;
		
		l40 = pp.length;
		p40 = pp.substring(0,8);
		p40 = p40 + "-"
		
		p41 = pp.substring(8,l40);
		ppp = p40 + p41;
		
		object.value = ppp.substring(0, maxphonelength);
	}
	
	GetCursorPosition()
	
	if(cursorposition >= 0)
	{
		if (cursorposition == 0) 
		{
			cursorposition = 2
		} 
		else if (cursorposition <= 2) 
		{
			cursorposition = cursorposition + 1
		} 
		else if (cursorposition <= 5) 
		{
			cursorposition = cursorposition + 2
		} 
		else if (cursorposition == 6) 
		{
			cursorposition = cursorposition + 2
		} 
		else if (cursorposition == 7) 
		{
			cursorposition = cursorposition + 4
			e1=object.value.indexOf(')')
			e2=object.value.indexOf('-')
			if (e1>-1 && e2>-1)
			{
				if (e2-e1 == 4) 
				{
					cursorposition = cursorposition - 1
				}
			}
		} 
		else if (cursorposition < 11) 
		{
			cursorposition = cursorposition + 3
		} 
		else if (cursorposition == 11) 
		{
			cursorposition = cursorposition + 1
		} 
		else if (cursorposition >= 12) 
		{
			cursorposition = cursorposition
		}

        var txtRange = object.createTextRange();
        txtRange.moveStart( "character", cursorposition);
		txtRange.moveEnd( "character", cursorposition - object.value.length);
        txtRange.select();
    }

}

function ParseChar(sStr, sChar)
{
    if (sChar.length == null) 
    {
        zChar = new Array(sChar);
    }
    else zChar = sChar;
    
    for (i=0; i<zChar.length; i++)
    {
        sNewStr = "";
    
        var iStart = 0;
        var iEnd = sStr.indexOf(sChar[i]);
    
        while (iEnd != -1)
        {
            sNewStr += sStr.substring(iStart, iEnd);
            iStart = iEnd + 1;
            iEnd = sStr.indexOf(sChar[i], iStart);
        }
        sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);
        
        sStr = sNewStr;
    }
    
    return sNewStr;
}