
var eHTML = document.getElementsByTagName( 'html' )[0];


function init_theme(){
	var sTheme = false;
	if( location.href.match( /theme=/ ) ){
		sTheme = location.href.replace( /.*theme=([abc]?).*/, '$1' );
	}else{
		sTheme = cmnGet_cookie( 'theme' );
	}
	if( sTheme != false ){
		set_theme( sTheme );
	}
}


function set_theme( sTheme ){
	cmnRemove_class( eHTML, '[abc]' );
	cmnSet_class( eHTML, sTheme );
	cmnSet_cookie( 'theme', sTheme, new Date( ( new Date ).getFullYear() + 2, 1, 1 ) );
	return false;
}




function cmnSet_cookie( sName, vValue, dExpires ){
   document.cookie = sName + "=" + escape( vValue )
	   + ( dExpires == null ? "" : ( "; expires=" + dExpires.toGMTString() ) )
	   + "; path=/";
}

function cmnGet_cookie( sName ){
	return cmnPairs_string_get_value( document.cookie, sName );
}

function cmnSwitch_class( eOn, sClass_name, sInstead ){
	if( cmnMatch_class( eOn, sClass_name ) ){
		cmnSet_class( eOn, sInstead, sClass_name );
	}else{
		cmnSet_class( eOn, sClass_name, sInstead );
	}
}

function cmnRemove_class( eOn, sClass_name ){
	cmnSet_class( eOn, "", sClass_name );
}

function cmnSet_class( eOn, sClass_name, sInstead ){
	if( eOn ){
		sClass_name = ( sClass_name.length ) ? sClass_name.replace( /(^\s+|\s+$)/, "" ) : "";
		if( eOn.className.length ){
			var sOld = sClass_name;
			if( sInstead && sInstead.length ){
				sInstead = sInstead.replace( /\s+(\S)/g, "|$1" );
				if( sOld ){
					sOld += "|";
				}
				sOld += sInstead;
			}
			eOn.className = eOn.className.replace( new RegExp("(^|\\s+)(" + sOld +")($|\\s+)", "g"), "$1" );
		}
		eOn.className += ( eOn.className.length && sClass_name ? " " : "" ) + sClass_name;
	}
}

function cmnMatch_class( eOn, sClass_name ){
	return ( sClass_name && eOn.className && eOn.className.length && eOn.className.match( new RegExp("(^|\\s+)(" + sClass_name +")($|\\s+)") ) );
}


function cmnPairs_string_get_value( sText, sName, sFrom, sBefore ){
	var sValue = "";
	if( sText ){
		if( !sFrom ) sFrom = "=";
		if( !sBefore ) sBefore = ";";
		sText = sText.replace( new RegExp( "(" + sBefore + ")\\s+", "g" ), "$1" );
		var iStart = sText.indexOf( sBefore + sName + sFrom );
		if( iStart >= 0 ){
			iStart += ( sBefore.length + sName.length + sFrom.length );
		}else{
			iStart = sText.indexOf( sName + sFrom );
			if( iStart == 0 ){
				iStart += ( sName.length + sFrom.length );
			}else{
				iStart = -1;
			}
		}
		if( iStart >= 0 ){
			var iEnd = sText.indexOf( sBefore, iStart );
			if( iEnd < 0 ){
				iEnd = sText.length;
			}
			sValue = sText.substring( iStart, iEnd );
		}
	}
	return sValue;
}


function cmnPairs_string_set_value( sText, sName, sValue, sFrom, sBefore ){
	if( !sFrom ) sFrom = "=";
	if( !sBefore ) sBefore = ";";
	var iStart = -1;
	if( sText ){
		sText = sText.replace( new RegExp( "\\s+(" + sBefore + "|" + sFrom + ")\\s+", "g" ), "$1" );
		iStart = sText.indexOf( sBefore + sName + sFrom );
		if( iStart >= 0 ){
			iStart += ( sBefore.length + sName.length + sFrom.length );
		}else{
			iStart = sText.indexOf( sName + sFrom );
			if( iStart == 0 ){
				iStart += ( sName.length + sFrom.length );
			}else{
				iStart = -1;
			}
		}
		if( iStart >= 0 ){
			var iEnd = sText.indexOf( sBefore, iStart );
			if( iEnd < 0 ){
				iEnd = sText.length;
			}
			sText = sText.substring( 0, iStart ) + sValue + sText.substr( iEnd );
		}
	}
	if( iStart < 0 ){
		if( sText && sText.lastIndexOf( sBefore ) != ( sText.length - sBefore.length ) ){
			sText += sBefore;
		}
		sText += sName + sFrom + sValue + sBefore;
	}
	return sText;
}



function preloadImg(i) { 
	var img = new Image(); img.src = i; return img;
}

preloadImg('/images/faq.gif');
preloadImg('/images/faq-a.gif');
preloadImg('/images/faq-b.gif');
preloadImg('/images/faq-c.gif');

preloadImg('/images/_g2p.gif');
preloadImg('/images/_g2p-a.gif');
preloadImg('/images/_g2p-b.gif');
preloadImg('/images/_g2p-c.gif');

preloadImg('/images/g2p.gif');
preloadImg('/images/g2p-a.gif');
preloadImg('/images/g2p-b.gif');
preloadImg('/images/g2p-c.gif');

preloadImg('/images/icn-adv.gif');
preloadImg('/images/icn-adv-a.gif');
preloadImg('/images/icn-adv-b.gif');
preloadImg('/images/icn-adv-c.gif');

preloadImg('/images/back-search-rb.gif');
preloadImg('/images/back-search-rb-a.gif');
preloadImg('/images/back-search-rb-b.gif');
preloadImg('/images/back-search-rb-c.gif');


function chmode(name, mode) { 
	if ( mode == 'on' ) add = '-on'; else add = ''; window.document.images[name].src = '/images/'+name+add+'.gif';
}

if( window.init_theme ){ init_theme(); }
