web/ldt/media/js/projectscontents.js
changeset 2 59311c28454f
parent 1 3a30d255c235
child 3 9e6b4dbefcbc
child 6 4d17de9ee64e
equal deleted inserted replaced
1:3a30d255c235 2:59311c28454f
     1 $.fn.realVal = function() {
       
     2 	var obj = $(this[0]);
       
     3 	if(obj.val) {
       
     4 		if(obj.val() == obj.attr('defaultText')) {
       
     5 			return '';
       
     6 		}
       
     7 		else {
       
     8 			return obj.val();
       
     9 		}
       
    10 	}
       
    11 	else {
       
    12 		return null;
       
    13 	}
       
    14 };
       
    15 
       
    16 function init_events_base(base_node, embed_url) {
       
    17 
       
    18 	$('.ldt_link',base_node).nyroModal({
       
    19        	type: 'iframe',
       
    20        	forceType: 'iframe',
       
    21        	windowResize: false,
       
    22    		height:662, 
       
    23    		width:1022,
       
    24    		bgColor: 'rgb(239, 239, 239)',
       
    25    		padding: 5,
       
    26    		titleFromIframe: false,
       
    27         beforeHideContent: function(elts, settings, callback){
       
    28 	        try {
       
    29 	             var res = $('#ldtInitSwf',$('#nyroModalIframe').contents());
       
    30 	             if(res.length > 0)
       
    31 	             {
       
    32 	             	   res.get(0).forceSave();
       
    33 	             }
       
    34 	        }
       
    35 	        catch(err)
       
    36 	        {
       
    37 	         // do nothing
       
    38 	        }                   
       
    39 	        callback();
       
    40    		}
       
    41 
       
    42       	});
       
    43     	
       
    44 
       
    45 	$('.ldt_link_embed',base_node).click(function(e) {
       
    46 		e.preventDefault();
       
    47 		var link = $(e.target);
       
    48 		var json_url = link.attr("href");
       
    49 		var player_id = link.attr("id");
       
    50 		var ldt_id = player_id.substring(15);
       
    51 		/*$.nyroModalSettings({
       
    52 		 	ajax: { data: ({ json_url:json_url, player_id:player_id }) }
       
    53 		  	});*/
       
    54 		   $.nyroModalManual({
       
    55 		       type: 'iframe',
       
    56 		       forceType: 'iframe',
       
    57 		       titleFromIframe: false,
       
    58 		       height:662, 
       
    59                width:750,
       
    60                bgColor: 'rgb(239, 239, 239)',
       
    61                padding: 5,
       
    62 		       url: embed_url+'?json_url='+escape(json_url)+'&player_id='+escape(player_id)+'&ldt_id='+escape(ldt_id)
       
    63 		   });
       
    64 		   return false;
       
    65 	});
       
    66 
       
    67 
       
    68 	$('.imageline',base_node).each(function(i) {
       
    69 	    var tr = $(this);
       
    70 		tr.mouseover(function() {
       
    71 	    	$('.cellimgdiv',this).css('visibility', 'visible');
       
    72 		}); 
       
    73 		tr.mouseout(function() {
       
    74 	    	$('.cellimgdiv',this).css('visibility', 'hidden');
       
    75 		});
       
    76 	});
       
    77 	
       
    78 	$('.cellimgdiv img').qtip({ 
       
    79 		style: { 
       
    80 			'name': 'dark',
       
    81 			'filter':'alpha(opacity=70)',
       
    82 			'-moz-opacity':'0.7',
       
    83 			'-khtml-opacity': '0.7',
       
    84 			'opacity': '0.7',
       
    85 			'border': {
       
    86 				'width' : '0',
       
    87 				'color': '#505050'
       
    88 			}, 
       
    89 			'tip': true
       
    90 		} 
       
    91 	});
       
    92 	
       
    93 
       
    94 };
       
    95 
       
    96 
       
    97 function searchCallback(target, container_selector, url, timeout) {
       
    98 
       
    99 	timeout = typeof(timeout) != 'undefined' ? timeout : 0;
       
   100 	var target = $(target);
       
   101 	
       
   102 	// remove all qtip
       
   103 	$(".qtip").remove();
       
   104 	
       
   105 	if(target.realVal().length > 0) {
       
   106 		target.nextAll(".searchclear").show();
       
   107 	}
       
   108 
       
   109 	if(target.attr('timer')) {
       
   110 		clearTimeout(target.attr('timer'));
       
   111 	}
       
   112 
       
   113 	target.attr(
       
   114 		'timer',
       
   115 		setTimeout(function() {
       
   116 			target.next(".searchajaxloader").show();
       
   117 			target.nextAll(".searchclear").hide();
       
   118 			var filterVal = "_" + escape(target.realVal());
       
   119 			url = url.replace('__FILTER__',filterVal);
       
   120 			$.ajax({
       
   121 				url: url,
       
   122 				cache: false,
       
   123 				success: function(data, status, request) {
       
   124 					$(container_selector).html(data);
       
   125 					target.next(".searchajaxloader").hide();
       
   126 					if(target.realVal().length > 0) {
       
   127 						target.nextAll(".searchclear").show();
       
   128 					}
       
   129 					init_events($(container_selector));
       
   130 					target.removeAttr('timer');
       
   131 				}
       
   132 			});	
       
   133 		},
       
   134 		300)
       
   135 	);
       
   136 };
       
   137 
       
   138 
       
   139 function init_events_contents(base_node, embed_url, content_filter_url) {
       
   140 
       
   141 	init_events_base(base_node, embed_url);
       
   142 	
       
   143 	$('.content_link_create').nyroModal({
       
   144 	    type: 'iframe',
       
   145 	    forceType: 'iframe',
       
   146 	    height:500, 
       
   147 	    width:765,
       
   148 	    bgColor: 'rgb(239, 239, 239)',
       
   149 	    padding: 5,
       
   150 	    titleFromIframe: false,
       
   151 	    endRemove: function(elts, settings) {
       
   152 	    	searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url)
       
   153 		},
       
   154 	  	endShowContent: function(elts, settings) {
       
   155 		  	$('#nyroModalIframe', elts.content).load(function() {
       
   156 			  	var form_status = $(this).contents().find("#content_form_status").val(); 
       
   157 			  	if(form_status == 'saved' || form_status == 'deleted' ) {
       
   158 			  		$.nyroModalRemove();
       
   159 			  	}
       
   160 		  	});
       
   161 		}
       
   162 	});
       
   163 	
       
   164 	$('.contenttitlelink').nyroModal({
       
   165 	    type: 'iframe',
       
   166 	    forceType: 'iframe',
       
   167 	    height:500, 
       
   168 	    width:765,
       
   169 	    bgColor: 'rgb(239, 239, 239)',
       
   170 	    padding: 5,
       
   171 	    titleFromIframe: false,
       
   172 	    endRemove: function(elts, settings) {
       
   173 	    	searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url,0);
       
   174 		},
       
   175 	  	endShowContent: function(elts, settings) {
       
   176 		  	$('#nyroModalIframe', elts.content).load(function() {
       
   177 			  	var form_status = $(this).contents().find("#content_form_status").val(); 
       
   178 			  	if(form_status == 'saved' || form_status == 'deleted') {
       
   179 			  		$.nyroModalRemove();
       
   180 			  	}
       
   181 		  	});
       
   182 		}
       
   183 	});
       
   184 
       
   185 
       
   186 }
       
   187 
       
   188 function init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) {
       
   189 
       
   190  	$('.ldt_link_create',base_node).nyroModal({
       
   191         type: 'iframe',
       
   192         forceType: 'iframe',
       
   193         windowResize: false,
       
   194         height:680, 
       
   195         width:500,
       
   196         bgColor: 'rgb(239, 239, 239)',
       
   197         padding: 5,
       
   198         titleFromIframe: false,
       
   199 	    endRemove: function(elts, settings) {
       
   200  			searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
       
   201 		},
       
   202         beforeHideContent: function(elts, settings, callback){
       
   203              try {
       
   204 	              var res = $('#ldtInitSwf',$('#nyroModalIframe').contents());
       
   205 	              if(res.length > 0)
       
   206 	              {
       
   207 	              	   res.get(0).forceSave();
       
   208 	              }
       
   209              }
       
   210              catch(err)
       
   211              {
       
   212               // do nothing
       
   213              }                   
       
   214              callback();
       
   215         	},
       
   216         endShowContent: function(elts, settings){
       
   217     		var iframe = $('#nyroModalIframe', elts.content);
       
   218 			iframe.load(function(){
       
   219 			  	var form_status = $(this).contents().find("#project_form_status").val(); 
       
   220 			  	if(form_status == 'saved' || form_status == 'deleted' ) {
       
   221 			  		$.nyroModalRemove();
       
   222 			  	}
       
   223 				var swfobject = $(this).contents().find("#ldtInitSwf"); 
       
   224 				if (swfobject.length) {
       
   225 					$.nyroModalSettings({
       
   226 						height: swfobject.height() + 31,
       
   227 						width: swfobject.width() + 21
       
   228 					});
       
   229 				}
       
   230 			});
       
   231         	}
       
   232     	});
       
   233 
       
   234 	
       
   235 	$('.publishedproject', base_node).click(function(e) {
       
   236 		e.preventDefault();
       
   237 		var target = $(e.target);
       
   238 		var project_id = target.attr('id').replace('project_','');
       
   239 		var url = unpublishprojecturl.replace('__PROJECT_ID__', project_id);
       
   240 		$.ajax({
       
   241 			url: url,
       
   242 			type: 'POST',
       
   243 			dataType: 'json',
       
   244 			success: function(json, textStatus, XMLHttpRequest){
       
   245 				if(json.res) {
       
   246 					searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
       
   247 				}
       
   248 			}
       
   249 		});
       
   250 	});
       
   251 
       
   252 	$('.unpublishedproject', base_node).click(function(e) {
       
   253 		e.preventDefault();
       
   254 		var target = $(e.target);
       
   255 		var project_id = target.attr('id').replace('project_','');
       
   256 		var url = publishprojecturl.replace('__PROJECT_ID__', project_id);
       
   257 		$.ajax({
       
   258 			url: url,
       
   259 			type: 'POST',
       
   260 			dataType: 'json',
       
   261 			success: function(json, textStatus, XMLHttpRequest){
       
   262 				if(json.res) {
       
   263 					searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
       
   264 				}
       
   265 			}
       
   266 		});
       
   267 	});
       
   268 
       
   269 	$('.projecttitlelink').nyroModal({
       
   270 	    type: 'iframe',
       
   271 	    forceType: 'iframe',
       
   272         height:680, 
       
   273         width:500,
       
   274 	    bgColor: 'rgb(239, 239, 239)',
       
   275 	    padding: 5,
       
   276 	    titleFromIframe: false,
       
   277 	    endRemove: function(elts, settings) {
       
   278 			searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
       
   279 		},
       
   280 	  	endShowContent: function(elts, settings) {
       
   281 		  	$('#nyroModalIframe', elts.content).load(function() {
       
   282 			  	var form_status = $(this).contents().find("#project_form_status").val(); 
       
   283 			  	if(form_status == 'saved' || form_status == 'deleted') {
       
   284 			  		$.nyroModalRemove();
       
   285 			  	}
       
   286 		  	});
       
   287 		}
       
   288 	});
       
   289 	
       
   290 }
       
   291 
       
   292 function init_events_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) {
       
   293 	
       
   294 	init_events_base(base_node, embed_url);
       
   295 	init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl);
       
   296 }
       
   297 
       
   298 function init_events_all(base_node, embed_url, searchcontentfilterurl, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) {
       
   299 	
       
   300 	init_events_contents(base_node, embed_url, searchcontentfilterurl);
       
   301 	init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl);	
       
   302 }
       
   303 
       
   304 
       
   305 
       
   306 function searchFieldInit(input_list_init) {
       
   307 
       
   308 	$(".searchfieldinputbase").keydown(function (e) {
       
   309 	 	if(e.which == 27) {
       
   310 	 	 	$(e.target).blur();
       
   311 	 	 	$(e.target).next(".searchajaxloader").hide();
       
   312 	 	}
       
   313 	});		
       
   314 	 
       
   315 	$('.searchfieldinput').each(function(i) {
       
   316 	     var sbox = $(this);
       
   317 	     if(sbox.val() != '') {
       
   318 	    	 sbox.attr('defaultText', sbox.val());
       
   319 	     }
       
   320 	
       
   321 	     sbox.focus(function() {
       
   322 	         box = $(this);
       
   323 	         if(box.val() == box.attr('defaultText')) {
       
   324 	             box.val('');
       
   325 	             box.toggleClass("searchfieldinput");
       
   326 	         }
       
   327 	     });
       
   328 	
       
   329 	     sbox.blur(function() {
       
   330 	         var box = $(this);
       
   331 	         if(box.val() == '' && box.attr('defaultText')) {
       
   332 	             box.val(box.attr('defaultText'));
       
   333 	             box.toggleClass("searchfieldinput");
       
   334 	         }
       
   335 	     });
       
   336 	     	     
       
   337 	});
       
   338 
       
   339 	$.each(input_list_init, function(index, value) {
       
   340 		$(value['input_selector']).keyup(function (e) {
       
   341 			searchCallback(e.target, value['container_selector'], value['url']);
       
   342 		});
       
   343 	});
       
   344 	
       
   345 	$('.searchclear').click(function(e) {
       
   346 		var box = $(e.target).parent().find("input");
       
   347 		box.val(box.attr('defaultText'));
       
   348 		box.addClass("searchfieldinput");
       
   349 		box.blur();
       
   350 		box.keyup();
       
   351 	});
       
   352 	
       
   353 	$('.searchclear').each(function(i) {
       
   354 		$(this).hide();
       
   355 	});
       
   356 
       
   357 }