var user_cp_form = {
	fields : null,
	activeInfoDiv : null,
 	init : function(){
		allLinks = document.getElementsByTagName('a');
		for(i=0;i<allLinks.length;i++){
			if (allLinks[i].className == 'help'){
				if (allLinks[i].parentNode.className=="formLine"){
					if (allLinks[i].attachEvent){
						allLinks[i].attachEvent("onmouseover", user_cp_form.showInfo);
						allLinks[i].attachEvent("onmouseout", user_cp_form.hideInfo);
					} else if (allLinks[i].addEventListener){
						allLinks[i].addEventListener("mouseover", user_cp_form.showInfo, true);
						allLinks[i].addEventListener("mouseout", user_cp_form.hideInfo, true);

					}
				}
			} else if (allLinks[i].className == 'termsLink'){
				if (allLinks[i].attachEvent){
						allLinks[i].attachEvent("onclick", user_cp_form.showTerms);
					} else if (allLinks[i].addEventListener){
						allLinks[i].addEventListener("click", user_cp_form.showTerms, true);
					}
			}
		}
	},
 	showInfo : function(e){
		evt = e || window.event ;
		var evtTarget = evt.target || evt.srcElement;
		if (evtTarget.nodeType == 3) evtTarget = evtTarget.parentNode;
		for (i=0; i<evtTarget.parentNode.childNodes.length; i++){
			if (evtTarget.parentNode.childNodes[i].tagName == "INPUT"){
				info_id = "info_" + evtTarget.parentNode.childNodes[i].name;
			}
		}
		user_cp_form.activeInfoDiv = document.getElementById(info_id);
		divHeight = user_cp_form.getHeight(user_cp_form.activeInfoDiv);
		topValue = user_cp_form.getTop(evtTarget);
		leftValue = user_cp_form.getLeft(evtTarget);
		user_cp_form.activeInfoDiv.style.top = topValue - parseInt(divHeight/2) + 10 + "px";
		user_cp_form.activeInfoDiv.style.left = leftValue + 20 + "px";
		user_cp_form.activeInfoDiv.style.display="block";
		
	},
 	hideInfo : function(){
		if (user_cp_form.activeInfoDiv){
			user_cp_form.activeInfoDiv.style.display="none";
		}
	}, 
 	getTop : function(obj){
		objTop = 0;
		myobj = obj;
		if (myobj.offsetParent) {
			while (myobj.offsetParent) {
				objTop += myobj.offsetTop;
				myobj  = myobj.offsetParent;
			}
		}	
	return objTop;
	},
	getLeft : function(obj){
		objLeft = 0;
		myobj = obj;
		if (myobj.offsetParent) {
			while (myobj.offsetParent) {
				objLeft += myobj.offsetLeft;
				myobj  = myobj.offsetParent;
			}
		}	
	return objLeft;
	},
	checkForm : function(){
		errorMessages = new Array;
		forma = document.forms['user_form'];
		if (forma.user.value == ""){
			errorMessages.push("Morate uneti korisničko ime.");
		} else if (!forma.user.value.match(/^[a-z0-9A-Z]+$/)){
			errorMessages.push("Username mora biti jedna rec, bez nasih slova i specijalnih znaka.");
		}
		if ((forma.pass1.value == "" || forma.pass2.value == "") && !(forma.pass1.value == "" && forma.pass2.value == "")){
			errorMessages.push("Morate uneti lozinku u oba polja");
		} else if (forma.pass1.value != forma.pass2.value && !(forma.pass1.value == "" && forma.pass2.value == "")){
			errorMessages.push("Lozinke se ne poklapaju.");
		} else if (forma.pass1.value.length<6 && !(forma.pass1.value == "" && forma.pass2.value == "")){
			errorMessages.push("Lozinka mora imati minimum 6 slova.");	
		}
		if (forma.ime.value == ""){
			errorMessages.push("Morate uneti svoje ime.");
		}
		if (forma.prezime.value == ""){
			errorMessages.push("Morate uneti svoje prezime.");
		}
		if (forma.adresa.value == ""){
			errorMessages.push("Morate uneti ulicu i broj.");
		}
		if (forma.mesto.value == ""){
			errorMessages.push("Morate uneti mesto.");
		}
		if (forma.fiksni.value.length < 6 || !forma.fiksni.value.match(/^\+?[\d\\\/\-\ ]+$/)){
			errorMessages.push("Morate uneti ispravan fiksni telefon.");
		}
		if (forma.mobilni.value.length<9 || !forma.mobilni.value.match(/^\+?[\d\\\/\-\ ]+$/)){
			errorMessages.push("Morate uneti ispravan mobilni telefon.");
		}
		if (forma.email.value == "" || !forma.email.value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)){
			errorMessages.push("Morate uneti ispravnu email adresu.");
		}
		if (forma.terms){
			if (!forma.terms.checked){
				errorMessages.push("Morate prihvatiti uslove članstva.");
			}
		}
		return errorMessages;
	}, 
 	submitForm : function(){
		document.getElementById('errorDiv').innerHTML = "";
		errors = user_cp_form.checkForm();
		if (errors.length>0){
			for(i=0;i<errors.length;i++){
				document.getElementById('errorDiv').innerHTML += '<div class="errorMessage">' + errors[i] + '</div>';
			}
			return false; 
		} else {
			return true;
		}
	},
	showTerms : function(){
		document.getElementById('termsDiv').style.display="block";
	},
 	getHeight : function(obj){
		previousTop = obj.style.top
		previousLeft = obj.style.left
		obj.style.top = "-1500px";
		obj.style.left = "-1500px";
		obj.style.display="block";
		divHeight = obj.offsetHeight;
		obj.style.display="none";
		obj.style.top = previousTop;
		obj.style.left = previousLeft;
		return divHeight;
	}
}
function nop(){
}
window.onload = init

function init(){
	user_cp_form.init();
}

