/************************************************
* Copyright (c) 2005-2007 Mepos Electronics Ltd.
* All rights are reserved.
*************************************************/


function clear_src_box()
{
	if (document.getElementById('GoogleSearchForm_src').value == 'Google'){		
		document.getElementById('GoogleSearchForm_src').value = '';	
		document.getElementById('GoogleSearchForm_src').style.color = "";		
	}
}


function OpenPic(filename, width, height)
{
	picWindow = window.open(filename, '_blank', 'menubar=no,status=no,scrollbars=no,toolbar=no,location=no,directories=no,titlebar=no,width='+width+',height='+height);
//	picWindow.bgColor = 'white';
	return false;
}

function validateForm() 
{
 var okSoFar=true

 with (document.phpformmailer)
 {
	if (name.value=="" && okSoFar)
	{
		okSoFar=false
		alert ("Please enter your name.")
		name.focus()
	}
	
	if (company.value=="" && okSoFar)
	{
		okSoFar=false
		alert ("Please enter your company name.")
		company.focus()
	}

	var foundAt = email.value.indexOf("@",0)
	if (foundAt < 1 && okSoFar)
	{
		okSoFar = false
		alert ("Please enter a valid email address.")
		email.focus()
		email.select()
	}

/*	var e1 = email.value;
	var e2 = email2.value;

	if (!(e1==e2) && okSoFar)
	{
		okSoFar = false
		alert ("Email addresses do not match.  Please re-enter.")
		email2.focus()
		email2.select()
	}
*/
	if (type.value=="" && okSoFar)
	{
		okSoFar=false
		alert("Please select an inquiry type.")
		type.focus()
	}

	if (themessage.value=="" && okSoFar)
	{
		okSoFar=false
		alert("Please enter the details for your inquiry.")
		themessage.focus()
	}

	if (okSoFar==true)  submit();
	}
}

 function toggle(id)
 {
	 element = document.getElementById(id);

	 if (element.style.display == 'none')
	 {
		 element.style.display = 'block';
	 }
	 else
	 {
		 element.style.display = 'none';
	 }
 }

function selPageProd()
{
	var prodList = document.prodSearchForm.cmd;
	var url = window.location.href;
	var startPos = url.indexOf("cmd")+4;
	var otherParam = (url.substr(startPos).indexOf("&") >= 0);
	var cmd;

	if (otherParam)
		cmd = url.substr(startPos, url.indexOf("&")-startPos);
	else
		cmd = url.substr(startPos);

	for (var i=0; i<prodList.length; i++)
	{
		var prod = prodList.options[i];

		if (prod.text.toLowerCase() == cmd.toLowerCase() || prod.value.toLowerCase() == cmd.toLowerCase())
		{
			prod.selected = true;
			break;
		}
	}
}

function getProdPage()
{
	var prodList = document.prodSearchForm.cmd;
	clear_src_box();
	if (prodList.selectedIndex == 0)
	{
		alert('Please select a product');
		selPageProd();
	}
	else
	{
		document.prodSearchForm.submit();
	}
}

function setLang(aLang)
{
	document.prodSearchForm.lang.value = aLang;
	document.prodSearchForm.submit();
}

function goToSite()
{
	var site = document.siteForm.site;
	location.href = site.options[site.selectedIndex].value;
}

function addLangToLink()
{
	var url  = window.location.href;
	paramStartPos = url.indexOf("?");

	if (paramStartPos >= 0)
	{
		// find lang
		var lang = "";
		params = url.substr(paramStartPos+1).split("&");

		for (var i=0; i<params.length; i++)
		{
			var temp = params[i].split("=");

			if (temp[0] == "lang")
			{
				lang = temp[1];
				break;
			}
		}

		if (lang == 'tc' || lang == 'sc' || lang == 'es')
		{
			// add lang to urls that contain "cmd" param
			var links = document.getElementsByTagName("a");

			for (var i=0; i<links.length; i++)
			{
				var link = links[i].href;

				if (link.indexOf("cmd=") >= 0 && link.indexOf("#") < 0)
					links[i].href = link + "&lang=" + lang;
			}
		}
	}
}

