
function onChangeCalendar(year, month, date, nullOption){
    if(nullOption>0&&(year.value==0 ||month.value == 0)){
      return;
    }

    var day28 = new Date(year.value, month.value-1, 28);

    var selectedDate = -1;

    var maxDate;

    var msec  = day28.getTime();
    //loop until actualMaxDate
    for(var i=1; i<5; i++){
        var nmsec = i * 1000 * 60 * 60 * 24;
        var nextDay = new Date(nmsec + msec);

        if(nextDay.getDate()==1){
            maxDate = 28 + i -1;
            break;
	}
    }

    selectedDate = date.selectedIndex;

    date.length= maxDate + nullOption;

    for(var i=28; i<maxDate; i++){
        date[i+nullOption] = new Option(i+1, i+1);
        if(i+nullOption == selectedDate){
           date[i+nullOption].selected = true;
       }
    }
    
    if(selectedDate>=maxDate){
      date[maxDate+nullOption-1].selected = true;
    }
}


function initMenu(){
  var menulistDiv = document.getElementById("menulist");
  var menulist = menulistDiv.getElementsByTagName("div");
}

function showSubMenu(menu){
 var submenu = menu.getElementsByTagName("ul");
 if(submenu.length == 1){
    submenu[0].style.visibility = 'visible';
 }
 var topmenu = menu.getElementsByTagName("span");
 if(topmenu.length == 1){
   topmenu[0].style.borderTop = 'solid 2px black';
   topmenu[0].style.borderLeft = 'solid 2px black';
   topmenu[0].style.borderBottom = 'solid 1px silver';
   topmenu[0].style.borderRight = 'solid 1px silver';
   topmenu[0].style.color = '#6495ed';
 }
}

function hiddenSubMenu(menu){
 var submenu = menu.getElementsByTagName("ul");
 if(submenu.length == 1){
    submenu[0].style.visibility = 'hidden';
 }
 var topmenu = menu.getElementsByTagName("span");
 if(topmenu.length == 1){
   topmenu[0].style.border = 'none';
   topmenu[0].style.color = '#fff';
 }
}

function mouseOverAction(menu){
  menu.style.borderBottom = 'solid 1px red';
  menu.style.color = 'red';
  menu.style.cursor = 'hand';
}

function mouseOutAction(menu){
  menu.style.color = 'blue';
  menu.style.borderBottom = 'solid 0px black';
  menu.style.cursor = 'default';
}

function confirmBeforeDelete(url, msg){
  if(msg == undefined){
  	msg = '';
  }
  if(confirm(msg + "本当に削除してよろしいですか?")){
    window.location = url;
  }
}

function insertBlockPlugin(pluginName, args){

	var argStr = '';			
	var left = '';
	var right = '';
	var first = true;
	
	if(args != undefined){				
		left = '(';
		right = ')';


	    if (typeof args == 'string'){
			argStr = args;
		}else{
			for(var i=0;i<args.length;i++){
				if(first){
					first = false;		
				}else{
					argStr += ',';
				}
				var arg = args[i];
				argStr += arg;
			}
		}
	}	
	
	if(wysiwygMode){
		insertHtml('<div>#'+pluginName+ left + argStr + right + '</div>');
	}else{
		insertTags('\n#' + pluginName + left, right + '\n', argStr); 
	}
}

function insertInlinePlugin(pluginName, args){

	var argStr = '';			
	var first = true;
	var left = '';
	var right = '';
				
	if(args != undefined){				
		left = '(';
		right = ')';

	    if (typeof args == 'string'){
			argStr = args;
		}else{
			for(var i=0;i<args.length;i++){
				if(first){
					first = false;		
				}else{
					argStr += ',';
				}
				var arg = args[i];
				argStr += arg;
			}
		}
	}
	
	if(wysiwygMode){
		insertHtml('<span>&'+pluginName+ left +argStr+  right + ';</span>');
	}else{
		insertTags('&' + pluginName + left,  right + ';', argStr); 
	}
}

