//==================================================================
//	Create Element / DOM Object
//==================================================================


//------------------------------------------------------------------
//	class
//------------------------------------------------------------------
function myDom(){
	//--------------------------------------------------------------
	// variables
	//--------------------------------------------------------------
		var isIE			= false;
		this.currentlyOpen	= "";

	//--------------------------------------------------------------
	// arrays
	//--------------------------------------------------------------
		

	//--------------------------------------------------------------
	// constructor
	//--------------------------------------------------------------
		if(window.ActiveXObject){isIE = true;}

	//--------------------------------------------------------------
	// methods
	//--------------------------------------------------------------

	// evaluate layers
	//--------------------------------------------------------------
	this.evaluateLayers	= function(){
		// set all divs as an array
		//-----------------------------------
		this.aDiv = document.getElementsByTagName('div');

		// count and loop
		//-----------------------------------
		alertTxt	= "";

		thiscount	= this.aDiv.length;
		for(this.n = 0; this.n < thiscount; this.n++){
			// check if has id
			//-------------------------------
			if(this.aDiv[this.n].id && this.aDiv[this.n].style.display){
				switch(this.aDiv[this.n].id){
					// login layers
					//--------------------------
					case "signUpTab_ON":
						if(parseInt(this.getObject("signUp").style.height) > 50){
							this.aDiv[this.n].style.display		= "none";
							this.aDiv[this.n].style.visibility	= "hidden";

							this.getObject("signUp").style.display		= "none";
							this.getObject("signUp").style.visibility	= "hidden";

							this.getObject("signUpTab_OFF").style.display		= "block";
							this.getObject("signUpTab_OFF").style.visibility	= "visible";
						}
					break;
					case "loginTab_ON":
						if(parseInt(this.getObject("signIn").style.height) > 50){
							this.aDiv[this.n].style.display		= "none";
							this.aDiv[this.n].style.visibility	= "hidden";

							this.getObject("signIn").style.display		= "none";
							this.getObject("signIn").style.visibility	= "hidden";

							this.getObject("loginTab_OFF").style.display		= "block";
							this.getObject("loginTab_OFF").style.visibility	= "visible";
						}
					break;
					// RSS drop down
					//--------------------------
					case "openRSS":
						if(this.aDiv[this.n].style.display == "block"){
							this.aDiv[this.n].style.display		= "none";
							this.aDiv[this.n].style.visibility	= "hidden";
						}
					break;
					// drop down lists
					//--------------------------
					case "mySolutionExtraList":
					case "mySoftwareExtraList":
						if(this.aDiv[this.n].style.display == "block"){
							this.aDiv[this.n].style.display		= "none";
							this.aDiv[this.n].style.visibility	= "hidden";
						}
					break;
				}
			}
		}
	}

	//	Get Object for usage
	//------------------------------------------------
	this.getObject  = function(name){
		if (document.getElementById){
		   OBJ = document.getElementById(name);
		}
		else if (document.all){
		   OBJ = document.all[name];
		}
		else if (document.layers){
			if (document.layers[name]){
				OBJ = document.layers[name];
			}
		}
		return OBJ;
	}


	//	find x and y positions
	//------------------------------------------------
	this.findPosX = function(OBJ){
		var curleft = 0;
		if (OBJ.offsetParent){
			while (OBJ.offsetParent){
				curleft += OBJ.offsetLeft
				OBJ = OBJ.offsetParent;
			}
		}
		else if (OBJ.x){curleft += OBJ.x;}
		return curleft;
	}

	this.findPosY = function(OBJ){
		var curtop = 0;
		if (OBJ.offsetParent){
			while (OBJ.offsetParent){
				curtop += OBJ.offsetTop
				OBJ = OBJ.offsetParent;
			}
		}
		else if (OBJ.y){curtop += OBJ.y;}
		return curtop;
	}
}

//==================================================================
//	Other DOM and MISC functions
//==================================================================

//------------------------------------------------
//	Get Object for usage
//------------------------------------------------
function getObject(id){
	//	retrieve object
	//------------------------------
	if (document.getElementById){
	   OBJ = document.getElementById(id);
	}
	else if (document.all){
	   OBJ = document.all[id];
	}
	else if (document.layers){
		if (document.layers[id]){
			OBJ = document.layers[id];
		}
	}
	//	return object to caller
	//------------------------------
	return OBJ;
}

//------------------------------------------------
//	Image swap
//------------------------------------------------
function imgSwap(id, src){
	//	retrieve object
	//------------------------------
	OBJ	= getObject(id);	

	//	set new src
	//------------------------------
	OBJ.src	= src;
}

//------------------------------------------------
//	show hide layers
//------------------------------------------------
function showHide(id){
	//	retrieve object
	//------------------------------
	OBJ	= getObject(id);

	//	check state and reset
	//------------------------------
	OBJ.style.visibility	= OBJ.style.visibility == "hidden" ? "visible" : "hidden";
	OBJ.style.display		= OBJ.style.display == "none" ? "block" : "none";

}

function hide(id){
	//	retrieve object
	//------------------------------
	OBJ	= getObject(id);

	//	check state and reset
	//------------------------------
	OBJ.style.visibility	= "hidden";
	OBJ.style.display		= "none";
}

function show(id){
	//	retrieve object
	//------------------------------
	OBJ	= getObject(id);

	//	check state and reset
	//------------------------------
	OBJ.style.visibility	= "visible";
	OBJ.style.display		= "block";

	//	register layer
	//------------------------------
	OBJ.style.zIndex		= 999;
}

//------------------------------------------------
//	form submission
//------------------------------------------------
function submitForm(form){
	OBJ	= getObject(form);
	OBJ.submit();
}

