/*******************************
*                              *
* Created by Work In Progress  *
*         www.wip.ro           *
*                              *
* For technical problems       *
* contact auras@wip.ro 	or     *
* sexymanagerassistant@wip.ro  *
*                              *
*******************************/

/*-------------------------------------
 Verifies the form
-------------------------------------*/

function checkForms(stage)
{
var fNickname = document.getElementById('nickname').value;
var fZipCode = document.getElementById('zipcode').value;
var fMobileno = document.getElementById('mobileno').value;
var fNetwork = document.getElementById('network').value;
//var fGender = document.getElementById('gender').value;
//var fLooking = document.getElementById('looking').value;
var fProfile = document.getElementById('profile').value;
var fEthnicity = document.getElementById('ethnicity').value;
var fTerms = document.getElementById('agreeterms').checked;
var fAge = document.getElementById('age').value;

/*-------------------------------------
 Nickname should be at least 2 characters (right?)
-------------------------------------*/

if (fNickname.length<2 && stage==2)
{
	alert("That nickname is not long enough.");
	return 0;
}

/*-------------------------------------
 The age should be selected
-------------------------------------*/

if (isNaN(fAge))
{
	alert("Please select an age group.");
	return 0;
}

/*-------------------------------------
 US zipcode has exactly 5 digits (right?)
-------------------------------------*/

if (fZipCode.length!=5 || isNaN(fZipCode))
{
	alert("Invalid zipcode.");
	return 0;
}
/*-------------------------------------
 Mobile numbers have exactly 10 digits (right?)
-------------------------------------*/

if (fMobileno.length<10 || isNaN(fMobileno))
{
	alert("Mobile number too short or invalid mobile number (no dashes required).");
	return 0;
}
/*-------------------------------------
 A network has to be chosen
-------------------------------------*/

if (fNetwork == 'chooseone')
{
	alert("Please choose your mobile network.");
	return 0;
}
/*-------------------------------------
 An ethnicity has to be chosen
-------------------------------------*/

if (fEthnicity == 'chooseone' && stage==2)
{
	alert("Please choose your ethnicity.");
	return 0;
}
/*-------------------------------------
 The profile shouldn't be empty
-------------------------------------*/

if (fProfile.length==0 && stage==2)
{
	alert("Profile field is empty!");
	return 0;
}
/*-------------------------------------
 Also you have to agree with the terms and conditions
-------------------------------------*/

if (fTerms==false)
{
	alert("You have to agree with to the Terms and Conditions to continue!");
	return 0;
}

return 1;
}

/*-------------------------------------
 Processing Stage1
-------------------------------------*/

function Stage1()
{
/*-------------------------------------
 Verify form data
-------------------------------------*/

if (!checkForms(1)) return 0;
/*-------------------------------------
 Getting mobile number and network name
-------------------------------------*/

var fMobileno = document.getElementById('mobileno').value;
var fNetwork = document.getElementById('network').value;

/*-------------------------------------
 Letting the user know that we are processing the data
-------------------------------------*/

document.getElementById('spinner1').style.display = 'block';

/*-------------------------------------
 Creating an ajax request for stage1
-------------------------------------*/

new Ajax.Request('sender52690.php?stage1', {
	method: 'get',
	parameters: {mobile_no: fMobileno, network: fNetwork}, // Paramaters...
	onSuccess: function(transport) {
		/*-------------------------------------
 		  Getting the response
		-------------------------------------*/

		var response = transport.responseText;
		if (response.indexOf('error') == -1 && response.indexOf('Warning') == -1)
		{
			/*-------------------------------------
 			  If all is OK we change the button, form and current stage button
			-------------------------------------*/

			document.getElementById('stage1btn').style.display = 'none';
			document.getElementById('stage1form').style.display = 'none';
			document.getElementById('step1bg').style.background = '#D0D0D0';
			document.getElementById('stage2btn').style.display = 'block';
			document.getElementById('stage2form').style.display = 'block';
			document.getElementById('step2bg').style.background = 'url(images/step_bg.png)';
		}
		else
		{
			/*-------------------------------------
 			  If we get an error from the gateway
			-------------------------------------*/

			if (response.indexOf('Warning') == -1)
			{
				var errorResponse = response.substring(41, response.length-21);
				alert("Error: " + errorResponse);
			}
			else
			{
				/*-------------------------------------
 				  Or if the script had an error (IE: could not connect to the gateway)
				-------------------------------------*/

				alert("Script error...");
			}
		}
	},
	onFailure: function() { 
		/*-------------------------------------
 		  Or if the AJAX request ... died?
		-------------------------------------*/

		alert("Error: Something went wrong");
	}
});

/*-------------------------------------
 We should not make the user think we are still processing data
-------------------------------------*/

document.getElementById('spinner1').style.display = 'none';
}

