function numeralsOnly(evt) 
{
	evt = (evt) ? evt : event;
	var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ?
	evt.keyCode : 
	((evt.which) ? evt.which : 0));
	//alert(charCode); //58
	if (charCode > 31 && (charCode < 48 || charCode > 57)) 
		{
			alert(NumeralsOnly_ErrorMsg);
			return false;
		}
	return true;
} 


//Package Selection
function ChangeImage(PackageID)
{
	//alert(PackageID);
	var imageTarget = document.getElementById('HomeImage');
	switch(PackageID)
	{
		case 1:
			imageTarget.src= '/Portals/585/package_home_EXPRESS.jpg';	
		break;
		case 3: 
			imageTarget.src= '/Portals/585/package_home_PREMIUM.jpg';
		break;
		case 4:
			imageTarget.src= '/Portals/585/package_home_PREMIUM.jpg';
		break;

	}



}

function PS_ShowError()
{
	document.getElementById('MissingInformationText').innerHTML  = PackageSel_InvalidLink;
}

function GetMsg(SelPrice)
{
	if( SelPrice < document.getElementById('OldPrice').value )
	{
		document.getElementById('PackageSelErrorMsg').style.display = "Block";
		document.getElementById('PackageSelErrorMsg').innerHTML = PackageSel_ErrorMsg ;
	}
	else
	{
		document.getElementById('PackageSelErrorMsg').style.display = "None";
	}
}
//                      *****************************************                    

// Theme Selection


function TS_showTemplateCode(TemplateCode)
{
	//document.getElementById("fld_TemplateCode").innerText = TemplateCode;			
}		


function TS_onImageClick(imageName)
{ 
	var i=0;      
	for(i=0;i<document.images.length;i++)
	{
		//JLP only set the class name to this if we know it is a img displaying a color template
		if(document.images[i].name.indexOf('fld_ImageBorder') > -1)
		{
		   document.images[i].className='ImageItem';   
		}
	}
		document.images[imageName].className='SelectedImageItem';       
}  


function TS_validateTheme()
{	
	if(document.getElementById("fld_theme").value=='0')
	{
		alert(SelTheme_NotSelected);
		return false;
	}
	else
	{
		return true;   
	}
}

//                      *****************************************  

//Color Selection


function showTemplateCode(TemplateColorCode)
{
	document.getElementById("fld_TemplateColorCode").innerText = TemplateColorCode;			
}		

function showBorder(TemplateColorCode)
{
	document.getElementById(TemplateColorCode).style.borderColor='Blue';
}		

function onImageClick(imageName)
{  
	var i=0;      
	for(i=0;i<document.images.length;i++)
	{
		//JLP only set the class name to this if we know it is a img displaying a color template
		if(document.images[i].name.indexOf('fld_ImageBorder') > -1)
		{
		   document.images[i].className='ImageItem';  
		} 
	}
		document.images[imageName].className='SelectedImageItem';       
}  


//                      *****************************************  

// Contact Information


function Toggle(idDiv1,idDiv2,idDiv3,idDiv4,Flag)
{
	if(Flag=='1')
	{
		if(document.getElementById(idDiv1).style.display == "none")
		{
			document.getElementById(idDiv1).style.display = "Block";
		}
		else
		{
			document.getElementById(idDiv1).style.display = "None";
		}
		document.getElementById(idDiv3).style.display = "None";
		document.getElementById(idDiv2).style.display = "None";
		document.getElementById(idDiv4).style.display = "None";
	}
	else if(Flag=='2')
	{
		if(document.getElementById(idDiv2).style.display == "none")
		{
			document.getElementById(idDiv2).style.display = "Block";
		}
		else
		{
			document.getElementById(idDiv2).style.display = "None";
		}
		document.getElementById(idDiv1).style.display = "None";
		document.getElementById(idDiv3).style.display = "None";
		document.getElementById(idDiv4).style.display = "None";
	}
	else if(Flag=='3')
	{
		if(document.getElementById(idDiv3).style.display == "none")
		{
			document.getElementById(idDiv3).style.display = "Block";
		}
		else
		{
			document.getElementById(idDiv3).style.display = "None";
		}
		document.getElementById(idDiv1).style.display = "None";
		document.getElementById(idDiv2).style.display = "None";
		document.getElementById(idDiv4).style.display = "None";
	}
	else 
	{
		if(document.getElementById(idDiv4).style.display == "none")
		{
			document.getElementById(idDiv4).style.display = "Block";
		}
		else
		{
			document.getElementById(idDiv4).style.display = "None";
		}
		document.getElementById(idDiv1).style.display = "None";
		document.getElementById(idDiv2).style.display = "None";
		document.getElementById(idDiv3).style.display = "None";
	}
}