function addRqsToLink()
{
	var url  = window.location.href;
	paramStartPos = url.indexOf("?");

	if (paramStartPos >= 0)
	{
		// find lang
		var rqs = "";
		params = url.substr(paramStartPos+1).split("&");

		for (var i=0; i<params.length; i++)
		{
			var temp = params[i].split("=");

			if (temp[0] == "rqs")
			{
				rqs = temp[1];
				break;
			}
		}

		if (rqs != '')
		{
			// add rqs to urls that contain "cmd" param
			var links = document.getElementsByTagName("a");

			for (var i=0; i<links.length; i++)
			{
				var link = links[i].href;

				if (link.indexOf("cmd=") >= 0 && link.indexOf("#") < 0)
					links[i].href = link + "&rqs=" + rqs;
			}
		}
	}
}


function themessageTemplate()
{
	var typeList = document.phpformmailer.type;
	var themessage = document.phpformmailer.themessage;
	var aRFQ =	"************************* \n" + 
				"*   Quotation Details   * \n" + 
				"*    (If Applicable)    * \n" + 
				"************************* \n" +
				"Item#: \n" +
				"Quantity: \n" +
				"Application: \n" +
				"Type: Wall Mount or Desktop or Open frame or U-bracket or Enclosed \n" +
				"Input Voltage: \n" +
				"Output Power: \n" +
				"Output Voltage/Current: \n" +
				"Output Pin Assignment: \n" + 
				"Inlet: \n" +
				"Output Plug: \n" +
				"Dimension (W, L, H): \n" +
				"DC Cord Length (4 or 6 feet): \n" +
				"Operation Temperature and Loading: \n" +
				"Safety Approvals: \n" +
				"Environmental Compliances: \n" +
				"Packaging: Bulk (Default)\n" +
				"Logo: MEPOS (Default)\n" +
				"Other: ";

	var aRFS =	"************************* \n" + 
				"*     Sample Details    * \n" + 
				"************************* \n\n" +				
				"Bill To: \n\n" +
				"Ship To (if different from above): \n\n" +
				"Express Delivery info: \n\n" +
				"Quote#: \n" +
				"Model#: \n" +
				"Quantity: \n" +
				"Product Spec (if different from quote): \n\n" +
				"Other: \n\n" +
				"********\n" +
				"* Note *\n" +
				"********\n" +
				"Mepos is entitled to charge sample fees for special models and quantities. All samples will be manufactured and shipped from Taiwan or China. Customers are responsible for own express delivery charges.";

	if (typeList.selectedIndex == 1){
		if (themessage.value == ""){
			themessage.value = aRFQ;
		}
		else if (themessage.value.search("Quotation Details") == -1) {
			themessage.value += "\n\n" + aRFQ;
		}
	}else if (typeList.selectedIndex == 2){
		if (themessage.value == ""){
			themessage.value = aRFS;
		}
		else if (themessage.value.search("Sample Details") == -1) {
			themessage.value += "\n\n" + aRFS;
		}
	} 
}


