// USERS //
function user_edit(){
	var validator = new Validation('editform', {onSubmit : false});
	if (validator.validate()) {
		new Ajax.Request('/Ajax&module=Users&method=user_edit', {
		  parameters : $('editform').serialize(true),
		  onSuccess  : function(t, json) {
		  	if (json.error == 'yes') {
				$('errormsg').update(json.notice);
				$('errormsg').show();
		  	}else{
		  		window.location.href = json.redirect;
		  	}
		  }
		});
	}
}

function redirectProfilePage(redUrl) {
	window.location.href = redUrl;	
}
function user_register(){
	var validator = new Validation('registerform', {onSubmit : false});
	if (validator.validate()) {
		$('errormsg','registerform','login','cartnav').invoke('hide');
		$('register_user').show();
		setTimeout(function(){register();},2000);
	}else{
		show_error_registerform();
	}
}

function show_error_registerform(){
	$('register_user').hide();
	$('errormsg','registerform','login','cartnav').invoke('show');
	if($('advice-required-address')) {
		$('advice-required-address').hide();
	}
	$('errormsg').show();
	hide_tooltip();
}

function register(){
	new Ajax.Request('/Ajax&module=Users&method=user_register', {
	  parameters : $('registerform').serialize(true),
	  onSuccess  : function(t, json) {
	  	if (json.error == 'yes') {
			show_error_registerform();
			$('errormsg').update(json.notice);
	  	}else{
	  		window.location.href = json.redirect;
	  	}
	  }
	});
}

function user_save_address(path,cont,action){
	var validator = new Validation('add_addressform', {onSubmit : false});
	if (validator.validate()) {
		new Ajax.Request(path+cont+'/'+action, {
		  parameters : $('add_addressform').serialize(true),
		  onSuccess  : function(t) {
			  if (t.responseText == 'addressInserted') 
			  {
				  	//window.location.href = path+'user'+'/address';
					window.location.href = path+'cart/';
			 }
			else
			 {
		  		window.location.href = path+'user'+'/profile/';
			 }
		  }
		});
	}
}

function user_show_address(path,cont,action) {
	if ($F('delivery_address') != '0') {
		$('add_addressform').reset();
		$('add').hide();
		$('edit_save_address').show();
		$('loader').show();
		new Ajax.Request(path+cont+'/'+action+'/id/'+$F('delivery_address'), {
		  onSuccess  : function(t, json) {
		  	$('edit_save_address').hide();
			$('loader').hide();
		  	$('edit').show();
			/* Gender */
		  	if(json[0].gender == 'm') $('m').checked = true; else $('f').checked = true;

			$('edit_address_id').value = json[0].id;
			$('edit_firstname').value = json[0].firstname;
			$('edit_lastname').value = json[0].lastname;
			$('edit_address').value = json[0].address;
			$('edit_address_number').value = json[0].address_number;
			$('edit_city').value    = json[0].city;
			$('edit_company').value    = json[0].company;
			$('edit_postcode').value = json[0].postcode;

			/* Country */
			$$('#edit_country option').each(function(item) {
				if (item.value == json[0].country) {
					item.selected = true;
				}
			});
		  }
		});
	}else{
		user_new_address();
	}
}

function change_iaddress_in_checkout(path,cont,action)
{
	if ($F('invoice_address') != '0') {
		var addresstext = '';
	
		new Ajax.Request(path+cont+'/'+action+'/id/'+$F('invoice_address'), {
		  onSuccess  : function(t, json) {
		  addresstext = addresstext + json.company + "T.a.v.";
		  if(json.gender=='m') addresstext = addresstext + ' dhr. ';
		  if(json.gender=='f') addresstext = addresstext + ' mevr. ';
		  addresstext = addresstext + json.firstname + ' ';
		  addresstext = addresstext + json.lastname + '<br/>';
		  addresstext = addresstext + json.address + ' ';
		  addresstext = addresstext + json.address_number + '<br/>';
		  addresstext = addresstext + json.postcode + ' ';
		  addresstext = addresstext + json.city + '<br/>';
		  addresstext = addresstext + json.country_title + '<br/>';
		  $('invoiceaddress').update(addresstext);
		   $('invoiceaddress_options').hide();
		  $('invoiceaddress').show();
		  }
		});
	}
}


