/*
 *  crobject.js: Javascript interface for CR plug-in version 0.0.1 (Nov. 26 2007)
 *  (c) 2007 Splume Corporation.
 *
 *  This script uses Prototype.js (see http://www.prototypejs.org/).
 *
 */

// Check if the argument is a positive number.
function isPositiveInteger(num)
{
	if (num == null) {
		return false;
	}

	strVal = num.toString();
	if (strVal.match(/[^0-9]/)) {   // Positive integer only
		return false;
	} else {
		return true;
	}
}

// Load CRObject.
function loadCRAX(
    target, crpluginid,
    width, height, bkcolor,
    cmdpanelStyle,
    directLogin,
    stturl,
    myRoomUserID,
    communityID,
    guestFlag)
{
	return loadCRPlugin(
		target, crpluginid,
		width, height, bkcolor,
		cmdpanelStyle,
		directLogin,
		stturl,
		myRoomUserID,
		communityID,
		guestFlag);
}

function loadCRPlugin(
    target, crpluginid,
    width, height, bkcolor,
    cmdpanelStyle,
    directLogin,
    stturl,
    myRoomUserID,
    communityID,
    guestFlag)
{
	return loadCRPlugin_ex(
		target, crpluginid,
		width, height, bkcolor,
		cmdpanelStyle,
		directLogin,
		stturl,
		myRoomUserID,
		communityID,
		guestFlag,
		null,
                null);
}

function loadCRPlugin_ex(
    target, crpluginid,
    width, height, bkcolor,
    cmdpanelStyle,
    directLogin,
    stturl,
    myRoomUserID,
    communityID,
    guestFlag,
    helpmenuVisible,
    hudStyle)
{
	// browser cheak start
	ua = 0;
	if(navigator.userAgent.indexOf("MSIE") >= 0){
		ua = 1;
	}
	// end

	if (target == null) {
		document.write("<P>No target for CR-plugin</P>\n");
		return;
	}

	if (crpluginid == null) {
		document.write("<P>No crax id for CR-plugin</P>\n");
		return;
	}

	var wth = width;
	var hgt = height;

	if (isPositiveInteger(width)==false) {
		wth = 320;
	}
	if (isPositiveInteger(height)==false) {
		hgt = 240;
	}

	if ( ua == 1 ){
		//alert("ua:[" + ua + "]");
		//debug.print("ua:[" + ua + "]");
		var targetObj = document.getElementById(target);
	
		var htmlString = "<OBJECT\n";
		htmlString += " ID=\"" + crpluginid + "\"\n";
		htmlString += " CLASSID=\"clsid:78A7A054-130E-4189-8DB7-69F25E2AB95A\"\n";
		htmlString += " CODEBASE=\"http://www.splume.com/crplugins/cab/crax.cab#Version=0,0,2,5\"\n";
		htmlString += " width=\"" + wth.toString() + "\" height=\"" + hgt.toString() + "\"";
		htmlString += ">\n";
		if( bkcolor != null ) {
			htmlString += "\t<PARAM NAME=\"cmdpanelBkColor\" VALUE=\"" + bkcolor + "\"/>\n";
		}
		if( stturl != null ) {
			htmlString += "\t<PARAM NAME=\"stturl\" VALUE=\"" + stturl + "\"/>\n";
		}
		if( myRoomUserID != null ) {
			htmlString += "\t<PARAM NAME=\"myRoomUserID\" VALUE=\"" + myRoomUserID + "\"/>\n";
		}
		if( communityID != null ) {
			htmlString += "\t<PARAM NAME=\"communityID\" VALUE=\"" + communityID + "\"/>\n";
		}
		if( guestFlag != null ) {
			htmlString += "\t<PARAM NAME=\"guestFlag\" VALUE=\"1\"/>\n";
		}
		if( cmdpanelStyle != null ) {
			htmlString += "\t<PARAM NAME=\"cmdpanelStyle\" VALUE=\"" + cmdpanelStyle + "\"/>\n";
		}
		if( directLogin != null ) {
		    htmlString += "\t<PARAM NAME=\"directLogin\" VALUE=\"" + directLogin + "\"/>\n";
		}
		if( helpmenuVisible != null ) {
		    htmlString += "\t<PARAM NAME=\"helpmenuVisible\" VALUE=\"" + helpmenuVisible + "\"/>\n";
		}
		if( hudStyle != null ) {
		    htmlString += "\t<PARAM NAME=\"hudStyle\" VALUE=\"" + hudStyle + "\"/>\n";
		}
		htmlString += "</OBJECT>\n";

		//var htmlStringD = htmlString;
		//htmlStringD = htmlStringD.replace(/</g, "&lt;")
		//htmlStringD = htmlStringD.replace(/>/g, "&gt;")
		//debug.print("htmlString:[" + htmlStringD + "]");

		targetObj.innerHTML = htmlString;
	}
	else if (ua == 0){
		//alert("ua:[" + ua + "]");
		//debug.print("ua:[" + ua + "]");
		var targetObj = document.getElementById(target);
		//var htmlString = "<b>CRプラグインをご利用になるにはInternetExplorerでアクセスしてください。<br>(Macユーザの方はご利用になれません)</b>\n"; 
		//var htmlString = "<div style=\"border\:1px solid black\;padding\:5px\;height\:" + height + "px\;width\:" + width + "px\;\"><b>CRプラグインをご利用になるにはInternetExplorerでアクセスしてください。<br>(Macユーザの方はご利用になれません)</b></div>";
		//var htmlString = "<iframe src=\"/static/crax_noie.html\" style=\"height\:" + height + "px\;width\:" + width + "px\;\"></iframe>\n";

		var htmlString = "<EMBED\n";
		htmlString += " type=\"application/x-crxp\"\n";
		htmlString += " ID=\"" + crpluginid + "\"\n";
		htmlString += " pluginspage=\"http://www.splume.com/crplugins/xpi/npcrxp.xpi\"\n";
		htmlString += " width=\"" + wth.toString() + "\" height=\"" + hgt.toString() + "\"\n";
		if( bkcolor != null ) {
			htmlString += "\tcmdpanelBkColo=\"" + bkcolor + "\"\n";
		}
		if( stturl != null ) {
			htmlString += "\tstturl=\"" + stturl + "\"\n";
		}
		if( myRoomUserID != null ) {
			htmlString += "\tmyRoomUserID=\"" + myRoomUserID + "\"\n";
		}
		if( communityID != null ) {
			htmlString += "\tcommunityID=\"" + communityID + "\"\n";
		}
		if( guestFlag != null ) {
			htmlString += "\tguestFlag=\"1\"\n";
		}
		if( cmdpanelStyle != null ) {
			htmlString += "\tcmdpanelStyle=\"" + cmdpanelStyle + "\"\n";
		}
		if( directLogin != null ) {
		    htmlString += "\tdirectLogin=\"" + directLogin + "\"\n";
		}
		if( helpmenuVisible != null ) {
		    htmlString += "\thelpmenuVisible=\"" + helpmenuVisible + "\"\n";
		}
		if( hudStyle != null ) {
		    htmlString += "\thudStyle=\"" + hudStyle + "\"\n";
		}
		htmlString += ">\n";
		htmlString += "</EMBED>\n";

		//var htmlStringD = htmlString;
		//htmlStringD = htmlStringD.replace(/</g, "&lt;")
		//htmlStringD = htmlStringD.replace(/>/g, "&gt;")
		//debug.print("htmlString:[" + htmlStringD + "]");

		targetObj.innerHTML = htmlString;
	}
}

