var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var NeyneUploadCLSID = "AF782E69-AF61-4CED-AB0F-B68248402382";

function Create_Installer_Script(cab_url, guid, params, post_url, video_extensions)
{
    if (CBK_FL_RunContent == 0) 
    {
        alert("This page requires AX_Upload_Control_Creator.js.");
    } 
    else 
    {
        var err = false;
    
        if ((guid == null) || (guid == ""))
        {
            alert("CBK GUID not set.");
            err = true;
        }

        if ((params == null) || (params== ""))
        {
            alert("CBK Conversion Parameters not set.");
            err = true;
        }
        
        if (!err)
        {
            try
            {
                CBK_FL_RunContent(
                    'codebase', cab_url, 
                    'width', '324',
                    'height', '180',
                    'pluginspage', cab_url, 
                    'id', 'Neyne_Upload',
                    'name', 'Neyne_Upload',
                    'GUID', guid,
                    'Params', params,
                    'PostURL', post_url,
                    'VideoExtensions', video_extensions,
                    'MaxFileSize_MB', 50
                    ); 
            }
            catch (e) 
            {
                alert("error!" + e);
            }
        }
    }
}

function CBK_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function CBK_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';

  document.write(str);
}

function CBK_FL_RunContent(){
  var ret = 
    CBK_GetArgs
    (  arguments, ".swf", "movie", "clsid:" + NeyneUploadCLSID
     , "application/x-shockwave-flash"
    );
    
  CBK_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function CBK_SW_RunContent(){
  var ret = 
    CBK_GetArgs
    (  arguments, ".dcr", "src", "clsid:" + NeyneUploadCLSID
     , null
    );
  CBK_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function CBK_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = CBK_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

