var passqxg="";
var loginQuery=null;
var subscribed=0;
var userEdit=null;

function register() {
	var user=new UserRegister(null);
	//user.generatePreview();
	user.getCompaniesList();
	//user.generateForm1();
}

function completeRegistration(id) {
	var loginQuery=new WebEngine();
	var query=createXmlElement("getUser");
	query.setAttribute("userId",id);
	loginQuery.handleXML=delegate(this,userRetrieved2,loginQuery);
	loginQuery.postRequest(query,"Loading User Information");
}

function generateFormStages() {
	document.getElementById("phases").innerHTML="";
	for(var i=0 ;i < formSegments.length;i++) {
		var li=document.createElement("li");
		li.className="inactiveSection";
		li.id="phase"+(i+1);
		li.innerHTML='<a class="listItem" id="phase'+(i+1)+'link">'+formSegments[i]+'</a>';
		document.getElementById("phases").appendChild(li);
	}
}

function generateUserStages() {
	document.getElementById("phases").innerHTML="";
	for(var i=0 ;i < userSegments.length;i++) {
		var li=document.createElement("li");
		li.className="inactiveSection";
		li.id="user"+(i+1);
		li.innerHTML='<a class="listItem" id="user'+(i+1)+'link">'+userSegments[i]+'</a>';
		document.getElementById("phases").appendChild(li);
	}
}

function getUserDetails(id,loc) {
	loginQuery=new WebEngine();
	var query=createXmlElement("getUser");
	query.setAttribute("userId",id);
	loginQuery.handleXML=delegate(this,userRetrieved,loc);
	loginQuery.postRequest(query,"Loading User Information");
}

function loginUser(email,password) {
	loginQuery=new WebEngine();
	var query=createXmlElement("loginUser");
	query.setAttribute("email",email);
	query.setAttribute("password",password);
	loginQuery.handleXML=delegate(this,userLoggedIn);
	loginQuery.postRequest(query,"Loading User Information");
}

function logoutUser() {
	window.location="logout.php?url="+window.location;
}

function userLoggedOut() {
	window.location="index.php";
}

function userLoggedIn() {
	var user=loginQuery.responseXML.selectSingleNode("//CompositeResponse/loginUserResponse");
	if(loginQuery.responseXML.selectSingleNode("//CompositeResponse").getAttribute("errorCode")=="6") {

	}else if(loginQuery.responseXML.selectSingleNode("//CompositeResponse").getAttribute("errorCode")=="5") {
		alert("User not found\nPlease Try Again");

	}else{
		userDetailsLoaded2(user);
	}
}

function userRetrieved(loc) {
	var user=loginQuery.responseXML.selectSingleNode("//CompositeResponse/getUserResponse");
	if(loginQuery.responseXML.selectSingleNode("//CompositeResponse").getAttribute("errorCode")=="6") {

	}else if(loginQuery.responseXML.selectSingleNode("//CompositeResponse").getAttribute("errorCode")=="5") {
	//	alert("User not found\nPlease Try Again");
		window.location="user.php?error=User Not Found";
	}else{
		userDetailsLoaded2(user,loc);
	}
}

function userRetrieved2(loginQuery) {
	var user=loginQuery.responseXML.selectSingleNode("//CompositeResponse/getUserResponse");
	if(loginQuery.responseXML.selectSingleNode("//CompositeResponse").getAttribute("errorCode")=="6") {

	}else if(loginQuery.responseXML.selectSingleNode("//CompositeResponse").getAttribute("errorCode")=="5") {
		window.location="user.php?error=User Not Found";
	}else{
		userDetailsLoaded(user);
	}
}

function showLogin() {
	document.getElementById("loginForm").style.display="block";
	generateUserStages();
	hideMask();
}


function userDetailsLoaded2(user,loc) {
		document.getElementById("formPanel").innerHTML="";

		var termsAccepted=user.getAttribute("termsAccepted");
		var patternId=user.getAttribute("patternId");

		if(termsAccepted=="0" || patternId =="") {
			generateUserStages();
			completeRegistrationAlert(user);
		}else{
		userEdit=new UserEdit(null);
		userEdit.editLocation=loc;
		userEdit.userId=user.getAttribute("userId");
		userEdit.fname=user.getAttribute("fname");
		userEdit.lname=user.getAttribute("lname");
		userEdit.email=user.getAttribute("email");
		userEdit.postcode=user.getAttribute("postcode");
		userEdit.country=user.getAttribute("country");
		userEdit.countryCode=user.getAttribute("countryCode");
		userEdit.subscribed=user.getAttribute("subscribed");
		userEdit.company=user.getAttribute("companyId");
		userEdit.pattern=user.getAttribute("pattern");
		userEdit.patternName=user.getAttribute("patternName");
		userEdit.patternId=user.getAttribute("patternId");
		userEdit.startDay=user.getAttribute("startDay");
		userEdit.startDate=user.getAttribute("startDate");
		userEdit.activateDate=user.getAttribute("activateDate");
		userEdit.shifts=user.getAttribute("shifts");
		userEdit.months=user.getAttribute("months");
		userEdit.days=user.getAttribute("days");
		userEdit.phonesArray=user.selectSingleNode("//mobilePhones").getElementsByTagName("phone");
		userEdit.holidaysArray=user.selectSingleNode("//holidays").getElementsByTagName("holiday");
		userEdit.holidays=user.getAttribute("holidays");
		userEdit.stateholidays=user.getAttribute("stateholidays");
		userEdit.validMonths=user.getAttribute("subscriptionLeft");
		userEdit.validDays=user.getAttribute("subscriptionDays");
		userEdit.expires=user.getAttribute("subscriptionExpires");
		userEdit.getCompaniesList();
		generateUserStages();
		userEdit.activateLinks();
		userEdit.activateSubscribe();
		hideMask();
	}
}

function userDetailsLoaded(user,loc) {
	var userForm=new UserRegister(null);
	userForm.editMode=true;
	userForm.parseResults(user);

	if(userForm.terms=="1") {
		formPosition="shift";
	}else{
		formPosition="terms";
	}
	switch(formPosition) {
		case "terms":
			userForm.userAdded();
		break;
		case "shift":
			userForm.termsAccepted();
		break;
	}
}