/*
 * browsebutton.js
 * Copyright (C) 2008
 * Author: niels claessens <niels.claessens@lightmaker.com>
 * Created: 2008-11-27
 */

function initBrowseButton() {

        var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;

        if(IE6) return;        

        var W3CDOM = (document.createElement && document.getElementsByTagName);

	if (!W3CDOM) return;
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'faketext';

	var input = document.createElement('input');
	input.className = 'fileinputclone';
	
	fakeFileUpload.appendChild(input);
	var x = document.getElementsByTagName('input');
	for (var i = 0; i < x.length; i++) {
	    var failed = false;
	    
	    if (x[i].type != 'file') 
		    continue;
		if (x[i].getAttribute('noscript'))
		    continue;

		if (x[i].parentNode.className != 'fileinputs' && x[i].parentNode.className != 'fileinputsFailed' && x[i].parentNode.className != 'fileinputs fileinputsFailed')
		    continue;

		if (x[i].parentNode.className == 'fileinputs fileinputsFailed')
		    failed = true;

		x[i].className = 'file hidden';
		
		if (failed == true)
		    fakeFileUpload.firstChild.className = 'fileinputclone fileinputcloneFailed';
		else
		    fakeFileUpload.firstChild.className = 'fileinputclone';
		    
		var clone = fakeFileUpload.cloneNode(true);
		
		x[i].parentNode.appendChild(clone);
		x[i].relatedElement = clone.getElementsByTagName('input')[0];
		if (x[i].value && x[i].onchange != null)
			x[i].onchange();
		x[i].onchange = x[i].onmouseout = function () {
			this.relatedElement.value = this.value;
		}
	}
}
