﻿function isValidCreditCardNumber(cardNumber, cardType)
{
  var isValid = false;
  var ccCheckRegExp = /[^\d ]/;
  isValid = !ccCheckRegExp.test(cardNumber);

  if (isValid)
  {
	var cardNumbersOnly = cardNumber.replace(/ /g,"");
	var cardNumberLength = cardNumbersOnly.length;
	var lengthIsValid = false;
	var prefixIsValid = false;
	var prefixRegExp;

	switch(cardType)
	{
	  case "mastercard":
		lengthIsValid = (cardNumberLength == 16);
		prefixRegExp = /^5[1-5]/;
		break;

	  case "visa":
		lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
		prefixRegExp = /^4/;
		break;

	  case "amex":
		lengthIsValid = (cardNumberLength == 15);
		prefixRegExp = /^3(4|7)/;
		break;

	  default:
		prefixRegExp = /^$/;
		return false;
	}

	prefixIsValid = prefixRegExp.test(cardNumbersOnly);
	isValid = prefixIsValid && lengthIsValid;
  }

  if (isValid)
  {
	var numberProduct;
	var numberProductDigitIndex;
	var checkSumTotal = 0;

	for (digitCounter = cardNumberLength - 1;
	  digitCounter >= 0;
	  digitCounter--)
	{
	  checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
	  digitCounter--;
	  numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
	  for (var productDigitCounter = 0;
		productDigitCounter < numberProduct.length;
		productDigitCounter++)
	  {
		checkSumTotal +=
		  parseInt(numberProduct.charAt(productDigitCounter));
	  }
	}
	isValid = (checkSumTotal % 10 == 0);
  }

  return isValid;
}


function checkCellNumber (strng, strnglen) {
	if (strng == "")
	   return false;
	var illegalChars = /\D/;
	// allow only letters, numbers, and underscores
	if (illegalChars.test(strng))
	   return false;
	if(strnglen != 0 && strng.length != strnglen)
		return false;
	return true;
}

function CheckString(strng, minstrnglen)
{
	if(strng.length < minstrnglen)
		return false;
	else
		return true;
}

function CheckEmail(strng)
{
	var ValidEmail = /^\w+([-+.]\w+)*@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$/;
	// allow only letters, numbers, and underscores
	if (!ValidEmail.test(strng))
		return false;

	if(!CheckString(strng, 1))
		return false;

	return true;
}

function CheckPhoneNumber(strng, minstrnglen)
{
	var ValidPhoneNumber = /^[0-9]+$/;
	// allow only numbers
	if (!ValidPhoneNumber.test(strng))
		return false;

	if(!CheckString(strng, minstrnglen))
		return false;

	return true;
}

function CheckAlphaSpaceOnly(strng, minstrnglen)
{
	var ValidAlphaSpaceOnly = /^[a-zA-Z ]+$/;
	if (!ValidAlphaSpaceOnly.test(strng))
		return false;

	if(!CheckString(strng, minstrnglen))
		return false;

	return true;
}

function showError(msg, getfocus, ErrorDiv, ErrorMsgDiv){

	if(getfocus != "")
		document.getElementById(getfocus).focus();

	if(ErrorDiv != "")
		document.getElementById(ErrorDiv).style.display = "block";
	else
		document.getElementById("dvErrorMsg").style.display = "block";

	if(ErrorMsgDiv != "") {
		document.getElementById(ErrorMsgDiv).innerHTML = msg;
		document.getElementById(ErrorMsgDiv).style.display = "block";
	}
	else {
		document.getElementById("errorMsg").innerHTML = msg;
		document.getElementById("errorMsg").style.display = "block";
	}

	return false;
}

function hideError(ErrorDiv){

	if(ErrorDiv != "")
		document.getElementById(ErrorDiv).style.display = "none";
	else
		document.getElementById("dvErrorMsg").style.display = "none";


	return true;
}

function ShowLoading(LoadingDiv, DivtoHide)
{

	if (document.getElementById(DivtoHide) != null)
		document.getElementById(DivtoHide).style.display="none";

	if (document.getElementById(LoadingDiv) != null)
		document.getElementById(LoadingDiv).style.display = "block";
	else
	{
		document.getElementById("dvErrorMsg").style.display = "block";
		document.getElementById("errorMsg").style.display = "block";
		document.getElementById("errorMsg").innerHTML = "Loading...";
	}
	return true;
}

function checkUserFormHomePage(strparentsite, mcid, creative) {

		if(!CheckString(document.getElementById("firstname").value, 1))
		{
			showError("Please enter your first name.", "firstname","dvErrorMsg", "errorMsg");
			document.getElementById("firstname").className = "right_form_text_input_error";

			return;
		}
		else
			document.getElementById("lastname").className = "right_form_text_input";

				if(!CheckString(document.getElementById("lastname").value, 1))
		{
			showError("Please enter your first name.", "lastname","dvErrorMsg", "errorMsg");
			document.getElementById("lastname").className = "right_form_text_input_error";

			return;
		}
		else
			document.getElementById("firstname").className = "right_form_text_input";


		if(!CheckEmail(document.getElementById("emailaddress").value))
		{
			showError("Please enter a valid email address.", "emailaddress","dvErrorMsg", "errorMsg");
			document.getElementById("emailaddress").className = "right_form_text_input_error";

			return;
		}
		else
			document.getElementById("emailaddress").className = "right_form_text_input";


		if(!CheckString(document.getElementById("password").value, 4))
		{
			showError("Please enter a password - it must be at least 4 characters long.", "password","dvErrorMsg", "errorMsg");
			document.getElementById("password").className = "right_form_text_input_error";

			return;
		}
		else
			document.getElementById("password").className = "right_form_text_input";

		if(document.getElementById("password").value != document.getElementById("confirmpassword").value)
		{
			showError("The confirmation password is different.", "confirmpassword","dvErrorMsg", "errorMsg");
			document.getElementById("confirmpassword").className = "right_form_text_input_error";

			return;
		}
		else
			document.getElementById("confirmpassword").className = "right_form_text_input";

		hideError("dvErrorMsg");
		ShowLoading("dvLoading", "butsubmit");

		document.getElementById("__VIEWSTATE").value = "";

		var form;

		if (document.getElementById("form1") != null) {
			form = document.getElementById("form1");
		}
		if (document.getElementById("aspnetForm") != null) {
			form = document.getElementById("aspnetForm");
		}

		if (strparentsite.indexOf("Kazaa") == 0) {
			form.action= "https://" + location.host + "/promotions/campaigns/kazaa-genre/default.aspx?MCID=" + mcid + "&creative=" + creative;
		} else {
			form.action= "https://" + location.host + "/promotions/campaigns/genre/default.aspx?MCID=" + mcid + "&creative=" + creative;
		}

		form.submit();
}