function findindex(val,tag,split){
		foundOffsethead=val.indexOf(tag+split);
		foundOffsetend=val.lastIndexOf(split+tag);
		foundOffsetmid=val.indexOf(split+tag+split);
		if(foundOffsethead==0){
			foundOffset=foundOffsethead;
		}else if(foundOffsetend==val.length-tag.length-1){
			foundOffset=foundOffsetend;
		}else{
			foundOffset=foundOffsetmid;
			if(foundOffset!=-1){
				foundOffset+=1;
			}
		}
		return foundOffset;
}

$(function(){
 	$(".editshow").live('click',function(){
 		var url=$(this).attr("url");
  		$("#showblock").dialog({
  			title:"Edit bookmark",
			autoOpen: false,
			autoHeight: true,
			width:500,
			modal: false,
			minHeight:50
		});	
  		$("#showblock").html("Loading..");
		$.get("/edit?url="+url,function(data){
				$("#showblock").html(data);
		});
		$("#showblock").dialog('open');
		return false;
	});
 	
 	$(".savebm").live('click',function(){
 		var url=$(this).attr("url");
  		$("#showblock").dialog({
  			title:"Save bookmark",
			autoOpen: false,
			autoHeight: true,
			width:500,
			modal: false,
			minHeight:50
		});	
  		$("#showblock").html("Loading..");
		$.get("/save?url="+url,function(data){
				$("#showblock").html(data);
		});
		$("#showblock").dialog('open');
		return false;
	});
 	
 	$(".deleteshow").live('click',function(){
 		var url=$(this).attr("url");
  		$("#showblock").dialog({
			autoOpen: false,
			title:"Delete bookmark",
			autoHeight: true,
			width:500,
			modal: false,
			minHeight:50
		});	
  		$("#showblock").html("Loading..");
		$.get("/delete?url="+url,function(data){
				$("#showblock").html(data);
		});		
		$("#showblock").dialog('open');
		return false;
	});
 	
 	$(".shareshow").live('click',function(){
 		var url=$(this).attr("url");
  		$("#showblock").dialog({
			autoOpen: false,
			title:"Share bookmark",
			autoHeight: true,
			width:500,
			modal: false,
			minHeight:50
		});	
  		$("#showblock").html("Loading..");
		$.get("/bookmark/share?url="+url,function(data){
				$("#showblock").html(data);
		});		
		$("#showblock").dialog('open');
		return false;
	});
 	
 	$(".del-net").live('click',function(){
 		var name=$(this).attr("name");
 		 $.post(
 				 "/network/del", 
 				 {name: name},
 				 function(data){
 					 if(data.status==true){
 						location.href ="/network/"+data.loginuser+"?conformdel="+data.user;
 					 }else{
 						 $("#frien").html("<h2>"+data.result+"</h2>");
 					 }
 				 },
 				'json'
 		); 
		return false;
	});
 	$(".ed-net").live('click',function(){
 		$(this).next('form').toggleClass('hidden');
		return false;
	});
 	
 	
 	$("#addMember").validate({
		 wrapper: "div"
	});
 	$('#addMember').ajaxForm({
 		dataType:  'json', 
 	 	success:function(data) {        		
         		if(data.status==true){
         			location.href ="/network/"+data.loginuser+"?conform="+data.user;
         		}else{
         			$("#addNetworkName").after('<div><label class="error">'+data.result+'</label><div>');
         		}
         		return false;
         }
     });
 	$('#delicious-form').ajaxForm({
 		dataType:  'json',
		beforeSubmit: function(){
			inhtml='<form><div class="loadinfo"><span class="load"></span>Importing bookmarks. it may take a long time, especially if you have a lot of bookmarks.</div></form>';
			$("#loadwait").html(inhtml);
			$("#loadwait").show();
			$("#delicious-form").hide();
			return true;
		},
		error: function(){
			$("#loadwait").hide();
 			$("#delicious-form").show();
			$("#errorMsg").html("An error occur, please try it again later.");
		},
	 	success:function(data) {        		
     		if(data.status=="ok"){
     			location.href="/"+data.user+"?conform="+data.number;    			
     		}else if(data.status=="empty"){
     			$("#errorMsg").html("You have entered an invalid username or password.");
     			$("#loadwait").hide();
     			$("#delicious-form").show();
     		}else if(data.status=="busy"){
     			$("#errorMsg").html("The server is busy, plase try it later.");
     			$("#loadwait").hide();
     			$("#delicious-form").show();
     		}else{
     			$("#errorMsg").html("An error occur, please make sure that you have entered a valid username and password.");
     			$("#loadwait").hide();
     			$("#delicious-form").show();
     		}
     		return false;
		}
     });
 	$('#chnage-deli').live('click',function(){
 		$('.load-form').show();
 		return false;
 	});
 	
	$("#login-form").validate();
	$("#register_form").validate({
		errorElement:"div",
		errorClass:"error",
		errorPlacement: function(error, element) {
		 $("#msg_for_username").hide();
	     error.appendTo( element.parent("div"));
	   }
	});
	$('#edit-form').validate({
		errorElement:"div",
		errorClass:"validate-error",
		errorPlacement: function(error, element) {
	     error.appendTo( element.parent("div"));
	   }
	});
	$('#setting-form').validate({
		errorElement:"div",
		errorClass:"validate-error"
	});
	$(".chrometool").button().click(function(){
		window.open("https://chrome.google.com/webstore/detail/clbocefoomphifkbdijfhbdfceackofe");
		return false;
	});
	$(".firefoxtool").button();
	$(".add-bd-button").button().click(function(){
		location.href ="/bundle/create";
		return false;
	});
	$(".bm-link").button().click(function(){
		location.href ="/bookmark";
		return false;
	});
	$(".addnt-button").button().live('click',function(){
		var name=$(this).attr("name");
		 $.post(
 				 "/network/add", 
 				 {name: name, privacy:1},
 				 function(data){
 					 $("#frien").html("<h2>"+data.result+"</h2>");
 					 if(data.status==true){
 						$(".addnt-button").toggleClass('hidden');
 						$(".delnt-button").toggleClass('hidden');;
 					 }
 				 },
 				'json'
 		);
		 return false;
	});
	$(".delnt-button").button().live('click',function(){
		var name=$(this).attr("name");
		 $.post(
 				 "/network/del", 
 				 {name: name},
 				 function(data){
 					 $("#frien").html("<h2>"+data.result+"</h2>");
 					 if(data.status==true){
 						$(".addnt-button").toggleClass('hidden');
 						$(".delnt-button").toggleClass('hidden');
 					 }
 				 },
 				'json'
 		); 
		 return false;
	});
	$(".check-button").button().live('click',function(){
		var name=$("#user_name").attr("value");
		if($("#user_name").valid()){
		$.post(
				 "/checkuser", 
				 {username: name},
				 function(data){
					 if(data.status=="success"){ 
						 $('#msg_for_username').html('<dt>'+data.success+'</dt>');
						 $('#msg_for_username').show();
					 }else{
						 $('#msg_for_username').html(data.error);
						 $("#user_name").addClass("error");
						 $('#msg_for_username').show();
					 }
				 },
				'json'
		);
		}
		return false;
	});
	$( ".accordion" ).accordion({
        autoHeight: false,
        collapsible: true
    });
	
	$( ".accordionC" ).accordion({
        autoHeight: false,
        collapsible: true,
        active: false,
        icons:{ 'header': '', 'headerSelected': '' }
    });
		
	$('.b-icon').live('click',function() {
		$(this).toggleClass('ui-icon-triangle-1-e');
		$(this).toggleClass('ui-icon-triangle-1-s');
		$(this).parent().next().toggle();
		return false;
	}).parent().next().hide();

	$('.rmtag').click(function(){
		$(this).parent().parent('.rmtagform').submit(); 
	});
	
	$(".choose-tag").click(function(){
		val = $('#tagsInput').attr('value');
		tag= $(this).attr('name');
		foundOffset = findindex(val,tag,' ');
	    if(foundOffset==-1){
	       newlist=val+' '+tag;
	       $('#tagsInput').attr('value',newlist);
	       $(this).addClass ('select');
	    }else{
	    	newlist=val.substring(0,foundOffset)+val.substring(foundOffset+tag.length+1, val.length);
	    	$('#tagsInput').attr('value',newlist);
	    	$(this).removeClass ('select');
	    }
		return false;
		
	});
	$('.close').live('click',function(){
		$('.intro').hide();
	});
	
	//your choice recommendation
	$(".recomm .ajax-link").live('click',function(){
		link=$(this).attr('href');
		$.get("/bookmark/minibm"+link,function(data){
			$('.recomm').html(data);
		});
		return false;
	});
	$('.bmCheck').live('click', function(){
		id=$(this).attr('id');
		title=$(this).attr('title');
		name=$(this).attr('name');
		if($(this).is(":checked")==true){	
				//add to cookie
				$.post(
						"/bookmark/addcartbm", 
						 {bmid:id},
						 function(data){
							if(data.status=="success"){
								$("#info").hide();
								n=parseInt($("#cbm").html())+1;
								$("#cbm").html(n);
								
								html='<li id="li'+id+'"><div><h3><span class="del ui-icon ui-icon-close" title="Delete it from Bookmarks Cart" bmid="'+id+'" page="0"></span>';
					            html+='<a href="'+name+'" target="_blank">'+title+'</a></h3></div></li>';
					            if($('.incartbm li span').attr('page')!=0){
					            	$.get("/bookmark/showcart",{page:0},function(data){
										$('.incartbm').html(data);
									});
					            }
					            if($('.incartbm li').length>=5){
					            	$('.incartbm li:last-child').remove();
					            	$('.next-cart').parent().show();
					            }
					            $('.incartbm ul').prepend(html);
							}else if(data.status=="exit"){
								alert("This url has exist in the bookmarks cart!");
							}else{
								alert('A error occur, please try it later.');
							}
						 },
						'json'
				); 
				
				
		}else{
				//remove from cookie
				$.post(
						"/bookmark/delcartbm", 
						 {bmid:id},
						 function(data){
							 if(data.status == "success"){
								n=parseInt($("#cbm").html())-1;
								$("#cbm").html(n);
								if($('#li'+id).html()){
									page=$('#li'+id+' span').attr('page');
									$.get("/bookmark/showcart",{page:page},function(data){
										$('.incartbm').html(data);
									});
								}
							}else if(data.status=="noexit"){
								alert("This url is not exist in the bookmarks cart!");
							}else{
								alert('A error occur, please try it later.');
							}
						 },
						'json'
				); 
				
		}
	});
	$('.bmCheckAll').live('click', function(){
		tags=$(this).attr('tags');		
		$.post(
				"/bookmark/checkall", 
				 {tagname:tags},
				 function(data){
					if(data.status){
						$('.bmCheck').attr("checked",true);
						n=parseInt($("#cbm").html())+data.addnum;
						$("#cbm").html(n);
						$.get("/bookmark/showcart",{page:0},function(data){
							$('.incartbm').html(data);
						});
					}else{
						alert('A error occur, please try it later.');
					}
				 },
				'json'
		); 
		$("#info").hide();
		return false;
	});
	$('.cartbar').live('click',function(){
		page=$(this).attr('page');
		$.get("/bookmark/showcart",{page:page},function(data){
			$('.incartbm').html(data);
		});
		return false;
	});
	$('.incartbm .del').live('click',function(){
		id=$(this).attr('bmid');
		page=$(this).attr('page');
		$.post(
				"/bookmark/delcartbm", 
				 {bmid:id},
				 function(data){
					 if(data.status == "success"){
						n=parseInt($("#cbm").html())-1;
						$("#cbm").html(n);
						$('#'+id).attr("checked",false);
						$.get("/bookmark/showcart",{page:page},function(data){
								$('.incartbm').html(data);
						});

					}else if(data.status=="noexit"){
						alert("This url is not exist in the bookmarks cart!");
					}else{
						alert('A error occur, please try it later.');
					}
				 },
				'json'
		); 
		return false;
		
	});
	
	$('.bmdiscover').live('click',function(){
		$('#widget-r').hide();
		$("#mainframe").fadeTo('fast',0.3); 
		$('#mainframe').animate( { marginLeft: '930px',paddingRight: '0px'},"fast",function(){
			$('#mybm').hide();
			$('#recompage').slideDown("fast");
		});
		$(this).addClass('selected');
		$('.nub').show();
		$('.bmmenu').removeClass('selected');
		$.get("/url/recommendation",function(data){
				$('#recomlist').html(data);
		});
		return false;
	});
	$('.bmmenu').live('click',function(){
		$('#recompage').slideUp("fast");
		$('#mybm').show();
		$('#mainframe').animate( { marginLeft: '0',paddingRight: '215px'},"fast",function(){						
			$('#widget-r').show();
			$("#mainframe").fadeTo('fast',1); 
		});
		$('.bmmenu').addClass('selected');
		$('.nub').hide();
		$('.bmdiscover').removeClass('selected');
		return false;
	});
	
	//captcha
	$('#recaptcha').live('click',function(){
		$.getJSON('/captcha',function(data){
			$('.form_field').html(data.id);
		});
		return false;
	});
	
	$('.moreRec').live('click',function(){
		$(this).hide();
		var page=$(this).attr('page');
		$('#recList'+page).show();		
		return false;
	});
	$(".dislikeshow").live('click',function(){
 		var url=$(this).attr("url");
 		$.ajax({
 		   type: "POST",
 		   url: "/dislike",
 		   data: "url="+url,
 		   dataType: 'json',
 		   error: function(){
 			alert("An error occur, please try it again later.");
 		  },
 		   success: function(data){
 			  if(data.status=='error'){
 				 alert( data.error );
 			  }else{
 				 $("#li"+data.urlhash).fadeOut();
 			  }
 		   }
 		}); 	
		return false;
	});
   $("#usershow").live('click',function(){
	   $(this).toggleClass('ui-icon-triangle-1-e');
	   $(this).toggleClass('ui-icon-triangle-1-w');
	   $("#userinfo").toggle();
	   $("#globalnav li.first").toggleClass('border');
	   return false;
   });
   document.onclick=function(e){
       var e=e?e:window.event;
       var tar = e.srcElement||e.target;
       if(tar.id!="usershow"){
           if($(tar).attr("id")!="userinfo"){
               $("#userinfo").hide();
               $("#globalnav li.first").removeClass('border');
           }
       }
     }

 });
