function url2cmd(url) {
	var my_func = normal_link;

    if (!url.match(/^http:\/\/(?:www\.|)youtube\.com\/watch\?(?:NR=1&|)v=([a-zA-Z0-9_\-]+)([a-zA-Z0-9_\-&;=]*)/)) {
	    if (!url.match(/^http:\/\/(?:www\.|)youtube\.com\/cp\/([a-zA-Z0-9_\-=]+)([a-zA-Z0-9_\-&;=]*)/)) {
		    if (!url.match(/^http:\/\/(?:www\.|)youtube\.com\/view_play_list\?p=([a-zA-Z0-9_\-]+)([a-zA-Z0-9_\-&;=]*)/)) {
    		    pne_url2a(url);
        		return;
		    }
			my_func = play_list;
	    }
		else{
			my_func = custom_player;
		}
    }

    var id = RegExp.$1;
    var param = RegExp.$2;
    var width = 425;
    var height = 350;
    my_func(id, width, height, param);
}

function edit_width(param, value) {

	if (param == 'page_c_home' || param == 'page_h_prof' || param == 'page_f_home'){
	    value = 318;
	}else if (param == 'page_c_topic_detail'){
	    value = 512;
	}else if (param == 'page_c_event_detail'){
	    value = 388;
	}else{
	    value = 425;
	}
    return value;
}
function edit_height(param, value) {

	if (param == 'page_c_home' || param == 'page_h_prof' || param == 'page_f_home'){
    	value = 267;
	}else if (param == 'page_c_topic_detail'){
    	value = 412;
	}else if (param == 'page_c_event_detail'){
    	value = 314;
	}else{
		//少し空白の入ることが多いいので微調整しています。
		//必要のないときは消してください。
	    value = 347;
	}
    return value;
}

function normal_link(id, width, height, link_url) {
	var option_list = getOptionList(link_url);
	var get = getRequest();
	var page_param = get['a'];

    width  = edit_width(page_param, width);
    height = edit_height(page_param, height);

    width  = getMyNipponOption(link_url, 'my_width' , width);
    height = getMyNipponOption(link_url, 'my_height', height);

    var html = '<object width="'
            + width
            + '" height="'
            + height
            + '"><param name="movie" value="http://www.youtube.com/v/'
            + id
            + option_list
            + '"></param><embed src="http://www.youtube.com/v/'
            + id
            + option_list
            + '" type="application/x-shockwave-flash" width="'
            + width
            + '" height="'
            + height
            + '"'
            + ' allowscriptaccess="always" allowfullscreen="true" '
            + '></embed></object>';

    document.write(html);
}


function play_list(id, width, height, link_url) {

	var option_list = getOptionList(link_url);
	var get = getRequest();
	var page_param = get['a'];

    width  = edit_width(page_param, width);
    height = edit_height(page_param, height);

	//プレイリストのボーダーは縦だけ長いので微調整
	if (option_list.indexOf("border=1") != -1){
		if (page_param == 'page_c_home' || page_param == 'page_h_prof' || page_param == 'page_f_home'){
	   	    height = height + 13;
		}else if (page_param == 'page_c_topic_detail'){
	   	    height = height + 14;
		}else if (page_param == 'page_c_event_detail'){
	   	    height = height + 19;
		}else if (page_param == 'page_fh_diary'){
	   	    height = height + 16;
		}
	}

    width  = getMyNipponOption(link_url, 'my_width' , width);
    height = getMyNipponOption(link_url, 'my_height', height);


    var html = '<object width="'
            + width
            + '" height="'
            + height
            + '"><param name="movie" value="http://www.youtube.com/p/'
            + id
            + option_list
            + '"></param><embed src="http://www.youtube.com/p/'
            + id
            + option_list
            + '" type="application/x-shockwave-flash" width="'
            + width
            + '" height="'
            + height
            + '"'
            + ' allowscriptaccess="always" allowfullscreen="true" '
            + '></embed></object>';

    document.write(html);
}