/***********************************************
* AnyLink Drop Down Menu- c Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
		
var menuwidth='165px' //default menu width
var menubgcolor='#ffc'  //menu bgcolor
var disappeardelay=100  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

var offset_m2_x=0
var offset_m2_y=0

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="text-align:left;font-family:Verdana;visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')
if (ie4||ns6)
document.write('<div id="dropmenudiv2" style="text-align:left;font-family:Verdana;visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu();clearhidemenux()" onMouseout="dynamichidex(event);dynamichide(event)"></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top="-500px"
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function showhidex(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj2.style.left=dropmenuobj2.style.top="-500px"
if (menuwidth!=""){
dropmenuobj2.widthobj=dropmenuobj2.style
dropmenuobj2.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}



function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function clearbrowseredgex(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj2.contentmeasure=dropmenuobj2.offsetWidth
if (windowedge-dropmenuobj2.x < dropmenuobj2.contentmeasure)
edgeoffset=dropmenuobj2.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj2.contentmeasure=dropmenuobj2.offsetHeight
if (windowedge-dropmenuobj2.y < dropmenuobj2.contentmeasure){ //move up?
edgeoffset=dropmenuobj2.contentmeasure+obj.offsetHeight
if ((dropmenuobj2.y-topedge)<dropmenuobj2.contentmeasure) //up no good either?
edgeoffset=dropmenuobj2.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}


function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}

function populatemenux(what){
if (ie4||ns6)
dropmenuobj2.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth){
getMouseXY(e)
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)

dropmenuobj.x=gMouseX
dropmenuobj.y=gMouseY
dropmenuobj.style.left=dropmenuobj.x
dropmenuobj.style.top=dropmenuobj.y
offset_m2_x=dropmenuobj.x+10
offset_m2_y=dropmenuobj.y+50
}

return clickreturnvalue()
}

function dropdownmenux(obj, e,menucontents,menuwidth){
getMouseXY(e)
clearhidemenux()
dropmenuobj2=document.getElementById? document.getElementById("dropmenudiv2") : dropmenudiv
populatemenux(menucontents)
menuwidth=menuwidth+"px"
if (ie4||ns6){
showhidex(dropmenuobj2.style, e, "visible", "hidden",menuwidth)

dropmenuobj2.x=getposOffset(obj, "left")+150
dropmenuobj2.y=getposOffset(obj, "top")-20
dropmenuobj2.style.left=dropmenuobj2.x-clearbrowseredgex(obj, "rightedge")+"px"
dropmenuobj2.style.top=dropmenuobj2.y-clearbrowseredgex(obj, "bottomedge")+obj.offsetHeight+"px"

}

return clickreturnvalue()
}

function dropdownmenu_title(obj, e, menucontents, menuwidth){
getMouseXY(e)
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)

dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")+25
dropmenuobj.style.left=dropmenuobj.x
dropmenuobj.style.top=dropmenuobj.y
offset_m2_x=dropmenuobj.x+10
offset_m2_y=dropmenuobj.y+50
}

return clickreturnvalue()
}


function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function dynamichidex(e){
if (ie4&&!dropmenuobj2.contains(e.toElement))
delayhidemenux()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenux()
}


function hidemenu(e){
//hidemenux

if (typeof dropmenuobj2!="undefined"){
if (ie4||ns6)
dropmenuobj2.style.visibility="hidden"
}

if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function hidemenux(e){
if (typeof dropmenuobj2!="undefined"){
if (ie4||ns6)
dropmenuobj2.style.visibility="hidden"
}
}


function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function delayhidemenux(){
if (ie4||ns6)
delayhide2=setTimeout("hidemenux()",disappeardelay)
}


function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

function clearhidemenux(){
if (typeof delayhide2!="undefined")
clearTimeout(delayhide2)
}


if (hidemenu_onclick=="yes")
document.onclick=hidemenu

// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)

// Set-up to use getMouseXY function onMouseMove
//document.onmousemove = getMouseXY;
//document.prodSearchForm.focus();
//document.getElementById("GoogleSearchForm_Submit").focus();
// Temporary variables to hold mouse x-y pos.s
var gMouseX = 0
var gMouseY = 0


// Main function to retrieve mouse x-y pos.s

function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    gMouseX = event.clientX + document.body.scrollLeft
    gMouseY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    gMouseX = e.pageX
    gMouseY = e.pageY
  }  
  // catch possible negative values in NS4
  if (gMouseX < 0){gMouseX = 0}
  if (gMouseY < 0){gMouseY = 0}  
  return true
}

	
function setVariables() {
	if (document.layers) {
		v=".top=";
		dS="document.";
		sD="";
		y="window.pageYOffset";
	}
	else if (document.all){
		v=".pixelTop=";
		dS="";
		sD=".style";
		y="document.body.scrollTop";
	}
	else if (document.getElementById){
		y="window.pageYOffset";
	}
	
	if (document.layers) {
		langV=".top=";
		langDs="document.";
		langSd="";
		langY="window.pageYOffset";
	}
	else if (document.all){
		langV=".pixelTop=";
		langDs="";
		langSd=".style";
		langY="document.body.scrollTop";
	}
	else if (document.getElementById){
		langY="window.pageYOffset";
	}
	
}

function checkLocation() {
	object="SideBar";
	yy=eval(y)+150;
	if (document.getElementById){
		document.getElementById("SideBar").style.top=yy;
		document.getElementById("SideBar").style.left=document.getElementById("object2").offsetParent.offsetLeft+document.getElementById("object2").offsetLeft+12;
	}
	else{
		eval(dS+object+sD+v+yy);
	}
	setTimeout("checkLocation()",10);
}

/* contentslider.js begin */

