// JavaScript Document

var invalid=" ";
var maxLen = 50;

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
	
	var strValidChars = "0123456789-";
	var strChar;
	var blnResult = true;

	for (i = 0; i < strString.length && blnResult == true; i++)
    {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
        {
			blnResult = false;
        }
	}

	 return blnResult;
	}
	
function IsNumeric1(strString)
   //  check for valid numeric strings	
   {
	
	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;

	for (i = 0; i < strString.length && blnResult == true; i++)
    {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
        {
			blnResult = false;
        }
	}

	 return blnResult;
	}
	

function validemailadd(str1)
			{
				var str=str1
				var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
				if (filter.test(str))
				testresults=true
				else
				{
					//alert("Please input a valid value for the field!")
					testresults=false;
				}
				return testresults;
			}


function validateModel(str1)
{
	var str=str1;
	var filter=([0-9][0-9][0-9][0-9])([A-Z][A-Z][A-Z])
	if(filter.test(str))
	{
		tresult=true;
	}
	else
	{
		tresult=false;
	}
	
	return tresult;
}

function trim1(str)
{
  var i,j;
  i = 0;
  j=str.length-1;
  str = str.split("");
  while(i < str.length)
  {
    if(str[i]==" ")
    {
      str[i] = ""
    }
    else
    {
      break;
    }
    i++;
  }
  while(j > 0)
  {
    if(str[j]== " ")
    {
      str[j]=""
    }
    else
    {
      break;
    }
    j--;
  }
  return str = str.join("")
}

function setFocus()
{
	if(document.forms.login.uid.value!=""||document.forms.login.uid.value!=" ")
	{
		document.forms.login.uid.focus();
	}
	else
	{
		document.forms.login.pwd.focus();
	}
}

function validate()
{
	mydate();
	
	if(trim1(register.FName.value)=="")
	{
		alert('Please provide your first name');
		register.FName.focus();
		return false;
	}
	
	if(trim1(register.LName.value)=="")
	{
		alert('Please provide your last name');
		register.LName.focus();
		return false;
	}
	
	if(trim1(register.Address1.value)=="")
	{
		alert('Please provide your address');
		register.Address1.focus();
		return false;
	}
	
	if(register.State.value=="-1")
	{
		alert('Please select your state');
		register.State.focus();
		return false;
	}
	
	if(trim1(register.City.value)=="-1")
	{
		alert('Please select your city or provide the city name in the textbox if not found in the list');
		register.City.focus();
		return false;
	}
	
	if((trim1(register.City.value)=="Others") && (trim1(register.City_text.value)==""))
	{
		alert('Please provide the city name if not found in City List');
		register.City_text.focus();
		return false;
	}
	
	if(trim1(register.Pin.value)=="")
	{
		alert('Please provide pin code');
		register.Pin.focus();
		return false;
	}
	
	if(IsNumeric(register.Pin.value)==false)
	{
		alert('Please provide a valid pin code');
		register.Pin.focus();
		return false;
	}
	
	if(trim1(register.Phone.value)=="")
	{
		alert('Please provide phone number');
		register.Phone.focus();
		return false;
	}
	
	if(IsNumeric(register.Phone.value)==false)
	{
		alert('Please provide a valid phone number');
		register.Phone.focus();
		return false;
	}
	
	if(trim1(register.Emailid.value)=="")
	{
		alert('Please provide email address');
		register.Emailid.focus();
		return false;
	}
	
	if(validemailadd(register.Emailid.value)==false)
	{
		alert('Please provide a valid email address');
		register.Emailid.focus();
		return false;
	}

	if (trim1(register.dateOfpurchase.value)=="")
		{
			alert("Please select date of purchase.");
			return false;
		}
	
	if(trim1(register.ModelNo.value)=="-1")
	{
		alert('Please select Model');
		register.ModelNo.focus();
		return false;
	}
	
	if(trim1(register.ProductNo.value)=="")
	{
		alert('Please provide product number');
		register.ProductNo.focus();
		return false;
	}
	
	if(trim1(register.SerialNo.value)=="")
	{
		alert('Please provide serial number');
		register.SerialNo.focus();
		return false;
	}
	
	return true;	
}
function validate1()
{
	mydate1();
	
	var found = false; // no good qty found yet 
		// loop goes way more than needed, as we return inside loop
		
	for ( var i = 1; i < 999999; ++i ) 
		{ 
			// get next qtyXX text field: 
			var fld = document.register.elements["ProductNo" + i]; 
			
			// if no such field, we are done and all is okay if one good qty found 
			if ( fld == null ) 
			{ 
				if ( found ) return true; 
				alert("You must fill in values for at least one product."); 
				return false; 
			} 
			// we have a field...check it for number only 
			var val = fld.value.replace(/\s/g, ""); // first pull out all spaces
			//var valstck = fldstock.value;
			 if ( val != "" ) // so a non-blank value to test: 
			 { 
				// okay!  Got a quantity that seems okay 
				found = true;
			 }// say at least one found 
		} // end of the for loop
	//return true;
}