function Validate()
{
	var Result = '';
	document.getElementById('ErrorMsgTD').innerHTML = Result;

	var requiredFieldMising = false;
	
	var myRegxp = /^([a-zA-Z0-9]+)$/;
	var myRegxpNumeric = /^[0-9]*$/;
	var myRegxpText = /^([a-zA-Z]+)$/;
    var myRegxpDesiredUrl = /^(http:|https:|www\.)/;
	//var myRegxpEmail = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	var myRegxpEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	if (flag == 1)
	{
		if(trim(document.getElementById('fld_CompanyName').value) == '')
		{
			Result =  CompanyName_MissingInformation;
			requiredFieldMising = true;
		}
		if (trim(document.getElementById('fld_FirstName').value) == '')
		{
			Result = Result + FirstName_MissingInformation;
			requiredFieldMising = true;
		}
		else
		{
			if(myRegxpText.test(document.getElementById('fld_FirstName').value)==false)
			{ 
			   Result = Result + FirstName_AllowedCharacters; 
			   requiredFieldMising = true;
			}
		}
		
		if(trim(document.getElementById('fld_LastName').value) == '')
		{
			Result = Result + LastName_MissingInformation;
			requiredFieldMising = true;
		}
		else
		{
			if(myRegxpText.test(document.getElementById('fld_LastName').value)==false)
			{ 
			   Result = Result + LastName_AllowedCharacters; 
			   requiredFieldMising = true;
			}
		}
		
		if(trim(document.getElementById('fld_Address').value) == '')
		{
			Result = Result + Address_MissingInformation;
			requiredFieldMising = true;
		}
		if(trim(document.getElementById('fld_City').value) == '')
		{
			Result = Result + City_MissingInformation;
			requiredFieldMising = true;
		}
		if(trim(document.getElementById('fld_Zip').value) == '')
		{
			Result = Result + Zip_MissingInformation;
			requiredFieldMising = true;
		}
		else
		{
			var strZip = document.getElementById('fld_Zip').value;
			var ct = strZip.match(/\d/g);
			if (ct != null)
			{
				if((ct.length != 5) && (ct.length != 9))
				{
					Result = Result + Zip_Invalid ;
					requiredFieldMising = true;
				}
			}
			else
			{
				Result = Result + Zip_Invalid ;
				requiredFieldMising = true;
			}
			
		}

		if(trim(document.getElementById('fld_Phone1').value) == '')
		{
			Result = Result + Phone_MissingInformation;
			requiredFieldMising = true;
		}
		else
		{
			var strPhone = document.getElementById('fld_Phone1').value;
			var ct = strPhone.match(/\d/g);
			if (ct != null)
			{
				if((ct.length != 7) && (ct.length != 10))
				{
					Result = Result + Phone1_Invalid;
					requiredFieldMising = true;
				}
			}
			else
			{
				Result = Result + Phone1_Invalid;
				requiredFieldMising = true;
			}
			
			
		}
		if(trim(document.getElementById('fld_Phone2').value) != '')
		{
			var strPhone = document.getElementById('fld_Phone2').value;
			var ct = strPhone.match(/\d/g);
			if (ct != null)
			{
				if((ct.length != 7) && (ct.length != 10))
				{
					Result = Result + Phone2_Invalid;
					requiredFieldMising = true;
				}
			}
			else
			{
				Result = Result + Phone1_Invalid;
				requiredFieldMising = true;
			}
			
		}
		if(trim(document.getElementById('fld_Fax').value) != '')
		{
			var strPhone = document.getElementById('fld_Fax').value;
			var ct = strPhone.match(/\d/g);
			if (ct != null)
			{
				if((ct.length != 7) && (ct.length != 10))
				{
					Result = Result + Fax_Invalid;
					requiredFieldMising = true;
				}
			}
			else
			{
				Result = Result + Fax_Invalid;
				requiredFieldMising = true;
			}
			
		}
		if(trim(document.getElementById('fld_EmailAddress').value) == '')
		{
			Result = Result + Email_MissingInformation;
			requiredFieldMising = true;
		}
		else
		{
			if( myRegxpEmail.test(document.getElementById('fld_EmailAddress').value)==false ) 
			{
				Result = Result + Email_Invalid;
				requiredFieldMising = true;
			}
		}
		if(trim(document.getElementById('fld_UserName').value) == '')
		{
			Result = Result + UserName_MissingInformation;
			requiredFieldMising = true;
		}
		else
		{
		   if(document.getElementById('fld_UserName').value.length < 6)
		   {
			   Result = Result + UserName_Length;
			   requiredFieldMising = true;
		   }
				
		    if(myRegxp.test(document.getElementById('fld_UserName').value)==false) 
		    { 
			    Result = Result + UserName_AllowedCharacters; 
			    requiredFieldMising = true;
		    }
		}
		
//		if(IsUserExist == 1)
//		{
//			Result = Result + UserName_Exist + '<br>';
//			requiredFieldMising = true;
//		}
		if (IsUserExist == 2){
			Result = Result + '<li>Existing Username<br/>Account not upgradable - Try Again</li>';
			requiredFiledMissing = true;
			//if (document.getElementById('ErrorMsgTD').innerHTML!=''){
			//	document.getElementById('div_Msg').style.display = "Block";
			//	document.getElementById('ErrorMsgTD').innerHTML +=  'Existing Username<br/>Account not upgradable - Try Again<br />';
			//}else
			//{
			//	document.getElementById('div_Msg').style.display = "Block";
			//	document.getElementById('ErrorMsgTD').innerHTML =  'Existing Username<br/>Account not upgradable - Try Again<br />';
			//}		
			
		}
		if (IsUserExist == 3){
			Result = Result + '<li>Username Unavailable - Try Again</li>';
			requiredFiledMissing = true;
			//if (document.getElementById('ErrorMsgTD').innerHTML!=''){
			//	document.getElementById('div_Msg').style.display = "Block";		
			//	document.getElementById('ErrorMsgTD').innerHTML +=  'Username Unavailable - Try Again<br />';
			//}else{
			//	document.getElementById('div_Msg').style.display = "Block";		
			//	document.getElementById('ErrorMsgTD').innerHTML =  'Username Unavailable - Try Again<br />';
			//}
		}


		if(trim(document.getElementById('fld_Password').value) == '')
		{
			Result = Result + Password_MissingInformation;
			requiredFieldMising = true;
		}
		else
		{
		    if(document.getElementById('fld_Password').value.length < 7)
		    {
			    Result = Result + Password_Length;
			    requiredFieldMising = true;
		    }

		    if(!(ValidPassword(document.getElementById('fld_Password').value)))
		    { 
			    Result = Result + Password_AllowedCharacters; 
			    requiredFieldMising = true;
		    } 	
		}
		if(trim(document.getElementById('fld_VerifyPassword').value) == '')
		{
			Result = Result + VerifyPassword_MissingInformation ;
			requiredFieldMising = true;
		}	
		else
		{		
		    if(document.getElementById('fld_Password').value != document.getElementById('fld_VerifyPassword').value)
		    {
			    Result = Result + VerifyPassword_Invalid;
			    requiredFieldMising = true;
		    }
		}
		//if(trim(document.getElementById('fld_DesiredUrl').value) == '')
		//{
		//	Result = Result + DesiredUrl_MissingInformation + ' <br>';
		//}
		//else
		//{
		  var lengthValue = trim(document.getElementById('fld_DesiredUrl').value);
		  lengthValue = lengthValue.length;
		  if(lengthValue != 0)
		  {
				var urlRegex = new RegExp("[a-z0-9]+\.(com|net|org|info|biz|pro|us)");
				var m = urlRegex.exec(document.getElementById('fld_DesiredUrl').value);
				if (m==null){
					Result = Result + '<li>URL in wrong format</li>';
					requiredFieldMising = true;
				}else{
				    // make sure that http or www. isn't in there. 
				    var wwwRegex = new RegExp("^www.|^http://|^https://", "i");
				    var n = wwwRegex.exec(document.getElementById('fld_DesiredUrl').value);
				    if (n !== null){
				        Result = Result + '<li>Please provide your Domain address for your new website. This is the URL you would like to use for your website.<BR>Desired URL must NOT include any of the following http://, https://, www -etc)<BR>Valid Desired URL Example: Lionmortgage.com</li>';
				        requiredFieldMising = true;
				    }
				}
		  } 
		//}
		
		//alert('Result Length' + Result.length);
		//alert(requiredFieldMising);
		
		// This is a problem it's possible to get a result of 0 then it just works. That's the issue.
		// Maybe break out the validation of the desired url into it's own code?
		if(Result.length == 0)
		{
			document.getElementById('div_Msg').style.display = "none";
		//	alert('true');
			return true;
		}
		else
		{
			document.getElementById('ErrorMsgTD').innerHTML = Result;
			document.getElementById('div_Msg').style.display = "Block";
			if (requiredFieldMising){
				//alert('false');
				return false;
			}else{
				//alert('true');
				return true;
			}
		}
	}
}
function trim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) 
{
	return stringToTrim.replace(/\s+$/,"");
}

