// JavaScript Document
//03/18/2008	T.Jubaer	Video Order Form Redesign (Task 6477)
//03/22/2008	T.Jubaer	Video Form Internal Acceptance Feedback (Task 6539)

//Declare global Vars
var state;
var zip;
var state2;
var zip2;
var areaCode;
var zipFlag=false;
var areaCodeFlag=false;

//Function to trim values
function trimAll(sString) 
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString.length;
}

//Function to check valid email
function checkEmail(str)
{
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str))
	{		
		return true;
	}
	else
	{		
		return false;
	}

}

//Function to check valid zip code
function checkZIP(field)
{
	var valid = "0123456789-";
	var hyphencount = 0;
	
	if (field.length!=5 && field.length!=10)
	{	
		return false;
	}
	for (var i=0; i < field.length; i++)
	{
		temp = "" + field.substring(i, i+1);
		if (temp == "-")
			hyphencount++;
		if (valid.indexOf(temp) == "-1")
		{			
			return false;
		}
		if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-"))
		{			
			return false;
		}
	}
	return true;
}

//Function to check hear about section
function hearAbout(media)
{
	//Display the clicked media drop down and point the media icon
	if(document.getElementById(media+"Div").style.display=="none")	
		document.getElementById(media+"Div").style.display="block";
	document.getElementById(media+"Pointer").style.display="block";	
	
	document.getElementById("a_ledtositeCross").style.display="block";
	document.getElementById("a_ledtositeTick").style.display="none";
	document.getElementById("b_ledtositeCross").style.display="block";
	document.getElementById("b_ledtositeTick").style.display="none";
	document.getElementById("e_ledtositeCross").style.display="block";
	document.getElementById("e_ledtositeTick").style.display="none";
	document.getElementById("f_ledtositeCross").style.display="block";
	document.getElementById("f_ledtositeTick").style.display="none";
	
	if(media=="TV")	//If TV is selected hide the other medias and set hidden value
	{
		document.getElementById("unknownDiv").style.display="none";
		document.getElementById("webDiv").style.display="none";
		document.getElementById("printDiv").style.display="none";
		
		document.getElementById("printPointer").style.display="none";
		document.getElementById("webPointer").style.display="none";
		document.getElementById("unknownPointer").style.display="none";
		
		document.getElementById("b_ledtosite").selectedIndex=0;
		document.getElementById("f_ledtosite").selectedIndex=0;
		document.getElementById("e_ledtosite").selectedIndex=0;
		
		if(document.getElementById("a_ledtosite").value!="")
		{			
			document.getElementById("advertise").value="a";
		}		
	}
	else if(media=="print")	//If Print is selected hide the other medias and set hidden value
	{
		document.getElementById("unknownDiv").style.display="none";
		document.getElementById("webDiv").style.display="none";
		document.getElementById("TVDiv").style.display="none";
		
		document.getElementById("TVPointer").style.display="none";
		document.getElementById("webPointer").style.display="none";
		document.getElementById("unknownPointer").style.display="none";
		
		document.getElementById("a_ledtosite").selectedIndex=0;
		document.getElementById("f_ledtosite").selectedIndex=0;
		document.getElementById("e_ledtosite").selectedIndex=0;
		
		if(document.getElementById("b_ledtosite").value!="")
		{			
			document.getElementById("advertise").value="b";
		}
	}
	else if(media=="web")	//If Web is selected hide the other medias and set hidden value
	{
		document.getElementById("unknownDiv").style.display="none";
		document.getElementById("printDiv").style.display="none";
		document.getElementById("TVDiv").style.display="none";
		
		document.getElementById("TVPointer").style.display="none";
		document.getElementById("printPointer").style.display="none";
		document.getElementById("unknownPointer").style.display="none";

		document.getElementById("a_ledtosite").selectedIndex=0;
		document.getElementById("b_ledtosite").selectedIndex=0;
		document.getElementById("e_ledtosite").selectedIndex=0;
		
		if(document.getElementById("f_ledtosite").value!="")
		{			
			document.getElementById("advertise").value="f";
		}
	}
	else	//If Unknown is selected hide the other medias and set hidden value
	{
		document.getElementById("webDiv").style.display="none";
		document.getElementById("printDiv").style.display="none";
		document.getElementById("TVDiv").style.display="none";
		
		document.getElementById("TVPointer").style.display="none";
		document.getElementById("printPointer").style.display="none";
		document.getElementById("webPointer").style.display="none";
		
		document.getElementById("a_ledtosite").selectedIndex=0;
		document.getElementById("f_ledtosite").selectedIndex=0;
		document.getElementById("b_ledtosite").selectedIndex=0;
		
		if(document.getElementById("e_ledtosite").value!="")
		{			
			document.getElementById("advertise").value="e";
		}
	}
	//Call validation function
	checkValidation();
}

