/*ie css hacks*/
var CSS = new Object();
String.prototype.trim=function(){return this.replace(/(^\s+)|\s+$/g,"");}

CSS.disabled=true;
CSS.chars = [ "&nbsp;","(",")"," ","{","}",":","*","&","[&nbsp;","&nbsp;]"];

function iniy_id_CSS_fix()
{
	CSS.disabled=false;

}

if(window.attachEvent)
{
	window.attachEvent("onload",iniy_id_CSS_fix);
}



CSS.hover = function(el,className)
{
	if(CSS.disabled ){return null;}
	var oldClassName = el.className.trim();

	function element_mouseover()
	{
		var c = el.className.trim().split(" ");
		for(var i=0;i<c.length;i++)
		{
			if( c[i] == className )
			{
				return null;
			}
		}
	
		el.className = (c.join(" ") + " " + className).trim();			
	}

	function element_mouseout()
	{
		el.className = oldClassName;
	}

	el.attachEvent("onmouseover",element_mouseover);
	el.attachEvent("onmouseout",element_mouseout);
	el.runtimeStyle.behavior="none";
}





CSS.focus = function(el,className)
{
	if(CSS.disabled ){return null;}
	var oldClassName = el.className.trim();

	function element_focus()
	{
		var c = el.className.split(" ");
		for(var i=0;i<c.length;i++)
		{
			if( c[i] == className )
			{
				return null;
			}
		}	
		el.className = (c.join(" ") + " " + className).trim();			
	}

	function element_blur()
	{
		el.className = oldClassName;
	}
	
	if(el.type && el.type.toLowerCase()=="text")
	{
		el.attachEvent("onfocus",element_focus);
		el.attachEvent("onblur",element_blur);
	}
	el.runtimeStyle.behavior="none";
}




CSS.isLastTag = function(el)
{
	if(CSS.disabled ){return null;}
	if( el.parentNode==null){return false;};
	var last = el.parentNode.all.tags(el.tagName);
	if(last==null ||  last.length==0){return false;};
	el.runtimeStyle.behavior="none";
	if(el == last[last.length-1]){ return true;}
	else{return false;}	
}

CSS.isFirstTag = function(el)
{
	if(CSS.disabled ){return null;}
	if( el.parentNode==null){return false;};
	var first = el.parentNode.all.tags(el.tagName);
	if(first==null ||  first.length==0){return false;};
	el.runtimeStyle.behavior="none";
	if(el == first[0]){ return true;}
	else{return false;}	
}


CSS.previousSibling = function (el,tagName)
{
	if(CSS.disabled ){return null;}
	el.runtimeStyle.behavior="none";
	
	var obj = el.previousSibling;

	while( (obj!=null) && (obj.tagName==null) )
	{
		obj = obj.previousSibling;
		if(obj==null){return false;};
	}
	
	if(obj==null){return false;};
	if(obj.tagName==null){return false;};

	if( obj.tagName.toLowerCase() ==tagName.toLowerCase())
	{
		return true;
	}
}


CSS.nextSibling = function (el,tagName)
{
	if(CSS.disabled ){return null;}
	el.runtimeStyle.behavior="none";
	
	var obj = el.nextSibling;

	while( (obj!=null) && (obj.tagName==null) )
	{
		obj = obj.nextSibling;
		if(obj==null){return false;};
	}

	if(obj==null){return false;};
	if(obj.tagName==null){return false;};

	if( obj.tagName.toLowerCase() ==tagName.toLowerCase())
	{
		return true;
	}
}

CSS.tagIndex = function (el,tagIndex)
{
	if(CSS.disabled ){return null;}
	el.runtimeStyle.behavior="none";
	tagIndex = tagIndex || 0;
	
	var tags = el.parentNode.all.tags(el.tagName);
	return ( tags[tagIndex] == el );
}

CSS.getTagIndex = function (el)
{
	if(CSS.disabled ){return null;}
	
	el.runtimeStyle.behavior="none";
	var tagIndex =0;
	tagIndex = tagIndex || 0;

	var cs = el.parentNode.childNodes;
	for(var i=0;i<cs.length;i++)
	{
		if(	cs[i].tagName.toLowerCase() == el.tagName.toLowerCase() )
		{
			if( cs[i] == el ){el.tagIndex = tagIndex ;}
			tagIndex++;
		}
	}

	return tagIndex;
}