function ValidPassword(str)
 {
    
     var re = /[0-9]/;
      if(!re.test(str)) {
        return false;
        }
      re = /[a-z]/;
      if(!re.test(str)) {
       return false;
        
      }
      re = /[A-Z]/;
      if(!re.test(str)) {
       return false;
        
      }
      
     // re = /[,.!$#@%^*& ]/;
     // if(!re.test(str)) {
     //   return false;
        
     // }    

	  return true
 }


//                      *****************************************  


// Agreement
function AG_ShowDiv()
{
	document.getElementById('ValidateText').style.display='block';
	document.getElementById('MissingInformationText').innerHTML  = Agree_Checkbox_Unchecked;
}


//                      *****************************************  



// Billing Information
function ToggleBI(idDiv1)
{
	if(document.getElementById(idDiv1).style.display == "none")
	{
		document.getElementById(idDiv1).style.display = "Block";
	}
	else
	{
		document.getElementById(idDiv1).style.display = "None";
	}		
}

function BI_ShowDiv(rd1)
{
	if (document.getElementById(rd1).value == '0')
	{
		document.getElementById('divBillingAddress').style.display = 'block';
	}
	else
	{
		document.getElementById('divBillingAddress').style.display = 'none';
	}

}

function BI_ValidateData()
{
	
	var strError = "";
	var myRegxpNumeric = /^[0-9]*$/;

	if(BI_Flag == 1)
	{
		if (document.getElementById('fld_CreditCardType').value =='AMEX'){
			var cardNumberLength = document.getElementById('fld_CreditCardNumber').value.length;
			if (cardNumberLength != 15){
				strError = strError + "Incorrect number of digits for American Express" + "<Br>";
			}
		}
		if (document.getElementById('fld_CreditCardType').value =='MC'){
			var cardNumberLength = document.getElementById('fld_CreditCardNumber').value.length;
			if (cardNumberLength != 16){
				strError = strError + "Incorrect number of digits for Master Card" + "<Br>";
			}
		}
		if (document.getElementById('fld_CreditCardType').value =='VISA'){
			var cardNumberLength = document.getElementById('fld_CreditCardNumber').value.length;
			if (cardNumberLength != 16){
				strError = strError + "Incorrect number of digits for Visa" + "<Br>";
			}
		}
		
		
		if (trim(document.getElementById('fld_CreditCardNumber').value) == '')
			strError = strError + CreditCardNumber_MissimgInformation + "<Br>";

		if(myRegxpNumeric.test(document.getElementById('fld_CreditCardNumber').value)==false) 
			strError = strError + CreditCardNumber_NumeralsOnly + "<Br>";

		if (trim(document.getElementById('fld_ExpDate').value) == '')
			strError = strError + ExpiryDate_MissingInformation + "<Br> ";
		else
		{
			if(myRegxpNumeric.test(document.getElementById('fld_ExpDate').value)==false) 
			{
				strError = strError + ExpiryDate_Invalid + "<Br>";
			}
			else
			{
				if (document.getElementById('fld_ExpDate').value.length != 4)
				{
					strError = strError + ExpiryDate_Invalid + "<Br> ";
				}
				else
				{
					var expdate = document.getElementById('fld_ExpDate').value;
					var monthDate =  expdate.substring(0,2);
					if ( monthDate > 12 || monthDate < 1)
						strError = strError + ExpiryDate_Invalid + "<Br> ";
				}
			}
		}

		if (trim(document.getElementById('fld_Name').value) == '')
			strError = strError + NameOnCard_MissingInformation +"<Br> ";
		
		if (trim(document.getElementById('fld_CSV').value) == '')
			strError = strError + CSV_MissingInformation +"<Br> ";
			
		if(myRegxpNumeric.test(document.getElementById('fld_CSV').value)==false) 
			strError = strError + CSV_NumeralsOnly + "<Br>";

		if (document.getElementById('rdAddress2').checked)
		{
			if (document.getElementById('fld_Address').value == '')
				strError = strError + BillingAddress_MissingInformation + "<Br> ";

			if (document.getElementById('fld_City').value == '')
				strError = strError + CityName_MissingInformation +"<Br> ";

			if (document.getElementById('fld_Zip').value == '')
			{
				strError = strError + ZipCode_MissingInformation + " <Br> ";
			}
			else
			{
				var strZip = document.getElementById('fld_Zip').value;
				var ct = strZip.match(/\d/g);
				if (ct != null)
				{
					if((ct.length != 5) && (ct.length != 9))
					{
						strError = strError + Zip_Invalid + '<br>';
					}
				}
				else
				{
					strError = strError + Zip_Invalid + '<br>';
				}
			
			}

		}
	}
	if (strError != '')
	{
		document.getElementById('divError').innerHTML = strError;
		document.getElementById('ValidateText').style.display = 'block';
		return false;	
	}
	else
	{
		document.getElementById('ValidateText').style.display = 'none';
		return true;
	}

}