function change_daddress_in_checkout(path,cont,action)
{
	if ($F('delivery_address') != '0') {
		var addresstext = '';
	
		new Ajax.Request(path+cont+'/'+action+'/id/'+$F('delivery_address'), {
		  onSuccess  : function(t, json) {
		  addresstext = addresstext + json.company + "T.a.v.";
		  if(json.gender=='m') addresstext = addresstext + ' dhr. ';
		  if(json.gender=='f') addresstext = addresstext + ' mevr. ';
		  addresstext = addresstext + json.firstname + ' ';
		  addresstext = addresstext + json.lastname + '<br/>';
		  addresstext = addresstext + json.address + ' ';
		  addresstext = addresstext + json.address_number + '<br/>';
		  addresstext = addresstext + json.postcode + ' ';
		  addresstext = addresstext + json.city + '<br/>';
		  addresstext = addresstext + json.country_title + '<br/>';
		  $('deliveryaddress').update(addresstext);
		  $('deliveryaddress_options').hide();
		  $('deliveryaddress').show();
		  }
		});
	}
}


function user_new_address() {
	$('edit').hide();
	$('edit_addressform').reset();
	$('add').show();
}

function user_delete_address(path,cont,action){
	if ($F('delivery_address') != '0') {
		if (confirm(js_msg_addressbook_delete_address)) {
			if ($F('edit_address_id') != '') {
				new Ajax.Request(path+cont+'/'+action+'/id/'+$F('delivery_address'), {
				  onSuccess: function(t) {
				     if (t.responseText == 'Deleted!') {
				     	window.location.reload(true)
				     }
				  }
				});
			}
		}
	}
}

function user_select_address(path,cont,action) {
	if ($F('delivery_address') != '0') {
		$('loader').show();
		new Ajax.Request(path+cont+'/'+action+'/address_id/'+$F('delivery_address'), {
		  onSuccess: function(t) {
		     if (t.responseText == 'Updated') {
				 $('loader').hide();
			     window.location.href = path+'user'+'/profile/';
		     }
			 else if(t.responseText == 'redirect') {
				 $('loader').hide();
			     window.location.href = path+'cart'+'/checkout/';
		     }
			 else if(t.responseText == 'addressUpdated') {
				 $('loader').hide();
				 window.location.href = path+'cart/';
			     //window.location.href = path+'user'+'/address';
		     }
		  }
		});
	}
}

function user_edit_address(path,cont,action){
	if ($F('edit_address_id') != '') {
		new Ajax.Request(path+cont+'/'+action+'/address_id/'+$F('delivery_address'), {
		  parameters : $('edit_addressform').serialize(true),
		  onSuccess: function(t) {
		     if (t.responseText == 'Updated') {
		     	if (confirm(js_msg_addressbook_edit_address)) {
		     		user_select_address(path,cont,'savedeliveryaddress',$F('edit_address_id'));
		     	}
		     }
		  }
		});
	}
}

function user_login(){
	$('register','error_login','loginform','cartnav').invoke('hide');
	if($('redirect')) $('redirect').hide();
	$('validate_login').show();
	setTimeout(function(){login();},2000);
}

function login(){
	new Ajax.Request('/Ajax&module=Users&method=user_login', {
	  parameters: $('loginform').serialize(true),
	  onSuccess: function(t) {
	  	if (t.responseText == 'error!') {
			$('cartnav').hide();
			$('validate_login').hide();
			$('loginform').show()
			$('error_login').show();
	  	}else{
	  		window.location.href = "/nl/Winkelwagen/Afrekenen";
	  	}
	  }
	});
}
function user_logout() {
	new Ajax.Request('/Ajax&module=Users&method=user_logout', {
	  onSuccess: function(t) {
	      window.location.href = "/nl/home";
	  }
	});
}

function user_password_request(){
	serialized_data     = $('requestform').serialize(true);
	var validator = new Validation('requestform', {onSubmit : false});
	if (validator.validate()) {
		$('notice_error').hide();
		new Ajax.Request('/Ajax&module=Users&method=user_password_request', {
		  parameters	 : serialized_data,
		  onSuccess: function(t, json) {
		  	if (json.error == 'yes') {
				$('notice_error').update(json.notice);
				$('notice_error').show();
		  	}else{
		  		$('request').hide();
		  		$('notice_ok').update(json.notice);
		  		$('notice_ok').show();
		  	}
		  }
		});
	}else{
		$('notice_error').show();
	}
}

function comment_user(){
	serialized_data     = $('commentform').serialize(true);
	var validator = new Validation('commentform', {onSubmit : false});
	if (validator.validate()) {
		$('notice_error').hide();
		new Ajax.Request(siteurl+'guestbook/commentuser/', {
		  parameters	 : serialized_data,
		  onSuccess: function(t, json) {
		  	if (json.error == 'yes') {
				$('notice_error').update(json.notice);
				$('notice_error').show();
		  	}else{
		  		$('comment','comment_desc','cartnav').invoke('hide');
		  		$('notice_ok').update(json.notice);
		  		$('notice_ok').show();
		  	}
		  }
		});
	}else{
		$('notice_error').show();
	}
}

