/* -------------------------------------------------------------------------- */

/**
 * Shows/Hides and enables close links
 */
function initToggle( divId, showId, cancelId )
{
	jQuery('[@id='+ showId +']').bind('click', function(e){
		e.preventDefault();

		jQuery('[@id='+ showId +']').hide();
		jQuery('[@id='+ divId +']').slideDown('slow');
		jQuery('[@id='+ cancelId +']').show();
	});

	jQuery('[@id='+ cancelId +']').bind('click', function(e){
		e.preventDefault();

		jQuery('[@id='+ cancelId +']').hide();
		jQuery('[@id='+ divId +']').slideUp('slow');
		jQuery('[@id='+ showId +']').show();
	});
}

/**
 * Loader
 */
jQuery().ready(function(){
	initToggle( 'divDefineInvite'			, 'showDefineInvite'			, 'cancelDefineInvite' );
	initToggle( 'divDefineMenu'				, 'showDefineMenu'				, 'cancelDefineMenu' );
	initToggle( 'divDefineInterestGroup'	, 'showDefineInterestGroup'		, 'cancelDefineInterestGroup' );
	initToggle( 'divDefineIncluded'			, 'showDefineIncluded'			, 'cancelDefineIncluded' );
	initToggle( 'divDefineNotIncluded'		, 'showDefineNotIncluded'		, 'cancelDefineNotIncluded' );
	initToggle( 'divDefineItinerary'		, 'showDefineItinerary'			, 'cancelDefineItinerary' );
	initToggle( 'divDefineSuggested'		, 'showDefineSuggested'			, 'cancelDefineSuggested' );
	initToggle( 'divDefinePrice'			, 'showDefinePrice'				, 'cancelDefinePrice' );
	initToggle( 'divDefineCustomizeEvent'	, 'showDefineCustomizeEvent'	, 'cancelDefineCustomizeEvent' );
	initToggle( 'divDefineCustomizeAges'	, 'showDefineCustomizeAges'		, 'cancelDefineCustomizeAges' );
});

/* -------------------------------------------------------------------------- */

function selectAllOptions( selectbox )
{
	var i;
	for(i=0;i<=selectbox.options.length-1;i++){
		selectbox.options[i].selected=true;
	}
}

/* -------------------------------------------------------------------------- */

function confirmSubmit( message, act, form, field )
{
	if (!message)
		var msgText = "Está seguro que desea borrar?";
	else
		var msgText = message;

   	if (!act)
   		act='delete';

	if ( confirm( msgText ) == true )
	{
  	    if(form && field)
  	    {
			field.value=act;
			form.submit();
		}
		else
		{
   			document.form1.take_action.value=act;
	   		document.form1.submit();
		}
   }
}
/* -------------------------------------------------------------------------- */

function checkNOT(d,message1,message2)
{
 var counter=0;
 for (i = 0; i < d.elements.length; i++) {
   if (d.elements[i].type == "checkbox" && d.elements[i].checked == true ) {
		counter=counter+1;
   }
 }
 if (counter==0){
	 if (message1)
	 	alert(message1);
	 else
	    alert("Por favor haga una selección primero!");
 }else{
	 if (confirm('Está seguro')) {
		 d.take_action.value=''; d.action.value='admin_resend';
		 d.submit();
	 }
 }
}
/* -------------------------------------------------------------------------- */

function checkAll(d,message1,message2) {
 var counter=0;
 for (i = 0; i < d.elements.length; i++) {
   if (d.elements[i].type == "checkbox" && d.elements[i].checked == true ) {
		counter=counter+1;
   }
 }
 if (counter==0){
	 if (message1)
	 	alert(message1);
	 else
	    alert("Seleccione el item que desea editar primero!");
 } else if (counter!=1){
	 if (message2)
	 	alert(message2);
  	 else
   	    alert("Sólo se puede editar un item por vez!");
 }else{
	 d.submit();
 }
}

/* -------------------------------------------------------------------------- */

function submitForm(theform) {
  var status = AjaxRequest.submit(
    theform
    ,{
      'onSuccess':function(req){ alert(req.responseText); }
    }
  );
  return status;
}

/* -------------------------------------------------------------------------- */

function submitForm2(theform, currentContainerId, resultContainerId, resultId )
{
	var status = AjaxRequest.submit( theform, {
		'onSuccess': function( req ){
			jQuery('[@id='+ resultId +']').html( req.responseText );
			jQuery('[@id='+ currentContainerId +']').slideUp();
			jQuery('[@id='+ resultContainerId +']').slideDown();
		}
	});

	return status;
}