//This script is based on the javascript code of Roman Feldblum (web.developer@programmer.net)
//Original script : http://javascript.internet.com/forms/format-phone-number.html
//Original script is revised by Eralper Yilmaz (http://www.eralper.com) 
//Revised script : http://www.kodyaz.com

var zChar = new Array(' ', '(', ')', '-', '.');
var maxphonelength = 13;
var phonevalue1;
var phonevalue2;
var cursorposition;

function ParseForNumber1(object){
phonevalue1 = ParseChar(object.value, zChar);
}
function ParseForNumber2(object){
phonevalue2 = ParseChar(object.value, zChar);
}

function backspacerUP(object,e) { 
if(e){ 
e = e 
} else {
e = window.event 
} 
if(e.which){ 
var keycode = e.which 
} else {
var keycode = e.keyCode 
}

ParseForNumber1(object)

if(keycode >= 48){
ValidatePhone(object)
}
}

function backspacerDOWN(object,e) { 
if(e){ 
e = e 
} else {
e = window.event 
} 
if(e.which){ 
var keycode = e.which 
} else {
var keycode = e.keyCode 
}
ParseForNumber2(object)
} 

function GetCursorPosition(){

var t1 = phonevalue1;
var t2 = phonevalue2;
var bool = false
for (i=0; i<t1.length; i++)
{
if (t1.substring(i,1) != t2.substring(i,1)) {
if(!bool) {
cursorposition=i
bool=true
}
}
}
}