CSS.hasAttribute= function (el,attributeName,attributeValue)
{
	if(CSS.disabled ){return null;}
	attributeValue = attributeValue || "";
	attributeName = attributeName || "";
	el.runtimeStyle.behavior="none";
	var an = el.getAttribute(attributeName) ;
	if(an==null){ return false;}
	else
	{
		if( attributeValue=="" ){return true;}
		else
		{
			return ( an.toLowerCase()== attributeValue.toLowerCase() );
		}
	}	

}


CSS.isChildOf= function (el,parentProperty)
{
 if(CSS.disabled ){return null;}
 el.runtimeStyle.behavior="none";

 var n = parentProperty || "";
 if(el.parentNode==null){return false;}
 

	if(n.substr(0,1) =="#")
	{
		n = n.substr(1,n.length); //id
		return  ( el.parentNode == document.getElementById(n));
	}
	else if(n.substr(0,1) ==".")
	{
		n = n.substr(1,n.length); //className
		return  (el.parentNode.className == n );
	}
	else
	{
		n = n.toLowerCase();
		return  (el.parentNode.tagName.toLowerCase() == n );
	}

}







CSS.htmlFor = function(el)
{
	if(CSS.disabled ){return null;}
	if(el.parentNode.tagName.toLowerCase()=="label" && el.tagName.toLowerCase()=="input")
	{
		el.style.behavior="none";
		if(el.id =="")
		{
			el.id = "I_Am_Label_" + el.sourceIndex + Math.ceil(Math.random()*9999)
		}
		el.parentNode.htmlFor = (el.parentNode.htmlFor=="")?el.id:el.parentNode.htmlFor ;
	}
	el.runtimeStyle.behavior="none";
}


CSS.quotes = function(el,q1,q2,inside)
{

	if(CSS.disabled ){return null;};
	inside = inside || true;
	q1 = q1 || "";
	q2 = q2 || "";

	inside = (inside==true)?true:false;
	el.style.behavior="none";
	if( inside )
	{
		el.insertAdjacentHTML("AfterBegin",q1);
		el.insertAdjacentHTML("BeforeEnd",q2);
	}
	else
	{
		el.insertAdjacentHTML("BeforeBegin",q1);
		el.insertAdjacentHTML("AfterEnd",q2);
	}
	
	el.runtimeStyle.behavior="none";
}


CSS.insertHTML = function(el,html,insertTo)
{
	if(CSS.disabled ){return null;}
	
	if( insertTo ==0 ||  insertTo==null)
	{
		el.style.behavior="none";
		el.innerHTML = html;
		el.runtimeStyle.behavior="none";
		return;
	}
	
	insertTo = insertTo || 1;
	
	var h = ("BeforeBegin,BeforeBegin,AfterBegin,BeforeEnd,AfterEnd").split(",");

	insertTo =h[insertTo] || h[1];	

	if(html.length>=5)
	{
		var base  = "";
		var s = document.getElementsByTagName("link");
		if(s.length>0)
		{
			for(var i=0;i<s.length;i++)
			{
				if(s[i].getAttribute("rel").toLowerCase()=="stylesheet")
				{
					base = s[i].getAttribute("href");
					var flag = false;
					if(  s[i].getAttribute("media") )
					{
						if( s[i].getAttribute("media").toString().toLowerCase()=="all" ||  s[i].getAttribute("media").toString().toLowerCase()=="screen" )
						{
							flag = true;							
						}
					} 
					if(flag)
					{
						base = base.replace(/"\\"/gi,"/")
						base  = base.split("/");
						base[base.length-1]="";
						base = base.join("/");						
						break;
					}
				}
			}
		}
		var ext = html.substr(html.length-4,html.length).toLowerCase();
		if( (ext==".jpg") || (ext==".gif"))
		{
			ext = new Image();
			if( html.toLowerCase().indexOf("http")==0){base="";}
			ext.src = base + html;
			html = ext.outerHTML;
		}
	}
	
	el.style.behavior="none";
	el.insertAdjacentHTML(insertTo,html);
	el.runtimeStyle.behavior="none";
}



if(window.navigator.userAgent.indexOf("MSIE 7")>=0)
{
 for (i in CSS)
	{
		if(typeof(CSS[i])=="function")
		{
			CSS[i] = function(el)
			{
				el.style.behavior="none";
				el.runtimeStyle.behavior="none";
				return false;
			}
			
		}
	}
}



