// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

/* 
 * 絵文字入力
 */
function put_emoji(no,textarea_id){
  var insert = "[e:"+no+"]";
  var tarea = document.getElementById(textarea_id);
  tarea.focus();

  if (/*@cc_on!@*/false) { // IE
    var sel = document.selection.createRange();
    sel.text = insert;
    sel.select();

  } else {
    var body = tarea.value;
    var at   = tarea.selectionStart;
    var tmp  = body.substr(0, at);

    tarea.value = tmp + insert + body.substr(at, body.length);
    var cursor = Math.floor(insert.length ) + at;
    tarea.setSelectionRange(cursor, cursor);
  }

}
function put_emoji_fck(no,textarea_id){
//  var insert = "[e:"+no+"]";
  var insert = "<img src=\"/images/emoji/"+no+".gif\"/>";
  var oEditor=FCKeditorAPI.GetInstance(textarea_id);
  oEditor.InsertHtml(insert);
  
}
function update_tabineta_genre_rjs(url){
    if($('osusume_ajax_loader_img') != undefined){
        $('osusume_ajax_loader_img').show();
    } 
    new Ajax.Request(url, {asynchronous:true, evalScripts:true}); return false;
}

function ajax_dialog(url){
	m = new Control.Modal(false, {
        width: 300,
        height: 180,
		contents: function(){
			new Ajax.Request(url, {
				onComplete: function(request){
					m.update(request.responseText);
				}.bind(this)
			});
			return '';
		}
	});
	m.open();
}


function emojiPopupDialog(text_area_id){
    url = '/user/util/emoji_input_html?text_area_id='+text_area_id;
	m = new Control.Modal(false, {
        width: 330,
        height: 180,
        overlayDisplay:false,
        opacity: 0.8,
		contents: function(){
			new Ajax.Request(url, {
				onComplete: function(request){
					m.update(request.responseText);
				}.bind(this)
			});
			return '';
		}
	});
	m.open();
}


function result_dialog(str1,str2){
  content = ''
  content = content + '<div>'
  content = content + '<div><img src="/images/spacer.gif" alt="" width="1" height="10"></div>'
  content = content + '<span class="j14 blue2 top15 left15"><strong>'+str1+'</strong></span>'
  content = content + '<BR><BR><BR><span class="left15 j12">'+str2+'</span><BR><BR>'
  content = content + '<div align="center"><input type="button" value="閉じる" onclick="Control.Modal.close();"/></div>'
  content = content + "</div>"
  m = new Control.Modal.open( false,{width: 330, height: 180, contents: content} )
  m.open();
}

/* 削除RJS */
function delete_rjs(target_name,target_id,hide_id,hide_id_2,button_name,rjs_url){
  content = ''
  content = content + '<div>'
  content = content + '<div><img src="/images/spacer.gif" alt="" width="1" height="10"></div>'
  content = content + '<span class="j14 blue2 top15 left15"><strong>'+target_name+'</strong></span>'
  content = content + '<BR><BR><BR><span class="left15 j12">を削除しますか？</span><BR><BR>'
  content = content + '<div align="center"><input type="button" onclick="new Ajax.Request(\''+rjs_url+'/'+target_id+'?hide_id='+hide_id
  if(hide_id_2 != null && hide_id_2 != ''){
    content = content + '&hide_id_2='+hide_id_2
  }
  content = content + '\', {asynchronous:true, evalScripts:true}); return false;" value="'+button_name+'" />&nbsp;<input type="button" value="キャンセル" onclick="Control.Modal.close();"/></div>'
  content = content + "</div>"
  m = new Control.Modal.open( false,{width: 330, height: 180, contents: content} )
  m.open();
}



function destination_getTopPos(inputObj)
{		
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}
function destination_getBottomPos(inputObj)
{		
  var returnValue = inputObj.offsetTop + inputObj.offsetHeight;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function destination_getLeftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
  }
  return returnValue;
}


var add_my_parts_executing = false;


function add_my_parts(event,url,id){

  var destination_div = false;
  var flyingObject = false;
  var srcProductDiv = false;

  var destination_x = false;
  var destination_y = false;

  var diffX = false;
  var diffY = false;

  var srcXPos = false;
  var srcYPos = false;


    var src_object = Event.element(event);
    
    
	if(add_my_parts_executing) return;
	add_my_parts_executing = true;
	if(!destination_div)destination_div = document.getElementById('right_side_tabineta_list');
	if(!flyingObject){
		flyingObject = document.createElement('DIV');
		flyingObject.style.position = 'absolute';
		document.body.appendChild(flyingObject);
		flyingObject.id = "flyingObject";
	}
	
	my_parts_list_x = destination_getLeftPos(destination_div)+20;
//	my_parts_list_y = destination_getBottomPos(destination_div)-100;
	my_parts_list_y = destination_getBottomPos(destination_div)-30;
    //alert("my_parts_list_x="+my_parts_list_x+" my_parts_list_y="+my_parts_list_y);

	srcProductDiv = src_object;
	
	srcXPos = destination_getLeftPos(srcProductDiv);
	srcYPos = destination_getTopPos(srcProductDiv);

    //alert("srcXPos="+srcXPos+" srcYPos="+srcYPos);
	
	diffX = my_parts_list_x - srcXPos;
	diffY = my_parts_list_y - srcYPos;
	
    //alert("diffX="+diffX+" diffY="+diffY);

	flyingObject.innerHTML = "<img src='/images/sakura.gif'/>";
	flyingObject.style.left = srcXPos + 'px';
	flyingObject.style.top = srcYPos + 'px';
	flyingObject.style.display='block';
	flyingObject.style.width = srcProductDiv.offsetWidth + 'px';

	new Effect.MoveBy("flyingObject",
		diffY,
		diffX, {
		duration:1,
		fps:30,
		delay:0,
		beforeStartInternal: function(effect) {
		},
		afterFinishInternal: function(effect) {
//          ajax_dialog(url);
			new Ajax.Request(url,{asynchronous:true, evalScripts:true});
          Element.remove("flyingObject");
		  flyingObject=null;
		  add_my_parts_executing = false;
		}
	});
}	





//複数onload実行用
var onloadHandle="";
function addOnloadHandle(str){
onloadHandle+=str;
}
window.onload=function(){
eval(onloadHandle);
}


// 複数チェック用
function check_all(els,sw) {
	if (els) {
		if (els.length) { // 配列の場合
			for (var i=0;i<els.length;i++) {
				els[i].checked = sw;
			}
		} else {
			els.checked = sw;
		}
	}
}

function check_all_back(els,this_checkbox,checkbox_all) {
	if (this_checkbox.checked) {
		check_all_back_sub(els,checkbox_all);
	} else {
		checkbox_all.checked = false;
	}
}

function check_all_back_sub(els,checkbox_all) {
		if (els.length) {
			var sw = true;
			for (var i=0;i<els.length;i++) {
				if (! els[i].checked) { sw = false; }
			}
			checkbox_all.checked = sw;
			
		} else {
			els.checked = true;
		}
}
function scrollToTabinetaBaseInfo(){
  new Effect.ScrollTo('tabineta_base_info', {
    //transition:Effect.Transitions.flicker,
    duration :0.8
  });
}

function toggle_check_box(name){
    array = $A(document.getElementsByName(name));
    array.each(function(node){
      if (node.checked == true){
        node.checked = false;
      }else{
        node.checked = true;
      }
	});

}
//簡易ログインチェック
function check_tabiken_login(){
    if( $('header_user_name').innerHTML.indexOf('/user/registration/new') == -1 ){
        return(true);
    }else{
        return(false);
    }    
}
