function changeClass(obj, c){
    try {
	obj.className=c;
    }
    catch(e) {
	obj.setAttribute("class", c);
    }
}

function submit() {
    var check = 0;
    check |= !validate(document.getElementById('first_name'));
    check |= !validate(document.getElementById('email'));
    check |= !validate(document.getElementById('contact_num'));
    check |= !validate(document.getElementById('pass1'));
    check |= !validate(document.getElementById('pass2'));
    if(check) {
        return false;
    } else {
    	var httpObj = jx.getHTTPObject();
	parameters = "mailcheck=1&email="+encodeURI(document.getElementById('email').value);
	httpObj.open('POST', "join_now.php", false);
	httpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//	httpObj.setRequestHeader("Content-length", parameters.length);
//	httpObj.setRequestHeader("Connection", "close");
	httpObj.send(parameters);
	var check = httpObj.responseText;
	if(check == 1) {
	    msg_block = document.getElementById('email_msg');
    	    msg_block.innerHTML="Such email already registered";
    	    msg_block.style.display='block';
    	    changeClass(field,'highlited');
	    return false;
	}

	var select = document.getElementById("contact");
	var select2 = document.getElementById("plan");
	parameters = "name=" + encodeURI( document.getElementById("first_name").value ) + "&surname=" + encodeURI( document.getElementById("last_name").value ) + "&email=" + encodeURI( document.getElementById("email").value ) + "&ctype=" + encodeURI( select.options[select.selectedIndex].value ) + "&ptype=" + encodeURI( select2.options[select2.selectedIndex].value ) + "&pass=" + encodeURI( document.getElementById("pass1").value ) + "&cnum=" + encodeURI( document.getElementById("contact_num").value ) + "&pass=" + encodeURI( document.getElementById("pass1").value ) + "&check=Submit"; 
	httpObj.open('POST', "join_now.php?action=submit", false);
	httpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//	httpObj.setRequestHeader("Content-length", parameters.length);
//	httpObj.setRequestHeader("Connection", "close");
	httpObj.onreadystatechange = function () {
	    if(httpObj.readyState == 4) {
		var id = httpObj.responseText;
		window.location.href='login.php?id='+id+'&reg';
	    }
	}
	httpObj.send(parameters);
    }

}

function submit2() {
    var check = 0;
    check |= !validate(document.getElementById('first_name'));
//    check |= !validate(document.getElementById('email'));
    check |= !validate(document.getElementById('contact_num'));
    check |= !validate(document.getElementById('pass1'));
    check |= !validate(document.getElementById('pass2'));
    if(check) {
        return false;
    } else {
	var select = document.getElementById("contact");
	var select2 = document.getElementById("plan");
	parameters = "name=" + encodeURI( document.getElementById("first_name").value ) + "&surname=" + encodeURI( document.getElementById("last_name").value ) + "&ctype=" + encodeURI( select.options[select.selectedIndex].value ) + "&cnum=" + encodeURI( document.getElementById("contact_num").value ) + "&pass=" + encodeURI( document.getElementById("pass1").value ) + "&ptype=" + encodeURI( select2.options[select2.selectedIndex].value ) + "&check=Submit"; 
	var httpObj = jx.getHTTPObject();
	httpObj.open('POST', "edit_account.php?action=submit", true);
	httpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpObj.setRequestHeader("Content-length", parameters.length);
	httpObj.setRequestHeader("Connection", "close");
	httpObj.onreadystatechange = function () {
	    if(httpObj.readyState == 4) {
		window.location.href='login.php';
	    }
	}
	httpObj.send(parameters);
    }

}


