/*



	purpose : to show/hide details for writer in registration screen



*/



var errorStatus = 0;



var fldErr = 0;
var x = 0;
function ToggleWriterSection(ToggleValue) {
	if(ToggleValue == 0) {
		$('userStat').value = 'R';
		$('ForWriters').style.display = 'none';

		$('commonSection').style.display = '';
	} else if(ToggleValue == 1) {
		$('userStat').value = 'W';
		$('ForWriters').style.display = "";

		$('commonSection').style.display = '';
	}
}

int_obj = '';

function loadField(id) {

	if($(id)) {

		attachTooltip(id);
		Highlight(id);
		clearInterval(int_obj);
	}
}

//Baloon functions

function attachTooltip(elementId){
	if($(elementId)){
		Event.observe(elementId, 'focus', onfocusEle, false);
		Event.observe(elementId, 'blur', onblurEle, false);
		//	   Event.observe(elementId, 'mouseover', onfocusEle, false);
		//	   Event.observe(elementId, 'mouseout', onblurEle, false);
	}
};



//only for home page tool-tip

function onblurEle(e){
	var id = Event.element(e).id;
	$(id).className = "inputstyle" ;
	$("h-" + id).className = "field-hint-inactive" ;
};

function onfocusEle(e){

	if($(selected_field)) {
		$("h-" + selected_field).className = "field-hint-inactive" ;
		$(selected_field).className = "inputstyle" ;
	}
	var id = Event.element(e).id;
	$(id).className = "inputstyle-focus" ;
	$("h-" + id).className = "field-hint" ;
};

selected_field = '';

function Highlight(id){
	selected_field = id;
	$(id).focus();
};


function checkAvailPromoCode(code){
	showLoader(1);
	var url = 'regValidation.php';
	var pars = 'promoCode=' + code+"&mode=checkPromoCode";
	if(code == '')
	{
		showLoader(0);
		hideError('userPromoCode');
		return true;
	}

		
	var myAjax = new Ajax.Request(
	url,
	{
		method: 'get',
		parameters: pars,
		onComplete:showMessage2
	});
	
}

function showMessage2(originalRequest) {
 	
	var response = alltrim(originalRequest.responseText);
    showLoader(0);
	var res = response.split("|");
	if( res[0].indexOf('No') != -1 ) {
		displayAlert("This promotional code is not valid.",'userPromoCode');
		if(alltrim(res[1]) != ''){
			$('avail').innerHTML = res[1];
			Effect.Grow('avail');
		}
		
		return false;
	}
	else {
	       hideError('userPromoCode');
           
	}
}

function checkAvailUserName(uname){
	showLoader(1);
	var url = 'regValidation.php';
	var pars = 'userName=' + uname+"&mode=checkUname";
	if(uname == '')
	{
		displayAlert("Please enter your user name.",'userName');
		showLoader(0);
		return false;
	}

	if(alltrim(uname.length) < MAX_USERNAME)
	{
		displayAlert("User name must contain at least "+MAX_USERNAME+" characters.",'userName');
		showLoader(0);
		return false;
	}
		
	var myAjax = new Ajax.Request(
	url,
	{
		method: 'get',
		parameters: pars,
		onComplete:showMessage
	});
	
}
function showMessage(originalRequest) {
 	var response = alltrim(originalRequest.responseText);
    var res = response.split("|");
	if( res[0].indexOf('No') != -1 ) {
		displayAlert("This user name already exists.",'userName');
		if(alltrim(res[1]) != ''){
			$('avail').innerHTML = res[1];
			Effect.Grow('avail');
		}
		showLoader(0);
		return false;
	}
	else {
	       hideError('userName');
           showLoader(0);
	}
}
function setUName(num){
		var otherNameIndex = num;
		otherNameIndex--;
		$('r1_'+otherNameIndex).value = $('SpecifyOther').value
		var chkd = '';
		for (var i = 0; i < num; i++)
		{
          if ($('r1_'+i).checked)
          {
			  $('userName').value = $('r1_'+i).value;
			  if ($('r1_'+otherNameIndex).checked == true){
				  $('userName').focus();
			  }
			  $('avail').style.display = 'none';
			   hideError('userName');
			  break;
          }
		}
	}