function validate2()
{
	mydate1();
	
	var found = false; // no good qty found yet 
		// loop goes way more than needed, as we return inside loop
		
	for ( var i = 1; i < 999999; ++i ) 
		{ 
			// get next qtyXX text field: 
			var fld = document.register.elements["authCode" + i]; 
			
			// if no such field, we are done and all is okay if one good qty found 
			if ( fld == null ) 
			{ 
				if ( found ) return true; 
				alert("You must fill in values for at least one product."); 
				return false; 
			} 
			// we have a field...check it for number only 
			var val = fld.value.replace(/\s/g, ""); // first pull out all spaces
			//var valstck = fldstock.value;
			 if ( val != "" ) // so a non-blank value to test: 
			 { 
				// okay!  Got a quantity that seems okay 
				found = true;
			 }// say at least one found 
		} // end of the for loop
	//return true;
}

function validateSearchM()
{
	//alert('a');
	if((register.dateFrom.value=="") && (register.dateTo.value=="") && (register.State.value=="-1") && (trim1(register.City.value)=="") && (trim1(register.PinCode.value)==""))
	{
		alert("You must provide at least 1 criteria to be searched");
		return false;
	}
	return true;
}

function validateSearchP()
{
	if((register.dateOfPurchase1.value=="") && (register.dateOfPurchase2.value=="") && (register.dateRegistered1.value=="") && (register.dateRegistered2.value=="") && (register.ModelNo.value=="-1") && (register.ProductNo.value=="") && (register.SerialNo.value==""))
	{
		alert("You must provide at least 1 criteria to be searched");
		return false;
	}
	return true;
}

function validateSearchSp()
{
	if((register.spPurchaseDate1.value=="") && (register.spPurchaseDate2.value=="") && (register.dateRegistered1.value=="") && (register.dateRegistered2.value=="") && (register.mPurchaseDate1.value=="") && (register.mPurchaseDate2.value==""))
	{
		alert("You must provide at least 1 criteria to be searched");
		return false;
	}
	return true;
}


function validatelogin()
	{
		 if(login.uid.value == ""||login.uid.value == " ")
		{
			alert("Please provide your email address you provided at the time of registration");
			login.uid.focus();
			return false;
			
		}
		if(validemailadd(login.uid.value)==false)
		{
			alert('Please provide a valid email format');
			login.uid.focus();
			return false;
		}
		if(login.pwd.value == ""||login.pwd.value == " ")
		{
			alert("password field cannot be blank");
			login.pwd.focus();
			return false;
		}
	return true;

	}
	