//Function to check the Preferred Format section
function format(id)
{
	if(id=='3')	//If watch online is selcted then hide other sections and pointers
	{
		document.getElementById("watchPointer").style.display="block";
		document.getElementById("DVDPointer").style.display="none";
		document.getElementById("CDPointer").style.display="none";
	}
	else if(id=='2')		//If DVD is selcted then hide other sections and pointers
	{
		document.getElementById("DVDPointer").style.display="block";
		document.getElementById("watchPointer").style.display="none";
		document.getElementById("CDPointer").style.display="none";
	}
	else if(id=='1')		//If CD-ROM is selcted then hide other sections and pointers
	{
		document.getElementById("CDPointer").style.display="block";
		document.getElementById("watchPointer").style.display="none";
		document.getElementById("DVDPointer").style.display="none";
	}
	//Set hidden field value
	document.getElementById("VideoFormat").value=id;
	//Call validation function
	checkValidation();
}

//Function to check More About section
function moreAbout()
{	
	var temp=true;
	//Check if first question is answered
	if(document.getElementById("CurrentlyOwn1").checked==false && document.getElementById("CurrentlyOwn2").checked==false && document.getElementById("CurrentlyOwn3").checked==false)
		temp=false;
	//Check if second question is answered
	if(document.getElementById("LikelyVisitShow1").checked==false && document.getElementById("LikelyVisitShow2").checked==false && document.getElementById("LikelyVisitShow3").checked==false)	
		temp=false;
	//Check if Third question is answered
	if(document.getElementById("BuyRent1").checked==false && document.getElementById("BuyRent2").checked==false)	
		temp=false;
	//Check if fourth question is answered
	if(document.getElementById("BuyRentTime1").checked==false && document.getElementById("BuyRentTime2").checked==false && document.getElementById("BuyRentTime3").checked==false && document.getElementById("BuyRentTime4").checked==false && document.getElementById("BuyRentTime5").checked==false)		
		temp=false;
	//Return true if all questions are answered else return false
	return temp;
}
//Function to check personal details section
function personalDetails()
{
	var temp=true;
	//Check First name. If found display tick mark and hide cross mark
	if(trimAll(document.getElementById("FirstName").value)==0)
	{
		document.getElementById("FirstNameCross").style.display="block";
		document.getElementById("FirstNameTick").style.display="none";
		temp=false;		
	}
	else
	{
		document.getElementById("FirstNameTick").style.display="block";
		document.getElementById("FirstNameCross").style.display="none";
	}
	//Check Last name. If found display tick mark and hide cross mark
	if(trimAll(document.getElementById("LastName").value)==0)
	{
		document.getElementById("LastNameCross").style.display="block";
		document.getElementById("LastNameTick").style.display="none";
		temp=false;		
	}
	else
	{
		document.getElementById("LastNameTick").style.display="block";
		document.getElementById("LastNameCross").style.display="none";
	}
	//Check Address. If found display tick mark and hide cross mark
	if(trimAll(document.getElementById("Address1").value)==0)
	{
		document.getElementById("Address1Cross").style.display="block";
		document.getElementById("Address1Tick").style.display="none";
		temp=false;		
	}
	else
	{
		document.getElementById("Address1Tick").style.display="block";
		document.getElementById("Address1Cross").style.display="none";
	}
	//Check City. If found display tick mark and hide cross mark
	if(trimAll(document.getElementById("City").value)==0)
	{
		document.getElementById("CityCross").style.display="block";
		document.getElementById("CityTick").style.display="none";
		temp=false;		
	}
	else
	{
		document.getElementById("CityTick").style.display="block";
		document.getElementById("CityCross").style.display="none";
	}
	//Check State. If found display tick mark and hide cross mark
	if(trimAll(document.getElementById("State").value)==0)
	{
		document.getElementById("StateCross").style.display="block";
		document.getElementById("StateTick").style.display="none";
		temp=false;		
	}
	else
	{
		document.getElementById("StateTick").style.display="block";
		document.getElementById("StateCross").style.display="none";
	}
	//Check valid zip code. If found display tick mark and hide cross mark
	if(zipFlag==false || zipFlag=='')
	{
		document.getElementById("ZIPCodeCross").style.display="block";
		document.getElementById("ZIPCodeTick").style.display="none";
		temp=false;		
	}
	else
	{
		//If JS validation is OK then call the following method to check the zip code against state code & zip code in database				
		document.getElementById("ZIPCodeTick").style.display="block";
		document.getElementById("ZIPCodeCross").style.display="none";
	}		
	//Check valid email. If found display tick mark and hide cross mark
	if(checkEmail(document.getElementById("Email").value)==false)
	{
		document.getElementById("EmailCross").style.display="block";
		document.getElementById("EmailTick").style.display="none";
		temp=false;		
	}
	else
	{
		document.getElementById("EmailTick").style.display="block";
		document.getElementById("EmailCross").style.display="none";		
	}
	//Check valid verify email. If found display tick mark and hide cross mark
	if(checkEmail(document.getElementById("VerifyEmail").value)==false || document.getElementById("Email").value!=document.getElementById("VerifyEmail").value)
	{
		document.getElementById("VerifyEmailCross").style.display="block";
		document.getElementById("VerifyEmailTick").style.display="none";
		temp=false;		
	}
	else
	{
		document.getElementById("VerifyEmailTick").style.display="block";
		document.getElementById("VerifyEmailCross").style.display="none";
	}
	//Check valid phone & valid area code. If found display tick mark and hide cross mark
	if(areaCodeFlag==false || areaCodeFlag=='' || trimAll(document.getElementById("Phone").value) == 0 || (trimAll(document.getElementById("Phone").value) != 0 && ( document.getElementById("Phone").value.length != 7 || isNaN(parseFloat(document.getElementById("Phone").value)) == 1 )))
	{
		document.getElementById("PhoneCross").style.display="block";
		document.getElementById("PhoneTick").style.display="none";
		temp=false;		
	}
	else
	{
		//If JS validation is OK then call the following method to check the area code against state code & zip code in database				
		document.getElementById("PhoneTick").style.display="block";
		document.getElementById("PhoneCross").style.display="none";
	}
	return temp;
}
//Function to check all sections
function checkValidation()
{
	//Check How Did You Hear About Us section. If found complete then display section and global tick and hide cross mark
	if(document.getElementById("advertise").value!="" && document.getElementById(document.getElementById("advertise").value+"_ledtosite").value)
	{	
		document.getElementById("hearAboutCheck").style.display="block";
		document.getElementById("globalhearAboutCross").style.display="none";
		document.getElementById("globalhearAboutTick").style.display="block";
				
		if(document.getElementById("advertise").value=='a')
		{
			document.getElementById("TVDiv").style.display="block";
			document.getElementById("TVPointer").style.display="block";	
			
			document.getElementById("a_ledtositeCross").style.display="none";
			document.getElementById("a_ledtositeTick").style.display="block";				
		}
		else if(document.getElementById("advertise").value=='b')
		{
			document.getElementById("printDiv").style.display="block";
			document.getElementById("printPointer").style.display="block";							
			document.getElementById("TVDiv").style.display="none";
			
			document.getElementById("b_ledtositeCross").style.display="none";
			document.getElementById("b_ledtositeTick").style.display="block";
		}
		else if(document.getElementById("advertise").value=='f')
		{
			document.getElementById("webDiv").style.display="block";
			document.getElementById("webPointer").style.display="block";	
			document.getElementById("TVDiv").style.display="none";
			
			document.getElementById("f_ledtositeCross").style.display="none";
			document.getElementById("f_ledtositeTick").style.display="block";
		}
		else if(document.getElementById("advertise").value=='e')
		{
			document.getElementById("unknownDiv").style.display="block";
			document.getElementById("unknownPointer").style.display="block";	
			document.getElementById("TVDiv").style.display="none";
			
			document.getElementById("e_ledtositeCross").style.display="none";
			document.getElementById("e_ledtositeTick").style.display="block";
		}
	

	}
	else	
	{
		document.getElementById("hearAboutCheck").style.display="none";
		document.getElementById("globalhearAboutCross").style.display="block";
		document.getElementById("globalhearAboutTick").style.display="none";
	}
	//Check Preferred Format. If found complete then display section and global tick and hide cross mark
	/*if(document.getElementById("VideoFormat").value=='1' || document.getElementById("VideoFormat").value=='2' || document.getElementById("VideoFormat").value=='3')
	{
		document.getElementById("formatCheck").style.display="block";
		document.getElementById("globalformatCross").style.display="none";
		document.getElementById("globalformatTick").style.display="block";
		if(document.getElementById("VideoFormat").value=='3')
			document.getElementById("watchPointer").style.display="block";	
		else if(document.getElementById("VideoFormat").value=='2')
			document.getElementById("DVDPointer").style.display="block";
		else if(document.getElementById("VideoFormat").value=='1')
			document.getElementById("CDPointer").style.display="block";
	}
	else
	{
		document.getElementById("formatCheck").style.display="none";
		document.getElementById("globalformatCross").style.display="block";
		document.getElementById("globalformatTick").style.display="none";
	}*/
	//Check More About You. If found complete then display section and global tick and hide cross mark
	if(moreAbout()==true)
	{
		document.getElementById("moreAboutCheck").style.display="block";
		document.getElementById("globalMoreAboutCross").style.display="none";
		document.getElementById("globalMoreAboutTick").style.display="block";
	}
	else
	{
		document.getElementById("moreAboutCheck").style.display="none";
		document.getElementById("globalMoreAboutCross").style.display="block";
		document.getElementById("globalMoreAboutTick").style.display="none";
	}
	//Check Personal details. If found complete then display section and global tick and hide cross mark
	if(personalDetails()==true)
	{
		document.getElementById("personalCheck").style.display="block";
		document.getElementById("globalPersonalCross").style.display="none";
		document.getElementById("globalPersonalTick").style.display="block";
	}
	else
	{
		document.getElementById("personalCheck").style.display="none";
		document.getElementById("globalPersonalCross").style.display="block";
		document.getElementById("globalPersonalTick").style.display="none";
	}
	//If all sections are complete display active submit button. Else display inactive submit button.
	if(document.getElementById("globalPersonalTick").style.display=="block" && document.getElementById("globalhearAboutTick").style.display=="block" /*&& document.getElementById("globalformatTick").style.display=="block"*/ && document.getElementById("globalMoreAboutTick").style.display=="block" && document.getElementById("globalContactTick").style.display=="block")
	{	
		document.getElementById("inactiveSubmit").style.display="none";
		document.getElementById("activeSubmit").style.display="block";
		return true;
	}
	else
	{	
		document.getElementById("activeSubmit").style.display="none";
		document.getElementById("inactiveSubmit").style.display="block";
		return false;
	}
}