function checkAvailEmail(uemail){
	showLoader(1);
	var err = 0;
	var url = 'regValidation.php';
	var pars = '';
	if(uemail == '')
	{
		displayAlert("Please enter your email address.",'userEmail');
		showLoader(0);
		err += 1;
		return false;
	}

	if(checkEmail(alltrim(uemail)) == false)
	{
		displayAlert("Please enter a valid email address.",'userEmail');
		showLoader(0);
		err += 1;
		return false;
	}
	showLoader(0);
	if (err == 0)
	{
		pars = "userEmail=" + uemail+"&mode=checkUserEmail";
		var myAjax_userEmail = new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onComplete:showMessage_userEmail
		});
	} 
	
}
function checkPassword(pwd){
	var err = 0;
	showLoader(1);
	if(alltrim(pwd) == '') {
		displayAlert("Please enter your password.",'userPassword');
		showLoader(0);
		err += 1;
		return false;
	}
	if(alltrim(pwd) != "" && alltrim(pwd.length) < 6) {
		displayAlert("Passwords must be at least 6 characters.",'userPassword');
		showLoader(0);
		err += 1;
		return false;
	}
	showLoader(0);
	if (err == 0)
	{
	   hideError('userPassword');
	   showLoader(0);
	}
}
function checkConfirmPwd(){
	var conf_pwd = $('confPassword').value;
	var pwd = $('userPassword').value;
	fldErr = 0;
	if(alltrim(conf_pwd) == '') {
		displayAlert("Please retype the password.",'confPassword');
		errorStatus = 1;
		fldErr += 1;
	}
	if(alltrim(conf_pwd) != "" && alltrim(conf_pwd.length) < 6) {
		displayAlert("Passwords must be at least 6 characters.",'confPassword');
		errorStatus = 1;
		fldErr += 1;
	}
	if (alltrim(pwd)  != alltrim(conf_pwd))
	{
		displayAlert("Your password and confirmation password do not match.",'confPassword');
		errorStatus = 1;
		fldErr += 1;
	}
	if (fldErr == 0)
	{
	   hideError('confPassword');
	}
}
function checkFirstName(){
	var firstName = $('firstName').value;
	fldErr = 0;
	if(alltrim(firstName) == '') {
		displayAlert("Please enter your first name.",'firstName');
		errorStatus = 1;
		fldErr += 1;
	}
	if (fldErr == 0)
	{
	   hideError('firstName');
	}
}
function checkLastName(){
	var lastName = $('lastName').value;
	fldErr = 0;
	if(alltrim(lastName) == '') {
		displayAlert("Please enter your last name.",'lastName');
		errorStatus = 1;
		fldErr += 1;
	}
	if (fldErr == 0)
	{
	   hideError('lastName');
	}
}
function checkBirthDate(){
	var dob_dd = $('dob_dd').value;
	var dob_mm = $('dob_mm').value;
	var dob_yr = $('dob_yr').value;
	var url = 'regValidation.php';
	var pars = 'dob_dd=' + dob_dd + '&dob_mm=' + dob_mm + '&dob_yr=' + dob_yr +"&mode=checkBirthDate";
	fldErr = 0;
	var myAjax = new Ajax.Request(
	url,
	{
		method: 'get',
		parameters: pars,
		onComplete:showMessageBirthdate
	});
	if (fldErr == 0)
	{
	   hideError('dob');
	}
}
function checkStreetAddress(){
	if ($('userStat').value == 'W')
	{
		/*  street name checking start  */
		var userAddress = $('userAddress').value;
		fldErr = 0;
		if(alltrim(userAddress) == '') {
			displayAlert("Please enter your street address.",'userAddress');
			errorStatus = 1;
			fldErr += 1;
		}
		if (fldErr == 0)
		{
		   hideError('userAddress');
		}
		/*  street Name checking end  */
	}
}
function checkCityName(){
	if ($('userStat').value == 'W')
	{
		/*  CityName checking start  */
		var userCity = $('userCity').value;
		fldErr = 0;
		if(alltrim(userCity) == '') {
			displayAlert("Please enter the name of your city.",'userCity');
			errorStatus = 1;
			fldErr += 1;
		}
		if (fldErr == 0)
		{
		   hideError('userCity');
		}
		/*  CityName checking end  */
	}
}
function checkZipCode(){
	if ($('userStat').value == 'W')
	{
		/*  ZipCode checking start  */
		var userZip = $('userZip').value;
		fldErr = 0;

		reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);

		if(alltrim(userZip) == '') {
			displayAlert("Please enter your zip code.",'userZip');
			errorStatus = 1;
			fldErr += 1;
		}
		// Check for correct zip code
		else if (!reZip.test(userZip)) {
        
			displayAlert("Please enter a 5 or 9 digit zip code.",'userZip');

			errorStatus = 1;

			fldErr += 1;
		
		}
		if (fldErr == 0)
		{
		   hideError('userZip');
		}
		/*  ZipCode checking end  */
	}
}


// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}


function checkPhoneNo(){
	if ($('userStat').value == 'W')
	{
		/*  PhoneNumber checking start  */
		var userPhone = $('userPhone').value;
		fldErr = 0;
		if(alltrim(userPhone) == '') {
			displayAlert("Please enter your phone number.",'userPhone');
			errorStatus = 1;
			fldErr += 1;
		}
		else if (checkInternationalPhone(userPhone)==false)
		{
			displayAlert("Please enter a valide phone number (###) ###-####.",'userPhone');
			errorStatus = 1;
			fldErr += 1;		
		}


		if (fldErr == 0)
		{
		   hideError('userPhone');
		}
		/*  PhoneNumber checking end  */
	}
}

function displayAlert(msg, divId)
{
	$(divId+'Tr').style.display = '';
	if(msg) $(divId+'Div').innerHTML = "*&nbsp;" + msg;
	$('w'+divId).style.display = '';
}
function hideAlert(msg, divId)
{
	$(divId+'Tr').style.display = 'none';
	if(msg) $(divId+'Div').innerHTML = "*&nbsp;" + msg;
	$('w'+divId).style.display = '';
}


function ValidateRegForm(){
	/*  user name checking start  */
	showLoader(1);
	errorStatus = 0;
	var uname = $('userName').value;
	if(alltrim(uname) == '')
	{
		displayAlert("Please enter your user name.",'userName');
		errorStatus = 1;
		fldErr += 1;
	} 
	else if(alltrim(uname.length) < MAX_USERNAME)
	{
		displayAlert("User names must contain at least "+MAX_USERNAME+" characters.",'userName');
		errorStatus = 1;
		fldErr += 1;
	}
	if (fldErr == 0)
	{
		hideError('userName');
	}
	/*  user name checking end  */
	
	/*  email checking start  */
	var uemail = $('userEmail').value;
	fldErr = 0;
	if(alltrim(uemail) == '')
	{
		displayAlert("Please enter your email address.",'userEmail');
		errorStatus = 1;
		fldErr += 1;
	}
	if(checkEmail(alltrim(uemail)) == false)
	{
		displayAlert("Please enter a valid email address.",'userEmail');
		errorStatus = 1;
		fldErr += 1;
	}
	if (fldErr == 0)
	{
		hideError('userEmail');
	}
	/*  email checking end  */
	
	/*  Password checking start  */
	var pwd = $('userPassword').value;
	fldErr = 0;
	if(alltrim(pwd) == '') 
	{
		displayAlert("Please enter your password.",'userPassword');
		errorStatus = 1;
		fldErr += 1;
	}
	if(alltrim(pwd) != "" && alltrim(pwd.length) < 6) {
		displayAlert("Passwords must be at least 6 characters long.",'userPassword');
		errorStatus = 1;
		fldErr += 1;
	}
	if (fldErr == 0 && errorStatus == 0)
	{
		hideError('userPassword');
	}
	/*  password checking end  */
	
	/*  Confirm-Password checking start  */
	var conf_pwd = $('confPassword').value;
	fldErr = 0;
	if(alltrim(conf_pwd) == '') {
		displayAlert("Please retype the password.",'confPassword');
		errorStatus = 1;
		fldErr += 1;
	}
	if(alltrim(conf_pwd) != "" && alltrim(conf_pwd.length) < 6) {
		displayAlert("Passwords must be at least 6 characters long.",'confPassword');
		errorStatus = 1;
		fldErr += 1;
	}
	if (alltrim(pwd)  != alltrim(conf_pwd))
	{
		displayAlert("Your password and confirmation password do not match.",'confPassword');
		errorStatus = 1;
		fldErr += 1;
	}
	
	if (fldErr == 0)
	{
		hideError('confPassword');
	}
	/*  password checking end  */
	
	/*  First name checking start  */
	var firstName = $('firstName').value;
	fldErr = 0;
	if(alltrim(firstName) == '') {
		displayAlert("Please enter your first name.",'firstName');
		errorStatus = 1;
		fldErr += 1;
	}
	if (fldErr == 0)
	{
		hideError('firstName');
	}
	/*  First Name checking end  */
	
	/*  Last name checking start  */
	var lastName = $('lastName').value;
	fldErr = 0;
	if(alltrim(lastName) == '') {
		displayAlert("Please enter your last name.",'lastName');
		errorStatus = 1;
		fldErr += 1;
	}
	if (fldErr == 0)
	{
	   hideError('lastName');
	}
	/*  Last Name checking end  */
	
	/*  Birth Day checking start  */
	var birthDay = $('dob_dd').value;
	var birthMonth = $('dob_mm').value;
	var birthYear = $('dob_yr').value;
	fldErr = 0;
	if (fldErr == 0)
	{
	   hideError('dob');
	}
	/*  Birth Day checking end  */

	/*  check age  */
	fldErr = 0;
	if ($('chkage').checked == false){
		$('chkageTr').style.display = '';
		$('chkageDiv').innerHTML = "*&nbsp;" + 'You must agree to the conditions mentioned above.';
		errorStatus = 1;
		fldErr += 1;
	}
	if (fldErr == 0){
	   	$('chkageTr').style.display = 'none';
		$('chkageDiv').innerHTML = '';
	}
	/*  age checking end  */

	if ($('userStat').value == 'W')
	{
		/*  street name checking start  */
		var userAddress = $('userAddress').value;
		fldErr = 0;
		if(alltrim(userAddress) == '') {
			displayAlert("Please enter your street address.",'userAddress');
			errorStatus = 1;
			fldErr += 1;
		}
		if (fldErr == 0)
		{
		   hideError('userAddress');
		}
		/*  street Name checking end  */

		/*  CityName checking start  */
		var userCity = $('userCity').value;
		fldErr = 0;
		if(alltrim(userCity) == '') {
			displayAlert("Please enter the name of your city.",'userCity');
			errorStatus = 1;
			fldErr += 1;
		}
		if (fldErr == 0)
		{
		   hideError('userCity');
		}
		/*  CityName checking end  */

		/*  ZipCode checking start  */
		var userZip = $('userZip').value;
		fldErr = 0;
		if(alltrim(userZip) == '') {
			displayAlert("Please enter your zip code.",'userZip');
			errorStatus = 1;
			fldErr += 1;
		}
		if (fldErr == 0)
		{
		   hideError('userZip');
		}
		/*  ZipCode checking end  */

		/*  PhoneNumber checking start  */
		var userPhone = $('userPhone').value;
		fldErr = 0;
		if(alltrim(userPhone) == '') {
			displayAlert("Please enter your phone number.",'userPhone');
			errorStatus = 1;
			fldErr += 1;
		}
		if (fldErr == 0)
		{
		   hideError('userPhone');
		}


	}

		fldErr = 0;

		if ($('termsCheck').checked == false)

		{

			displayAlert("Please check the terms and conditions.",'termsCheck');
			errorStatus = 1;
			fldErr += 1;

		}

		if (fldErr == 0)
		{
		   hideError('termsCheck');
		}

	
	
	if (errorStatus == 0)
	{
		showLoader(0);
		showBgLoader(1);
		showLoader(1);
		var url = 'regValidation.php';
		var pars = '';
		pars = pars + 'userStatus=' + $('userStat').value ;
		if (alltrim($('userName').value) != '')	{ pars = pars + '&userName=' + $('userName').value ; }
		if (alltrim($('userEmail').value) != '')	{ pars = pars + '&userEmail=' + $('userEmail').value ; }
		if (alltrim($('userPassword').value) != '')	{ pars = pars + '&userPassword=' + $('userPassword').value ; }
		if (alltrim($('firstName').value) != '')	{ pars = pars + '&firstName=' + $('firstName').value ; }
		if (alltrim($('lastName').value) != '')	{ pars = pars + '&lastName=' + $('lastName').value ; }
		if (alltrim($('dob_dd').value) != '')	{ pars = pars + '&dob_dd=' + $('dob_dd').value ; }
		if (alltrim($('dob_mm').value) != '')	{ pars = pars + '&dob_mm=' + $('dob_mm').value ; }
		if (alltrim($('dob_yr').value) != '')	{ pars = pars + '&dob_yr=' + $('dob_yr').value ; }
		if (alltrim($('userAddress').value) != '')	{ pars = pars + '&userAddress=' + $('userAddress').value ; }
		if (alltrim($('userCity').value) != '')	{ pars = pars + '&userCity=' + $('userCity').value ; }
		if (alltrim($('userState').value) != '')	{ pars = pars + '&userState=' + $('userState').value ; }
		if (alltrim($('userZip').value) != '')	{ pars = pars + '&userZip=' + $('userZip').value ; }
		if (alltrim($('userPhone').value) != '')	{ pars = pars + '&userPhone=' + $('userPhone').value ; }
		if (alltrim($('userPromoCode').value) != '')	{ pars = pars + '&userPromoCode=' + $('userPromoCode').value ; }
		pars = pars +"&mode=validate_n_save";

		

		var myAjax = new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onComplete:saveRegistrationRecord
		});
	}
	else{
			showLoader(0);
	}
}
function saveRegistrationRecord(originalRequest){
	var rstext = alltrim(originalRequest.responseText);

	showLoader(0);
	var res01 = rstext.split("^");
	for (var i = 0; i <res01.length; i++ )
	{
		var res02 = res01[i].split("|");
		if (res02[0] == 0)
		{
			displayAlert(res02[1],res02[2]);
		}
	}
	showBgLoader(0);

	if (alltrim(rstext) == 'FreeWriter' || alltrim(rstext) == 'Reader'){

		window.location.href='newAccountConfirmation.php';
	} else if(alltrim(rstext) == 'PaidWriter'){

		window.location.href='writerPaymentDetails.php?stat=VXc9PQ==';
	} else if(alltrim(rstext) == '0'){

		window.location.href='404.php';
	}
}
function showMessage_userEmail(originalRequest){
 	var response = alltrim(originalRequest.responseText);
	if (response == 'No')
	{
		displayAlert('This email address is already registered. Please try again, using a different address.','userEmail');
		errorStatus = 1;
		fldErr += 1;
	} else {
		hideError('userEmail');
	}
}
function showMessageBirthdate(originalRequest) {
 	var response = alltrim(originalRequest.responseText);
	var res = response.split("|");
	if (res[0] == 'No')
	{
		displayAlert(res[1],'dob');
		errorStatus = 1;
		fldErr += 1;
	} else {
		hideError('userEmail');
	}
}
function focusSpecifyOther(){
	$('SpecifyOther').focus();
}
function focusRadioSpecifyOther(num){
	$('r1_'+num).checked = true;
}


