/**
 * 해당 파일명으로 js 파일을 로드한다.
 * @param jsName 파일명, 파일명, 파일명 과 같은 형태
 */
var jsload = {
    /**
     * 로드된 스크립트
     */
    loaded: [],

    /**
     * 스크립트를 동적으로 로드한다.
     * 패러미터는 , 로 구분된 String 형태이며,
     * 각 파일은 pixeldraw.{1}.js 형태로 호출된다.
     */
    load: function() {
        var sc = $('script[src *= "/js/basic.js"]'); // pixeldraw.js 스크립트 Element 를 가져온다
    
        // 마지막 것부터 넣는다.
        var idx = arguments.length;
        while (idx-- > 0) {
            if ($.inArray(arguments[idx], this.loaded) == -1) { // 중복처리
                this.loaded.push(arguments[idx]);
                sc.after('<script type="text/javascript" src="/js/' + arguments[idx] + '.js"></script>');
            }
        }   
    }
}


var mnb = {
    default_id: null,
    selected_id: null,
    img_path: 'http://image.gamescampus.co.jp/shotonline/common/',
    hover: function(num) {
        this.clr();
        this.set(num);
    },

    hout: function() {
        this.clr();
    },

    set: function(num) {
        $('#mnb_' + num + 'sub').show().hover(function() {}, function() { mnb.hout(); });
        $('#mnb_' + num + '>a>img').attr('src', this.img_path + 'mnb_hover'+ num +'.jpg');

    },

    clr: function() {
        this.reset();
    },

    reset: function() {
        $('#mnb_02>a>img').attr('src', this.img_path + 'mnb_off02.jpg');
        $('#mnb_03>a>img').attr('src', this.img_path + 'mnb_off03.jpg');
        $('#mnb_04>a>img').attr('src', this.img_path + 'mnb_off04.jpg');
        $('#mnb_05>a>img').attr('src', this.img_path + 'mnb_off05.jpg');
        $('#mnb_06>a>img').attr('src', this.img_path + 'mnb_off06.jpg');
        $('#mnb_01sub,#mnb_02sub,#mnb_03sub,#mnb_04sub,#mnb_05sub,#mnb_06sub').hide();
    },


    test: function() { }
};


var member = {
	input_bg: null,

	signin : function () {
		var frm = document.getElementById('frmSignin');
		alert('ログイン!!!! ');
	},

	clrbg: function(ele) {
		this.input_bg = $(ele).css('background-image');
		$(ele).css('background-image','none');
	},

	resbg: function(ele) {
		if ($(ele).val() == '') {
			$(ele).css('background-image', this.input_bg );
		}
	}
};

var left = {
    load_items: function() {
        var page = arguments[0];
        page = typeof(page)=='undefined' ? 1 : page;
        $('#main_items').load('/common/items.asp?page='+page);
    },
    
    load_rank: function() {
        $('#rank_list').load('/common/rank_list.asp?servername=vallar&course=0&ranktype=total');
    }
};

    
var crank = {
    view: function(server, no, ranktype) {
        $('#rank_list').load('/common/rank_list.asp?servername=vallar&course=' + no + '&ranktype=' + ranktype);
    }
};

$(document).ready(function() {
	/* Sign In */
	$('#uid').focus(function() { member.clrbg(this); }).blur(function() { member.resbg(this); });
	$('#pwd').focus(function() { member.clrbg(this); }).blur(function() { member.resbg(this); });
    if ($('#uid').val() != "") { member.clrbg($('#uid')); }
    
	/* Mnb */
	$('div.mnb').hover( function() { }, function() { mnb.clr(); } );
	//$('#mnb_01').hover( function() { mnb.reset(); $('#mnb_01sub').show().hover( function() {}, function() { $(this).hide(); }); } );
	$('#mnb_02').hover(function() { mnb.hover('02'); });
	$('#mnb_03').hover(function() { mnb.hover('03'); });
	$('#mnb_04').hover(function() { mnb.hover('04'); });
	$('#mnb_05').hover(function() { mnb.hover('05'); });
	$('#mnb_06').hover(function() { mnb.hover('06'); });

    left.load_rank()
    left.load_items(1);
});


/**
 * Function : dump()
 * Arguments: The data - array,hash(associative array),object
 *    The level - OPTIONAL
 * Returns  : The textual representation of the array.
 * This function was inspired by the print_r function of PHP.
 * This will accept some data as the argument and return a
 * text that will be a more readable version of the
 * array/hash/object that is given.
 */
function dump(arr, level) {
	var dumped_text = "";
	if (!level) {
		level = 0;
	}

	//The padding given at the beginning of the line.
	var level_padding = "";
	for ( var j = 0; j < level + 1; j++) {
		level_padding += "    ";
	}

	if (typeof (arr) == 'object') { //Array/Hashes/Objects
		for ( var item in arr) {
			var value = arr[item];

			if (typeof (value) == 'object') { //If it is an array,
				dumped_text += level_padding + "[" + item + "]\n";
				dumped_text += dump(value, level + 1);
			} else {
				dumped_text += level_padding + "[" + item + "] => \"" + value
						+ "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>" + arr + "<===(" + typeof (arr) + ")";
	}
	return dumped_text;
}

function loginCheck(login) {
    if (login == "False") {
        alert("このページへのアクセスにはログインが必要です。");
        return false;
    }
    else {
        return true;
    }
}


function validate_required(field, alerttxt) {
    if (field.value == null || field.value == "") {
        alert(alerttxt);
        return false;
    }
    else {
        return true;
    }
}

function validate_form(form) {
    if (validate_required(form.uid, "ユーザーIDを入力してください") == false) {
		form.uid.focus();
        return false;
    }
    if (validate_required(form.pwd, "パスワードを入力してください") == false) {
		form.pwd.focus();
        return false;
    }
}