/*-------------------------------------
 Processing Stage2
-------------------------------------*/

function Stage2()
{
/*-------------------------------------
 Verifying again the form data
-------------------------------------*/

if (!checkForms(2)) return 0;

document.getElementById('stage2btn').style.display = 'none';
document.getElementById('stage2form').style.display = 'none';
document.getElementById('step2bg').style.background = '#D0D0D0';
document.getElementById('stage3btn').style.display = 'block';
document.getElementById('stage3form').style.display = 'block';
document.getElementById('step3bg').style.background = 'url(images/step_bg.png)';

}

/*-------------------------------------
 Processing Stage3
-------------------------------------*/

function Stage3()
{
/*-------------------------------------
 Checking the pincode. It should be 4 digits
-------------------------------------*/

var fPin = document.getElementById('pincode').value;

if (isNaN(fPin) || fPin.length!=4)
{
	alert("Passcode is invalid!");
	return 0;
}

/*-------------------------------------
 Getting the form data
-------------------------------------*/

var fNickname = document.getElementById('nickname').value;
var fZipCode = document.getElementById('zipcode').value;
var fMobileno = document.getElementById('mobileno').value;
var fNetwork = document.getElementById('network').value;
var fGender = document.getElementById('gender1').checked;
var fLooking = document.getElementById('looking1').checked;
var fProfile = document.getElementById('profile').value;
var fEthnicity = document.getElementById('ethnicity').value;
var fAge = document.getElementById('age').value;

/*-------------------------------------
 Determining gender and looking values
-------------------------------------*/
if (fGender)
{
	fGender = 'M';
}
else
{
	fGender = 'F';
}

if (fLooking)
{
	fLooking = 'M';
}
else
{
	fLooking = 'F';
}

/*-------------------------------------
 Letting the user know that we are processing the data
-------------------------------------*/

document.getElementById('spinner2').style.display = 'block';

/*-------------------------------------
 Creating an ajax request for stage2
-------------------------------------*/

new Ajax.Request('sender52690.php?stage2', {
	method: 'get',
	parameters: {mobile_no: fMobileno, network: fNetwork, userpin: fPin,
		nickname: fNickname, age: fAge, zipcode: fZipCode, gender: fGender,
		looking: fLooking, profile: fProfile, ethnicity: fEthnicity}, // Parameters...
	onSuccess: function(transport) {
		/*-------------------------------------
 		  Getting the response
		-------------------------------------*/

		var response = transport.responseText;
		if (response.indexOf('error') == -1 && response.indexOf('Warning') == -1)
		{
			/*-------------------------------------
 			  If all is OK we change the button, form, current stage button and the nickname
			-------------------------------------*/

			document.getElementById('stage3btn').style.display = 'none';
			document.getElementById('stage3form').style.display = 'none';
			document.getElementById('step3bg').style.background = '#D0D0D0';
			document.getElementById('stage4btn').style.display = 'block';
			document.getElementById('stage4form').style.display = 'block';
			//document.getElementById('step4bg').style.background = 'url(images/step_bg.png)';
			document.getElementById('nicknametxt').innerHTML = fNickname;
		}
		else
		{
			/*-------------------------------------
 			  If we get an error from the gateway
			-------------------------------------*/

			if (response.indexOf('Warning') == -1)
			{
				var errorResponse = response.substring(41, response.length-21);
				alert("Error: " + errorResponse);
			}
			else
			{
				/*-------------------------------------
 			  	  Or if the script had an error (IE: could not connect to the gateway)
				-------------------------------------*/
				alert("Script error...");
			}
		}
	},
	onFailure: function() { 
		/*-------------------------------------
 		  Or if the AJAX request ... died?
		-------------------------------------*/

		alert("Error: Something went wrong");
	}
});
/*-------------------------------------
  We should not make the user think we are still processing data
-------------------------------------*/

document.getElementById('spinner2').style.display = 'none';
}