//***************************************************
// This Function is used by ECard page
// Developed by Ajay Singh
// Date: 22-07-2005
//***************************************************
var eachElem = 0;
var eachTemp = 0;
var curIndex = 0;
var filedToValidate = new Array(3);
var friendName = new Array(4);
var friendEmail = new Array(4);
var emailReg = /^[a-zA-Z0-9]+([\w.-]?[a-zA-Z0-9]+)*\@[a-zA-Z0-9]+([\w-]*\.[\w-]*[a-zA-Z0-9]+)+$/

function submitForm(frm, ecardID){
   for(i=0;i<frm.elements.length; i++){
      //alert(frm.elements[i].name+"="+frm.elements[i].value);
      if(frm.elements[i].value=="ecards"){
         frm.elements[i].value="ecardPreview";
      }else if (frm.elements[i].value=="ecardsConfirmation.jsp"){
         frm.elements[i].value = "ecardPrintPreview.jsp?eCardID="+ecardID;
      }
   }
   validateFrmElement(frm);
}

function validateFrmElement(frm)
{
   var buttonAction;
   var errFlag = 0;
   var toValidate = 0;
   var flagField1 = 0;
   var flagField11 = 0;
   var flagField12 = 0;
   var flagField2 = 0;
   var flagField21 = 0;
   var flagField22 = 0;
   var flagField3 = 0;
   var flagField31 = 0;
   var flagField32 = 0;
   var flagField4 = 0;
   var flagField41 = 0;
   var flagField42 = 0;
   var flagField5 = 0;
   var flagField51 = 0;
   var flagField52 = 0;
   var inValidEmail = 0;
   var flagEcardBody = 0;
   var focusElem=0;
   var flagEcardBodyUrl = 0;
   var regURL= /(ftp|http):\/\/([_a-z\d\-]+(\.[_a-z\d\-]+)+)(([_a-z\d\-\\\.\/]+[_a-z\d\-\\\/])+)*/
   filedToValidate['senderName']="First Name cannot be blank";
   filedToValidate['senderEmail']="E-Mail Address cannot be blank";
   filedToValidate['friendsName']="Friend's First Name cannot be blank";
   filedToValidate['friendsEmail']="Friend's E-Mail Address cannot be blank";
   filedToValidate['notvalid_friendsEmail']="Friend's E-Mail Address is not valid";
   filedToValidate['notvalid_senderEmail']="E-Mail Address is not valid";
   filedToValidate['more_than_100_characters']="Messages cannot contain over 100 characters. Please update your message and resubmit this request.";
   filedToValidate['body_contains_urls']="Messages cannot contain email addresses or URLs. Please fix this error in the highlighted area and resubmit.";

   

   for(eachElem=0;eachElem<frm.elements.length; eachElem++)
   {  
      if(frm.elements[eachElem].name=="senderName" && frm.elements[eachElem].value==""){
         errFlag=1;
         alert(filedToValidate[frm.elements[eachElem].name])
         frm.elements[eachElem].focus();
         break;
      }else if(frm.elements[eachElem].name=="senderEmail" && frm.elements[eachElem].value==""){
         errFlag=1;
         alert(filedToValidate[frm.elements[eachElem].name])
         frm.elements[eachElem].focus();
         break;
      }else if(frm.elements[eachElem].name=="senderEmail" && frm.elements[eachElem].value!="" && validateEmail(frm.elements[eachElem])){
         errFlag=1;
         alert(filedToValidate["notvalid_"+frm.elements[eachElem].name])
         frm.elements[eachElem].focus();
         break;
      }else if(frm.elements[eachElem].name=="friendsName1" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail1" && frm.elements[eachElem+2].value=="")){
         flagField1=1;
         focusElem = eachElem;
         eachElem +=2;
         //alert("flagField1="+flagField1)
      }else if(frm.elements[eachElem].name=="friendsName1" && frm.elements[eachElem].value!=""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail1" && frm.elements[eachElem+2].value=="")){
         flagField11=1;
         focusElem = eachElem;
         eachElem +=2;
         //frm.elements[eachElem].focus();
         //alert(filedToValidate["friendsEmail"])
      }else if(frm.elements[eachElem].name=="friendsName1" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail1" && frm.elements[eachElem+2].value!="")){
         flagField12=1;
         focusElem = eachElem;
         eachElem +=2;
         //alert(filedToValidate["friendsName"])
      }else if(frm.elements[eachElem].name=="friendsName2" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail2" && frm.elements[eachElem+2].value=="")){
         flagField2=1;
         focusElem = eachElem;
         eachElem +=2;
         //alert("flagField2="+flagField2)
      }else if(frm.elements[eachElem].name=="friendsName2" && frm.elements[eachElem].value!=""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail2" && frm.elements[eachElem+2].value=="")){
         flagField21=1;
         focusElem = eachElem;
         eachElem +=2;
         //frm.elements[eachElem].focus();
      }else if(frm.elements[eachElem].name=="friendsName2" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail2" && frm.elements[eachElem+2].value!="")){
         flagField22=1;
         focusElem = eachElem;
         eachElem +=2;
      }else if(frm.elements[eachElem].name=="friendsName3" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail3" && frm.elements[eachElem+2].value=="")){
         flagField3=1;
         focusElem = eachElem;
         eachElem +=2;
      }else if(frm.elements[eachElem].name=="friendsName3" && frm.elements[eachElem].value!=""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail3" && frm.elements[eachElem+2].value=="")){
         flagField31=1;
         focusElem = eachElem;
         eachElem +=2;
         //frm.elements[eachElem].focus();
      }else if(frm.elements[eachElem].name=="friendsName3" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail3" && frm.elements[eachElem+2].value!="")){
         flagField32=1;
         focusElem = eachElem;
         eachElem +=2;
      }else if(frm.elements[eachElem].name=="friendsName4" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail4" && frm.elements[eachElem+2].value=="")){
         flagField4=1;
         focusElem = eachElem;
         eachElem +=2;
         //alert("flagField4="+flagField4)
      }else if(frm.elements[eachElem].name=="friendsName4" && frm.elements[eachElem].value!=""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail4" && frm.elements[eachElem+2].value=="")){
         flagField41=1;
         focusElem = eachElem;
         eachElem +=2;
         //frm.elements[eachElem].focus();
      }else if(frm.elements[eachElem].name=="friendsName4" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail4" && frm.elements[eachElem+2].value!="")){
         flagField42=1;
         focusElem = eachElem;
         eachElem +=2;
      }else if(frm.elements[eachElem].name=="friendsName5" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail5" && frm.elements[eachElem+2].value=="")){
         flagField5=1;
         focusElem = eachElem;
         eachElem +=2;
         //alert("flagField4="+flagField4)
      }else if(frm.elements[eachElem].name=="friendsName5" && frm.elements[eachElem].value!=""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail5" && frm.elements[eachElem+2].value=="")){
         flagField51=1;
         focusElem = eachElem;
         eachElem +=2;
         //frm.elements[eachElem].focus();
      }else if(frm.elements[eachElem].name=="friendsName5" && frm.elements[eachElem].value==""
         && ((eachElem+2<frm.elements.length)&&frm.elements[eachElem+2].name=="friendsEmail5" && frm.elements[eachElem+2].value!="")){
         flagField52=1;
         focusElem = eachElem;
         eachElem +=2;
      }else if(frm.elements[eachElem].name.indexOf("friendsEmail")==0 && frm.elements[eachElem].value!="" && validateEmail(frm.elements[eachElem])){
         errFlag=1;
         inValidEmail=1;
         focusElem = eachElem;
         break;
      } else if(frm.elements[eachElem].name=="eCardBody") {
		  var StrURL = frm.elements[eachElem].value;
		  if(frm.elements[eachElem].value.length>100){
			 errFlag=1;
			 flagEcardBody=1;
			 focusElem = eachElem;
			 break;
		  }if(StrURL.indexOf("www")!=-1 || StrURL.indexOf("http")!=-1 || StrURL.indexOf(".com")!=-1 ||  			StrURL.indexOf(".net")!=-1 || StrURL.indexOf(".co")!=-1 ||										regURL.test(Trim(frm.elements[eachElem].value)) ){
				errFlag = 1;
				flagEcardBodyUrl=1
				focusElem = eachElem;
				//alert("Messages cannot contain email addresses or URLs. Please fix this error in the highlighted area and resubmit");
			 // frm.elements[eachElem].focus();
             break;
			} 
	}

   }
   //alert("flagField1="+flagField1 +"\nflagField2="+flagField2 +"\nflagField3="+ flagField3 + "\nflagField4="+ flagField4);
   //alert("flagField11="+flagField11 +"\nflagField21="+flagField21 +"\nflagField31="+ flagField31 + "\nflagField41="+ flagField41);
   //alert("flagField12="+flagField12 +"\nflagField22="+flagField22 +"\nflagField32="+ flagField32 + "\nflagField42="+ flagField42);

   if( flagField1 && flagField2 && flagField3 && flagField4 && flagField5 ){
      errFlag=1;
      alert("Friend's First Name and Email Address cannot be blank")
      //frm.elements[focusElem].focus();
   }else if( flagField11 || flagField21 || flagField31 || flagField41 && flagField51 ){
      errFlag=1;
      alert(filedToValidate["friendsEmail"])
   }else if( flagField12 || flagField22 || flagField32 || flagField42 && flagField52){
      errFlag=1;
      alert(filedToValidate["friendsName"])
   }else if (inValidEmail){
      alert(filedToValidate["notvalid_friendsEmail"])
      frm.elements[focusElem].focus();
   }else if (flagEcardBody){
      alert(filedToValidate["more_than_100_characters"])
      frm.elements[focusElem].focus();
   }else if (flagEcardBodyUrl){
      alert(filedToValidate["body_contains_urls"])
      frm.elements[focusElem].focus();
   }


   //alert(buttonAction);

   if(buttonAction == 'preview'){
      frm.action=formAction;
      frm.submit=buttonAction
   }
   if (errFlag == 0)
   {
      frm.submit();
   }
  }