function valPwd()
{
	login.Submit.disabled=true;
	if(login.uid.value==""||login.uid.value==null)
	{
		alert('Please provide valid User ID');
		login.uid.focus();
		login.Submit.disabled=false;
		return false;
	}
	if(login.password.value==""||login.password.value==null)
	{
		alert('Please provide valid Password');
		login.password.focus();
		login.Submit.disabled=false;
		return false;
	}
	return true;
}
	
	function validatefeedback()
	{
		if(trim1(feedback.FName.value)=="")
		{
			alert('Please provide your first name');
			feedback.FName.focus();
			return false;
		}
		
		if(trim1(feedback.LName.value)=="")
		{
			alert('Please provide your last name');
			feedback.LName.focus();
			return false;
		}
		
		if(trim1(feedback.Emailid.value)=="")
		{
			alert('Please provide email address');
			feedback.Emailid.focus();
			return false;
		}
		
		if(validemailadd(feedback.Emailid.value)==false)
		{
			alert('Please provide a valid email address');
			feedback.Emailid.focus();
			return false;
		}
		
		if(trim1(feedback.txtverify.value)=="")
		{
			alert('Please enter the verify code');
			feedback.txtverify.focus();
			return false;
		}
		if(trim1(feedback.txtverify.value)!=trim1(feedback.hdcode.value))
		{
			alert('Wrong verification code provided');
			feedback.txtverify.focus();
			return false;
		}
		alert('Note: "Only requests for proposals from lenovo Services Sales for the SOWs stated above will be responded to."');
		return true;
	}
	
	function validateTestimonial()
	{
		if(trim1(testimonial.FName.value)=="")
		{
			alert('Please provide your first name');
			testimonial.FName.focus();
			return false;
		}
		
		if(trim1(testimonial.LName.value)=="")
		{
			alert('Please provide your last name');
			testimonial.LName.focus();
			return false;
		}
		
		if(trim1(testimonial.company_name.value)=="")
		{
			alert('Please provide the name of company you work for!');
			testimonial.company_name.focus();
			return false;
		}
		
		if(trim1(testimonial.designation.value)=="")
		{
			alert('Your designation in the company!');
			testimonial.designation.focus();
			return false;
		}
		
		if(trim1(testimonial.Emailid.value)=="")
		{
			alert('Please provide email address');
			testimonial.Emailid.focus();
			return false;
		}
		
		if(validemailadd(testimonial.Emailid.value)==false)
		{
			alert('Please provide a valid email address');
			testimonial.Emailid.focus();
			return false;
		}
		
		if(trim1(testimonial.testi.value)=="")
		{
			alert('Please provide value for testimonial');
			testimonial.testi.focus();
			return false;
		}
		
		if(trim1(testimonial.txtverify.value)=="")
		{
			alert('Please enter the verify code');
			testimonial.txtverify.focus();
			return false;
		}
		if(trim1(testimonial.txtverify.value)!=trim1(testimonial.hdcode.value))
		{
			alert('Wrong verification code provided');
			testimonial.txtverify.focus();
			return false;
		}
		return true;
	}
	
	function validatefpwd()
	{
		if(trim1(fpwd.email.value)=="")
		{
			alert('Please provide email address');
			fpwd.email.focus();
			return false;
		}
		
		if(validemailadd(fpwd.email.value)==false)
		{
			alert('Please provide a valid email address');
			fpwd.email.focus();
			return false;
		}
		
		return true;	
	}
	
	
	function validatechpwd()
			{	
				chpwd.Submit.disabled=true;
				if(chpwd.oldpwd.value == ""||chpwd.oldpwd.value == " ")
				{
					alert('You must enter your old password');
					chpwd.oldpwd.focus();
					chpwd.Submit.disabled=false;
					return false;
				}
				if(chpwd.newpwd.value == ""||chpwd.newpwd.value == " ")
				{
					alert('You must enter a new password you want');
					chpwd.newpwd.focus();
					chpwd.Submit.disabled=false;
					return false;
				}
				if (chpwd.newpwd.value.indexOf(invalid) > -1)
				{
					alert('You entered spaces in new password field.\nSpaces are not allowed');
					chpwd.newpwd.focus();
					chpwd.Submit.disabled=false;
					return false;
				}
				if(chpwd.newpwdcopy.value == ""||chpwd.newpwdcopy.value == " ")
				{
					alert('Please re-enter new password for confirmation');
					chpwd.newpwdcopy.focus();
					chpwd.Submit.disabled=false;
					return false;
				}
				if(chpwd.newpwd.value != chpwd.newpwdcopy.value)
				{
					alert('new password and re type new password fields are not matching');
					chpwd.newpwdcopy.focus();
					chpwd.Submit.disabled=false;
					return false;
				}
				return true;
			}