/* -------------------------------------------------------------------------- */

function divRequest(url,div) {
AjaxRequest.get({
   'url':url,
   'onSuccess':function(req){ document.getElementById(div).innerHTML =req.responseText; }
  });
}

/* -------------------------------------------------------------------------- */

/**
 * RATING
 */
function create_ratings(rate,total,canvote,enabled,disabled,id_field){
	for(i=1;i<=total;i++) {
		document.write('<img src="');
		if (rate<i)
			document.write(disabled);
		else
			document.write(enabled);
		document.write('" id="'+id_field+i+'" ');
		if (canvote){
			document.write('style="cursor: pointer;" onclick="rate('+i+','+total+',1,\''+enabled+'\',\''+disabled+'\',\''+id_field+'\');" ');
			document.write('onmouseover="rate('+i+','+total+',0,\''+enabled+'\',\''+disabled+'\',\''+id_field+'\');"');
			document.write('onmouseout="mouseout('+total+',\''+enabled+'\',\''+disabled+'\',\''+id_field+'\');"');
		}
   	    document.write('>');
	}
	document.write('<input name="'+id_field+'" type="hidden" id="'+id_field+'" value="'+rate+'">');

}

function mouseout(total,enabled,disabled,id_field){
	for(i=1;i<=total;i++)
		if (document.getElementById(id_field).value<i)
			document.getElementById(id_field+i).src=disabled;
		else
			document.getElementById(id_field+i).src=enabled;

}

function rate(rate,total,canvote,enabled,disabled,id_field){

	for(i=1;i<=total;i++) {
		if (rate<i)
			document.getElementById(id_field+i).src=disabled;
		else
			document.getElementById(id_field+i).src=enabled;
	}
	if (canvote)
		document.getElementById(id_field).value=rate;
}

/* -------------------------------------------------------------------------- */

function open_close(get_id){
	if (document.getElementById(get_id).style.display=='block')
		document.getElementById(get_id).style.display='none';
	else
		document.getElementById(get_id).style.display='block';
}

/* -------------------------------------------------------------------------- */

function setInnerHTML(div_id, value)
{
	var dstDiv = document.getElementById(div_id);
	dstDiv.innerHTML = value;
}

/* -------------------------------------------------------------------------- */

function postcomment_box(get_id,c,id){
	 open_close('postcomment_'+get_id);
	 open_close('reply_button_'+get_id);

		var innerHTMLContent = '\
		<form name="form2'+get_id+'" action="ajax.php" method="post" target="_blank" onSubmit="submitForm(this);return false;">\
			<input type="hidden" name="act" value="comments_post">\
			<input type="hidden" name="for" value="'+id+'">\
			<input type="hidden" name="type" value="'+c+'">\
			<input type="hidden" name="parent" value="'+get_id+'">\
			<textarea  name="html" style="width: 97%; height: 65px; display: block;"></textarea>\
			\
			<input align="right" type="submit" name="add_comment_button" value="Post Comment">\
			<input align="right" type="button" name="discard_comment_button"\
								value="Discard" '  + '\
								onclick="open_close(\'reply_button_'+get_id+'\'); open_close(\'postcomment_'+get_id+'\'); ">\
		</form>';

		setInnerHTML('postcomment_'+get_id, innerHTMLContent);
}

/* -------------------------------------------------------------------------- */

function wopen(url, name, w, h)
{
  // Fudge factors for window decoration space.
  // In my tests these work well on all platforms & browsers.
  w += 9;
  h += 56;
  wleft = (screen.width - w) / 2;
  wtop = (screen.height - h) / 2;
  var win = window.open(url,
    name,
    'width=' + w + ', height=' + h + ', ' +
    'left=' + wleft + ', top=' + wtop + ', ' +
    'location=no, menubar=no, ' +
    'status=no, toolbar=no, scrollbars=no, resizable=no');
  // Just in case width and height are ignored
  win.resizeTo(w, h);
  // Just in case left and top are ignored
  win.moveTo(wleft, wtop);
  win.focus();
}

/* -------------------------------------------------------------------------- */

function selectalloptions(selectbox){
	var i;
	for(i=selectbox.options.length-1;i>=0;i--){
		selectbox.options[i].selected=true;
	}
}

/* -------------------------------------------------------------------------- */