//***************************************************
// This Function is used by ECard page
// Developed by Ajay Singh
// Date: 22-07-2005
//***************************************************

function validate(elem)
{
   var errflag  = 1;
   var t_obj = eval("document.forms[0]." + elem.name);
   //alert(!t_obj.length);
   if(!t_obj.length){
      if (t_obj.value!="")
      {
         errflag = 0;
      }
   }else{
      for(j=0; j<t_obj.length; j++)
      {
         if (t_obj[j].value!="")
         {
            friendName[j] = j; //this is used for mapping friendname and email address
            errflag = 0;
         }
      }
   }
   eachElem += t_obj.length - 3; /// this is an global variable for starting from new question from calling function
   return errflag;
}


//***************************************************
// This Function is used by ECard page
// Developed by Ajay Singh
// Date: 22-07-2005
//***************************************************



function validateEmail(elem){
   var errflag  = 1;
   var t_obj = eval("document.forms[0]." + elem.name);
   //alert(!t_obj.length);
   if(!t_obj.length){
      if (emailReg.test(t_obj.value))
      {
         errflag = 0;
      }else{
         //curIndex = eachElem - 3;
      }
   }
/* }else{
      for(j=0; j<t_obj.length; j++)
      {
         if(t_obj[j].value!="")
         {
            //alert(1 + t_obj[j].value);
            if (emailReg.test(t_obj[j].value))
            {
               friendEmail[j] = j; //this is used for mapping friendname and email address
               errflag = 0;
            }else{
               curIndex = eachElem - 3;
               errflag = 1;
            }
         }
      }
   }
   eachElem += t_obj.length - 2; /// this is an global variable for starting from new question from calling
   */
   return errflag;
}