function checkphone()
	{
		
		if((event.keyCode>=48 && event.keyCode<=57) || (event.keyCode==45) || (event.keyCode==40) || (event.keyCode==41) || (event.keyCode==32) )
		{
			return true;
		}
		else
		{		
		  event.keyCode=0;  
		  return false;
		}
	}
	
function disableText()
{
	if(document.register.City.options[document.register.City.selectedIndex].value!="Others")
	{
		register.City_text.disabled = true;
	}
	else
	{
		register.City_text.disabled = false;
	}
}

var alp;
	
	function getImages() 
{ 
		var randNumber=Math.floor ( Math.random ( ) * 26 + 1 ) 
		var strImg="<img src='alphaimgs/"+randNumber+".jpg'>"
		 alp=getAlphabet(randNumber)
			
		randNumber=Math.floor ( Math.random ( ) * 26 + 1 ) 
		strImg=strImg + "<img src='alphaimgs/"+randNumber+".jpg'>"
		alp=alp + getAlphabet(randNumber)
		
		randNumber=Math.floor ( Math.random ( ) * 26 + 1 ) 
		strImg=strImg + "<img src='alphaimgs/"+randNumber+".jpg'>"
		alp=alp + getAlphabet(randNumber)
		
		randNumber=Math.floor ( Math.random ( ) * 26 + 1 ) 
		strImg=strImg + "<img src='alphaimgs/"+randNumber+".jpg'>"
		alp=alp + getAlphabet(randNumber)
		
		randNumber=Math.floor ( Math.random ( ) * 26 + 1 ) 
		strImg=strImg + "<img src='alphaimgs/"+randNumber+".jpg'>"
		alp=alp + getAlphabet(randNumber)


		document.getElementById("imgDiv").innerHTML=strImg
		
		document.getElementById("hdcode").value=alp;		

}

function getAlphabet(num)
{
	if (num==1)	
		return "a";
	else if	(num==2)	
		return "b";
	else if	(num==3)	
		return "c";
	else if	(num==4)	
		return "d";	
	else if	(num==5)	
		return "e";
	else if	(num==6)	
		return "f";	
	else if	(num==7)	
		return "g";	
	else if	(num==8)	
		return "h";	
	else if	(num==9)	
		return "i";
	else if	(num==10)	
		return "j";	
	else if	(num==11)	
		return "k";	
	else if	(num==12)	
		return "l";	
	else if	(num==13)	
		return "m";	
	else if	(num==14)	
		return "n";	
	else if	(num==15)	
		return "o";
	else if	(num==16)	
		return "p";
	else if	(num==17)	
		return "q";
	else if	(num==18)	
		return "r";	
	else if	(num==19)	
		return "s";
	else if	(num==20)	
		return "t";	
	else if	(num==21)	
		return "u";	
	else if	(num==22)	
		return "v";	
	else if	(num==23)	
		return "w";	
	else if	(num==24)	
		return "x";	
	else if	(num==25)	
		return "y";	
	else if	(num==26)	
		return "z";	
		
}

function validateMaxQty()
{
	codeqty.Submit.value='Generating...';
	codeqty.Submit.disabled=true;
	
	if(codeqty.spacks.value=='')
	{
		alert('Please select a service pack');
		codeqty.spacks.focus();
		codeqty.Submit.value='Generate Random Code';
		codeqty.Submit.disabled=false;
		return false;
	}
	if(trim1(codeqty.maxno.value)=='')
	{
		alert('Please specify how many codes you want to generate');
		codeqty.maxno.focus();
		codeqty.Submit.value='Generate Random Code';
		codeqty.Submit.disabled=false;
		return false;
	}
	if(IsNumeric1(codeqty.maxno.value)==false)
	{
		alert('Please provide only numeric value');
		codeqty.maxno.focus();
		codeqty.Submit.value='Generate Random Code'
		codeqty.Submit.disabled=false;
		return false;	
	}
	return true;	
}

