
var nameinuse = false;

function errMsg(msg) {
	$('createShopMsg').innerHTML = "";
	   $('errorfieldCreate').innerHTML = msg;
	$('errorfieldCreate').style.display = "block";
}

function errMsgClear() {
	$('errorfieldCreate').innerHTML = "";
	$('errorfieldCreate').style.display = "none";
	}



function checkEmpty(field) { if (document.getElementById(field).value == "") {return false;} else return true;}

function isValidEmail(str) { return (str.indexOf(".") > 0) && (str.indexOf("@") > 0);}


function validateForm(form) { 
	var msg = "Vennligst fyll ut alle de obligatoriske feltene."; 
	var i = 0; 
	var len = fieldsToCheck.length; 
	for (i=0; i < len; i++) { 
		var field = fieldsToCheck[i]; 
		if (!(checkEmpty(field))) { alert(msg);return; } 
		if (field.match(/^(Epost|Email|E-post|E-mail)$/i)) { 
			if (!isValidEmail(document.getElementsByName("Epost")[0].value)) { 
				alert("Ugyldig epost-adresse."); return; 
				} 
			} 
		} 
	form.submit();
}


function myValidateEmail(email, msg, required) {
 if(!validateEmail(email,msg,true)) {
  errMsg("Vennligst korriger feilen.");
  return;
 }

}


function createShop() {

  errMsgClear();
  $('createShopMsg').innerHTML = "Oppretter nettbutikk. Vennligst vent.";

//  var userfield = document.getElementById('username');    // avoid getting the login box
//  var passwordfield = document.getElementById('password');
 var formelement = document.getElementById('createform');  
 var userfield = formelement.elements['username'];
 var passwordfield = formelement.elements['password1'];

 var passwordconfirmfield = $('password_confirm');
 var emailfield = $('email');

 var username = userfield.value;
 var password = passwordfield.value;
 var password_confirm = $('password_confirm').value;
 var email = $('email').value;

 if(!remoteValidateUsername(userfield,'usernamemsg',true)) {
   errMsg("Vennligst korriger feilen.");
   return;
 }

 if (username == '') {
   errMsg("Vennligst korriger feilen.");
  $('usernamemsg').innerHTML = "Vennligst oppgi et navn.";
  errMsg("Vennligst korriger feilen.");
 }

 if (email == '') {
   errMsg("Vennligst korriger feilen.");
  $('emailmsg').innerHTML = "Vennligst oppgi en epostadresse.";
  errMsg("Vennligst korriger feilen.");
  return;
  }

 if (password == '' || password_confirm == '') {
   errMsg("Vennligst korriger feilen.");
	$('passwordmsg').innerHTML = "Vennligst oppgi passord.";
	$('password_confirm_msg').innerHTML = "Vennligst oppgi et passord.";
	errMsg("Vennligst korriger feilen.");
	return;
	}
	else {
	errMsgClear();
	$('passwordmsg').innerHTML = "";
	$('password_confirm_msg').innerHTML = "";
	}

   if(!validateEmail($('email'), 'emailmsg',true)) {
  errMsg("Vennligst korriger feilen.");
  return;
 }

 if (nameinuse == false) {
  errMsg("Vennligst korriger feilen.");
  return;
 }

 if (password != password_confirm) {
  $('passwordmsg').innerHTML = "Passordene er ikke like.";
  $('password_confirm_msg').innerHTML = "Passordene er ikke like.";
  errMsg("Vennligst korriger feilen.");
  return;
 }

  if(!commonCheck ("password", "passwordmsg", true)) {
  msg('passwordmsg', "error", "Vennligst angi passord.");
  return;
  }

  errMsgClear();
  $('createShopMsg').innerHTML = "Oppretter nettbutikk. Vennligst vent.";

  var domain = document.location.host;
 var doUrl = 'http://' + domain + '/php2/checkcreate.php';

 var moo = new Request({
	method: 'post',
        onFailure:displayError,
        onComplete: function (response){
            var obj = eval('(' + response + ')');
           if(obj.status == true){
           reallyCreate();
           } else  {
         $('passwordmsg').innerHTML = obj.message;
         $('emailmsg').innerHTML = obj.message;
         errMsg("Vennligst korriger feilen.");
         return false;
        }
        },
	url: doUrl
	});

 moo.send("rm=checkexists&username=" + email + "&password=" + password);


/*

 var doUrl = '/php2/checkcreate.php';
pars = 'rm=checkexists&username=' + email + "&password=" + password;

 var req = new Ajax.Request(doUrl,
        {method:'post',
        parameters :pars,
        onFailure:displayError,
        onComplete: function (t){
            var obj = eval('(' + t.responseText + ')');
           if(obj.status == true){
           reallyCreate();
           } else  {
	 errMsg(obj.message);
         return false;
        }
        }
        });

*/

  return;


}