function checkPrev(frm, fieldName, flag){
   for(i=eachElem;i<frm.elements.length; i++){
      //alert(frm.elements[i].name.indexOf(fieldName))
      if(frm.elements[i].name.indexOf(fieldName)>=0
         && frm.elements[i].value=="" && flag==1){
         flag=1;
      }else if (frm.elements[i].name.indexOf("friendsName")>=0
         && frm.elements[i].value==""
         && frm.elements[i+1].name.indexOf("friendsEmail")>=0
         && frm.elements[i+1].value!="" && flag==1)
      {
         alert("Friend's First Name / Email Address cannot be blank");
         flag=1;
      }else if (frm.elements[i].name.indexOf("friendsName")>=0
         && frm.elements[i].value!=""
         && frm.elements[i+1].name.indexOf("friendsEmail")>=0
         && frm.elements[i+1].value=="" && flag==1)
      {
         alert("Friend's First Name and Email Address cannot be blank");
         flag=1;
      }else{
         flag = 0;
      }
   }
   return flag;
}

function launchHAHPalwaysps(page) {

 var popup = window.open('/en_US/happy/pages/launchAlwaysPS.jsp?src_uid=6','BG_PSWin','dependent=no,toolbar=no,location=no,resizable=yes,menubar=no,scrollbars=yes,width=496,height=650');
 popup.focus();
}