function valAddSp()
{
	if(trim1(register.pf.value)=="")
	{
		alert('Select Product Family');
		register.pf.focus();
		return false;
	}
	if(trim1(register.mt.value)=="")
	{
		alert('Select Machine Type');
		register.mt.focus();
		return false;
	}
	if(trim1(register.model.value)=="")
	{
		alert('Select Model');
		register.model.focus();
		return false;
	}
	if(trim1(register.sp.value)=="")
	{
		alert('Select Service Pac. Part No.');
		register.sp.focus();
		return false;
	}
	if(trim1(register.slNo.value)=="")
	{
		alert('Provide Sl. No.');
		register.slNo.focus();
		return false;
	}
	if(trim1(register.auCode.value)=="")
	{
		alert('Provide Auth. Code');
		register.auCode.focus();
		return false;
	}
	if(trim1(register.auCode.value).length<10||trim1(register.auCode.value).length>10)
	{
		alert('Auth. Code must be 10 characters long');
		register.auCode.focus();
		return false;	
	}
	if(trim1(register.mPurchaseDate.value)=="")
	{
		alert('Pick a Machine Purchase date from calendar');
		register.mPurchaseDate.focus();
		return false;
	}
	if(trim1(register.spPurchaseDate.value)=="")
	{
		alert('Pick a ServicePac. Purchase date from calendar');
		register.spPurchaseDate.focus();
		return false;
	}
	return true;
}

function valUsr()
{
	if (trim1(users.uid.value)==""||trim1(users.uid.value)==" ")
	{
		alert('Please provide a user id you want.\nSpaces are not allowed');
		users.uid.focus();
		return false;
	}
	if (users.uid.value.indexOf(invalid) > -1)
	{
		alert('You entered spaces in user id.\nSpaces are not allowed');
		users.uid.focus();
		return false;
	}

	if (users.uid.value.length > maxLen)
	{
		alert('User Id must be only 50 characters long');
		register.uid.focus();
		return false;
	}
	if (trim1(users.uname.value)==""||trim1(users.uname.value)==" ")
	{
		alert('Please provide name of the user.');
		users.uname.focus();
		return false;
	}
	return true;
}

function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}

function validateSupportCentre()
{
	if(trim1(supportcentre.ssname.value)=="")
	{
		alert('Please provide support centre name');
		supportcentre.ssname.focus();
		return false;
	}
	if(trim1(supportcentre.systemtype.value)=="")
	{
		alert('Please select system type');
		supportcentre.systemtype.focus();
		return false;
	}
	if(trim1(supportcentre.aspid.value)=="")
	{
		alert('Please select ASP');
		supportcentre.aspid.focus();
		return false;
	}
	if(trim1(supportcentre.stateid.value)=="")
	{
		alert('Please select State');
		supportcentre.stateid.focus();
		return false;
	}
	if(trim1(supportcentre.cityid.value)=="")
	{
		alert('Please select Location');
		supportcentre.cityid.focus();
		return false;
	}
	if(trim1(supportcentre.producttype.value)=="")
	{
		alert('Please select Product Supported');
		supportcentre.producttype.focus();
		return false;
	}
	if(trim1(supportcentre.srid.value)=="")
	{
		alert('Please provide SR/ESS ID');
		supportcentre.srid.focus();
		return false;
	}
	if(trim1(supportcentre.ssaddress.value)=="")
	{
		alert('Please provide Support Centre Address');
		supportcentre.ssaddress.focus();
		return false;
	}
	if(trim1(supportcentre.ssphonenumber.value)=="")
	{
		alert('Please provide Support Centre Phone Number(s)');
		supportcentre.ssphonenumber.focus();
		return false;
	}

	return true;	
}

function validateSpLocator()
{
	if(trim1(splocator.stateid.value)=="")
	{
		alert('Please select State');
		splocator.stateid.focus();
		return false;
	}
	return true;
}

function validateSpLocator2()
{
	if(trim1(splocator2.stateid.value)=="")
	{
		alert('Please select State');
		splocator2.stateid.focus();
		return false;
	}
	return true;
}
