var save_flag=0;//save通信中フラグ
var ajax_flag=0;//ajax通信中フラグ
var pageNow=0;
var cntmax=7;
var resultData = new Object();

//ajaxフラグ変更----------------------------------------------------------
function ajax_on(){
	ajax_flag=1;
}
function ajax_off(){
	ajax_flag=0;
}

//変更保存-----------------------------------------------------------------
function dataSave(){
	if(save_flag != 0){return;}
	save_flag=1;

	var url = './main.cgi';
	var query='call=save&'+Form.serialize('save_form');

	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: query, 
			onComplete: showResponseSave
		});
}
function showResponseSave(str){
	var result=str.responseText;

	save_flag=0;

	eval(result);
}

function save_ok(){
	dataClear();
	YAHOO.example.container.dialog1.hide();
	dataSearch();
}

//削除-----------------------------------------------------------------
function dataDel(uid){
	YAHOO.example.container.dialog1.hide();
	if(save_flag != 0){return;}
	if(confirm('本当に削除してもよろしいですか？') != true){
		return ;
	}
	save_flag=1;

	var url = './main.cgi';
	var query='call=del&uid='+uid;

	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: query, 
			onComplete: showResponseDel
		});
}
function showResponseDel(str){
	var result=str.responseText;

	save_flag=0;

	eval(result);
}
function del_ok(){
	YAHOO.example.container.dialog1.hide();
	dataSearch();
}
//新規作成----------------------------------------
function dataNew(){
	document.getElementById('dialogTitle').innerHTML="新規登録";
	dataClear();
	YAHOO.example.container.dialog1.show();
}
//編集----------------------------------------
function dataEdit(no){
	document.getElementById('dialogTitle').innerHTML="変更";
	document.getElementById('uid_input').value=resultData['uid_'+no];
	document.getElementById('uname_input').value=resultData['uname_'+no];
	document.getElementById('upass_input').value=resultData['upass_'+no];
	document.getElementById('utype_input_'+resultData['utype_'+no]).checked=true;

	YAHOO.example.container.dialog1.show();
}
//クリア----------------------------------------
function dataClear(){
	$('save_form').reset();
}


//検索-----------------------------------------------------------------
function dataSearch(){
	if(ajax_flag == 2){
		return;
	}else if(ajax_flag == 1){
		ajax_flag = 2;
		return;
	}else{
		ajax_flag = 1;
	}

	var url = './main.cgi';
	var query='call=search&no='+pageNow+'&'+Form.serialize('search_form');

	var myAjax = new Ajax.Request(
		url, 
		{
			method: 'post', 
			parameters: query, 
			onComplete: showResponseSearch
		});
}
function showResponseSearch(str){
	var result=str.responseText;

	resultData = eval("(" + result + ")");

	showTable();

	if(ajax_flag == 2){
		ajax_flag=0;
		dataSearch();
	}else{
		ajax_flag=0;
	}
}
function showTable(){
	for(i=0;i<7;i++){
		var ii=parseInt(resultData['cntno'])+i;

		if(resultData['uname_'+ii]){
			document.getElementById('uid_'+i).innerHTML=resultData['uid_'+ii];
			document.getElementById('uname_'+i).innerHTML=resultData['uname_'+ii];
			if(resultData['utype_'+ii] == 1){
				document.getElementById('utype_'+i).innerHTML='男';
			}else{
				document.getElementById('utype_'+i).innerHTML='女';
			}
			document.getElementById('uedit_'+i).innerHTML='<a href="javascript:dataEdit('+ii+');">編集</a>';
			document.getElementById('udel_'+i).innerHTML='<a href="javascript:dataDel('+resultData['uid_'+ii]+');">削除</a>';
		}else{
			document.getElementById('uid_'+i).innerHTML="　";
			document.getElementById('uname_'+i).innerHTML="　";
			document.getElementById('utype_'+i).innerHTML="　";
			document.getElementById('uedit_'+i).innerHTML="　";
			document.getElementById('udel_'+i).innerHTML="　";
		}
	}

	var tmp=resultData['cntmax']-7;
	if(tmp < 0){
		tmp=0;
	}

	scaleFactor = tmp / 200;

	if(resultData['cntmax'] != cntmax){
		slider.setValue(0, false);
		cntmax=resultData['cntmax'];
	}

}


//新規登録ダイアログ------------------------------------------------------
YAHOO.namespace("example.container");
function init() {
	
	// Define various event handlers for Dialog
	var handleSubmit = function() {
		dataSave();
	};
	var handleCancel = function() {
		dataClear();
		this.cancel();
	};
	var handleSuccess = function(o) {
		var response = o.responseText;
		response = response.split("<!")[0];
		document.getElementById("resp").innerHTML = response;
		eval(response);
	};
	var handleFailure = function(o) {
		alert("Submission failed: " + o.status);
	};

	// Instantiate the Dialog
	YAHOO.example.container.dialog1 = new YAHOO.widget.Dialog("dialog1", 
																{ width : "300px",
																  fixedcenter : true,
																  visible : false, 
																  constraintoviewport : true,
																  buttons : [ { text:"Submit", handler:handleSubmit, isDefault:true },
																			  { text:"Cancel", handler:handleCancel } ]
																 } );
	
	// Validate the entries in the form to require that both first and last name are entered
	YAHOO.example.container.dialog1.validate = function() {
		var data = this.getData();
		if (data.firstname == "" || data.lastname == "") {
			alert("Please enter your first and last names.");
			return false;
		} else {
			return true;
		}
	};

	// Wire up the success and failure handlers
	YAHOO.example.container.dialog1.callback = { success: handleSuccess,
												 failure: handleFailure };
	
	// Render the Dialog
	YAHOO.example.container.dialog1.render();

}

YAHOO.util.Event.onDOMReady(init);



//スライダー表示------------------------------------------------------------------------------
var Event = YAHOO.util.Event,
    Dom   = YAHOO.util.Dom,
    lang  = YAHOO.lang,
    slider, 
    bg="slider-bg", thumb="slider-thumb", 
    valuearea="slider-value", textfield="slider-converted-value"

// The slider can move 0 pixels up
var topConstraint = 0;

// The slider can move 200 pixels down
var bottomConstraint = 200;

// Custom scale factor for converting the pixel offset into a real value
var scaleFactor = 1.5;

// The amount the slider moves when the value is changed with the arrow
// keys
var keyIncrement = 20;

Event.onDOMReady(function() {

    slider = YAHOO.widget.Slider.getVertSlider(bg, 
                     thumb, topConstraint, bottomConstraint);

    slider.getRealValue = function() {
        return Math.round(this.getValue() * scaleFactor);
    }

    slider.subscribe("change", function(offsetFromStart) {


        var actualValue = slider.getRealValue();
//----------------------------------------------
		pageNow=slider.getRealValue();
		dataSearch();
//----------------------------------------------------
        Dom.get(bg).title = actualValue;


    });

    slider.subscribe("slideStart", function() {
            YAHOO.log("slideStart fired", "warn");
        });

    slider.subscribe("slideEnd", function() {
            YAHOO.log("slideEnd fired", "warn");
        });

    // set an initial value
    slider.setValue(0);

});