function validate(field) {
    var msg_block = document.getElementById(field.id+"_msg");
    var prefix = "This";
    var message = "";
    switch(field.id) {
	case "first_name":
	    prefix = "First name";
	    break;
	case "contact_num":
	    prefix = "Contact number";
	    break;
	case "pass1":
	    prefix = "Password";
	    break;
	case "pass2":
	    prefix = "Password";
	    break;
	case "email":
	    prefix = "Email";
	    break;
    }
    if(!field.value.length)
    {
        msg_block.innerHTML=prefix+" is required field";
        msg_block.style.display='block';
        changeClass(field,'highlited');
        return false;
    }
    if(field.id == 'contact_num') {
	var ctype = document.getElementById('contact');
	if(ctype.options[ctype.selectedIndex].value == 1) {
	    if(field.value.replace(/[0-9a-zA-Z.,_\-]/g,"") != "") {
		msg_block.innerHTML = field.value.replace(/[0-9a-zA-Z.,_\-]/g,"") + " - not allowed character(s)";
		msg_block.style.display="block";
		changeClass(field,'highlited');
		return false;
	    } else if(field.value[0].replace(/[a-zA-Z]/g,"") != "") {
		msg_block.innerHTML = "First symbol in skypename must be letter";
		msg_block.style.display="block";
		changeClass(field,'highlited');
		return false;
	    } else {
	    	msg_block.innerHTML = "";
		msg_block.style.display="none";
		changeClass(field,'');
		return true;
	    }

	} else if(ctype.options[ctype.selectedIndex].value == 2) {
	    if(field.value.replace(/[0-9]/g,"") != "") {
		msg_block.innerHTML = field.value.replace(/[0-9]/g,"") + " - not allowed character(s)";
		msg_block.style.display="block";
		changeClass(field,'highlited');
		return false;
	    } else {
	    	msg_block.innerHTML = "";
		msg_block.style.display="none";
		changeClass(field,'');
		return true;
	    }
	} else {
	    if(field.value.replace(/[0-9()\-+ ]/g,"") != "") {
		msg_block.innerHTML = field.value.replace(/[0-9()\-+ ]/g,"") + " - not allowed character(s)";
		msg_block.style.display="block";
		changeClass(field,'highlited');
		return false;
	    } else {
	    	msg_block.innerHTML = "";
		msg_block.style.display="none";
		changeClass(field,'');
		return true;
	    }
	}
    }
    if(field.type != 'password') {
        if (field.value.replace(/[a-zA-Z0-9@_\-\.]/g,"") != "") {
            msg_block.innerHTML=field.value.replace(/[a-zA-Z0-9@_\-\.]/g,"")+" - not allowed character(s)";
            msg_block.style.display='block';
            changeClass(field,'highlited');
            return false;
        }
        else if (field.id == 'email' && (field.value.replace(/[a-zA-Z0-9_\-\.]/g,"") != "@" || field.value.match(/^[a-zA-Z0-9\._\-]+@[a-zA-Z0-9\._\-]+\.[a-zA-Z]{2,4}$/) != field.value))
        {
            msg_block.innerHTML="Invalid email";
            msg_block.style.display='block';
            changeClass(field,'highlited');
            return false;
        }
        else {
            msg_block.innerHTML="";
            msg_block.style.display='none';
            changeClass(field,'');
            return true;
        }
    } else {
        if(document.getElementById('pass1').value != document.getElementById('pass2').value)
        {
            msg_block.innerHTML="Passwords mismatch";
            msg_block.style.display='block';
            changeClass(field,'highlited');;
	    if(field.id == 'pass1') {
		changeClass(document.getElementById('pass2'),'highlited');
    	    } else {
        	changeClass(document.getElementById('pass1'),'highlited');
    	    }
    	    return false;
	} else {
    	    msg_block.innerHTML="";
    	    msg_block.style.display='';
    	    if(field.id == 'pass1') {
        	changeClass(document.getElementById('pass2'),'');
    	    } else {
        	changeClass(document.getElementById('pass1'),'');
        	document.getElementById('pass1_msg').innerHTML="";
        	msg_block.style.display='none';
    	    }
    	    changeClass(field,'');
    	    return true;
	}
  }
}
function cancel() {
    this.parent.document.body.style.overflow = "auto";
    changeClass(this.parent.document.getElementById('registration'),"loading-invisible");
}
