window.onload = function(){
	if (!document.getElementById) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');

	for (var i = 0; i < aImages.length; i++) {		
		if (aImages[i].className == 'imgover') {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_o'+ftype);

			aImages[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			aImages[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			
			aImages[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
	autoPOP();
	autoPOP2();
	BlankOpen();
	ImgBlankOpen();
	setStripedTable();
	if(typeof(system_onload) != 'undefined') system_onload();
}

// stripe table
conf = {
	className : "shipguide",
	oddlineClassName : "odd",
	evenlineClassName : "even"
}

function setStripedTable(){
	var tables = getElementsByClassName(conf.className);
	for (var i=0, len=tables.length; i<len; i++){
		var table = tables[i];
		var lines = table.getElementsByTagName("tr");

		for (var j=0, llen=lines.length; j<llen; j++){
			tr = lines[j];
			if(j%2==0) {
				tr.className = conf.oddlineClassName;
			} else {
				tr.className = conf.evenlineClassName;
			}
		}
	}
}

function getElementsByClassName(name){
	var elements = new Array();
	var allElements = document.getElementsByTagName('*');
	for (var i=0, len=allElements.length; i<len; i++){
		if (allElements[i].className == name){
			elements.push(allElements[i]);
		}
	}
	return elements;
} 

// stripe
function setStripe(id) {
 var os = navigator.userAgent;
 var br = navigator.appName;
 if ((os.indexOf("mac") >= 0 && br.charAt(0)=="M") || (os.indexOf("Mac") >= 0 && br.charAt(0)=="M")) {
   } else {
    stripeListById('listSt');
   }
}
function stripeList(t) {
  var i, odd = true;
  for (i=0; i<t.getElementsByTagName('li').length; i++) {
   t.getElementsByTagName('li')[i].className += odd ? ' odd' : ' even';
   odd = !odd;
  }
}
function stripeListById(id) {
  var t = document.getElementById(id);
  if (t) stripeList(t);
}

function stripeAllTables() {
  var t = document.getElementsByTagName('TABLE');
  for (var i=0; i<t.length; i++) stripeList(t[i])
}


// popup window


function autoPOP()
{
	var x = document.getElementsByTagName('a');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].getAttribute('className') == 'popup' || x[i].getAttribute('class') == 'popup')
		{
			x[i].onclick = function () {
			return winOpen(this.href)
			}
			x[i].title += '';
		}
	}
};

function winOpen(url) {
	window.open(
		url,
		'popup',
		'width=750,height=700,scrollbars=1,resizable=1'
	);

	return false;
};


function autoPOP2()
{
	var x = document.getElementsByTagName('area');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].getAttribute('className') == 'popup' || x[i].getAttribute('class') == 'popup')
		{
			x[i].onclick = function () {
			return winOpen(this.href)
			}
			x[i].title += '';
		}
	}
};

function winOpen2(url) {
	window.open(
		url,
		'popup',
		'width=750,height=700,scrollbars=1,resizable=1'
	);

	return false;
};



function highlightpage(){
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	if(!document.getElementById("menu")) return false;
	var nav = document.getElementById("menu");
	var links = nav.getElementsByTagName("a");
	
	for(var i=0; i<links.length; i++){
            var linkurl = links[i].getAttribute("href");
	    var currenturl = window.location.href;
		if(currenturl.indexOf(linkurl) != -1){
		 links[i].className = "act";		
		}
	}
}

if(window.addEventListener) {
	window.addEventListener("load", highlightpage, false);
}
else if(window.attachEvent) {
	window.attachEvent("onload", highlightpage);
}




// target blank window
function BlankOpen()
{
	var x = document.getElementsByTagName('a');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].getAttribute('className') == 'blank' || x[i].getAttribute('class') == 'blank')
		{
			x[i].target = '_blank';
		}
	}
};
// target blank window
function ImgBlankOpen()
{
	var x = document.getElementsByTagName('a');
	for (var i=0;i<x.length;i++)
	{
		if (x[i].getAttribute('className') == 'imgblank' || x[i].getAttribute('class') == 'imgblank')
		{
			x[i].target = '_blank';
		}
	}
};

// trimming


var rest = '...';
function cutStringById(id, size) {
  var str = document.getElementById(id).innerHTML;
  if(str.length > size){
    document.getElementById(id).innerHTML = str.substring(0, size) + rest;
  }
}
 
function cutStringByTagNameAndClassName(tagName, className, size) {
  var elements = document.getElementsByTagName(tagName);
  for (i=0; i < elements.length; i++) {
    if (elements[i].getAttribute('class') == className ||
      elements[i].getAttribute('className') == className) {
      var str = elements[i].innerHTML;
      elements[i].innerHTML = trim(str,size);
    }
  }
}
 
function cutStringByIdAndTagName(id, tagName, size) {
  var element = document.getElementById(id);
  var elements = element.getElementsByTagName(tagName);
  for (i=0; i < elements.length; i++) {
    var str = elements[i].innerHTML;
    if(str.length > size){
      elements[i].innerHTML = trim(str,size);
    }
  }
}
 
function trim(str, size) {
  if(str.length > size){
    var cutstring = str.substring(0, size);
    var byte = countByte(cutstring);
    var tmp = "";
    if (byte < size*2) {
       for(k=0; k < (size*2-byte)*2; k++){
         tmp = str.substring(0,size + k);
         if (countByte(tmp) >= size*2) {
           break;
         }
       }
    }
    if(tmp){
      return tmp + rest;
    } else {
      return str.substring(0, size) + rest;
    }
  } else {
    return str;
  }
}
 
function countByte(str) {
  var byte = 0;
  for (j=0; j < str.length; j++) {
    str.charCodeAt(j) < 0x100 ? byte++ : byte += 2;
  }
  return byte;
}