function ValidatePhone(object){

var p = phonevalue1

p = p.replace(/[^\d]*/gi,"")

if (p.length < 3) {
object.value=p
} else if(p.length==3){
pp=p;
d4=p.indexOf('(')
d5=p.indexOf(')')
if(d4==-1){
pp="("+pp;
}
if(d5==-1){
pp=pp+")";
}
object.value = pp;
} else if(p.length>3 && p.length < 7){
p ="(" + p; 
l30=p.length;
p30=p.substring(0,4);
p30=p30+")"

p31=p.substring(4,l30);
pp=p30+p31;

object.value = pp; 

} else if(p.length >= 7){
p ="(" + p; 
l30=p.length;
p30=p.substring(0,4);
p30=p30+")"

p31=p.substring(4,l30);
pp=p30+p31;

l40 = pp.length;
p40 = pp.substring(0,8);
p40 = p40 + "-"

p41 = pp.substring(8,l40);
ppp = p40 + p41;

object.value = ppp.substring(0, maxphonelength);
}

GetCursorPosition()

if(cursorposition >= 0){
if (cursorposition == 0) {
cursorposition = 2
} else if (cursorposition <= 2) {
cursorposition = cursorposition + 1
} else if (cursorposition <= 5) {
cursorposition = cursorposition + 2
} else if (cursorposition == 6) {
cursorposition = cursorposition + 2
} else if (cursorposition == 7) {
cursorposition = cursorposition + 4
e1=object.value.indexOf(')')
e2=object.value.indexOf('-')
if (e1>-1 && e2>-1){
if (e2-e1 == 4) {
cursorposition = cursorposition - 1
}
}
} else if (cursorposition < 11) {
cursorposition = cursorposition + 3
} else if (cursorposition == 11) {
cursorposition = cursorposition + 1
} else if (cursorposition >= 12) {
cursorposition = cursorposition
}

var txtRange = object.createTextRange();
txtRange.moveStart( "character", cursorposition);
txtRange.moveEnd( "character", cursorposition - object.value.length);
txtRange.select();
}

}

function ParseChar(sStr, sChar)
{
if (sChar.length == null) 
{
zChar = new Array(sChar);
}
else zChar = sChar;

for (i=0; i<zChar.length; i++)
{
sNewStr = "";

var iStart = 0;
var iEnd = sStr.indexOf(sChar[i]);

while (iEnd != -1)
{
sNewStr += sStr.substring(iStart, iEnd);
iStart = iEnd + 1;
iEnd = sStr.indexOf(sChar[i], iStart);
}
sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);

sStr = sNewStr;
}

return sNewStr;
}