function reallyCreate() {
 var formelement = document.getElementById('createform');  
 var userfield = formelement.elements['username'];
 var passwordfield = formelement.elements['password1'];

 var username = userfield.value; // $('username').value;
 var password = passwordfield.value; // $('password').value;
 var password_confirm = $('password_confirm').value;
 var email = $('email').value;

  errMsgClear();
  $('createShopMsg').innerHTML = "Oppretter nettbutikk. Vennligst vent.";

  var domain = document.location.host;
 var doUrl = 'http://' + domain + '/php2/checkcreate.php';

 var moo = new Request({
	method: 'post',
	onComplete: displayResult,
	url: doUrl
	});

 moo.send('do=create&rm=adduser&username=' + username + '&password=' + password + '&email=' + email + '&mal=1&css=1&tpl=1&gb=1');
}

function doLogIn(response) {

	 var data = eval('(' + response + ')');

 if (data['key'] == "0") {
  $('errorfield').innerHTML = "Beklager. Ugyldig brukernavn og passord.";
return;
 }
 if (data['key'] == "sjopp") {
	  var username = $('logInForm').username.value;
	  var password = $('logInForm').password.value;
	 document.location = "http://login.oppdateringsfabrikken.com/login_sjopp.php?password=" + password + "&username=" + username;
	return;
 }
 if(data['key'] =="inactive"){
   $('errorfield').innerHTML = "Ditt prøveabonnement har utgått på dato! Kontakt Oppdateringsfabrikken om du ønsker å forlenge prøveperioden";
  return;
  }


//  $('errorfield').innerHTML = "Du er logget inn. Du videresendes ..<br>Om du ikke blir videresendt, klikk <a href=\"" + data['URL'] + "\">her</a>";
  $('errorfield').innerHTML = "";
//  $('errorfield').innerHTML = data['key']; 
// mulit domains:   createCookie("OF", data['key'], 1);
  createCookie("OF" , data['key'], 1);


 // alert(data['domain']);
  document.location = data['URL'];
}


function logIn() {
  var action="login";
       $('errorfield').innerHTML = ""; 
  var username = $('logInForm').username.value;
  var password = $('logInForm').password.value;
  if (username == "" || password == "") {
      $('errorfield').innerHTML = "Vennligst fyll ut brukernavn og passord.";
      return;
  }

  var domain = document.location.host;

  var doUrl = 'http://' + domain + '/login/login.cgi';
  var moo = new Request({ 
	method: 'post', 
	asynchronous: true,
	onComplete: doLogIn,
	url: doUrl
                }
              );

  moo.send('username=' + username + '&password=' + password + '&do=' + action);
}


function forgot() {
  var emailaddress = $('forgotForm').emailaddress.value;

  if (emailaddress == "") {
      $('forgotfield').innerHTML = "Vennligst oppgi en epostadresse.";
      return false;
  }

  $('forgotfield').innerHTML = "Sender deg passord.";
  var domain = document.location.host;

  var doUrl = 'http://' + domain + '/login/login.cgi';

  moo = new Request({ 
	method: 'post', 
	asynchronous: true,
        onComplete: doForgotReturn,
	url: doUrl
                }
              );

	moo.send('emailaddress=' + emailaddress + '&do=forgot');

}