//------------------------------------------------
//	location bar variables
//------------------------------------------------
function locationBar(){
	if (location.search != ""){ 
		//alert(location.search)
		var x = location.search.substr(1).split("&") 
		for (var i=0; i<x.length; i++){ 
			var y = x[i].split("="); 
			alert("Key '" + y[0] + "' has the content '" + y[1]+"'") ;
		} 
	}
}

//------------------------------------------------
//	add flash to page
//------------------------------------------------
function addFlash(id, w, h, src){
	OBJ		= getObject(id);
	OBJ.innerHTML	= "";

	flashOBJ		= '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"';
	flashOBJ		+= 'width="' + w + '"';
	flashOBJ		+= 'height="' + h + '">';
	flashOBJ		+= '<param name="movie" value="' + src + '">';
	flashOBJ		+= '<param name="quality" value="high" >';
	flashOBJ		+= '<param name="menu" value="false" />';
	flashOBJ		+= '<param name="wmode" value="transparent">';
	flashOBJ		+= '<embed src="' + src + '"';
	flashOBJ		+= 'quality="high"';
	flashOBJ		+= 'pluginspage="https://www.macromedia.com/go/getflashplayer" ';
	flashOBJ		+= 'type="application/x-shockwave-flash" ';
	flashOBJ		+= 'width="' + w + '" ';
	flashOBJ		+= 'height="' + h + '" ';
	flashOBJ		+= 'menu="false"';
	flashOBJ		+= 'wmode="transparent"></embed>';
	flashOBJ		+= '</object>';

	OBJ.innerHTML	= flashOBJ;
}

function addFadeHorizontal(id, w, dir){
	OBJ		= getObject(id);
	OBJ.innerHTML	= "";
	if(dir == "up"){
		for(n = 0; n < 10; n ++){
			ratio			= (n * 10)
			OBJ.innerHTML	+= 	"<div class=\"bgGreyLt\" style=\"width:" + w + ";opacity:." + ratio + ";filter:alpha(opacity=" + ratio + ");-moz-opacity:0." + ratio + ";\"><img src=\"images/assets/clear.gif\" height=\"3\" width=\"1\"/></div>";
		}
		OBJ.innerHTML	+= 		"<div class=\"bgGreyLt\" style=\"width:" + w + "\"><img src=\"images/assets/clear.gif\" height=\"2\" width=\"1\"/></div>";
	}
	if(dir == "down"){
		OBJ.innerHTML	+= 		"<div class=\"bgGreyLt\" style=\"width:" + w + "\"><img src=\"images/assets/clear.gif\" height=\"2\" width=\"1\"/></div>";
		for(n = 6; n > 0; n--){
			ratio			= (n * 15)
			OBJ.innerHTML	+= 	"<div class=\"bgGreyLt\" style=\"width:" + w + ";opacity:." + ratio + ";filter:alpha(opacity=" + ratio + ");-moz-opacity:0." + ratio + ";\"><img src=\"images/assets/clear.gif\" height=\"3\" width=\"1\"/></div>";
		}
	}
}

function addFadeVertical(id, h, dir){
	OBJ		= getObject(id);
	OBJ.innerHTML	= "";
	if(dir == "left"){
		for(n = 0; n < 10; n ++){
			ratio			= (n * 10)
			OBJ.innerHTML	+= 	"<div class=\"Left bgBlack\" style=\"width:10px;height:" + h + ";opacity:." + ratio + ";filter:alpha(opacity=" + ratio + ");-moz-opacity:0." + ratio + ";\"><img src=\"images/assets/clear.gif\" height=\"3\" width=\"1\"/></div>";
		}
		OBJ.innerHTML	+= 		"<div class=\"Left bgBlack\" style=\"width:10px;height:" + h + "\"><img src=\"images/assets/clear.gif\" height=\"2\" width=\"1\"/></div>";
	}
	if(dir == "right"){
		//OBJ.innerHTML	+= 		"<div class=\"Right bgBlack\" style=\"height:" + h + "\"><img src=\"images/assets/clear.gif\" height=\"2\" width=\"1\"/></div>";
		for(n = 12; n > 0; n--){
			ratio			= (n * 10) + 1;
			ratio			= ratio < 10 ? "0" + ratio : ratio;
			ratio			= ratio > 100 ? 99 : ratio;
			OBJ.innerHTML	+= 	"<div class=\"Right bgWhite\" style=\"width:10px;height:" + h + ";opacity:." + ratio + ";filter:alpha(opacity=" + ratio + ");-moz-opacity:0." + ratio + ";\"><img src=\"images/assets/clear.gif\" height=\"1\" width=\"10\"/></div>";
		}
	}
}

function addRating(rate){
	for(n = 0; n < 5; n++){
		img = rate > n ? "on" : "off";
		HTML = "<img src=\"images/assets/rate_" + img + "_white.jpg\"/>";
		document.write(HTML);
	}
}


function setfocus(id) {
	getObject(id).focus()
}


//------------------------------------------------
//	export HTML including JS DOM
//------------------------------------------------
function exportHTML(id){
	isIE	= false;
	if(window.ActiveXObject){isIE = true;}

	//	retrieve object
	//------------------------------
	OBJ	= getObject(id);

	// create element
	//---------------------------------------------											
	if(isIE){
		var INPUT	= document.createElement("<textarea name=\"OUTPUT\" id=\"OUTPUT\" style=\"width:1000px;height:250px;\">");
	}
	else{
		var INPUT	= document.createElement("textarea");
		INPUT.setAttribute("name", "OUTPUT");
		INPUT.setAttribute("id", "OUTPUT");
		INPUT.setAttribute("style", "width:1000px;height:250px;");
	}
	
	INPUT.value	= OBJ.innerHTML;
	OBJ.appendChild(INPUT);
}
