﻿
///////////////////////////////////////////////////////////////
// ブラウザ情報
///////////////////////////////////////////////////////////////
var _Version; // op7,op8,op9,ie4,ie5,ie6,ie7,ie8,ns4,ns5,ns6,ns7,sf1
var _Type;    // o7,i4,i5,n4,n6,s1
var _Error;

_Error = false;
setBrowserType();

///////////////////////////////////////////////////////////////
// 使用ブラウザ判別
///////////////////////////////////////////////////////////////
function setBrowserType()
{
	// Opera
	if (navigator.userAgent.indexOf("Opera") != -1) {
		var work = navigator.userAgent.indexOf("Opera") + 6;
		_Version = "op" + navigator.userAgent.substring(work, work + 1);
		_Type = "o7";
	}
	// IE
	else if (navigator.userAgent.indexOf("MSIE") != -1) {
		var work = navigator.userAgent.indexOf("MSIE") + 5;
		_Version = "ie" + navigator.userAgent.substring(work, work + 1);
		if (navigator.userAgent.substring(work, work + 1) > 4) {
			_Type = "i5";
		}
		else {
			_Type = "i4";
		}
	}
	// Safari
	else if (navigator.userAgent.indexOf("Safari") != -1) {
		var work = navigator.userAgent.indexOf("Safari") + 7;
		_Version = "sf" + navigator.userAgent.substring(work, work + 1);
		_Type = "s1";
	}
	// Mozilla系
	else if (navigator.appName == "Netscape") {
		if (navigator.userAgent.indexOf("Gecko") !=- 1) {
			if (navigator.userAgent.indexOf("rv:") != -1) {
				var work = navigator.userAgent.indexOf("rv:") + 3;
				if (navigator.userAgent.substring(work, work + 1) >= 1) {
					_Version = "ns7";
				}
				else {
					_Version = "ns6";
				}
			} 
			else {
				_Version = "ns6";
			}
			_Type = "n6";
		}
		else {
			_Version = "ns4";
			_Type = "n4";
		}
	} 
	else {
		_Version = "";
		_Type = "";
	}	
}	

///////////////////////////////////////////////////////////////
// 
///////////////////////////////////////////////////////////////
function resizeX(obj, pixcel)
{
	if (pixcel < 0) {
		return;
	}

	if (_Type == "o7") {
		obj.style.pixelWidth  = pixcel;
	}
	else if (_Type == "i5" || _Type == "n6" || _Type == "s1") {
		obj.style.width  = pixcel + 'px';
	}
	else {
		if (!_Error) { _Error = true; alert("non suported : " + _Browser); }
	}
}

///////////////////////////////////////////////////////////////
// 
///////////////////////////////////////////////////////////////
function moveX(obj, pixcel)
{
	if (_Type == "o7") {
		obj.style.pixelLeft = pixcel;
	}
	else if (_Type == "i5" || _Type == "n6" || _Type == "s1") {
		obj.style.left  = pixcel + 'px';
	}
	else {
		if (!_Error) { _Error = true; alert("non suported : " + _Browser); }
	}
}

///////////////////////////////////////////////////////////////
// 
///////////////////////////////////////////////////////////////
function resizeY(obj, pixcel)
{
	if (pixcel < 0) {
		return;
	}

	if (_Type == "o7") {
		obj.style.pixelHeight  = pixcel;
	}
	else if (_Type == "i5" || _Type == "n6" || _Type == "s1") {
		obj.style.height  = pixcel + 'px';
	}
	else {
		if (!_Error) { _Error = true; alert("non suported : " + _Browser); }
	}
}

///////////////////////////////////////////////////////////////
// 
///////////////////////////////////////////////////////////////
function getX(obj)
{
	if (obj.clientLeft != 'undefined') {
		return obj.clientLeft;
	}
	else {
		return parseInt(obj.style.left);
	}
}

///////////////////////////////////////////////////////////////
// 
///////////////////////////////////////////////////////////////
function getY(obj)
{
	if (obj.clientTop != 'undefined') {
		return obj.clientTop;
	}
	else {
		return parseInt(obj.style.top);
	}
}

///////////////////////////////////////////////////////////////
// 
///////////////////////////////////////////////////////////////
function getSX(obj)
{
	if (_Type == "i5" || _Type == "n6" || _Type == "s1") {
		return obj.clientWidth;
	}
	else if (_Type == "o7") {
		return obj.style.width;
	}
	else {
		if (!_Error) { _Error = true; alert("non suported : " + _Browser); }
		return null;
	}
}

///////////////////////////////////////////////////////////////
// 
///////////////////////////////////////////////////////////////
function getSY(obj)
{
	if (_Type == "i5" || _Type == "n6" || _Type == "s1" || _Type == "o7") {
		return obj.clientHeight;
	}
	else {
		if (!_Error) { _Error = true; alert("non suported : " + _Browser); }
		return null;
	}
}

///////////////////////////////////////////////////////////////
// オブジェクトの検索
///////////////////////////////////////////////////////////////
function $(name)
{
	var obj = null;
	
	if (_Type == "i5" || _Type == "o7" || _Type == "n6" || _Type == "s1") {
		obj = document.getElementById(name);
		if (obj == null) {
			for (i = 0; i < document.forms.length; i++) {
				obj = document.forms[i].document.getElementById(name);
				if (obj != null) {
					break;
				}
			}
		}
	}
	else if (_Type == "i4" || _Type == "n4") {
		if (!_Error) { _Error = true; alert("non suported : " + _Browser); }
		return null;
	}
	
	return obj;
}

///////////////////////////////////////////////////////////////
// エンターキー無効
///////////////////////////////////////////////////////////////
function InvalidEnterKey(event)
{
	var keyCode = (event.keyCode) ? event.keyCode : event.charCode;

	if (keyCode != null)
	{
		if (keyCode == 13)
		{
			var src = (event.srcElement) ? event.srcElement : event.target;

			if (src != null)
			{
				if (src.type != 'submit' && src.type != 'button' && src.type != 'textarea' && src.type != 'image')
				{
					return false;
				}
			}
		}
	}
}

///////////////////////////////////////////////////////////////
// エンターキー押下で、対象オブジェクトのクリックイベントを実行する
///////////////////////////////////////////////////////////////
function ClickActionEnterKey(event, name)
{
	var keyCode = (event.keyCode) ? event.keyCode : event.charCode;

	if (keyCode != null)
	{
		if (keyCode == 13)
		{
			$(name).focus();
			$(name).click();
			return false;
		}
	}
}
