// URL of the server page.
var serverURL = "/callings.syndicate.php";

function callingRequest(params,onCompletMethode){
	new Ajax.Request(serverURL, {method: 'post', parameters: params , asynchronous: true, onComplete: eval(onCompletMethode) }); 
}

/*
 * Login
 */
function checkBuyerLogin(){
	if (document.login.username.value=='' || document.login.password.value==''){
		document.getElementById('response').innerHTML=ERROR_MESSAGES['401'];
		document.login.reset();
	}else{
		document.login.action='callings.syndicate.php?action=checkBuyerLogin&buyer_user='+document.login.username.value+'&buyer_pass='+document.login.password.value
		document.login.submit();
	}
}

/*
 * Registration: CheckExistance (Username / EMail / Mandatory Fields)
 */
function checkExistance(userinput){

	var validInput = true;
	
	if (userinput.name=='email'){
		if (userinput.value=='' || userinput.value.match('@')==null ||  userinput.value.match(' ')!=null){
			document.getElementById('response').innerHTML=ERROR_MESSAGES['107'];
			userinput.className = 'text_error';
			validInput = false;
		}else{
			callingRequest('?action=checkExistanceEmailadress&buyer_email='+userinput.value+'','replyExistanceEmailadress');
		}
	}else if (userinput.name=='username'){
		if (userinput.value==''){
			document.getElementById('response').innerHTML=ERROR_MESSAGES['108'];
			userinput.className = 'text_error';
			validInput = false;
		}else if(userinput.value.length<8){
			document.getElementById('response').innerHTML=ERROR_MESSAGES['110'];
			userinput.className = 'text_error';
			validInput = false;
		}else{
			callingRequest('?action=checkExistanceUsername&buyer_user='+userinput.value+'','replyExistanceUsername');
		}
	}else if (userinput.value==''){
		document.getElementById('response').innerHTML=ERROR_MESSAGES['111'];
		userinput.className = 'text_error';
		validInput = false;
	}else{
		document.getElementById('response').innerHTML='';
		userinput.className = 'text';
	}
	
	return validInput;
}


function replyExistanceUsername(request){
	request = request.responseText;
	if (request!='0'){
		document.getElementById('response').innerHTML = ERROR_MESSAGES['109'];
		document.registration.username.className = 'text_error';
	}else{
		document.registration.username.className = 'text';
	}
}


function replyExistanceEmailadress(request){
	request = request.responseText;
	if (request!='0'){
		document.getElementById('response').innerHTML = ERROR_MESSAGES['106'];
		document.registration.email.className = 'text_error';		
	}else{
		document.registration.email.className = 'text';
	}
}

/*
 * Registration: Password && Retype-Password
 */
function checkPassword(userinput){
	
	var validInput = true;
	
	if (document.registration.password.value==''){
		document.getElementById('response').innerHTML=ERROR_MESSAGES['102'];
		document.registration.password.value.className = 'text_error';
		validInput = false;
	}else if(document.registration.password.value.length<8){
		document.getElementById('response').innerHTML=ERROR_MESSAGES['103'];
		document.registration.password.value.className = 'text_error';
		validInput = false;
	}else if (document.registration.password.value!=document.registration.retypepassword.value){
		document.getElementById('response').innerHTML=ERROR_MESSAGES['104'];
		document.registration.password.value.className = 'text_error';
		document.registration.retypepassword.value.className = 'text_error';
		validInput = false;
	}else{
		document.getElementById('response').innerHTML='';
		document.registration.password.value.className = 'text';
		document.registration.retypepassword.value.className = 'text';
	}
	return validInput;
}

/*
 * Registration:
 */
function checkRegistration(){
	var userinput = document.registration.getElementsByTagName('input');
	var validregistration = true;
	for (i=0;i<userinput.length;i++){
		if (userinput[i].type=='text' && userinput[i].name!='company' && userinput[i].name!='businesstype' && userinput[i].name!='jobtitle'){
			if (!checkExistance(userinput[i])){
				validregistration = false;
			}
		}else if(userinput[i].type=='password'){
			if (!checkPassword(userinput[i])){
				validregistration = false;
			}
		}
	}
	
	if (!validregistration){
		document.getElementById('response').innerHTML=ERROR_MESSAGES['105'];
	}else{
		//document.getElementById('response').innerHTML=CONFIRM_MESSAGES['100'];
		document.registration.action='callings.syndicate.php?action=setBuyerRegistration&reloadPage=shoppingcartprint.php';
		document.registration.submit();
	}
}