/*
script taken from http://www.456bereastreet.com/archive/200505/transparent_custom_corners_and_borders/

then modified and simplyified

*/


/*
addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
*/
function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

/*
createElement function found at http://simon.incutio.com/archive/2003/06/15/javascriptWithXML
*/
function createElement(element) {
	if (typeof document.createElementNS != 'undefined') {
		return document.createElementNS('http://www.w3.org/1999/xhtml', element);
	}
	if (typeof document.createElement != 'undefined') {
		return document.createElement(element);
	}
	return false;
}

function insertTop(obj) {
	// Create the four div elements needed for making the corners
	d1=createElement("div");
	d1.className="corner-top-left"; 

    d2=createElement("div");
    d2.className="corner-top-right"; 

	obj.insertBefore(d1,obj.firstChild);
	obj.insertBefore(d2,obj.firstChild);
}

function insertAll(obj) {
	// Create the four div elements needed for making the corners
	d1=createElement("div");
	d1.className="corner-top-left"; 

    d2=createElement("div");
    d2.className="corner-top-right"; 
    
    d3=createElement("div");
    d3.className="corner-bottom-left"; 
    
    d4=createElement("div");
    d4.className="corner-bottom-right"; 

	obj.insertBefore(d1,obj.firstChild);
	obj.insertBefore(d2,obj.firstChild);
	obj.insertBefore(d3,obj.firstChild);
	obj.insertBefore(d4,obj.firstChild);
}

function insertInH1(obj) {
	// Create the four div elements needed for making the corners
	d1=createElement("div");
	d1.className="h1-corner-top-left"; 

    d2=createElement("div");
    d2.className="h1-corner-top-right"; 
    
    d3=createElement("div");
    d3.className="h1-corner-bottom-left"; 
    
    d4=createElement("div");
    d4.className="h1-corner-bottom-right"; 

	obj.insertBefore(d1,obj.firstChild);
	obj.insertBefore(d2,obj.firstChild);
	obj.insertBefore(d3,obj.firstChild);
	obj.insertBefore(d4,obj.firstChild);
}

function insertInTopmenu(obj) {
	// Create the four div elements needed for making the corners
	d1=createElement("div");
	d1.className="topmenu-corner-top-left"; 

    d2=createElement("div");
    d2.className="topmenu-corner-top-right"; 
    
    d3=createElement("div");
    d3.className="topmenu-corner-bottom-left"; 
    
    d4=createElement("div");
    d4.className="topmenu-corner-bottom-right"; 

	obj.insertBefore(d1,obj.firstChild);
	obj.insertBefore(d2,obj.firstChild);
	obj.insertBefore(d3,obj.firstChild);
	obj.insertBefore(d4,obj.firstChild);
}


function insertInDivTop()
{
	// Find all div elements
	var divs = document.getElementsByTagName('div');
	var cbDivs = [];
	for (var i = 0; i < divs.length; i++) {
	// Find all div elements with xxx in their class attribute while allowing for multiple class names
		if (/\bcorners-top\b/.test(divs[i].className))
			cbDivs[cbDivs.length] = divs[i];
	}
	// Loop through the found div elements
	var thediv, outer, i1, i2;
	for (var i = 0; i < cbDivs.length; i++) {
	// Save the original outer div for later
		thediv = cbDivs[i];
		
		
	// Insert the corner divs
		insertTop(thediv);
	}
}

function insertInDivAll()
{
	// Find all div elements
	var divs = document.getElementsByTagName('div');
	var cbDivs = [];
	for (var i = 0; i < divs.length; i++) {
	// Find all div elements with xxx in their class attribute while allowing for multiple class names
		if (/\bcorners\b/.test(divs[i].className))
			cbDivs[cbDivs.length] = divs[i];
	}
	// Loop through the found div elements
	var thediv, outer, i1, i2;
	for (var i = 0; i < cbDivs.length; i++) {
	// Save the original outer div for later
		thediv = cbDivs[i];
		
		
	// Insert the corner divs
		insertAll(thediv);
	}
}

function insertInA()
{
	// Find all div elements
	var divs = document.getElementsByTagName('a');
	var cbDivs = [];
	for (var i = 0; i < divs.length; i++) {
	// Find all div elements with xxx in their class attribute while allowing for multiple class names
		if (/\bcorners\b/.test(divs[i].className))
			cbDivs[cbDivs.length] = divs[i];
	}
	// Loop through the found div elements
	var thediv, outer, i1, i2;
	for (var i = 0; i < cbDivs.length; i++) {
	// Save the original outer div for later
		thediv = cbDivs[i];
		
		
	// Insert the corner divs
		insertInH1(thediv);
	}
}

function insertInMenu()
{
	// Find all div elements
	var divs = document.getElementsByTagName('a');
	var cbDivs = [];
	for (var i = 0; i < divs.length; i++) {
	// Find all div elements with xxx in their class attribute while allowing for multiple class names
		if (/\bcorners-topmenu\b/.test(divs[i].className))
			cbDivs[cbDivs.length] = divs[i];
	}
	// Loop through the found div elements
	var thediv, outer, i1, i2;
	for (var i = 0; i < cbDivs.length; i++) {
	// Save the original outer div for later
		thediv = cbDivs[i];
		
		
	// Insert the corner divs
		insertInTopmenu(thediv);
	}
}


if(document.getElementById && document.createTextNode)
{
	addEvent(window, 'load', insertInDivTop);
	addEvent(window, 'load', insertInDivAll);
	addEvent(window, 'load', insertInA);
	addEvent(window, 'load', insertInMenu);

}