function insertHtml(content){
	var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
	oEditor.InsertHtml(content);
}


function insertIndent(indentChar){

  var txtarea = document.pageForm.content;
  
  if(document.selection){
  
    var theSelection = document.selection.createRange().text;
    if(!theSelection) { theSelection='';}
    txtarea.focus();
      
    var newContent = createIndentedContent(indentChar, theSelection);  
    document.selection.createRange().text = newContent;
  
  } else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
	var startPos = txtarea.selectionStart;
    var endPos = txtarea.selectionEnd;
    var scrollTop=txtarea.scrollTop;
    var myText = (txtarea.value).substring(startPos, endPos);

    if(!myText) { myText='';}
          
    subst = createIndentedContent(indentChar, myText);
    
    
    
    txtarea.value = txtarea.value.substring(0, startPos) + subst + txtarea.value.substring(endPos, txtarea.value.length);
    txtarea.focus();
    
    var cPos=startPos+(subst.length);
    txtarea.selectionStart=cPos;
    txtarea.selectionEnd=cPos;
    txtarea.scrollTop=scrollTop;
  } 
  
  if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate();

}

function currentSelection(){
	var textarea = document.pageForm.content;
	
	if(document.selection){
      	return document.selection.createRange().text;
	}else if(textarea.selectionStart || textarea.selectionStart == '0') {
	    var start = textarea.selectionStart;
	    var end = textarea.selectionEnd;
	 	return (textarea.value).substring(start, end);
    }
    return '';
}

function insertTags(tagOpen, tagClose, sampleText) {
	

  var txtarea = document.pageForm.content;
  
  if(document.selection){
  
    var theSelection = document.selection.createRange().text;
    if(!theSelection) { theSelection=sampleText;}
    txtarea.focus();
  
    
    if(theSelection.charAt(theSelection.length - 1) == " "){// exclude ending space char, if any
      theSelection = theSelection.substring(0, theSelection.length - 1);
      document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
    } else {
      document.selection.createRange().text = tagOpen + theSelection + tagClose;
    }
  
  } else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
    var startPos = txtarea.selectionStart;
    var endPos = txtarea.selectionEnd;
    var scrollTop=txtarea.scrollTop;
    var myText = (txtarea.value).substring(startPos, endPos);
    if(!myText) { myText=sampleText;}
    if(myText.charAt(myText.length - 1) == " "){ // exclude ending space char, if any
      subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
    } else {
      subst = tagOpen + myText + tagClose;
    }
    txtarea.value = txtarea.value.substring(0, startPos) + subst +
    txtarea.value.substring(endPos, txtarea.value.length);
    txtarea.focus();
    
    var cPos=startPos+(tagOpen.length+myText.length+tagClose.length);
    txtarea.selectionStart=cPos;
    txtarea.selectionEnd=cPos;
    txtarea.scrollTop=scrollTop;
  } 
  
  if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate();
}

var CR="\r";
var LF="\n";
var SPACE = " ";

function createIndentedContent(indent, content){
	var newContent = '';
	var dataLength = content.length;
	var needIndent = true;
	
    for(i=0;i<dataLength;i++){
        var letter = content.charAt(i);
                
        if(letter != LF && letter != CR){
			if(needIndent){
				newContent += indent;
				needIndent = false;	
			}
        }else if(letter == CR || letter == LF){
			needIndent = true;
        }
		newContent += letter;
    }
    return newContent;
}

function checkLength(){

	var selection = currentSelection();
	
	if(!selection){
		alert('文字数をカウントする箇所選択してください。');
	}
	
	var dataLength = selection.length;
	var letterNum = "";
	
	for(var i=0;i<dataLength;i++){
		var letter = selection.charAt(i);
        if(letter == LF && letter == CR){
				
		}else{
			letterNum ++ ;
		}
	}
	 	
	alert('文字数:' +  letterNum  );
}

function chstyle(elem,flag){
	if(flag){
	  elem.style.border="1px solid #6495ed";
	}else{
	  elem.style.border="1px solid #ffffff";
	}
}



