// JavaScript Document
/*
var device = navigator.userAgent;
$j(function(){
	if(device.indexOf('iPhone') > 0 || device.indexOf('Android') > 0){
		location.href = "/sp/";
	}
});
*/
//**************************************************************************************
//　画像の入替時、使用する
//**************************************************************************************
function MM_swapImgRestore() { //v3.0スワップした画像を元に戻す
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0<body>タグにオンロード時
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0画像のスワップ
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//**************************************************************************************
//　各DIVエレメントの表示・非表示
//**************************************************************************************
function MM_showHideLayers() { //v9.0(CSSがvisibilityの場合)
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
function MM_showHideLayers2() { //v9.0(CSSがdisplayの場合)
  var i,p,v,obj,args=MM_showHideLayers2.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'block':(v=='hide')?'none':v; }
    obj.display=v; }
}

//**************************************************************************************
//　各ブラウザ別スタイルシート適用
//
//　デフォルトは「全ブラウザ対象」、「.class、#ID」の前にブラウザ記号挿入
//　IE　⇒　「.ie」、「.ie6、.ie7」で個別に設定可能
//	FF　⇒　「.gecko」
//  opera　 ⇒　「.opera」
//	Safari　⇒　「.webkit」
//
//**************************************************************************************
function css_browser_selector(u){var ua = u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',h=document.getElementsByTagName('html')[0],b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3')?g+' ff3':is('gecko/')?g:/opera(\s|\/)(\d+)/.test(ua)?'opera opera'+RegExp.$2:is('konqueror')?'konqueror':is('chrome')?w+' '+s+' chrome':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);

//**************************************************************************************
//　ステータスバーにリンク先　非表示
//**************************************************************************************
function hihyouzi(){
	window.status = '';
	return true;
}
if (document.layers)
	document.captureevents(event.mouseover | event.mouseout);
	document.onmouseover = hihyouzi;
	document.onmouseout = hihyouzi;

//**************************************************************************************
//　Window.open
//**************************************************************************************
function urlLink(url) {
	
	window.open(url,'','left=0,top=0,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,fullscreen=yes');

}

//**************************************************************************************
//　ページのトップをスムーズに
//
//　ex) <a href="#" onclick="backToTop(); return false">
//
//**************************************************************************************

function backToTop() {
  var x1 = x2 = x3 = 0;
  var y1 = y2 = y3 = 0;
  if (document.documentElement) {
      x1 = document.documentElement.scrollLeft || 0;
      y1 = document.documentElement.scrollTop || 0;
  }
  if (document.body) {
      x2 = document.body.scrollLeft || 0;
      y2 = document.body.scrollTop || 0;
  }
  x3 = window.scrollX || 0;
  y3 = window.scrollY || 0;
  var x = Math.max(x1, Math.max(x2, x3));
  var y = Math.max(y1, Math.max(y2, y3));
  window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));
  if (x > 0 || y > 0) {
      window.setTimeout("backToTop()", 50);
  }
}

function GetToday() {
	today=new Date();
	m=today.getMonth()+1;
	d=today.getDate();
	document.write("<span style='font-size:12px; font-weight:100;'>（",m,"月");
	document.write( d,"日更新）</span>");

}


//**************************************************************************************
//　お気に入り登録
//**************************************************************************************

function okiniiri_add() {
//Internet Explorer
//ブラウザ上では[お気に入りに追加♪]というボタンが表示されます
	if(navigator.userAgent.indexOf("MSIE") > -1){
		window.external.AddFavorite('http://www.car-channel.net/','クルマのことなら『カーチャンネル』');
	}
	//Firefox
	// ブラウザ上では[ブックマークに追加♪]というボタンが表示されます
	else if(navigator.userAgent.indexOf("Firefox") > -1){
		window.sidebar.addPanel('クルマのことなら『カーチャンネル』','http://www.car-channel.net/','');
	}
//上記以外のブラウザは、何も実行(表示)されません
}

//**************************************************************************************
//　時計を表示する
//**************************************************************************************
function time_disp(){

	var now = new Date();

	// （不要な行を削除する）
	var watch1 = now.toLocaleString(); // ローカル時

	// テキストフィールドにデータを渡す処理（不要な行を削除する）
	$('time_disp').innerHTML = watch1; // ローカル時

	setTimeout("time_disp()", 1000);

}

