var short;
var phoneNumberDelimiters = "()- .ext:*,";
// 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 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){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

/*
howmight_str:Check How might you use WebEx? question enable if question is on form
*/
function checkFields(new_fieldname)
{
	var els = document.getElementsByTagName('*');
	for (var i=0; i<els.length; i++){
	    if (els[i].className != ''){
		els[i].className = els[i].className.replace('error', '');
	    }
	}
	document.getElementById('incorrect').innerHTML = '';
	document.getElementById('incorrect').style.display = 'none';
	var errors = "";
	var element1,element2,element3;

	if(document.getElementById('fname'))
	{
		if(document.getElementById("fname").value.length == 0)
		{
			errors += "<p>Your <strong>First Name</strong> was entered incorrectly</p>\n";
			document.getElementById("fname").parentNode.className += ' error';
		}
	}
	if(document.getElementById('lname'))
	{
		if(document.getElementById("lname").value.length == 0)
		{
			errors += "<p>Your <strong>Last Name</strong> was entered incorrectly</p>\n";
			document.getElementById("lname").parentNode.className += ' error';
		}
	}
	if(document.getElementById('email'))
	{
		if(document.getElementById('email').value.length == 0)
		{
			errors += "<p>Your <strong>Email address</strong> was entered incorrectly</p>\n";
			document.getElementById("email").parentNode.className += ' error';
		}
		else if(!document.getElementById('email').value.match(new RegExp('^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$')))
		{
			errors += "<p>Your <strong>Email address</strong> was entered incorrectly</p>\n";
			document.getElementById("email").parentNode.className += ' error';
		}
	}
	
	if(document.getElementById('zip'))
	{
		if(document.getElementById("zip").value.length == 0)
		{
			errors += "<p>Your <strong>Postal/Zip Code</strong> was entered incorrectly</p>\n";
			document.getElementById("zip").parentNode.className += ' error';
		}
	}
	if(document.getElementById('country'))
	{
		if(document.getElementById("country").value.length == 0 || document.getElementById("country").value == 'Please select')
		{
			errors += "<p>Your <strong>Country</strong> was entered incorrectly</p>\n";
			document.getElementById("country").parentNode.className += ' error';
		}
	}

	if(document.getElementById('company'))
	{
		if(document.getElementById("company").value.length == 0)
		{
			errors += "<p>Your <strong>Company</strong> was entered incorrectly</p>\n";
			document.getElementById("company").parentNode.className += ' error';
		}
	}
	if(document.getElementById('phone'))
	{
		if(document.getElementById("phone").value.length == 0)
		{
			errors += "<p>Your <strong>Phone Number</strong> was entered incorrectly</p>\n";
			document.getElementById("phone").parentNode.className += ' error';
		}else if(!checkInternationalPhone(document.getElementById("phone").value))
		{
			errors += "<p>Your <strong>Phone Number</strong> was entered incorrectly</p>\n";
			document.getElementById("phone").parentNode.className += ' error';
		}													
	}
	
	if(document.getElementById('job'))
	{
		if(document.getElementById("job").value.length == 0 || document.getElementById("job").value == 'Please select')
		{
			errors += "<p>Your <strong>Job function</strong> was entered incorrectly</p>\n";
			document.getElementById("job").parentNode.className += ' error';
		}
	}
	
	if(document.getElementById('companysize'))
	{
	    var radios = document.getElementById('companysize').getElementsByTagName('input');
	    var isChecked = false;
	    for (var i=0; i< radios.length; i++){
		if (radios[i].type.toLowerCase() == 'radio'){
		    if (radios[i].checked == true)
		    {
			isChecked = true;
		    }
		}
	    }
	    if (!isChecked){
		errors += "<p>Your <strong>How many people are in your organization?</strong><br>was entered incorrectly</p>\n";
		document.getElementById("companysize").className += ' error';
	    }
	}

	if(document.getElementById('evaluation'))
	{
		if(document.getElementById("evaluation").selectedIndex==0)
		{
			errors += "<p>Your <strong>Where are you in the evaluation process?</strong><br>was entered incorrectly</p>\n";
			document.getElementById("evaluation").parentNode.className += ' error';
		}
	}
	
	var primary_use_name = "";
	
	for(i=0;i<arguments.length;i++)
	{
		if(arguments[i].indexOf('primary_use') >= 0)
		{
			primary_use_name = arguments[i];
			break;
		}
	}
	if(primary_use_name.length==0) primary_use_name = "primary_use";
	//alert(new_fieldname);
	if(document.getElementById(primary_use_name))
	{
	    var radios = document.getElementById(primary_use_name).getElementsByTagName('input');
	    var isChecked = false;
	    for (var i=0; i< radios.length; i++){
			if (radios[i].type.toLowerCase() == 'radio'){
		    	if (radios[i].checked == true)
		    	{
					isChecked = true;
		    	}
			}
	    }
	    if (!isChecked){
		errors += "<p><strong>Are you primarily interested in using WebEx for</strong><br>was entered incorrectly</p>\n";
		document.getElementById(primary_use_name).className += ' error';
	    }
	}
	
	if(errors.length > 0)
	{	//alert("error");
		document.getElementById('incorrect').innerHTML = errors;
		document.getElementById('incorrect').style.display = 'block';
		return false;
	}
	else
	{

		//get Lead Score
		var score;
		var TimeFrame, size, contact;
		var job=document._mktf.JOB_FUNCTION_CD.selectedIndex;

		TimeFrame=document._mktf.time_frame.selectedIndex; 
		if(document._mktf.Request_Sales_Contact.checked){ contact = 45; document._mktf.Request_Sales_Contact.value = "a";
		}else{ contact = 0; document._mktf.Request_Sales_Contact.value = "b";}
				
		for (i=0;i<document._mktf.company_size.length;i++)
			if (document._mktf.company_size[i].checked){
				size=i+1;
				break;
			}
			var j, r, t, s;
			if (job==7)
				j=5;
			else if (job==1|| job==3|| job==6)
				j=3;
			else if (job==5)
				j=20
			else
				j=30;
			if (TimeFrame==1)
				t=40;
			else if (TimeFrame==2)
				t=20;
			else
				t=-15;
			score=j+t+contact;
	}
	if(score<0) score = 0;
	document._mktf.Lead_score.value=score;
	//alert(document._mktf.Request_Sales_Contact.value);
	return true;	
}