//** Featured Content Slider script- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com.
//** May 2nd, 08'- Script rewritten and updated to 2.0.
//** June 12th, 08'- Script updated to v 2.3, which adds the following features:
			//1) Changed behavior of script to actually collapse the previous content when the active one is shown, instead of just tucking it underneath the later.
			//2) Added setting to reveal a content either via "click" or "mouseover" of pagination links (default is former).
			//3) Added public function for jumping to a particular slide within a Featured Content instance using an arbitrary link, for example.

//** July 11th, 08'- Script updated to v 2.4:
			//1) Added ability to select a particular slide when the page first loads using a URL parameter (ie: mypage.htm?myslider=4 to select 4th slide in "myslider")
			//2) Fixed bug where the first slide disappears when the mouse clicks or mouses over it when page first loads.

var featuredcontentslider={

//3 variables below you can customize if desired:
ajaxloadingmsg: '<div style="margin: 20px 0 0 20px"><img src="loading.gif" /> Fetching slider Contents. Please wait...</div>',
bustajaxcache: true, //bust caching of external ajax page after 1st request?
enablepersist: true, //persist to last content viewed when returning to page?

settingcaches: {}, //object to cache "setting" object of each script instance

jumpTo:function(fcsid, pagenumber){ //public function to go to a slide manually.
	this.turnpage(this.settingcaches[fcsid], pagenumber)
},

ajaxconnect:function(setting){
	var page_request = false
	if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
		try {
		page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
			try{
			page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e){}
		}
	}
	else if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else
		return false
	var pageurl=setting.contentsource[1]
	page_request.onreadystatechange=function(){
		featuredcontentslider.ajaxpopulate(page_request, setting)
	}
	document.getElementById(setting.id).innerHTML=this.ajaxloadingmsg
	var bustcache=(!this.bustajaxcache)? "" : (pageurl.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	page_request.open('GET', pageurl+bustcache, true)
	page_request.send(null)
},

ajaxpopulate:function(page_request, setting){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
		document.getElementById(setting.id).innerHTML=page_request.responseText
		this.buildpaginate(setting)
	}
},

buildcontentdivs:function(setting){
	var alldivs=document.getElementById(setting.id).getElementsByTagName("div")
	for (var i=0; i<alldivs.length; i++){
		if (this.css(alldivs[i], "contentdiv", "check")){ //check for DIVs with class "contentdiv"
			setting.contentdivs.push(alldivs[i])
				alldivs[i].style.display="none" //collapse all content DIVs to begin with
		}
	}
},