//Function to check valid zip code in database by setting the iframe source
function validZipCheck()
{
	if(state!=document.getElementById('State').value || zip!=document.getElementById('ZIPCode').value)
	{
		state=document.getElementById('State').value;
		zip=document.getElementById('ZIPCode').value;
		document.getElementById('validZipCheck').src='/VOFCheckValidZip.cfm?State='+state+'&ZIPCode='+zip+'&sid='+Math.random();
		//Sleep(5);
	}	
}

//Iframe child page will call this method to set the zip code validation
function resultValidZipCheck(status)
{
	//Check valid zip code. If found display tick mark and hide cross mark
	if(status == '0')
	{
		document.getElementById("ZIPCodeCross").style.display="block";
		document.getElementById("ZIPCodeTick").style.display="none";		
		zipFlag = false;
	}
	else
	{
		document.getElementById("ZIPCodeTick").style.display="block";
		document.getElementById("ZIPCodeCross").style.display="none";
		zipFlag = true;
	}	
	//checkValidation();
	validAreaCode();
}

//Function to check valid area code in database by setting the iframe source
function validAreaCode()
{
	if(state2!=document.getElementById('State').value || zip2!=document.getElementById('ZIPCode').value || areaCode!=document.getElementById('areaCode').value)
	{
		state2=document.getElementById('State').value;
		zip2=document.getElementById('ZIPCode').value;
		areaCode=document.getElementById('areaCode').value;
		document.getElementById('validZipCheck').src='/VOFCheckValidZip.cfm?State='+state2+'&ZIPCode='+zip2+'&AreaCode='+areaCode+'&sid='+Math.random();
		//Sleep(5);
	}
	else
	{
		checkValidation();
	}
}

//Iframe child page will call this method to set the area code validation
function resultValidAreaCode(status)
{
	//Check valid area code. If found display tick mark and hide cross mark
	if(status == '0')
	{
		//document.getElementById("areaCodeCross").style.display="block";
		//document.getElementById("areaCodeTick").style.display="none";		
		areaCodeFlag = false;
	}
	else
	{
		//document.getElementById("areaCodeTick").style.display="block";
		//document.getElementById("areaCodeCross").style.display="none";
		areaCodeFlag = true;
	}	
	checkValidation();
}