
var Cms = {

  controlerUrl:'/cms/controler.aspx',
  currentEditor: null,
  
  Request: function(params, confirmation){
      if (typeof confirmation === 'string') { if (!confirm(confirmation)) { return; } }
      jQuery.post(Cms.controlerUrl, params );
  },

  Update: function(container, params, confirmation){
    if(confirmation && !confirm(confirmation)){ return; }
    jQuery.ajax({ url: Cms.controlerUrl, data: params, complete: Cms.OnRequestComplete(container), type: "POST" });
  },
  
  OnRequestComplete: function(container){
    return function(transport, type){
      var contentType = transport.getResponseHeader('Content-Type');
      if(contentType && contentType.indexOf('text/javascript') == -1){
        jQuery(container).html(transport.responseText).show();
      }
    }
  },
  
  Submit: function(form){
      var f = jQuery(form);
     Cms.Request(f.serialize());
  },
  
  SaveDraft: function(container, textarea, contentId){
	var data = CKEDITOR.instances[textarea].getData();
    Cms.Update(container, { ActionType:'SaveDraft', ContentId:contentId, DraftText:data });
  },
  
  ShowContent: function(container, contentId){
    Cms.Update(container, { ActionType:'ShowContent', ContentId:contentId });
  },
  
  ShowDraft: function(container, contentId){
    Cms.Update(container, { ActionType:'ShowDraft', ContentId:contentId });
  },
  
  PublishContent: function(container, contentId){
    Cms.Update(container, { ActionType:'PublishContent', ContentId:contentId });
  },
  
  DestroyDraft: function(container, contentId){
    if(confirm('This operation is undoable. Destroy this draft?')){
      Cms.Update(container, { ActionType:'DestroyDraft', ContentId:contentId });
    }
  },
  
  InitializeImages: function(editor) {
    Cms.currentEditor = editor;
    jQuery('#cms-imagemanager-wrapper').show();
	var nc = jQuery("#cms-imagemanager-align");
	nc.hide();
	jQuery.post(Cms.controlerUrl, { ActionType: 'InitializeImages' });
  },
  
  InsertHtml: function(html){
    if(!Cms.currentEditor){
      alert('Editor not set.');
      return;
    }
    var fckEditor = Cms.currentEditor;
    if(fckEditor){
      fckEditor.insertHtml(html);
    }else{
      alert('Editor window not found.');
    }
  },
  
  ImageCategoryDisplay: function(categoryId) {
  	var nc = jQuery("#cms-imagemanager-align");
    nc.hide();
    jQuery.post(Cms.controlerUrl, { ActionType: 'ImageCategoryDisplay', CategoryId:categoryId  });
  },
  
  SelectFile: function(id, filePath, name){
	var content;
	jQuery("#cms-filemanagement-file-link").show();
	jQuery("#cms-imagemanager-align").hide();
	jQuery("#cms-imagemanager-images").css('height', '508px');
	jQuery("#cms-imagemanager-footer").css('height', '42px');
	content = '<label style="width: 55px;">Name: <\/label>' + name + '<br \/>';
	jQuery("#cms-imagemanager-imgdetail").html(content);
	jQuery("#filePath").attr("value", filePath);
	jQuery("#linkName").attr("value", name);
	jQuery("#cms-imagemanager-insert").html('<a onclick="Cms.DeleteImage(' + id + ');" class="delete" style="margin-right: 10px; margin-bottom: 4px; margin-top: 0;">Delete File<\/a>');
  },
  
  SelectImage: function(id, name, description, width, height, filePath, thumbPath) {
	var content;
	jQuery("#cms-filemanagement-file-link").hide();
	jQuery("#cms-imagemanager-align").show();
	jQuery("#cms-imagemanager-images").css('height', '250px');
	jQuery("#cms-imagemanager-footer").css('height', '200px');
	//var nc = jQuery("#cms-imagemanager-align");
	//nc.show();
	jQuery('#txtImage').attr('value', filePath);
	
	content = '<div class="thumb"><a target="_blank" href="' + filePath + '"><img src="' + thumbPath + '" alt="' + name + '" /><\/a><\/div>'
	content = content + '<label>Name: <\/label>' + name + '<br \/>';
	content = content + '<label>Height: <\/label>' + height + 'px<br \/>' + '<label>Width:<\/label>' + width + 'px' + '<br \/>';
	
	jQuery("#cms-imagemanager-imgdetail").html(content);
	jQuery("#cms-imagemanager-insert").html('<a onclick="Cms.DeleteImage(' + id + ');" class="delete">Delete Image<\/a>');
  },
  
  FixSpacing: function(t, r, b, l){
    var f;
    f = jQuery('#ImageForm');
    f.find(":input[name='ts']").attr('value', t);
    f.find(":input[name='rs']").attr('value', r);
    f.find(":input[name='bs']").attr('value', b);
    f.find(":input[name='ls']").attr('value', l);
  },
  
  InsertFile:function(){
	f=jQuery('#FileForm');
	href=f.find(":input[name='filePath']").attr('value');
	
	title=f.find(":input[name='linkName']").attr('value');
		if(!href){
		alert('Please select file first!');
		return;
	}
	
	if(!title){
		title=href;
	}
	Cms.InsertHtml('<a href="'+href+'">'+title+'</a>');
	jQuery('#cms-imagemanager-wrapper').hide();
  },
  
  InsertImage:function(){
    var ts, ls, rs, bs, f, s, src;
    ts = 0;
    bs = 10;
    s = 'style="border:0px 0px 0px 0px;';
    f = jQuery('#ImageForm');
    if (f.find(":input[name='alignment']").get(0).checked) {
      s += 'float:right;';
      ls = 10;
      rs = 0;
    } else if (f.find(":input[name='alignment']").get(1).checked) {
      s += 'float:left;';
      ls = 0;
      rs = 10;
    }
    var vl;
    vl = f.find(":input[name='ts']").attr('value');
    if (vl != '') { ts = vl; }
    vl = f.find(":input[name='bs']").attr('value');
    if (vl != '') { bs = vl; }
    vl = f.find(":input[name='ls']").attr('value');
    if (vl != '') { ls = vl; }
    vl = f.find(":input[name='rs']").attr('value');
    if (vl != '') { rs = vl; }
    s += 'margin-top:' + ts + 'px; margin-bottom:' + bs + 'px; margin-left:' + ls + 'px; margin-right:' + rs + 'px;"';
    src = f.find(":input[name='txtImage']").attr('value');
    if(!src){
      alert('Please select image first!');
      return;
    }
    
	Cms.InsertHtml('<img src="' + src + '" alt="" ' + s + ' />');  
	jQuery('#cms-imagemanager-wrapper').hide();
    
  },

  
  DeleteImage: function(id) {
	if(confirm('Delete this file?')){
	  jQuery("#cms-imagemanager-align").hide();
	  jQuery("#cms-filemanagement-file-link").hide();
      jQuery.post(Cms.controlerUrl, { ActionType: 'DeleteImage', ImageId:id  } );
    }
  },
  
  DeleteImageCategory: function(id) {
	if(confirm('Delete this folder?')){
	  var nc = jQuery("#cms-imagemanager-align");
	  nc.hide();
      jQuery.post(Cms.controlerUrl, { ActionType: 'DeleteCategory', CategoryId:id  });
    }
  },
  
  RemoveControl: function(container, pageControlId, pageId){
    if(confirm('Remove this control from the page?')){
      Cms.Update(container, { ActionType:'RemoveControl', PageControlId:pageControlId, PageId:pageId });
    }
  },
  
  EditDraft: function(container, contentId){
    container = jQuery(container);
    Cms.Update(container, { ActionType:'EditDraft', ContentId:contentId, Height:container.height() });
  },
  
  EditContent: function(container, contentId){
    container = jQuery(container);
    Cms.Update(container, { ActionType:'EditContent', ContentId:contentId, Height:container.height() });
  }
  
};