function openResendMailPrompt(){

	new Effect.Appear($('resendMailPrompt'), {duration : 1 });

	new Effect.Fade($('resendLink'), {duration : 1 });

}

function checkAvailEmailResend(uemail){

	showLoader(1);

	var err = 0;

	var url = 'regValidation.php';

	var pars = '';

	if(uemail == '')

	{

		displayAlert("Please enter your email address.",'userEmail');

		showLoader(0);

		err += 1;

		return false;

	} else if(checkEmail(alltrim(uemail)) == false)	{

		displayAlert("Please enter a valid email address.",'userEmail');

		showLoader(0);

		err += 1;

		return false;

	} else {

		hideError('userEmail');

	}

	showLoader(0);

}
function checkResendConfirmPwd(){

	var conf_pwd = $('password').value;

	fldErr = 0;

	if(alltrim(conf_pwd) == '') {

		displayAlert("Please type the password.",'password');

		fldErr += 1;

	}

	if(alltrim(conf_pwd) != "" && alltrim(conf_pwd.length) < 6) {

		displayAlert("Password must be at least 6 characters.",'password');

		fldErr += 1;

	}

	if (fldErr == 0)

	{

	   hideError('password');

	}

}
function resendMail(userID){

	/*  Password checking start  */

	var pwd = $('password').value;

	var eFlg = 0;

	fldErr = 0;

	if(alltrim(pwd) == '') {

		displayAlert("Please enter your password.",'password');

		eFlg = 1;

		fldErr = 1;

	}

	if(alltrim(pwd) != "" && alltrim(pwd.length) < 6) {

		displayAlert("Passwords must be at least 6 characters long.",'password');

		eFlg = 1;

		fldErr = 1;

	}

	if (fldErr == 0)

	{

	   hideError('password');

	}

	/*  password checking end  */

	/*  email checking start  */

	var uemail = $('userEmail').value;

	fldErr = 0;

	if(alltrim(uemail) == '')

	{

		displayAlert("Please enter your email address.",'userEmail');

		eFlg = 1;

		fldErr = 1;

	}

	if(checkEmail(alltrim(uemail)) == false)

	{

		displayAlert("Please enter a valid email address.",'userEmail');

		eFlg = 1;

		fldErr = 1;

	}

	if (fldErr == 0)

	{

	   hideError('userEmail');

	}

	/*  email checking end  */

	if (eFlg == 0)

	{

		var url = 'regValidation.php';

		var pars = '';

		pars = pars + 'userID=' + userID ;

		if (alltrim($('userEmail').value) != '')	{ pars = pars + '&userEmail=' + $('userEmail').value ; }

		if (alltrim($('password').value) != '')	{ pars = pars + '&password=' + $('password').value ; }

		pars = pars +"&mode=resendMail";

		//alert(pars);

		var myAjax = new Ajax.Request(

		url,

		{

			method: 'get',

			parameters: pars,

			onComplete:saveResendMail

		});

			$('password').value = "";

	}

}

function saveResendMail(originalRequest){

	var rstext = alltrim(originalRequest.responseText);

	//alert(rstext);

	if (alltrim(rstext) == 'InvalidPassword'){

		displayAlert("Your Password in invalid.",'password');

		hideError('alrMsg');

	} else if(alltrim(rstext) == 'MailSend'){

		displayAlert("Your mail has been sent.",'alrMsg');

		hideError('password');

	} 

}