//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var 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 += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}


function AC_TAGS_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".asp", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}



function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_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] = AC_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":
        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 "id":
      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;
}


function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found ) 
	{
		return null;
	}
}

function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	// if the expires variable is set, make the correct expires time, the
	// current script below will set it for x number of days, to make it
	// for hours, delete * 24, for minutes, delete * 60 * 24
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	//alert( 'today ' + today.toGMTString() );// this is for testing purpose only
	var expires_date = new Date( today.getTime() + (expires) );
	//alert('expires ' + expires_date.toGMTString());// this is for testing purposes only

	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

// this deletes the cookie when called
function Delete_Cookie( name, path, domain ) {
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function insertAfter(new_node, existing_node) 
{
	if (existing_node.nextSibling) 
	{    
		existing_node.parentNode.insertBefore(new_node, existing_node.nextSibling);
	} 
	else 
	{    
		existing_node.parentNode.appendChild(new_node);
	}
}


function getHTTPObject() {
    var xmlhttp = false;
    
 	if (window.ActiveXObject)
 	{
     	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 	}
 	else
    {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function tn_send_form(vid,vfunc,vvars,run) { // requires vid=div id, vfunc = function, vvars=vars, run = call back function

	var xmlhttp = getHTTPObject();

	xmlhttp.open("POST", "/engine.php?func="+vfunc+'&vars=' + escape(vvars),true); // Open verbinding via GET, via deze URL en communiceer asynchroon
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.onreadystatechange = function()  { 
    	if (xmlhttp.readyState == 4) 
    	{
        	document.getElementById(vid).innerHTML = xmlhttp.responseText; // geef de data weer in een dialoogvenster
   			if (run != '')
   			{
	   			eval(run);
   			}
    	}
    }
   
    var inputs = document.getElementsByTagName('input');
    var posts = 'xxx=yyy'; // dummy
    for (i = 0; i < inputs.length; i++)
    { 
	    posts += "&";
	    if (inputs[i].type == 'checkbox')
	    {
		    if (inputs[i].checked)
		    {
	    		posts += inputs[i].name + "=" + escape(inputs[i].value);
    		}
	    }
	    else
	    {
		    if (inputs[i].type == 'radio')
		    {
			    if (inputs[i].checked)
			    {
		    		posts += inputs[i].name + "=" + escape(inputs[i].value);
	    		}
		    }		    
		    else
		    {
		    	posts += inputs[i].name + "=" + escape(inputs[i].value);
	    	}	    
	    }

    }
    
    var selects = document.getElementsByTagName('select');
    for (i = 0; i < selects.length; i++)
    { 
	    posts += "&";
	    posts += selects[i].name + "=" + escape(selects[i].value);
    }
    var tareas = document.getElementsByTagName('textarea');
    for (i = 0; i < tareas.length; i++)
    { 
	    posts += "&";
	    posts += tareas[i].name + "=" + escape(tareas[i].value);
    }
    
	posts += '&vars=' + escape(vvars);
	posts += '&func' + "=" + vfunc;	
    xmlhttp.send(posts) // Verstuur de request
}

function tn_xml2div(vid,vfunc,vvars,run) { // requires vid=div id, vfunc = function, vvars=vars
	var xmlhttp = getHTTPObject();

	xmlhttp.open("GET", "/engine.php?func="+vfunc+"&vars="+escape(vvars),true); // Open verbinding via GET, via deze URL en communiceer asynchroon
	xmlhttp.onreadystatechange = function()  { 
    	if (xmlhttp.readyState == 4) 
    	{
        	 var rep = xmlhttp.responseText; // geef de data weer in een dialoogvenster
        	 document.getElementById(vid).innerHTML = rep.split('||')[0];
        	 if (rep.split('||')[1] != '')
        	 {
	        	 eval(rep.split('||')[1]);
        	 }
   			if (run != '')
   			{
	   			eval(run);
   			}
    	}
    }
	xmlhttp.send(null) // Verstuur de request
}
