/* CHECK ACCOUNT */
function valAccount(thisform){
 var formAccount = eval("document."+ thisform +".txtAccount");
 if (formAccount.value == ""){
  alert("Account is required");
  formAccount.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK FIRST NAME */
function valName(thisform){
 var formName = eval("document."+ thisform +".txtName");
 if (formName.value == ""){
  alert("First name is required");
  formName.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK LAST NAME */
function valLastName(thisform){
 var formLastName = eval("document."+ thisform +".txtLastName");
 if (formLastName.value == ""){
  alert("Last name is required");
  formLastName.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK FIRST NAME AND LAST NAME LENGTH */
function valFullName(thisform){
 var formFullName = eval("document."+ thisform +".txtName.value") + " " + eval("document."+ thisform +".txtLastName.value"); 
 if (formFullName.length < 6){
  alert("Customer name and last name are too short or have invalid characters");
  eval("document."+ thisform +".txtName").select();
  return false;
 }else{
  return true;
 }
}

/* CHECK ADDRESS */
function valAddress(thisform){
 var formAddress = eval("document."+ thisform +".txtAddress1");
 if (formAddress.value == ""){
  alert("Address is required");
  formAddress.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK STATE OR PROVINCE */
function valState(thisform){
 var validStatus  = true;
 var formCountry  = eval("document."+ thisform +".txtCountry");
 var formState    = eval("document."+ thisform +".txtState");
 var formOTState  = eval("document."+ thisform +".txtStother");
	
 // PERFORM ALL STATE VALIDATIONS IF COUNTRY IS US
 if ((validStatus) && (formCountry.value == "US") && (formState.value == "0")){
  alert("State is required");
  formState.focus();
  validStatus = false;
 }else if((validStatus) && (formCountry.value == "US") && (formState.value == "OT")){
  alert("Select a valid State");
  formState.focus();
  validStatus = false;
 }else if ((validStatus) && (formCountry.value == "US") && ((formState.value == "AB") || (formState.value == "BC") || (formState.value == "MB") || (formState.value == "NB") || (formState.value == "NL") || (formState.value == "NT") || (formState.value == "NS") || (formState.value == "NU") || (formState.value == "ON") || (formState.value == "PE") || (formState.value == "QC") || (formState.value == "SK") || (formState.value == "YT"))){
  alert("Select a valid State");
  formState.focus();
  validStatus = false;
 }
 
 // PERFORM ALL PROVINCE VALIDATIONS IF COUNTRY IS US
 if ((validStatus) && (formCountry.value  == "CA") && (formState.value == "0")){
  alert("Province is required");
  formState.focus();
  validStatus = false;
 }else if((validStatus) && (formCountry.value  == "CA") && (formState.value == "OT")){
  alert("Select a valid Province");
  formState.focus();
  validStatus = false;
 }else if ((validStatus) && (formCountry.value  == "CA") && ((formState.value != "AB") && (formState.value != "BC") && (formState.value != "MB") && (formState.value != "NB") && (formState.value != "NL") && (formState.value != "NT") && (formState.value != "NS") && (formState.value != "NU") && (formState.value != "ON") && (formState.value != "PE") && (formState.value != "QC") && (formState.value != "SK") && (formState.value != "YT"))){
  alert("Select a valid Province");
  formState.focus();
  validStatus = false;
 }
 
 // PERFORM ALL PROVINCE/STATE VALIDATIONS IF COUNTRY IS NOT US OR CA
 if ((validStatus) && (formCountry.value  != "US") && (formCountry.value  != "CA") && (formState.value == "OT") && (formOTState.value == "")){
  alert("Province/State is required");
  formOTState.focus();
  validStatus = false;
 }
 
 if (!validStatus){
  return false;
 }else{
   return true;
 }
}

/* CHECK CITY */
function valCity(thisform){
 var formCity = eval("document."+ thisform +".txtCity");
 if (formCity.value == ""){
  alert("City is required");
  formCity.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK ZIP/POSTAL CODE */
function valZip(thisform){
 var validStatus  = true;
 var formCountry  = eval("document."+ thisform +".txtCountry");
 var formZip      = eval("document."+ thisform +".txtZip");

 // check Zip Code if country is US 
 if ((validStatus) && (formCountry.value  == "US") && (formZip.value == "")){
  alert("Zip Code is required");
  formZip.focus();
  validStatus = false;
 }else if ((validStatus) && (formCountry.value  == "US") && (formZip.value != "")){
  if (formZip.value.search(/^\d{5}[ |-]\d{4}$|^\d{5}$|^\d{9}$/) == -1){
   alert("Please enter a valid Zip Code");
   formZip.select();
   validStatus = false;
  }
 }
 
 // Check Postal Code if country is Canada
 if ((validStatus) && (formCountry.value  == "CA") && (formZip.value == "")){
  alert("Postal Code is required");
  formZip.focus();
  validStatus = false;
 }else if ((validStatus) && (formCountry.value  == "CA") && (formZip.value != "")){
  if (formZip.value.search(/^[A-Z|a-z]\d[A-Z|a-z][ |-]?\d[A-Z|a-z]\d$/) == -1){
   alert("Please enter a valid Postal Code");
   formZip.select();
   validStatus = false;
  }
 }
 
 if (!validStatus){
  return false;
 }else{
   return true;
 }
}
  
/* CHECK PHONE NUMBER */
function valPhone(thisform){
 var validStatus  = true;
 var formPhone    = eval("document."+ thisform +".txtPhone");

 if ((validStatus) && (formPhone.value == "")){
  alert("Phone number is required");
  formPhone.focus();
  validStatus = false;
 }else if ((validStatus) && (formPhone.value.length < 10)) {
  alert("Phone must be at least 10 digits");
  formPhone.select();
  validStatus = false;
 }else if ((validStatus) && (formPhone.value.search(/^[0-9]+$/) == -1)){
  alert("Please enter a valid phone number\n Ej:18008017390"); 
  formPhone.select();
  validStatus = false;
 }
 
 if (!validStatus){
  return false;
 }else{
   return true;
 }
}

/* CHECK EMAIL ADDRESS */
function valEmail(thisform){
 var validStatus  = true;
 var formEmail    = eval("document."+ thisform +".txtEmail");

 if ((validStatus) && (formEmail.value == "")){
  alert("Please provide an email address");
  formEmail.focus();
  validStatus = false;
 }else if ((validStatus) && (formEmail.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1)){
  alert("Please enter a valid email address");
  formEmail.select();
  validStatus = false;
 }

 if (!validStatus){
  return false;
 }else{
   return true;
 }
}

/* CHECK SOURCE */
function valSource(thisform){
 var formSource = eval("document."+ thisform +".txtSource");
 if (formSource.selectedIndex == 0){
  alert("How did you hear about us? is required");
  formSource.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK PASSWORD AND PASSWORD CONFIRMATION */
function valPassword(thisform){
 var validStatus   = true;
 var formPassword  = eval("document."+ thisform +".txtPassword");
 var formCPassword = eval("document."+ thisform +".txtPassConfirm");

 if (formPassword.value == ""){
  alert("Password is required");
  formPassword.focus();
  validStatus = false;
 }else if (formPassword.value.length > 8){
  alert("Password too long. 8 characters max");
  formPassword.select();
  validStatus = false;
 }else if (formPassword.value != formCPassword.value){
  alert("Passwords does not match");
  formCPassword.focus();
  validStatus = false;
 }

 if (!validStatus){
  return false;
 }else{
   return true;
 }
}

/* CHECK REFER A FRIEND FIELDS */
function valReferrals(thisform){
 var i    = 1;
 var ref  = 0;
 var validStatus = true;
 while (i<=5){
  var referralform     = eval("document."+ thisform);
  var referralname     = eval("document."+ thisform +".ref"+ i +"name");
  var referrallastname = eval("document."+ thisform +".ref"+ i +"lastn");
  var referralmail     = eval("document."+ thisform +".ref"+ i +"mail");
  var referralFullName = referralname.value + " " + referrallastname.value;
  if (referralname.value != "" || referrallastname.value != "" || referralmail.value != ""){
   ref = ref+1;
   if ((validStatus) && (referralname.value == "")){
    alert("Please provide the first name for Referral #" +i);
    referralname.focus();
    validStatus = false;
	break;
   }
   if ((validStatus) && (referrallastname.value == "")){
    alert("Please provide the last name for Referral #" +i);
    referrallastname.focus();
    validStatus = false;
	break;
   }
   if ((validStatus) && (referralFullName.length < 6)){
    alert("Referral #"+ i +" name and last name are too short or have invalid characters");
    referralname.select();
    validStatus = false;
	break;
   }
   if ((validStatus) && (referralmail.value == "")){
    alert("Please provide an E-mail Address for Referral #" +i);
    referralmail.focus();
    validStatus = false;
	break;
   }
   if ((validStatus) && (referralmail.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1)){
    alert("Please enter a valid E-mail Address for Referral #" +i);
    referralmail.focus();
    validStatus = false;
	break;
   }
  } 
  i++
 }
 if ((validStatus) && (ref == 0)){
  alert("No Refferal Information Found on the this Form. \nPlease fill out at least the information for Referral #1");
  referralname = eval("document."+ thisform +".ref1name")
  referralname.focus();
  validStatus = false;
 }
 if (!validStatus){
  return false;
 }else{
   return true;
 }
}

/* CHECK LOGIN AND PASSWORD TO LOGIN */
function valLogin(thisform,Uname,Pass){
 var formAccount = eval("document."+ thisform +"." + Uname);	
 var formPassword = eval("document."+ thisform +"." + Pass);
 if(formAccount.value == ""){
  alert("Login is Required");
  formAccount.focus();
  return false;
 }
 if(formPassword.value == ""){
  alert("Password is Required");
  formPassword.focus();
  return false;
 }
}

/* CHECK LINK EXCHANGE CONTACT NAME */
function valContact(thisform){
 var validStatus = true;
 var formContact = eval("document."+ thisform +".txtContact");
 if ((validStatus) && (formContact.value == "")){
  alert("Contact name is required");
  formContact.focus();
  validStatus = false;	
 }
 if ((validStatus) && (formContact.value.length < 6)){
  alert("Contact name and last name are too short or have invalid characters");
  formContact.select();
  validStatus = false;	
 }
 if (!validStatus){
  return false;
 }else{
   return true;
 }
}

/* CHECK LINK EXCHANGE SITE NAME */
function valSiteName(thisform){
 var formSite = eval("document."+ thisform +".txtSite");
 if (formSite.value == ""){
  alert("Site Name is required");
  formSite.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK LINK EXCHANGE SITE URL */
function valSiteUrl(thisform){
 var validStatus = true;
 var formURL = eval("document."+ thisform +".txtURL");
 if ((validStatus) && (formURL.value == "")){
  alert("Site URL is required");
  formURL.focus();
  validStatus = false;
 }
 if ((validStatus) && (formURL.value.search(/(http|ftp|https):\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/) == -1)){
  alert("Invalid URL.\n URL must be: http://www.mydomain.com");
  formURL.focus();
  validStatus = false;
 }

 if (!validStatus){
  return false;
 }else{
   return true;
 }
}

/* CHECK LINK EXCHANGE CATEGORY */
function valCategory(thisform){
 var formCategory = eval("document."+ thisform +".txtCategory");
 if (formCategory.value == 0){
  alert("Select a Category");
  formCategory.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK LINK EXCHANGE SUBCATEGORY */
function valSubCategory(thisform){
 var formSubcategory = eval("document."+ thisform +".txtSubCategory");
 if (formSubcategory.value == 0){
  alert("Select a Subcategory");
  formSubcategory.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK LINK EXCHANGE RECIPROCAL */
function valReciplink(thisform){
 var validStatus = true;
 var formRecipURL = eval("document."+ thisform +".txtReciprocal");
 var formURL = eval("document."+ thisform +".txtURL");

if ((validStatus) && (formRecipURL.value == "")){
  alert("Reciprocal URL is required");
  formRecipURL.focus();
  validStatus = false;
 }
 if ((validStatus) && (formRecipURL.value.search(/(http|ftp|https):\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/) == -1)){
  alert("Invalid Reciprocal URL.\n URL must be: http://www.mydomain.com");
  formRecipURL.focus();
  validStatus = false;
 }
/* if ((validStatus) && (formURL.value == formRecipURL.value)){
  alert("Invalid Reciprocal URL.\n Reciprocal URL must be different than the Site URL. ");
  formRecipURL.select();
  validStatus = false;
 }*/

 if (!validStatus){
  return false;
 }else{
   return true;
 }
}

/* CHECK LINK EXCHANGE DESCRIPTION */
function valDescription(thisform){
 var formDescription = eval("document."+ thisform +".txtDescription");
 if (formDescription.value == ""){
  alert("Site description is required");
  formDescription.focus();
  return false;
 }else{
  return true;
 }
}

/* CHECK AFFILIATE WEBSITE */
function valAffWebsite(thisform){
 var validStatus = true;
 var formAffWebsite = eval("document."+ thisform +".txtWebsite");
 var formAffURL     = eval("document."+ thisform +".txtURL");
 if ((validStatus) && (formAffWebsite.value != "") && (formAffURL.value == "")){
  alert("Website URL is required");
  formAffURL.focus();
  validStatus = false;
 }
 if ((validStatus) && (formAffWebsite.value == "") && (formAffURL.value != "")){
  alert("Website Name is required");
  formAffWebsite.focus();
  validStatus = false;
 }
 if ((validStatus) && (formAffWebsite.value != "") && (formAffURL.value != "") && (formAffURL.value.search(/(http|ftp|https):\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/) == -1)){
  alert("Invalid URL.\n URL must be: http://www.mydomain.com");
  formAffURL.focus();
  validStatus = false;
 }
 if (!validStatus){
  return false;
 }else{
   return true;
 }
}

/* CHECK AFFILIATE CAMPAIGN */
function valCampaign(thisform){
 var formCampaign = eval("document."+ thisform +".campName");
 if (formCampaign.value == ""){
  alert("Campaign Name is required");
  formCampaign.focus();
  return false;
 }else{
  return true;
 }
}

/****  VALIDATE FORMS - MAIN -  ****/
function Validator(thisform){
 var valid = true;
 switch (thisform) {
  case "joinform" :
        if (!valName(thisform))     {valid = false; return false;} else {valid = true;}
        if (!valLastName(thisform)) {valid = false; return false;} else {valid = true;}
        if (!valFullName(thisform)) {valid = false; return false;} else {valid = true;}
        if (!valAddress(thisform))  {valid = false; return false;} else {valid = true;}
        if (!valState(thisform))    {valid = false; return false;} else {valid = true;}
        if (!valCity(thisform))     {valid = false; return false;} else {valid = true;}
        if (!valZip(thisform))      {valid = false; return false;} else {valid = true;}
        if (!valPhone(thisform))    {valid = false; return false;} else {valid = true;}
        if (!valEmail(thisform))    {valid = false; return false;} else {valid = true;}
        if (!valSource(thisform))   {valid = false; return false;} else {valid = true;}
        if (!valPassword(thisform)) {valid = false; return false;} else {valid = true;}
        break;
  case "contact" :
        if (!valName(thisform))     {valid = false; return false;} else {valid = true;}
        if (!valLastName(thisform)) {valid = false; return false;} else {valid = true;}
        if (!valFullName(thisform)) {valid = false; return false;} else {valid = true;}
        if (!valPhone(thisform))    {valid = false; return false;} else {valid = true;}
        if (!valEmail(thisform))    {valid = false; return false;} else {valid = true;}
        if (!valState(thisform))    {valid = false; return false;} else {valid = true;}
        if (!valCity(thisform))     {valid = false; return false;} else {valid = true;}
        break;
  case "RAF" :
        if (!valAccount(thisform))  {valid = false; return false;} else {valid = true;}  
        if (!valName(thisform))     {valid = false; return false;} else {valid = true;}
        if (!valLastName(thisform)) {valid = false; return false;} else {valid = true;}
        if (!valFullName(thisform)) {valid = false; return false;} else {valid = true;}
        if (!valEmail(thisform))    {valid = false; return false;} else {valid = true;}
        if (!valReferrals(thisform)){valid = false; return false;} else {valid = true;}
        break;
  case "callback" :
        if (!valAccount(thisform))  {valid = false; return false;} else {valid = true;}  
        if (!valName(thisform))     {valid = false; return false;} else {valid = true;}
        if (!valLastName(thisform)) {valid = false; return false;} else {valid = true;}
        if (!valFullName(thisform)) {valid = false; return false;} else {valid = true;}
        if (!valPhone(thisform))    {valid = false; return false;} else {valid = true;}
        if (!valEmail(thisform))    {valid = false; return false;} else {valid = true;}
        break;
  case "forgotpass" :
        if (!valAccount(thisform))  {valid = false; return false;} else {valid = true;}  
        break;
  case "LinkExch" :
        if (!valContact(thisform))    {valid = false; return false;} else {valid = true;}  
        if (!valEmail(thisform))      {valid = false; return false;} else {valid = true;}
        if (!valSiteName(thisform))   {valid = false; return false;} else {valid = true;}
        if (!valSiteUrl(thisform))    {valid = false; return false;} else {valid = true;}
        if (!valCategory(thisform))   {valid = false; return false;} else {valid = true;}
        if (!valSubCategory(thisform)){valid = false; return false;} else {valid = true;}
        if (!valReciplink(thisform))  {valid = false; return false;} else {valid = true;}
        if (!valDescription(thisform)){valid = false; return false;} else {valid = true;}
        break;
  case "affjoinform" :
        if (!valName(thisform))      {valid = false; return false;} else {valid = true;}
        if (!valLastName(thisform))  {valid = false; return false;} else {valid = true;}
        if (!valFullName(thisform))  {valid = false; return false;} else {valid = true;}
        if (!valAddress(thisform))   {valid = false; return false;} else {valid = true;}
        if (!valState(thisform))     {valid = false; return false;} else {valid = true;}
        if (!valCity(thisform))      {valid = false; return false;} else {valid = true;}
        if (!valZip(thisform))       {valid = false; return false;} else {valid = true;}
        if (!valPhone(thisform))     {valid = false; return false;} else {valid = true;}
        if (!valEmail(thisform))     {valid = false; return false;} else {valid = true;}
        if (!valAffWebsite(thisform)){valid = false; return false;} else {valid = true;}
        if (!valPassword(thisform))  {valid = false; return false;} else {valid = true;}
        break;
  case "affforgotpass" :
        if (!valAccount(thisform))  {valid = false; return false;} else {valid = true;}  
        break;
  case "AddCampaign" :
        if (!valCampaign(thisform))  {valid = false; return false;} else {valid = true;}  
        break;
  case "subscribe" :
        if (!valName(thisform))      {valid = false; return false;} else {valid = true;}
        if (!valLastName(thisform))  {valid = false; return false;} else {valid = true;}
        if (!valFullName(thisform))  {valid = false; return false;} else {valid = true;}
        if (!valEmail(thisform))     {valid = false; return false;} else {valid = true;}
        break;
 }
}

/* SWAP FROM STATE/PROVINCE AS DROP DOWN TO REGULAR INPUT */
function OtherState(thisform){
 var formCountry  = eval("document."+ thisform +".txtCountry");
 var formState    = eval("document."+ thisform +".txtState");
 var formOTState  = eval("document."+ thisform +".txtStother");

 if ((formCountry.value  == "US") || (formCountry.value  == "CA")){
  formState.value = "0";
  formState.style.display = "block";
  formOTState.style.display = "none";
 }
 if ((formCountry.value != 'US') && (formCountry.value != 'CA')){
  formState.value = "OT";
  formState.style.display = "none";
  formOTState.style.display = "block";
 } 
}

/* SHOW FIRST ITEM AND HIDE SECOND ITEM */
function ShowAndHide(showthis,hidethis){
 document.getElementById(hidethis).style.display="none";
 document.getElementById(showthis).style.display="block";
}

/* SHOW FIRST ITEM AND HIDE SECOND ITEM DEPENDING ON A BUTTON */
function DisclaimerAgreed(thisform,box,button){
 var formBox    = eval("document."+ thisform +"." + box);
 var formButton = eval("document."+ thisform +"." + button);
 if (formBox.checked == true){
  document.getElementById("gobutton").style.display="block";
  document.getElementById("submitjoin").style.display="none";
 }
 if (formBox.checked == false){
  document.getElementById("gobutton").style.display="none";
  document.getElementById("submitjoin").style.display="block";
 }
}

/* WINDOW OPEN FOR CASINO GAMES */
function CasinoGame(theURL){
 var newwin = window.open("","casinogamewindow","noscrollbars");
 if (document.all){
  newwin.moveTo(0,0);
  newwin.resizeTo(screen.width,screen.height);
 }
 newwin.location= theURL;
 newwin.focus();
}

/* AFFILIATES SEND BANNER SELECTED */
function send(banid){
 document.promoBannerForm.banid.value = eval(banid);
 document.promoBannerForm.submit();
}

/* AFFILIATES SELECT AND COPY TO CLIPBOARD */
var copytoclip=1
function copytoclipboard(theField) {
 var tempval=eval("document."+theField)
 tempval.focus()
 tempval.select()
 if (document.all&&copytoclip==1){
  therange=tempval.createTextRange()
  therange.execCommand("Copy")
  window.status="Copiado al portapales!"
  setTimeout("window.status=''",1800)
 }
}  

/* AFFILIATES COOKIE DROP */
function setCookie(AFFNAME,AFVALUE,HITNAME,HITVALUE,REDIRECT){
 var AFCOOKIE = "";
 var HITCOOKIE = ""; 
 var date = new Date();
 date.setTime(date.getTime()+(36500*24*60*60*1000));
 
 AFCOOKIE  += AFFNAME + "=" + AFVALUE + ";";
 AFCOOKIE  += "expires=" + date.toGMTString()+ ";";
 AFCOOKIE  += "path=/;";
 
 HITCOOKIE += HITNAME + "=" + HITVALUE + ";";
 HITCOOKIE += "expires=" + date.toGMTString()+ ";";
 HITCOOKIE  += "path=/;";

 document.cookie = AFCOOKIE;
 document.cookie = HITCOOKIE;
 window.location = REDIRECT;
}

