var d=document;
var domain   = self.location.host.substring(self.location.host.indexOf('.') + 1);
var contHost = 'www.'    + domain;
var srchHost = 'search.' + domain;
var key = "";

function removeSpaces(inputStr) {
  var newString = "";

  if (!inputStr.length) return "";

  // Remove all spaces
  for (i = 0; i< inputStr.length; i++) {
    curChar = inputStr.charAt(i);
    if (curChar != " ") {
      newString += curChar;
    }  
  }

  return (newString.toUpperCase());  
}

function validateKey()
{
  var key = removeSpaces(d.ValKeyForm.key.value);
    
  if (!CheckAlphabets(key)){
	alert("Please enter only Alphabets and Numbers in the Key field.");
	d.ValKeyForm.key.select();
	d.ValKeyForm.key.focus();
	return false;
	}
    
  if (key == "") {
    alert("Please enter your Subscription Key before proceeding.");
    d.ValKeyForm.key.focus();
    return false;
  }
  
  //ENH-74-Checking if key length is either equal to 10 or 20
  if ((key.length != 20)&& (key.length != 10)) {
    alert("Your Subscription Key must be either 10 or 20 characters long.\n" + 
          "Please type your Subscription Key again.");
    d.ValKeyForm.key.focus();
    return false;
  }
//  if (!CheckAlphabets(key)){
//	alert("Please enter only letter characters in the Key field.");
//	d.ValKeyForm.key.select();
//	d.ValKeyForm.key.focus();
//	return false;
//	}
   
  var strLocation = '/subscribe/UserInfo?rk=';
  //ENH-74- Converting entered key to uppercase letters
  location.href = strLocation + key.toUpperCase();
  return false;  
}

function CheckAlphabets(inputStr) {
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	var allValid = true;
	var ch="";
	for (i = 0;  i < inputStr.length;  i++)
	{
		ch = inputStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		if (ch == checkOK.charAt(j))
		break;
		if (j == checkOK.length)
		{
			allValid = false;
			break;
		}
	}
	return allValid;
}
// ENH-231 starts here
function validateSLKey(){
  var key = removeSpaces(d.ValKeyForm.key.value);
    
  if (!CheckAlphabets(key)){
	alert("Please enter only Alphabets in the Key field.");
	d.ValKeyForm.key.select();
	d.ValKeyForm.key.focus();
	return false;
	}
  
  if (key == "") {
    alert("Please enter your Subscription Key before proceeding.");
    d.ValKeyForm.key.focus();
    return false;
  }

  if ((key.length != 10)&& (key.length != 20)) {
    alert("Your Subscription Key must be either 10 or 20 characters long.\n" + 
          "Please type your Subscription Key again.");
    d.ValKeyForm.key.focus();
    return false;
  }
  //Changed for WBDP-471 

// WBDP-1280 starts here
  if(d.ValKeyForm.login_id.value!="" || d.ValKeyForm.passwd.value!=""){
  		validate_user();
  }else{
	  var strLocation = '/wb/subscribe/SLUserPass?id=get&rk=';
	  //ENH-74- Converting entered key to uppercase letters
	  location.href = strLocation +key.toUpperCase();
  }	
  // WBDP-1280 ends here			  
  return false;  
}
// ENH-231 ends here

// WBDP-1280 starts here
function validate_user()
{  
	var d=document;
	var blankFields="";
	
	var login_id = normalizeQuery(d.ValKeyForm.login_id.value);
	if(!removeSpaces(login_id)) {
		d.ValKeyForm.login_id.value = "";
		d.ValKeyForm.login_id.focus();
		return false;
	}
	var passwd = normalizeQuery(d.ValKeyForm.passwd.value);
	var key = removeSpaces(d.ValKeyForm.key.value);
	
	d.ValKeyForm.login_id.value=login_id;
	d.ValKeyForm.passwd.value=passwd;
	d.ValKeyForm.rk.value=key;
	
 // Check for required User Information fields.
	
	if (login_id=="") blankFields +='\n- User\'s Login Id';
	if (passwd=="") blankFields +='\n- User\'s Password';

	if (blankFields.length > 0) 
	{
		alert("Please fill in the following User Information fields " + 
			  "before proceeding:" + blankFields);
		return false;
	}

	// check for theLogin Id 
	if (login_id == "")
	{
	  alert("Please enter a Login ID.");
	  d.ValKeyForm.login_id.focus();
	  return false;
	}

	//check for the Password

	if (passwd == "")
	{
	  alert("Please enter your Password before proceeding.");
	  d.ValKeyForm.passwd.focus();
	  return false;
	}

    d.ValKeyForm.action="/wb/subscribe/SLUserPass?id=get";
	d.ValKeyForm.submit();
	return true;
}

// Remove all extra spaces
function normalizeQuery(inputStr) 
{  
	var newString=inputStr;
	
	if (!inputStr.length) return "";
	
	// Remove illegal characters
	for (i=0; i< newString.length; i++) 
	{
		curChar=newString.charAt(i);
		if ((curChar=="|") || (curChar=="[") || (curChar=="]") || (curChar=="?")) 
		{
			newString=newString.substring(0,i)+' '+newString.substring(i+1, newString.length);
		}
	}

	// Remove leading spaces
	for (i=0; i < newString.length; i++) 
	{
		if (newString.charAt(i) !=' ') 
		{
			newString=newString.substring(i,newString.length);
			break;
		}
	}

	// Remove trailing spaces
	for (i=newString.length-1; i >=0 ; i--) 
	{
		if (newString.charAt(i) !=' ')  
		{ 
			newString=newString.substring(0, i+1);
			break;
		}
	}

	// Replace multiple spaces with single spaces
	for (i=0; i< newString.length-1; i++) 
	{
		if (newString.charAt(i)==' ') 
		{
			if (newString.charAt(i+1)==' ') 
			{
				newString=newString.substring(0, i+1) + newString.substring(i+2, newString.length);
				i--;
			}
		}
	}

	if (newString==" ") 
		newString="";
	return newString;  
}
// WBDP-1280 ends here