buildpaginate:function(setting){
	this.buildcontentdivs(setting)
	var sliderdiv=document.getElementById(setting.id)
	var pdiv=document.getElementById("paginate-"+setting.id)
	var phtml=""
	var toc=setting.toc
	var nextprev=setting.nextprev
	if (typeof toc=="string" && toc!="markup" || typeof toc=="object"){
		for (var i=1; i<=setting.contentdivs.length; i++){
			phtml+='<a href="#'+i+'" class="toc">'+(typeof toc=="string"? toc.replace(/#increment/, i) : toc[i-1])+'</a> '
		}
		phtml=(nextprev[0]!=''? '<a href="#prev" class="prev">'+nextprev[0]+'</a> ' : '') + phtml + (nextprev[1]!=''? '<a href="#next" class="next">'+nextprev[1]+'</a>' : '')
		pdiv.innerHTML=phtml
	}
	var pdivlinks=pdiv.getElementsByTagName("a")
	var toclinkscount=0 //var to keep track of actual # of toc links
	for (var i=0; i<pdivlinks.length; i++){
		if (this.css(pdivlinks[i], "toc", "check")){
			if (toclinkscount>setting.contentdivs.length-1){ //if this toc link is out of range (user defined more toc links then there are contents)
				pdivlinks[i].style.display="none" //hide this toc link
				continue
			}
			pdivlinks[i].setAttribute("rel", ++toclinkscount) //store page number inside toc link
			pdivlinks[i][setting.revealtype]=function(){
				featuredcontentslider.turnpage(setting, this.getAttribute("rel"))
				return false
			}
			setting.toclinks.push(pdivlinks[i])
		}
		else if (this.css(pdivlinks[i], "prev", "check") || this.css(pdivlinks[i], "next", "check")){ //check for links with class "prev" or "next"
			pdivlinks[i].onclick=function(){
				featuredcontentslider.turnpage(setting, this.className)
				return false
			}
		}
	}
	this.turnpage(setting, setting.currentpage, true)
	if (setting.autorotate[0]){ //if auto rotate enabled
		pdiv[setting.revealtype]=function(){
			featuredcontentslider.cleartimer(setting, window["fcsautorun"+setting.id])
		}
		sliderdiv["onclick"]=function(){ //stop content slider when slides themselves are clicked on
			featuredcontentslider.cleartimer(setting, window["fcsautorun"+setting.id])
		}
		setting.autorotate[1]=setting.autorotate[1]+(1/setting.enablefade[1]*50) //add time to run fade animation (roughly) to delay between rotation
	 this.autorotate(setting)
	}
},

urlparamselect:function(fcsid){
	var result=window.location.search.match(new RegExp(fcsid+"=(\\d+)", "i")) //check for "?featuredcontentsliderid=2" in URL
	return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index
},

turnpage:function(setting, thepage, autocall){
	var currentpage=setting.currentpage //current page # before change
	var totalpages=setting.contentdivs.length
	var turntopage=(/prev/i.test(thepage))? currentpage-1 : (/next/i.test(thepage))? currentpage+1 : parseInt(thepage)
	turntopage=(turntopage<1)? totalpages : (turntopage>totalpages)? 1 : turntopage //test for out of bound and adjust
	if (turntopage==setting.currentpage && typeof autocall=="undefined") //if a pagination link is clicked on repeatedly
		return
	setting.currentpage=turntopage
	setting.contentdivs[turntopage-1].style.zIndex=++setting.topzindex
	this.cleartimer(setting, window["fcsfade"+setting.id])
	setting.cacheprevpage=setting.prevpage
	if (setting.enablefade[0]==true){
		setting.curopacity=0
		this.fadeup(setting)
	}
	if (setting.enablefade[0]==false){ //if fade is disabled, fire onChange event immediately (verus after fade is complete)
		setting.contentdivs[setting.prevpage-1].style.display="none" //collapse last content div shown (it was set to "block")
		setting.onChange(setting.prevpage, setting.currentpage)
	}
	setting.contentdivs[turntopage-1].style.visibility="visible"
	setting.contentdivs[turntopage-1].style.display="block"
	if (setting.prevpage<=setting.toclinks.length) //make sure pagination link exists (may not if manually defined via "markup", and user omitted)
		this.css(setting.toclinks[setting.prevpage-1], "selected", "remove")
	if (turntopage<=setting.toclinks.length) //make sure pagination link exists (may not if manually defined via "markup", and user omitted)
		this.css(setting.toclinks[turntopage-1], "selected", "add")
	setting.prevpage=turntopage
	if (this.enablepersist)
		this.setCookie("fcspersist"+setting.id, turntopage)
},

setopacity:function(setting, value){ //Sets the opacity of targetobject based on the passed in value setting (0 to 1 and in between)
	var targetobject=setting.contentdivs[setting.currentpage-1]
	if (targetobject.filters && targetobject.filters[0]){ //IE syntax
		if (typeof targetobject.filters[0].opacity=="number") //IE6
			targetobject.filters[0].opacity=value*100
		else //IE 5.5
			targetobject.style.filter="alpha(opacity="+value*100+")"
	}
	else if (typeof targetobject.style.MozOpacity!="undefined") //Old Mozilla syntax
		targetobject.style.MozOpacity=value
	else if (typeof targetobject.style.opacity!="undefined") //Standard opacity syntax
		targetobject.style.opacity=value
	setting.curopacity=value
},

fadeup:function(setting){
	if (setting.curopacity<1){
		this.setopacity(setting, setting.curopacity+setting.enablefade[1])
		window["fcsfade"+setting.id]=setTimeout(function(){featuredcontentslider.fadeup(setting)}, 50)
	}
	else{ //when fade is complete
		if (setting.cacheprevpage!=setting.currentpage) //if previous content isn't the same as the current shown div (happens the first time the page loads/ script is run)
			setting.contentdivs[setting.cacheprevpage-1].style.display="none" //collapse last content div shown (it was set to "block")
		setting.onChange(setting.cacheprevpage, setting.currentpage)
	}
},

cleartimer:function(setting, timervar){
	if (typeof timervar!="undefined"){
		clearTimeout(timervar)
		clearInterval(timervar)
		if (setting.cacheprevpage!=setting.currentpage){ //if previous content isn't the same as the current shown div
			setting.contentdivs[setting.cacheprevpage-1].style.display="none"
		}
	}
},

css:function(el, targetclass, action){
	var needle=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)", "ig")
	if (action=="check")
		return needle.test(el.className)
	else if (action=="remove")
		el.className=el.className.replace(needle, "")
	else if (action=="add")
		el.className+=" "+targetclass
},

autorotate:function(setting){
 window["fcsautorun"+setting.id]=setInterval(function(){featuredcontentslider.turnpage(setting, "next")}, setting.autorotate[1])
},

getCookie:function(Name){ 
	var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
	if (document.cookie.match(re)) //if cookie found
		return document.cookie.match(re)[0].split("=")[1] //return its value
	return null
},

setCookie:function(name, value){
	document.cookie = name+"="+value

},


init:function(setting){
	var persistedpage=this.getCookie("fcspersist"+setting.id) || 1
	var urlselectedpage=this.urlparamselect(setting.id) //returns null or index from: mypage.htm?featuredcontentsliderid=index
	this.settingcaches[setting.id]=setting //cache "setting" object
	setting.contentdivs=[]
	setting.toclinks=[]
	setting.topzindex=0
	setting.currentpage=urlselectedpage || ((this.enablepersist)? persistedpage : 1)
	setting.prevpage=setting.currentpage
	setting.revealtype="on"+(setting.revealtype || "click")
	setting.curopacity=0
	setting.onChange=setting.onChange || function(){}
	if (setting.contentsource[0]=="inline")
		this.buildpaginate(setting)
	if (setting.contentsource[0]=="ajax")
		this.ajaxconnect(setting)
}

}

/* contentslider.js end */

