
var index = webroot+"/server.php?";

Ajax.Responders.register({
	onComplete: function(request, response) {
		showMsg(response.responseJSON._m);
	}
});

function axLogin() {		
	var data = $('fe_login_form').serialize(true);
	new Ajax.Request(index, {
  		method: 'get',
  		parameters: {f:'login', s:session, data:Object.toJSON(data)},
  		onSuccess: function(transport) {
  			jd = transport.responseJSON;   			
  			if (jd.status == 1) {
  				$('cu_menu').hide();
	  			$('cu_menu').update(jd.code.content);	  			
	  			$('cu_menu').appear();
  			} else {  				
  				$('fe_login_form').addClassName('error');	  				
  			}
  			
        }
    });
}

function axShowPasswordReminder() {		
	new Ajax.Request(index, {
  		method: 'get',
  		parameters: {f:'showPasswordReminder', s:session},
  		onSuccess: function(transport) {
  			
  			jd = transport.responseJSON;   			
  			$('cu_menu').hide();
	  		$('cu_menu').update(jd.code.content);	  			
	  		$('cu_menu').appear();
  			
        }
    });
}

function axSendPasswordReminder() {		
	var data = $('fe_login_form').serialize(true);
	new Ajax.Request(index, {
  		method: 'get',
  		parameters: {f:'sendPasswordReminder', s:session, data:Object.toJSON(data)},
  		onSuccess: function(transport) {
  			jd = transport.responseJSON;   			
  			if (jd.status == 1) {
  				$('cu_menu').hide();
	  			$('cu_menu').update(jd.code.content);	  			
	  			$('cu_menu').appear();
  			} else {  				
  				$('fe_login_form').addClassName('error');	  				
  			}
  			
        }
    });
}

function axLogout() {
	new Ajax.Request(index, {
  		method: 'get',
  		parameters: {f:'logout', s:session},
  		onSuccess: function(transport) {
  			jd = transport.responseJSON;   			
  			if (jd.status == 1) {  				
  				location.href=jd.url;
  			} 
        }
    });
}

function axRegister() {
	var data = $('up_account_form').serialize(true);
	new Ajax.Request(index, {
  		method: 'get',
  		parameters: {f:'register', s:session, data:Object.toJSON(data)},
  		onSuccess: function(transport) {
  			jd = transport.responseJSON;   			
  			if (jd.status == 1) {  		
  				location.href=jd.url;
  			} 
  			else {
  				displayErrors('', jd.errors);  				
  			}
        }
    });
}

function axSendSaveAccountForm() {
	var data = $('up_account_form').serialize(true);
	new Ajax.Request(index, {
  		method: 'get',
  		parameters: {f:'register', s:session, data:Object.toJSON(data)},
  		onSuccess: function(transport) {
  			jd = transport.responseJSON;   			
  			if (jd.status == 1) {  		
  				window.setTimeout("location.href=jd.url;", 2000);
  			} 
  			else {
  				displayErrors('', jd.errors);  				
  			}
        }
    });
}

function axSaveGirlToAlbum(girl) {
	new Ajax.Request(index, {
  		method: 'get',
  		parameters: {f:'saveGirlToAlbum', s:session, g:girl},
  		onSuccess: function(transport) {
  			jd = transport.responseJSON;   			
  			if (jd.status == 1) {  				
  				$('save_girl_to_album').fade();
  			} 
        }
    });
}

function axDeleteGirlFromAlbum(girl) {
	new Ajax.Request(index, {
  		method: 'get',
  		parameters: {f:'deleteGirlFromAlbum', s:session, g:girl},
  		onSuccess: function(transport) {
  			jd = transport.responseJSON;   			
  			if (jd.status == 1) {  				
  				$('del_girl_from_album').fade();
  			} 
        }
    });
}

function axShowContactGirl(girl) {	
	$('show_contact_girl_'+girl).hide();
  	$('girl_contact_'+girl).appear();
}

function axHideContactGirl(girl) {	
	$('show_contact_girl_'+girl).appear();
  	$('girl_contact_'+girl).hide();
}

function axSendGirlContactForm(girl) {
	if (confirm("Anfrage wirklich absenden?"))
	{
	
		var data = $('up_contact_girl_form_'+girl).serialize(true);
		new Ajax.Request(index, {
	  		method: 'get',
	  		parameters: {f:'sendGirlContactForm', s:session, data:Object.toJSON(data), g:girl},
	  		onSuccess: function(transport) {
	  			jd = transport.responseJSON;   			
	  			if (jd.status == 1) {  		
	  				$('girl_contact_'+girl).hide();
	  				$('show_contact_girl_'+girl).hide();
	  				
	  				$('girl_contact_'+girl).insert({before:jd.code.contact});
	  			} 
	        }
	    });
	}
}

function sendGirlSearchForm() {
	document.fe_girlsearch.submit();
}

function clearError(element) {
	//alert(element.name);
	var label = $$('label[for='+element.name+']');
	var edit = element.name+"_edit";
	
	if ($(edit)) 	$(edit).remove();
	if (label[0]) 	
	{
		Element.writeAttribute(label[0], 'title', '');
		label[0].removeClassName('error');
	}
	if (element)
	{
		element.removeClassName('error');
		element.onfocus =  function () { };
	}
}

function displayErrors(elements, errors){
	
	/*
	elements.each(function(element) {
			
	//	var label = $$('LABEL[rel='+element+']');
		var label = $$('label[for='+element+']');
       	var edit = element+"_edit";
	
		if ($(edit)) 	$(edit).remove();
		if ($(element)) $(element).removeClassName('error');
		
		if (label[0]) 	Element.writeAttribute(label[0], 'title', '');
		if (label[0]) 	label[0].removeClassName('error');
	});
	*/
       
    if (errors)
       {
       	var e = new Hash(errors);
       	
       	//GLog.write(Object.toJSON(e));
       	
       	e.each(function(pair) {
       		var element = pair.key;
       		var label = $$('label[for='+element+']');
       		var edit = element+"_edit";
       	
 				if ($(element)) 
 				{
 					$(element).addClassName('error');
 					//alert($(element).name);
 					$(element).onfocus = function () { clearError(this) };
 				}
 					
 				if (label[0]) 
 				{
 					label[0].addClassName('error');
 				
 					var code = "<img src=\""+webroot+"/inc/bilder/icons/mini-alert.png\" id=\""+edit+"\" />";
 				
 					if (!$(edit))
 						Element.insert(label[0], {top: code});
 				
 					Element.writeAttribute(label[0], 'title', pair.value);
 				}
		});
		
		return false;
       }
       
       return true;
	}