serializeForm = function(theform) {
	var els = theform.elements;
	var len = els.length;
	var queryString = "";
	this.addField =
		function(name,value) {
			if (queryString.length>0) {
				queryString += "&";
			}
			queryString += encodeURIComponent(name) + "=" + encodeURIComponent(value);
		};
	for (var i=0; i<len; i++) {
		var el = els[i];
		if (!el.disabled) {
			switch(el.type) {
				case 'text': case 'password': case 'hidden': case 'textarea':
					this.addField(el.name,el.value);
					break;
				case 'select-one':
					if (el.selectedIndex>=0) {
						this.addField(el.name,el.options[el.selectedIndex].value);
					}
					break;
				case 'select-multiple':
					for (var j=0; j<el.options.length; j++) {
						if (el.options[j].selected) {
							this.addField(el.name,el.options[j].value);
						}
					}
					break;
				case 'checkbox': case 'radio':
					if (el.checked) {
						this.addField(el.name,el.value);
					}
					break;
			}
		}
	}
	return queryString;
};


/* -------------------------------------------------------------------------- */

function clearText(thefield)
{
	if (thefield.defaultValue==thefield.value)
		thefield.value = ""
}

function setBackText(thefield)
{
	if (thefield.value=="")
		thefield.value = thefield.defaultValue;
}

function login_user(submited_form)
{
	var actionId	= jQuery("input[@name=action]", submited_form).val();
	var username	= jQuery("input[@name=username]", submited_form).val();
	var password	= jQuery("input[@name=pword]", submited_form).val();

	jQuery.getJSON(
		'/index.php?validator=true', {
			action 		: actionId,
			username	: username,
			pword		: password
		},
		function( json ){
			if( json.errors && json.errors[ actionId ] )
			{
				jQuery("[@id=error_log]").html( json.errors.login.join('<br>') ).slideDown();

				setTimeout(function() {
					jQuery("[@id=error_log]").slideUp().empty();
				}, 8000 );
			}
			else
			{
				submited_form.submit();
			}
		}
	);
}

/* -------------------------------------------------------------------------- */