//**********************************************************************
// Ajaxの簡易同期通信( POST )
// 
// 【パラメータ】
//    url、GETパラメータ用配列
// 【戻り値】
//    成功時：返って来たJSON文字列のlist要素
//    失敗時：false
//
// 2009/06/28
//**********************************************************************
function ajaxRequestSyncPost( baseurl, params ){
	
	var url = baseurl;
	var send_param = "";

	for (var key in params) {
		if (send_param != '') send_param += "&";
		send_param += key + "=" + String(params[key]).escapeForPost();
	}
	
	var request = new Ajax.Request(url ,{
	    method: 'post',
		parameters: send_param,
	    asynchronous: false,
	    onFailure: function (response, options) {
	        return false;
	    }
	});
	try {
	    var result = eval('(' + request.transport.responseText + ')');
		if( !result.success ){ return false; }
		return result.list;	
	
	} catch(err) {
	    return false;
	}

}

function ajaxRequestSyncPost2( baseurl, params ){
	
	var url = baseurl;
	var send_param = "";
    
	for (var key in params) {
		if (send_param != '') send_param += "&";
		send_param += key + "=" + String(params[key]).escapeForPost();
	}
	
	var request = new Ajax.Request(url ,{
	    method: 'post',
		parameters: send_param,
	    asynchronous: false,
	    onFailure: function (response, options) {
	        return false;
	    }
	});
	try {
	    var result = eval('(' + request.transport.responseText + ')');
		return result;
	
	} catch(err) {
	    return null;
	}

}
//**********************************************************************
// 指定バイト数を超えないように、文字列を削る
// パラメータ num ... 最大バイト数
// [2009/04/13]
// [2009/04/14] \r\n を \nに置き換える
//**********************************************************************
String.prototype.cropByBytes = function(num) {

	var str = this.replace(/\r\n/g,"\n");
	
	str = String(str).replace(/\r/g,"\n");
	str = String(str).replace(/\n/g,"\r\n");

	
	var lastindex = str.length-1;
	var i = 0;
	var bytes = 0;
	var croplength = 0;
	
	while (i <= lastindex) {

        var c = str.charCodeAt(i);
        // Shift_JIS: 0x0 ～ 0x80, 0xa0 , 0xa1 ～ 0xdf , 0xfd ～ 0xff
        // Unicode : 0x0 ～ 0x80, 0xf8f0, 0xff61 ～ 0xff9f, 0xf8f1 ～ 0xf8f3
        if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
            bytes += 1;
        } else {
            bytes += 2;
        }
		
		if( bytes > num ){ break; }
		croplength++;
		i++;
	}

	return str.substr(0,croplength);
};

//**********************************************************************
// POST用にエスケープ処理を施した文字列を返します
// [2009/04/17] 作成
//**********************************************************************
String.prototype.escapeForPost = function() {
	var val = this;
	val = val.replace(/%/g, "%25");		// %
	val = val.replace(/&/g, "%26");		// &
	val = val.replace(/\?/g, "%3F");	// ?
	val = val.replace(/#/g, "%23");		// #

	return val;
}
//**********************************************************************
// ウォッチリスト関連
// 
//　移動、件数を取得する
//**********************************************************************

//ウォッチリストに移動
function GoWatchList() {
	location.href = "/usedcar/usedcar_comparison.php";
}

// 車両選択で使用するCOOKIE名
var COOKIE_NAME_USEDCAR = "SELECTED_USED_CAR";
function GetCnt_WatchList(){
		
	// COOKIEより指定したCOOKIE名前の値を取得する
	var cookieVal = getCodeInCookie(COOKIE_NAME_USEDCAR);
	var aryVal = cookieVal.split(",");
	
	if(cookieVal == ""){
		$j('#watchlistCnt').html("未登録");
	}else {
		$j('#watchlistCnt').html("&nbsp;"+aryVal.length+"&nbsp;台");
	}

}
function getCodeInCookie(cookieName)
{
	// COOKIEより検索する文字列
	// 「COOKIE名=」
	cookieName += "=";
	// COOKEIの値
	var docCookie = document.cookie + ";";
	// 指定されたCOOKIEの開始位置取得
	var indexStart = docCookie.indexOf(cookieName);
	var cookieVal = "";
	// 文字列検索
	if(indexStart >= 0){
		// 指定したCOOKIEが存在する場合

		// 指定したCOOKIEのセミコロンまでの位置取得
		indexEnd = docCookie.indexOf(";", indexStart);
		// 「COOKE名=」からセミコロンまでの文字列取得
		cookieVal = docCookie.substring(indexStart + cookieName.length, indexEnd);
	}
	return cookieVal;
}
