$(document).ready(function(){cms.bind();});


	cms= new Object();
	
	cms.templateBuffer='';
	
	cms.bind=function(){
		//$('.cms-button-sortable').click(function(){cms.setSortable(this);return false;});
		$('.cms-button-edit').click(function(){cms.setEdit(this);return false;});
		$('.cms-button-images').click(function(){cms.startImageDrop();return false;});
		$('.cms-button').click(function(){cms.genButton(this);return false;});
		$('.cms-button-save').click(function(){cms.save();return false;});
		$('.cms-button-clone').click(function(){cms.clone();return false;});
		$('.cms-cloner').live('click',function(){cms.cloner(this);return false;});
		$( "#cms-bar" ).droppable({
			drop: function( event, ui ) {
				ui.draggable.remove();
			}
		});
		$('.cms-button-test').click(function(){cms.linkInput();return false;});
		$('.cms-button-test1').click(function(){cms.linkTest();return false;});
		$('#cms-link-add').live('click',function(){cms.addLink();return false;});
		$('#cms-link-button').live('click',function(){cms.addLink2();return false});
		$('.cms-button-paste').live('click',function(){cms.startPaste();return false});
		$('#cms-paste-button').live('click',function(){cms.paste();return false;});
		$('.close-parent').live('click',function(){$(this).parent().fadeTo('fast',0,function(){$(this).remove()});return false;});
		$('#cms-button-template').live('click',function(){cms.toggleTemplate();return false;});
		
		$('.cms-icon,cms-text-item').mouseover(function(){
			t=$(this);
			xc=t.offset();
			$('#tooltip').text(t.attr('tooltip'));
			$('#tooltip').css({left:xc.left}).stop().show();
			
			
		});
		
		$('.cms-icon').mouseleave(function(){
			$('#tooltip').stop().hide();
		});
		
		
	}
	
	cms.setSortable=function(inThis){
		link=$(inThis);
		cmslist=$( ".cms-list" );
		mode=link.attr('data-mode');
		if(mode!='off'){
			$('#cms-trashpanel').sortable({connectWith:".cms-list",receive:function(){
				$('#cms-trashpanel').html('');
			}});
			cmslist.sortable({connectWith: ".cms-list",stop: function(event, ui) {
				$('.cms-list').removeClass('cms-dragto');
				$('#cms-trashpanel').hide();
					ui.item.find('.cms-item-title').remove();
				},
				start:function(event,ui){
					$('#cms-trashpanel').show();
					$('.cms-list').addClass('cms-dragto');
				}
				}).disableSelection();
			//link.attr('data-mode','off').text('Layout : On');
			link.attr('data-mode','off').addClass('icon-selected');

		}else{
			cmslist.sortable('destroy').enableSelection();
			//link.attr('data-mode','on').text('Layout : Off');
			link.attr('data-mode','on').removeClass('icon-selected');
			$('#cms-trashpanel').sortable('destroy');
		}
	}
	
	cms.setEdit = function(inThis,forcemode){
		link=$(inThis);
		if(link.attr('data-mode')=='on'){
			$('.cms-c').attr({contentEditable:true});
			$('.cms-c').addClass('cms-edit-text');
			//link.attr('data-mode','off').text('Edit : On');
			link.attr('data-mode','off').addClass('icon-selected');
			//turn off sort
			$('.cms-button-sortable').attr('data-mode','off');
			cms.setSortable('.cms-button-sortable');
			document.execCommand('styleWithCSS', false, false);
		}else{
			$('.cms-c').removeAttr('contentEditable');
			$('.cms-c').removeClass('cms-edit-text');
			//link.attr('data-mode','on').text('Edit : Off');
			link.attr('data-mode','on').removeClass('icon-selected');
		}	
	}
	

	cms.genButton=function(inThis){
		cmd=$(inThis).attr('data-cmd');
		val=$(inThis).attr('data-val');
		document.execCommand(cmd, false, val);
	}


	cms.save=function(){
		pageName=$('#cms-bar').attr('data-page');
		$('#cms-result').stop().fadeTo('fast',1).text('Saving...');
		cms.preSave();
		comlist=new Object();
		$('.cms-save').each(function(){
			cmsid=$(this).attr('data-cms-id');
			comlist[cmsid]=$(this).html();
			
		});
		$('#cms-result').load('../cms/saveall.php?page='+pageName,comlist,function(){setTimeout('$("#cms-result").fadeTo("fast",0);',3000);});
	}
	
	cms.preSave=function(){
		$('.cms-remove-save').remove();
		$('.progress').remove();
		$('.instructions').remove();
		$('.cms-c').removeAttr('contentEditable');
		$('.cms-c').removeClass('cms-edit-text');
	}



	cms.clone=function(){
		$('.cms-list').prepend('<a href="#" class="cms-cloner cms-remove-save">Add Item</a>');
	}
	
	cms.cloner=function(inThis){
		cloner=$(inThis).next().clone();
		$(inThis).after(cloner);
				
	}
	
	cms.linkInput=function(){
		//alert(cms.getSelectionHTML());
		$('html').prepend("<div id='cms-linkbox'><h2>Enter web address</h2><iframe id='cms-iframe-small' src='../cms/link.php' id='cms-link-frame'></iframe><a href='#' id='cms-link-button' class='cms-panel-button cms-panel-button-blue'>Add Link</a><a href='#' class='cms-panel-button cms-panel-button-white close-parent'>Close</a></div>");
		//$('#cms-link-frame').attr('src','../cms/link.php');
	}
	
	cms.startImageDrop = function(){
	    $('.droparea').droparea({
	        'post' : '../droparea/upload.php',
	        'init' : function(r){},
	        'start' : function(r){},
	        'error' : function(r){},
	        'complete' : function(r){}
	    });
	    $('.droparea').prepend("<div class='droparea-tag'>test</div>");
	}
	
	cms.addLink=function(){
		linker=$('#cms-link-ip').val();
		$('#cms-linkbox').stop().slideUp('fast').remove();

	}
	
	cms.addLink2=function(){
		ipLink=$('#cms-iframe-small').contents().find('input').val();
		document.execCommand('createLink', false, ipLink);
		$('#cms-linkbox').remove();
		
		
	}
	
	cms.getSelectionHTML = function (){
		return window.getSelection ? window.getSelection() 
                               : document.selection.createRange().innerHTML;
	}
	
	cms.startPaste=function(){
		$('html').prepend("<div id='cms-linkbox'><h2>Paste Text into box</h2><iframe src='../cms/paste.php' id='cms-link-frame'></iframe><a href='' id='cms-paste-button' class='cms-panel-button cms-panel-button-blue'>Paste Text</a><a href='#' class='cms-panel-button cms-panel-button-white close-parent'>Close</a></div>");
		//$('#cms-link-frame').attr('src','../cms/link.php');
	}
	
	cms.paste=function(){
		ipLink=$('#cms-link-frame').contents().find('textarea').val();
		document.execCommand('insertHTML', false, cms.nl2br(ipLink));
		$('#cms-linkbox').remove();
		
	}
	
	cms.nl2br=function (myString) {
		var regX = /\n/gi ;
		s = new String(myString);
		s = s.replace(regX, "<br /> \n");
		return s;
	}
	

	
	cms.templateOn=false;
	
	
	cms.toggleTemplate=function(){
		if(!cms.templateOn){
			$('#cms-template-list').show('fast');
			cms.templateBuffer=$('#cms-template-list').html();
			$('#cms-template-list').sortable({connectWith: ".cms-list",stop: function(event, ui) {
				$('.cms-list').removeClass('cms-dragto');
				$('#cms-trashpanel').fadeTo('fast',0);
					ui.item.find('.cms-item-title').remove();
					if(cms.templateBuffer!=''){
						$('#cms-template-list').html(cms.templateBuffer);
					}},
					start: function(event, ui) {
					$('.cms-list').addClass('cms-dragto');
					}
				}).disableSelection();
			cms.templateOn=true;
		}else{
			$('#cms-template-list').hide('fast');
			$('#cms-template-list').sortable('disable').enableSelection();
			cms.templateOn=false;
		}
		
		

	}
	
	cms.editNews=function(){
		$('#content-news').prepend("<div class='news-wrap' data-ref='-1'><div class='news-title news-edit' contenteditable=true>New Title</div><div class='news-content news-edit'  contenteditable=true>News text here</div></div>");
		$('.news-edit-bar').remove();
		$('.news-wrap').after('<div class="news-edit-bar"><a href="#save" class="news-save-item">Save Update</a><a href="#delete" class="news-del-item">Delete Item</a></div>');
		
		$('.news-save-item').click(function(){
			m=$(this).parent().prev();
			comlist=new Object();
			comlist['ref']=m.attr('data-ref');
			comlist['title']=m.find('.news-title').html();
			comlist['content']=m.find('.news-content').html();
			//$(this).parent().html('Saving...');
			$(this).parent().html('Saving...').load('../cms/_savenews.php',comlist);
		});
		$('.news-del-item').click(function(){
			m=$(this).parent().prev();
			comlist=new Object();
			comlist['ref']=m.attr('data-ref');
			$(this).parent().html('Saving...').load('../cms/_deletenews.php',comlist);
			
			$(this).parent().prev().slideUp('fast',function(){$(this).remove()});
			$(this).parent().slideUp('fast',function(){$(this).remove()});

		});
		$('.news-edit').attr({contentEditable:true});
		
		
		return false;
	}

	


	
	