// PRODUCT_THUMBNAILS //
function show_thumb(medium,large) {
//	$('img-big').update();
	$('img-big').src=  medium ;
	//$('image_link').update('<a  href="javascript:show_popup(\''+large+'\',\'\');" title="Groter afbeelding">Grotere afbeelding</a>');
	$('image_link').href= 'javascript:show_popup(\''+large+'\',\'\');';
}

// SEND A FRIEND //
function saf_send(){
	serialized_data = $('safform').serialize(true);
	var validator = new Validation('safform', {onSubmit : false});
	if (validator.validate()) {
		$('notice_error').hide();
		new Ajax.Request(siteurl+'products/sendafriend/', {
		  parameters	 : serialized_data,
		  onSuccess: function(t) {
		  	if(t.responseText == 'Sent!') {
		  		alert('Uw e-mail is verzonden naar `'+ $F('name_to') +'`.');
		  		$('safform').reset();
		  		toggle_fade('saf','info');
		  	}
		  }
		});
	}else{
		$('notice_error').show();
	}
}
function toggle_fade(el1, el2){
	
	 Effect.Fade(el1, { duration:1});
	 Effect.Appear(el2, {duration:1, from:0, to:1});
}


// Get user's query.
function send_query(){
	var validator = new Validation('queryform', {onSubmit : false});
    $('success_msg').innerHTML='';
	if (validator.validate()) {
		$('errormsg','queryform','cartnav').invoke('hide');
		setTimeout(function(){tjquery();},200);
	}else{
		show_error_queryform();
	}
}


function show_error_queryform(){
	$('errormsg','queryform','cartnav').invoke('show');
	if($('advice-required-address')) {
		$('advice-required-address').hide();
	}
	$('errormsg').show();
	hide_tooltip();
}

function tjquery(){
    $('queryform').action = '/Ajax&module=Users&method=send_query';
    $('queryform').submit(); 
    
	/*new Ajax.Request(, {
	  parameters : $('queryform').serialize(true),
	  onSuccess  : function(t, json) {
	  	if (json.error == 'yes') {
			show_error_queryform();
            $('success_msg').hide();
			$('errormsg').update(json.notice);
	  	}else{
	  		window.location.href = json.redirect;
	  	}
	  }
	}); */
}

function submitform() { 
 	var valid  = new Validation('senseform', {onSubmit:true});
    var result = valid.validate();
    if(result){document.senseform.submit();}
}
function validateform(formname,function_name,path,cont,action) { 

 	var valid  = new Validation(formname, {onSubmit:true});
    var result = valid.validate();
	if(result){ 
	var string = function_name+"('"+path+"','"+cont+"','"+action+"');";
		eval(string);
	}
}

/**
 * 
 * Purpose  		: To reload the page on change event for multi-purpose use
 * Added By 		: JG
 * Creation Date 	: 1st April, 2009
 * @param {Object} url
 * @param {Object} cntName
 * @param {Object} type
 * @param {Object} appendVars
 * 
 * Last Modified	: 14th April, 2009
 * 
 */
function reLoadPage(url,cntName,type,appendVars,formObj)
{
	if ($F(cntName) != "" ) {
		if(appendVars=='yes'){
			if(cntName == 'topCmbPaging' || cntName == 'bottomCmbPaging'){
				if($F(cntName) == 1 ){
					paramVars = "";
				}else{
						paramVars = "page"+$F(cntName)+ '/';	
				}
			}
		window.location.href = url+paramVars;
		} else {
			if(cntName == 'topCmbPaging' || cntName == 'bottomCmbPaging'){
				if($F(cntName) == 1 ){
					paramVars = "";
				}else{
						paramVars = "page"+$F(cntName)+ '/';	
				}
			}else{
				paramVars = "";
			}
			formObj.action=url+paramVars;
			formObj.submit();
		}
		
		
	} else {
      $(cntName).focus();
      return false;
    }
}

function addtowishlist(productid,userid){
		$('loader').className = 'wait';
		new Ajax.Request(siteurl+'products/wishlist/productid/'+ productid +'/userid/'+ userid, {
		  onSuccess: function(t) {
		  	if(t.responseText == 'added') {
		  		alert('This product is added in your wishlist.');
		  	}else if(t.responseText == 'exsist') {
		  		alert('This product is already exsist in your wishlist.');
		  	}
		  	$('loader').className = '';
		  }
		});
	
	return false;
}

function removewishlist(id){
		new Ajax.Request(siteurl+'products/wishlist/removeid/'+ id, {
		  onSuccess: function(t) {
		  	if(t.responseText == 'remove') {
		  		window.location.reload(true);
		  	}

		  }
		});
	
	return false;	
}