function doForgotReturn(response) {
	if (response == 0) {
	 $('forgotfield').innerHTML = "Feil: Epostadressen du oppga er ikke registrert.";
	}	
	else {
	 $('forgotfield').innerHTML = "Passordet er sendt deg p&aring; epost.";
	}
}



function createCookie(name,value,days) {
 if (days) {
  var date = new Date();
  date.setTime(date.getTime()+(days*24*60*60*1000));
  var expires = "; expires="+date.toGMTString();
 }
 else var expires = "";
 var domain = document.location.host;
 dre = new RegExp(/(.*?)\.(.*)/);
 matches = dre.exec(domain);
 domain = matches[2];
 var cookie = name+"="+value+expires+"; path=/ ;  domain=" + domain ;
 document.cookie = cookie;
}




function deleteCookie(name) {

 var expires = "; expires=Thu, 01-Jan-1970 00:00:01 GMT";
 var domain = document.location.host;
 dre = new RegExp(/(.*?)\.(.*)/);
 matches = dre.exec(domain);
 domain = matches[2];
 var cookie = name+"=" + expires + "; path=/ ;  domain=" + domain ;

 document.cookie = cookie;
}


function readCookie(name) {
 var nameEQ = name + "=";
 var ca = document.cookie.split(';');
 for(var i=0;i < ca.length;i++) {
  var c = ca[i];
  while (c.charAt(0)==' ') c = c.substring(1,c.length);
  if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
 }
 return null;
}



function remoteValidateUsername    (vfld,   // element to be validated
				       ifld,   // id of element to receive info/error msg
                         reqd)   // true if required

{

//  var stat = commonCheck (vfld, ifld, reqd);

stat = proceed;

 if (stat != proceed) return stat;
  var tfld = trim(vfld.value);
  if (tfld == "") {
   	 errMsg("Vennligst korriger feilen.");
   msg (ifld, "error", "Vennligst oppgi et navn.");
    vfld.focus();
    return false;
  }



  if(tfld.length > 16) {
   	 errMsg("Vennligst korriger feilen.");
   msg (ifld, "error", "Navnet er for langt. Max 16 tegn");

    vfld.focus();

    return false;

  }



  var UserRE = /^[a-zA-Z0-9]*$/

  if (!UserRE.test(tfld)) {
   	 errMsg("Vennligst korriger feilen.");
    msg (ifld, "error", "Kan bare inneholde bokstaver i alfabetet mellom a og z.");

    vfld.focus();

    return false;

  }

 
  var domain = document.location.host;
 var doUrl = 'http://' + domain + '/php2/checkcreate.php';

 var moo = new Request({
	method: 'post',
	onComplete:  function (response){
            var obj = eval('(' + response + ')');
           if(obj.status == true){
           nameinuse = true;
           } else  {
	 errMsg("Vennligst korriger feilen.");
         msg(ifld, "error", obj.message);
         nameinuse = false;
         return false;
        }
        },
	url: doUrl
	});

 moo.send("rm=checkuser&username=" + tfld);

  msg (ifld, "oppdateringsfabrikken.com", "");
  errMsgClear();
  return true;

}







function displayError(t) {

 alert(t.reponseText);

}



function displayResult(t) {



/* HER MANGLER ERROR HANDTERING */



 var formelement = document.getElementById('createform');  
 var passwordfield = formelement.elements['password1'];
 var password = passwordfield.value;

 var email = $('email').value;


 
 document.location = "http://login.oppdateringsfabrikken.com/login.php?password=" + password + "&email=" + email;



/* logInFromCreate(password, email); */



}


function setCookie(key,key2) {

 var exdate = new Date();

 exdate.setDate(exdate.getDate()+1);

 document.cookie = "Sjopp=" + key + "; expires=" + exdate + " ; path=/";

 document.cookie = "Sjopp2=" + key2 + "; expires=" + exdate + " ; path=/";

}