function common()
{
	/* ---------------------------------------------------------------------- */

	// LOGIN

	$(".login input").focus(function(){
		clearText(this);
	});

	$(".login input").blur(function(){
		setBackText(this);
	});

	$("form#top_login_form1 input").livequery("keydown",function(e){
		if ( e.keyCode == 13 )
		{
			if(this.parentNode.tagName == "FORM")
				login_user( this.parentNode );
			else if(this.parentNode.parentNode.tagName=="FORM")
				login_user( this.parentNode.parentNode );
		}
	});

	$("form#top_login_form1").livequery("submit",function(){
		login_user(this);
		return false;
	});

	/* ---------------------------------------------------------------------- */

	// PROFILEs

	$(".profile_row .profile").livequery("mouseover",function(){
		$(this).css({borderColor:'#FFE3D6',backgroundColor:'#FFF9F6'});
	});

	$(".profile_row .profile").livequery("mouseout",function(){
		$(this).css({borderColor:'#CCC7E7',backgroundColor:'#F8F7FB'});
	});

	/* ---------------------------------------------------------------------- */

	// WISH items

	$(".wish_item .readmore").livequery("click",function(){
		if ($("#"+this.parentNode.parentNode.id+" .description").css('display')=='none')
			$("#"+this.parentNode.parentNode.id+" .description").slideDown("fast");
		else
			$("#"+this.parentNode.parentNode.id+" .description").slideUp("fast");

	});

	$(".tabbed_nav a").livequery("click",function(){
		$("#wish_hobby_keywords_cont").html('');
		$("#wish_hobby_keywords_cont").css({display:'none'});
	});

	function hobby_keys( id_type )
	{
		var field = ( id_type == 2 )
			? 'hobby_keywords'
			: 'wish_keywords';

		if ( $('[@id='+ field +']').val().length > 3 )
		{
			$("#wish_hobby_keywords_cont_"+ id_type).slideUp().empty().hide();

			$.get( '/index.php', {
				c			: 'ajax',
				s			: 'fetch_wish_keywords',
				template	: 'ajax',
				id_type		: id_type,
				keywords	: $('[@id='+ field +']').val()
			}, function( msg ) {
				$("#wish_hobby_keywords_cont_"+ id_type).html( msg ).slideDown();

				hobby_links( id_type );
			});
		}
		else
		{
			$("#wish_hobby_keywords_cont_"+ id_type).slideUp().empty().hide();
		}
	}

	function hobby_links( id_type )
	{
		$("#wish_hobby_keywords_cont_"+ id_type +" a").livequery("click", function() {
			var field = ( id_type == 2 )
				? 'hobby_keywords'
				: 'wish_keywords';

			$('[@id='+ field +']').val( $(this).attr("rel") );

			$("#wish_hobby_keywords_cont_"+ id_type).slideUp().empty().hide();

			return false;
		});
	}

	//admin prices
	$(".#price_discount_2a").livequery("click",function(){
		$("#price_2_cont").css({display:"block"});
		$("#discount_2_cont").css({display:"none"});

	});

	$(".#price_discount_2b").livequery("click",function(){
		$("#price_2_cont").css({display:"none"});
		$("#discount_2_cont").css({display:"block"});
	});


	$(".#price_discount_2c").livequery("click",function(){
		$("#price_2_cont").css({display:"none"});
		$("#discount_2_cont").css({display:"none"});
	});



	$(".#menu_price_discount_2a").livequery("click",function(){
		$("#menu_price_2_cont").css({display:"block"});
		$("#menu_discount_2_cont").css({display:"none"});

	});

	$(".#menu_price_discount_2b").livequery("click",function(){
		$("#menu_price_2_cont").css({display:"none"});
		$("#menu_discount_2_cont").css({display:"block"});
	});


	$(".#menu_price_discount_2c").livequery("click",function(){
		$("#menu_price_2_cont").css({display:"none"});
		$("#menu_discount_2_cont").css({display:"none"});
	});



	//admin prices
	$(".#price_discount_3a").livequery("click",function(){
		$("#price_3_cont").css({display:"block"});
		$("#discount_3_cont").css({display:"none"});
	});

	$(".#price_discount_3b").livequery("click",function(){
		$("#price_3_cont").css({display:"none"});
		$("#discount_3_cont").css({display:"block"});
	});

	$(".#price_discount_3c").livequery("click",function(){
		$("#price_3_cont").css({display:"none"});
		$("#discount_3_cont").css({display:"none"});
	});



	$(".#menu_price_discount_3a").livequery("click",function(){
		$("#menu_price_3_cont").css({display:"block"});
		$("#menu_discount_3_cont").css({display:"none"});
	});

	$(".#menu_price_discount_3b").livequery("click",function(){
		$("#menu_price_3_cont").css({display:"none"});
		$("#menu_discount_3_cont").css({display:"block"});
	});

	$(".#menu_price_discount_3c").livequery("click",function(){
		$("#menu_price_3_cont").css({display:"none"});
		$("#menu_discount_3_cont").css({display:"none"});
	});



	function switch_payment_method(value){
		switch (value){
		default:

			$('#method_cont1').css({display:'none'});
			$('#method_cont2').css({display:'none'});
			$('#method_cont3').css({display:'none'});
			break;
		case '1':

			$('#method_cont1').css({display:'block'});
			$('#method_cont2').css({display:'none'});
			$('#method_cont3').css({display:'none'});
			break;
		case '2':

			$('#method_cont1').css({display:'none'});
			$('#method_cont2').css({display:'block'});
			$('#method_cont3').css({display:'none'});
			break;
		case '3':

			$('#method_cont1').css({display:'none'});
			$('#method_cont2').css({display:'none'});
			$('#method_cont3').css({display:'block'});
			break;
		}
	}

	//set default payment method
	$('.id_payment_method').livequery("click",function(){
		switch_payment_method($(this).attr('value'));

	});

	//guided tour here

	$('#tour_cont #tour #col_left a').livequery("click",function(){

		$("#tour_cont #tour_title div").css({display:'none'});
		$("#tour_cont #tour_title div#tit"+$(this).attr("rel")).css({display:'block'});

		$('#tour_cont #tour #col_left a').removeClass();
		$(this).addClass('selected');


		$("#tour_cont #tour #col_right div").css({display:'none'});
		$("#tour_cont #tour #col_right div#cont"+$(this).attr("rel")).css({display:'block'});

		return false;
	});
}

$(document).livequery( common );

jQuery().ready(function(){
	var selectedStep = jQuery('[@id=tour] [@id=col_left] a[@class*=selected]').attr('rel');
	jQuery('[@id=tour_title] div[@id=tit'+ selectedStep +']').show();
	jQuery('[@id=tour] [@id=col_right] div[@id=cont'+ selectedStep +']').show();
});






