//Submit Page...
var flag = false;
var clicked = 0;
var skip = false;
function pageSubmit(){
	flag = formValidations();
	if(flag != true){
		if (document.forms["leadform"]) {
			document.forms["leadform"].submit();
		}
		else {
			document.forms[0].submit();
		}
	}else{
		return false;
	}
}

function formValidations(){
//1...Do not allow user to select more than 2 services on formchain page...
	var rflag = false;
	var page = document.getElementsByName('_PN')[0];
	if(page != null){
		var cnt = 0;
		page = page.value.toLowerCase();
		if(page.indexOf('formchain') >= 0){
			var Services = document.getElementsByName('PortalServiceCode');
			for(i=0; i < Services.length; i++){
				if(Services[i].checked){
					cnt++;
					if(cnt > 2){
						alert('You can select a maximum of 2 categories only.');
						rflag = true;
						break;
					}
				}
			}
			if(!skip && cnt == 0){
				alert('Please select a category');
				rflag = true;
			}
		}
	}

	
	return rflag;
}

//This function will return value of request parameter
function getRequestParameter(name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}


function validateEmailDomain(emailField){
//2...Email Validation : Domain should not be public domain...
//Do this only if debug flag not set...
var debugval = getRequestParameter("debug");
if(debugval != 'Y' && debugval != 'y'){
	if(clicked == 0 && emailField != null){
		var emailval = emailField.value;	
			if(emailval != null){
				isPublicEmailDomain(emailField);
			}
	}
}//End of if...
}

//function to check public domain email ids
function isPublicEmailDomain(elemVar){
	var emailPattern= 'bellsouth,yahoo,hotmail,gmail,abcd,sbcglobal,att,aol,quinstreet,comcast,cox,msn,cablevision,earthlink,verizon';
	var tokens = emailPattern.split(",");
	var emailIdStr = elemVar.value;
	for(i=0; i<tokens.length; i++){
		tokens[i]="@" + tokens[i] + ".";
		if (emailIdStr.indexOf(tokens[i])!= -1){
			var domain = emailIdStr.substring(emailIdStr.indexOf("@") + 1, emailIdStr.length);
			clicked += 1;
			alert("We recommend that you enter your company email address \n and not the address of a public email provider like \' " + domain + "\'");			
		}
	}
	//return false;
} 

//Body Load....
function processLoad(){
	var page = document.getElementsByName('_PN')[0];
	if(page != null){
		page = page.value.toLowerCase();
		if(page.indexOf('formchain') >= 0){
			var questiontable = getElemsByClassName('tableforquestion','table')[0];
			if (questiontable!=null){
				questiontable.align = "center";
			}
			var portalservicecode_element = document.getElementById('portalservicecode_element');
			if (portalservicecode_element!=null){
				portalservicecode_element.className = "";
				portalservicecode_element.align = "center";
			}
			var submitButtonDiv = document.getElementById('submitButton');
			if(submitButtonDiv!=null){
				submitButtonDiv.align = "center";
			}
			var prevService = document.getElementsByName('LandingPortalServiceCode')[0];
			var Services = document.getElementsByName('PortalServiceCode');
			for(i=0; i < Services.length; i++){
				if(prevService.value == Services[i].value){
					Services[i].disabled = true;
				}
			}
			
		}
	}
	var new_link = document.getElementsByName('new_window_link')[0];
	if(new_link != null){
		openInNewWindow(new_link.value);
	}
}

function openInNewWindow(new_link) {
   parent.location = new_link;
}

function SPonChange() {
	try {
		if (document.forms["leadform"]) {
			if (null!=document.forms["leadform"].SP.value && null!=document.forms["leadform"].SP.value.substring(0,2) && document.forms["leadform"].SP.value.length > 2 )
				document.forms["leadform"].CN.value = document.forms["leadform"].SP.value.substring(0,2);
			return true;
		}
		else {
			if (null!=document.forms[0].SP.value && null!=document.forms[0].SP.value.substring(0,2) && document.forms[0].SP.value.length > 2 )
				document.forms[0].CN.value = document.forms[0].SP.value.substring(0,2);
			return true;
		}
	}catch(e){}
}

function pageSkip(){
	var skipField = document.getElementsByName('IsSkipped')[0];
	if(skipField != null){
		skipField.value= 'true';
		skip = true;
	}
	pageSubmit();
}

function openWin(page,title,win_width,win_height) {
    var options = "scrollbars=yes, width=" + win_width + ", height=" + win_height;
    var win = window.open(page, title, options);
    if (window.focus) { win.focus() }
}

function getElemsByClassName(cl, tagname) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = document.getElementsByTagName(tagname);
	for (var i = 0; i < elem.length; i++) {
	var classes = elem[i].className;
	if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
}

/*
   Displays the GEO fields on the contact page
 */
 function showGeoFields(){
  if (document.forms["leadform"]) {
	var inputs = document.getElementsByTagName("tr");
	  for (x=0;x<=inputs.length;x++){
		if(inputs[x] != undefined){
			myname = inputs[x].getAttribute("id");
			if(myname!=null && myname.indexOf("GEO_")==0){
				document.getElementById(myname).style.display='block';
			}
			}
		}
		document.getElementById('GEO_DATA').style.display='none';
	}
 }