function custom_player(id, width, height, link_url) {
	var option_list = getOptionList(link_url);
	var get = getRequest();
	var param = get['a'];

	if (param == 'page_c_home' || param == 'page_h_prof' || param == 'page_f_home'){
	    width = 318;
    	height = 207;
	}else if (param == 'page_c_topic_detail'){
	    width = 515;
    	height = 330;
	}else if (param == 'page_c_event_detail'){
	    width = 400;
    	height = 250;
	}else if (param == 'page_fh_diary'){
	    width = 440;
    	height = 285;
	}else{
	}

    width  = getMyNipponOption(link_url, 'my_width' , width);
    height = getMyNipponOption(link_url, 'my_height', height);


    var html = '<object width="'
            + width
            + '" height="'
            + height
            + '"><param name="movie" value="http://www.youtube.com/cp/'
            + id
            + option_list
            + '"></param><embed src="http://www.youtube.com/cp/'
            + id
            + option_list
            + '" type="application/x-shockwave-flash" width="'
            + width
            + '" height="'
            + height
            + '"'
            + ' allowscriptaccess="always" allowfullscreen="true" '
            + '></embed></object>';
    document.write(html);
}
function getMyNipponOption(param, param_name, default_value) {

		var url_param = getURLparam(param);

		var p_option = url_param[param_name];
		if (p_option != null){
			return p_option;
		}
		else{
			return default_value;
		}
}


function getOptionList(param) {

		var url_param = getURLparam(param);
		var option_list = '';

		var p_option = url_param['hl'];
		if (p_option != null){
			option_list = option_list + "&" + 'hl' + "=" + p_option;
		}
		else{
			option_list = option_list + "&" + 'hl' + "=" + 'ja_JP';
		}
		var p_option = url_param['rel'];
		if (p_option != null){
			option_list = option_list + "&" + 'rel' + "=" + p_option;
		}
		else{
			option_list = option_list + "&" + 'rel' + "=" + '0';
		}
		var p_option = url_param['fs'];
		if (p_option != null){
			option_list = option_list + "&" + 'fs' + "=" + p_option;
		}
		else{
			option_list = option_list + "&" + 'fs' + "=" + '1';
		}
		var p_option = url_param['hd'];
		if (p_option != null){
			option_list = option_list + "&" + 'hd' + "=" + p_option;
		}
		var p_option = url_param['loop'];
		if (p_option != null){
			option_list = option_list + "&" + 'loop' + "=" + p_option;
		}
		var p_option = url_param['fmt'];
		if (p_option != null){
			option_list = option_list + "&" + 'fmt' + "=" + p_option;
		}
		var p_option = url_param['showsearch'];
		if (p_option != null){
			option_list = option_list + "&" + 'showsearch' + "=" + p_option;
		}
		var p_option = url_param['start'];
		if (p_option != null){
			option_list = option_list + "&" + 'start' + "=" + p_option;
		}
		var p_option = url_param['border'];
		if (p_option != null){
			option_list = option_list + "&" + 'border' + "=" + p_option;
		}
		var p_option = url_param['color1'];
		if (p_option != null){
			option_list = option_list + "&" + 'color1' + "=" + p_option;
		}
		var p_option = url_param['color2'];
		if (p_option != null){
			option_list = option_list + "&" + 'color2' + "=" + p_option;
		}
		var p_option = url_param['egm'];
		if (p_option != null){
			option_list = option_list + "&" + 'egm' + "=" + p_option;
		}
		else{
			option_list = option_list + "&" + 'egm' + "=" + '0';
		}
		return option_list;
}


function getRequest(){

  if(location.search.length > 1) {
    var get = new Object();
    var ret = location.search.substr(1).split("&");

    for(var i = 0; i < ret.length; i++) {
      var r = ret[i].split("=");
      get[r[0]] = r[1];
    }
    return get;
  } else {
    return false;
  }

}


function getURLparam(param){
  if(param.length > 1) {
    var get = new Object();
	param = param.toLowerCase();
    var ret = param.split("&amp;");

    for(var i = 0; i < ret.length; i++) {
      var r = ret[i].split("=");
      get[r[0]] = r[1];
    }
    return get;
  } else {
    return false;
  }

}


