jQuery(document).ready(function (){
	var com = GetHTTPParam("com");
	var mode = GetHTTPParam("mode");	
	
	get_records();
		
	jQuery('table#tools_table_container :input').bind('change', function() {
		jQuery('#project_navi_goToPage').val(1);
		get_records();
	})
	
	jQuery('#project_navi_goToPage').live('change', function(){
		get_records();
	});
	
	jQuery('#first_page').live('click', function(){
		var page = jQuery('#project_navi_goToPage').val() || 1;
		if (page*1 != 1) {
			jQuery('#project_navi_goToPage').val(1);
			get_records();
		}
	});
	
	jQuery('#previous_page').live('click', function(){
		var page = jQuery('#project_navi_goToPage').val() || 1;
		if (page*1 > 1) {
			jQuery('#project_navi_goToPage').val(--page);
			get_records();
		}
	});
	
	jQuery('#next_page').live('click', function(){
		var page = jQuery('#project_navi_goToPage').val() || 1;
		var max = jQuery('input#project_navi_TotalPage').val();
		if (page*1 < max*1) {
			jQuery('#project_navi_goToPage').val(++page);
			get_records();
		}
	});
	
	
	jQuery('#last_page').live('click', function(){
		var page = jQuery('#project_navi_goToPage').val() || 1;
		var max = jQuery('input#project_navi_TotalPage').val();
		if (page*1 != max*1) {
			jQuery('#project_navi_goToPage').val(max);
			get_records();
		}
	});
	
	jQuery('tr.project_title a').live('click', function() {
		jQuery('tr.project_title>th.ordertitlesel').removeClass('ordertitlesel');
		jQuery(this).parent().addClass('ordertitlesel').toggleClass('reversed');
		get_records();
	})
	
});

function do_beforeSend(){
	var loader = '<div id="loading_pic"><img src="/osr/icons/browse/loading.gif" /></div>';
	jQuery('#apps-holder').stop(true).animate({opacity: 0.5}, 'fast').prepend(loader);
}

function do_success(json){
	jQuery('#loading_pic').fadeOut(500, function(){
		jQuery(this).remove();
	});
	
	var html = '';

	jQuery('#project_SEARCH').children().remove().end().append(json.search);;
	jQuery('#apps-holder').children().remove();
	var search_type = jQuery('input[name="search_type"]:checked').val();
	if (search_type == 'meta') {
		jQuery('span#navi_max_pages').text(json.max_pages);
		jQuery('input#project_navi_TotalPage').val(json.max_pages);
		if(json.mode == 'list'){
	
			jQuery('#apps-holder').append('<table class="apps-list"></table>');
	
			jQuery('.apps-list').append(json.title);
			for(var count=0 ; count < json.count; count++){
				
				var project = json.projects[count];
				html 	=	html 
						+	'<tr class="project_data '+project.color+'-'+project.shade+'"> '
						+ 	'<td align="right">'+ project.projectid +' <img src="/osr/icons/project/'+ project.app +'_mini.png" border="0" /></td>'
						+	'<td><a href="' + project.url + '&mode=viewer&projectid=' + project.projectid +'" title="' + project.title + '" alt="'+ project.title + '">' + project.showTitle + '</a></td>'
						+	'<td>' + project.owner + '</td>'
						+	'<td>' + project.creationDate + '</td>'
						+	'<td>' + project.modDate + '</td>';
				
				if(json.app == 'tiparlo'){
					html	=	html
							+	'<td align="right" class="project_list_duration">'+ project.volume + ' s</td>';
				}else{
					html	=	html
					+	'<td align="right" class="project_list_duration">'+ project.volume + ' ' + project.getPages + '</td>';
				}
				
				html		=	html
					+	'<td align="right">' + project.hits + '</td>'
					+	'<td class="copypaste icons">' + project.copyIcon + '</td>'
					+	'<td class="icons">' + project.aclIcon + '</td>'
					+	'<td class="icons">' + project.renameIcon + '</td>'
					+	'<td class="icons">' + project.deleteIcon + '</td>'
					+	'</tr>';
			}
			jQuery('.apps-list').append(html);
		}else if (json.mode == 'view') {
			jQuery('#apps-holder').append('<div class="apps-view"></div>');
	
			for(var count=0 ; count < json.count; count++){
				var project = json.projects[count];
				html	=	html
							+	'<div class="project_iconview">' + project.preview + '' + project.label + '</div>';
				
			}
			jQuery('.apps-view').append(html);
		}
	} else {
		if (json.keys.length > 0) { 
			for (var i = 0; i < json.keys.length; i++) {
				var key = json.keys[i];
				html += json.html[key];
			}
		} else {
			html = json.message;
		}
		jQuery('#apps-holder').append(html);
	}
	
	jQuery('#apps-holder')
		.stop(true)
		.animate({opacity: 1}, 'fast')
		.append('<div style="clear: both;"></div>');
}

function init_copypaste(){
	jQuery('.link-table').find('.copypaste').each(function(){
		var clip = new ZeroClipboard.Client();
		ZeroClipboard.setMoviePath('http://' + olefaurl + '/osr/java/ZeroClipboard10.swf');
		clip.setHandCursor( true ); 
		clip.reposition();

		var container_id = jQuery(this).attr('id');
		var button_id = jQuery(this).find('.copypaste_button').attr('id');

		clip.addEventListener('load', function(client) {
			debugstr('Flash movie loaded and ready.');
		});
		
		clip.addEventListener('complete', function(client, text) {
			alert('Copied: ' + text + ' to your clipboard');
		 });

		clip.addEventListener('MouseOver', function(client) {
			var text = jQuery('#' + container_id).parents().find('.copy_value').attr('value');
			clip.setText( text );
		}); 
		clip.glue(button_id, container_id);
	});
	
}

function GetHTTPParam(name) {  //Get Parameters through GET
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regexS = "[\\?((&amp;)|&)]"+name+"=([^&#]*)";
		var regex = new RegExp( regexS );
		var results = regex.exec( window.location.href );
		if( results == null )
			return "";
		else
			return results[1];
}

function get_records() {
	var app = '';
	jQuery('input[name="app"]:checked').each(function(){
		app += this.value+',';
	});
	var view_mode = jQuery('input[name="view-mode"]:checked').val();
	var page = jQuery('#project_navi_goToPage').val() || 1;
	var orderby = jQuery('tr.project_title th.ordertitlesel').attr('id') || '';
	if (!jQuery('tr.project_title th.ordertitlesel').hasClass('reversed')) {
		orderby += 1;
	}
	var search_type = jQuery('input[name="search_type"]:checked').val();
	var pData = {
		sid: sid,
		com: com,
		app: app,
		mode: view_mode,
		action: 'get_records',
		orderby: orderby,
		specialfilter: jQuery('select#tools_select_autofilter').val(),
		keyword: '#!Search(' + jQuery('input#tools_input_search').val() + '):',
		page: page,
		app: app,
		searchtype: search_type
	};
	if(typeof(xhr) != 'undefined' && xhr){
        xhr.abort();
	}
	xhr = 	jQuery.ajax({
		url: '/cgi-bin/apps/ajax/Project',
		type: 'POST',
		timeout: 20000,
		data: pData,
		dataType: 'json',
		beforeSend: do_beforeSend(),
		success: function(html){
			do_success(html);
		},
		error: function() {
			
		}
	});
}
