var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadstatustext="<img src='/usacontent/productservices/images/loading.gif' /> Requesting content..."

////NO NEED TO EDIT BELOW////////////////////////
var loadedobjects=""
var defaultcontentarray=new Object()
var bustcacheparameter=""

function ajaxpage(url, containerid, targetobj){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
var ullist=targetobj.parentNode.parentNode.getElementsByTagName("li")
for (var i=0; i<ullist.length; i++)
ullist[i].className=""  //deselect all tabs
targetobj.parentNode.className="emfselected"  //highlight currently clicked on tab
if (url.indexOf("#default")!=-1){ //if simply show default content within container (verus fetch it via ajax)
document.getElementById(containerid).innerHTML=defaultcontentarray[containerid]
return
}
document.getElementById(containerid).innerHTML=loadstatustext
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(revattribute){
if (revattribute!=null && revattribute!=""){ //if "rev" attribute is defined (load external .js or .css files)
var objectlist=revattribute.split(/\s*,\s*/) //split the files and store as array
for (var i=0; i<objectlist.length; i++){
var file=objectlist[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
}

function savedefaultcontent(contentid){// save default ajax tab content
if (typeof defaultcontentarray[contentid]=="undefined") //if default content hasn't already been saved
defaultcontentarray[contentid]=document.getElementById(contentid).innerHTML
}

function startajaxtabs(){
for (var i=0; i<arguments.length; i++){ //loop through passed UL ids
var ulobj=document.getElementById(arguments[i])
var ulist=ulobj.getElementsByTagName("li") //array containing the LI elements within UL
for (var x=0; x<ulist.length; x++){ //loop through each LI element
var ulistlink=ulist[x].getElementsByTagName("a")[0]
if (ulistlink.getAttribute("rel")){
var modifiedurl=ulistlink.getAttribute("href").replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/")
ulistlink.setAttribute("href", modifiedurl) //replace URL's root domain with dynamic root domain, for ajax security sake
savedefaultcontent(ulistlink.getAttribute("rel")) //save default ajax tab content
ulistlink.onclick=function(){
ajaxpage(this.getAttribute("href"), this.getAttribute("rel"), this)
loadobjs(this.getAttribute("rev"))
return false
}
if (ulist[x].className=="emfselected"){
ajaxpage(ulistlink.getAttribute("href"), ulistlink.getAttribute("rel"), ulistlink) //auto load currenly selected tab content
loadobjs(ulistlink.getAttribute("rev")) //auto load any accompanying .js and .css files
}
}
}
}
}



// SCRIPT FOR FILTERTABS //

function swapFilterAfterTabs(url,target) {	
   	//alert("TARGET = "+ target+" "+"url = "+url);	
	
	// native XMLHttpRequest object	
	document.getElementById('expandbefore').style.className="emfShow";
	document.getElementById('expandafter').style.className="emfHide";
	
    document.getElementById(target).innerHTML = 'loading...';
		
    if (window.XMLHttpRequest) {		
        req = new XMLHttpRequest();		
		req.onreadystatechange = function() {swapFilterAfterTabsDone(target);};		
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapFilterAfterTabsDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}

function swapFilterAfterTabsDone(target) {
    // only if req is "loaded"
    if (req.readyState == 4) {
        // only if "OK" 
        if (req.status == 200) {
            results = req.responseText;		
			if (results.indexOf("ERRORSTO", 0) != -1 || results.indexOf("authorized to view", 0) != -1  )
            {
            swapFilterAfterTabsForSession("/portal/site/merckproductservices/?front_door=true&epi-content=ERRORSTO", "gridcontent")
			}
			else
			{
				document.getElementById(target).innerHTML = results;
			}
	        //document.getElementById(target).innerHTML = results;			
        } else {
            document.getElementById(target).innerHTML="jah error:\n" +
                req.statusText;
        }
    }
}

function swapFilterAfterTabsForSession(url,target) {
    // native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
		req.onreadystatechange = function() {swapFilterAfterTabsDone(target);};
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapFilterAfterTabsDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}


function swapFilterTabs(url,target) {	
   	//alert("TARGET = "+ target+" "+"url = "+url);	
	
	// native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';
		
    if (window.XMLHttpRequest) {		
        req = new XMLHttpRequest();		
		req.onreadystatechange = function() {swapFilterTabsDone(target);};		
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapFilterTabsDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}

function swapFilterTabsDone(target) {
    // only if req is "loaded"
    if (req.readyState == 4) {
        // only if "OK" 
        if (req.status == 200) {
            results = req.responseText;		
			 if (results.indexOf("ERRORSTO", 0) != -1 || results.indexOf("authorized to view", 0) != -1  )
            {
            	swapFilterTabsForSession("/portal/site/merckproductservices/?front_door=true&epi-content=ERRORSTO", "gridcontent")
			}
			else
			{
				document.getElementById(target).innerHTML = results;
			}			
	        //document.getElementById(target).innerHTML = results;			
        } else {
            document.getElementById(target).innerHTML="jah error:\n" +
                req.statusText;
        }
    }
}

function swapFilterTabsForSession(url,target) {
    // native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
		req.onreadystatechange = function() {swapFilterTabsDone(target);};
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapFilterTabsDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}





function swapTheFilterViewAll(url,target) {	
  //alert("TARGET = "+ target+" "+"url = "+url);	
	
	// native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';
		
    if (window.XMLHttpRequest) {		
        req = new XMLHttpRequest();		
		req.onreadystatechange = function() {swapTheFilterViewAllDone(target);};		
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapTheFilterViewAllDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}

function swapTheFilterViewAllDone(target) {
    // only if req is "loaded"
    if (req.readyState == 4) {
        // only if "OK" 
        if (req.status == 200) {
            results = req.responseText;		
			 if (results.indexOf("ERRORSTO", 0) != -1 || results.indexOf("authorized to view", 0) != -1  )
            {
            swapTheFilterViewForSession("/portal/site/merckproductservices/?front_door=true&epi-content=ERRORSTO", "gridcontent")
			}
			else
			{
				document.getElementById(target).innerHTML = results;
			}
			
	        //document.getElementById(target).innerHTML = results;			
        } else {
            document.getElementById(target).innerHTML="jah error:\n" +
                req.statusText;
        }
    }
}


function swapTheFilterViewForSession(url,target) {

    // native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
		req.onreadystatechange = function() {swapTheFilterViewAllDone(target);};
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapTheFilterViewAllDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}



// SCRIPT FOR FILTERTABS END //



function swapTheViewAll(url,target) {	
   	//alert("TARGET = "+ target+" "+"url = "+url);	
	
	// native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';
		
    if (window.XMLHttpRequest) {		
        req = new XMLHttpRequest();		
		req.onreadystatechange = function() {swapTheViewAllDone(target);};		
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapTheViewAllDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}

function swapTheViewAllDone(target) {
	//alert("toggleShow: req.readyState = " + req.readyState);
    //alert("toggleShow: req.status = " + req.status);
    // only if req is "loaded"
    if (req.readyState == 4) {
		//alert("req.status = " + req.status);
        // only if "OK" 
        if (req.status == 200) {
            results = req.responseText;	
			//alert("results : " + results);
			 if (results.indexOf("ERRORSTO", 0) != -1 || results.indexOf("authorized to view", 0) != -1  )
            {
            	swapTheViewAllForSession("/portal/site/merckproductservices/?front_door=true&epi-content=ERRORSTO", "gridcontent")				
			}
			else
			{
				document.getElementById(target).innerHTML = results;
			}				
	        //document.getElementById(target).innerHTML = results;			
        } else {
            document.getElementById(target).innerHTML="jah error:\n" +
                req.statusText;
        }
    }
}


function swapTheViewAllForSession(url,target) {

    // native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
		req.onreadystatechange = function() {swapTheViewAllDone(target);};
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapTheViewAllDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}


function swapTheDIVForSessionDone(target) {

    // only if req is "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            results = req.responseText;
	        document.getElementById(target).innerHTML = results;
        } else {
            document.getElementById(target).innerHTML="jah error:\n" +
                req.statusText;
        }
    }
}




function toggleTheShowDiv(url,target,divid) {		
	//alert("TARGET = "+ target+" "+"url = "+url);	
	
	var imgName='img'+divid;		
	show = document.getElementById(divid).className;
	
	if(show == "viewpanel") {				
		document.getElementById(divid).className = 'togviewpanel';		
		document.getElementById(imgName).src="/usacontent/productservices/images/arrowRight.gif";
	}else {
		document.getElementById(divid).className = 'viewpanel';
		document.getElementById(divid).style.fontWeight="bold";
		document.getElementById(imgName).src="/usacontent/productservices/images/arrowDown.gif";
	}	
	
	
	if ( document.getElementById ) {
    	target1 = document.getElementById( target );		
	    if ( target1.style.display == "none" ) {
     		target1.style.display = "";
    	} else {
     		target1.style.display = "none";
    	}
   }
	
	
	document.getElementById(target).innerHTML = 'loading...';		
    if (window.XMLHttpRequest) {		
        req = new XMLHttpRequest();		
		req.onreadystatechange = function() {toggleTheShowDivDone(target);};		
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {toggleTheShowDivDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}

function toggleTheShowDivDone(target) {
    // only if req is "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            results = req.responseText;				
			if (results.indexOf("ERRORSTO", 0) != -1 || results.indexOf("authorized to view", 0) != -1  )
            {
            toggleTheShowDivForSession("/portal/site/merckproductservices/?front_door=true&epi-content=ERRORSTO", "gridcontent")				
			}
			else
			{
				document.getElementById(target).innerHTML = results;
			}
	        //document.getElementById(target).innerHTML = results;
	    } else {
            document.getElementById(target).innerHTML="jah error:\n" +
                req.statusText;
        }
    }
}


function toggleTheShowDivForSession(url,target) {

    // native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
		req.onreadystatechange = function() {toggleTheShowDivDone(target);};
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {toggleTheShowDivDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}




function hoverOver(divid) { 
	
	var imgName='img'+divid;
	if (document.getElementById(divid).className=="togviewpanel") {		
		document.getElementById(divid).style.fontWeight="bold";		
		document.getElementById(divid).style.backgroundImage="url('/usacontent/productservices/images/rolloverControl.gif')";
		document.getElementById(imgName).src="/usacontent/productservices/images/arrowDown.gif";		
		
	} else	{		
		document.getElementById(divid).style.backgroundImage="url('/usacontent/productservices/images/rolloverControl.gif')";
		document.getElementById(imgName).src="/usacontent/productservices/images/arrowDown.gif";		
	}

}

function hoverOut(divid) {
	
	var imgName='img'+divid;
	if (document.getElementById(divid).className=="togviewpanel") {
		document.getElementById(divid).style.fontWeight="normal";		
		document.getElementById(divid).style.backgroundImage="url('/usacontent/productservices/images/regularControl.gif')";
		document.getElementById(imgName).src="/usacontent/productservices/images/arrowRight.gif";
	}
	else {				
		document.getElementById(imgName).src="/usacontent/productservices/images/arrowDown.gif";
	}
}




if (document.images) {					
 	imgHide =new Image();  imgHide.src ="/usacontent/productservices/images/arrowRight.gif"; 
 	imgShow=new Image();  imgShow.src="/usacontent/productservices/images/arrowDown.gif"; 
}


function toggleTheHideDIV(url,target,divid) {		
	//alert("TARGET = "+ target+" "+"url = "+url);	
	
	var imgName='img'+divid;
	hidden = document.getElementById(divid).className;
	if(hidden == "hidepanel"){	
		document.getElementById(divid).className = 'toghidepanel';						
		if (document.images) document.getElementById(imgName).src=imgShow.src;		
	}else{			
		document.getElementById(divid).className = 'hidepanel';			
		document.getElementById(imgName).src=imgHide.src;
	}		
	

	document.getElementById(target).style.display = (document.getElementById(target).style.display == 'none') ? 'block' : 'none';		
	document.getElementById(target).innerHTML = 'loading...';	
		
    if (window.XMLHttpRequest) {		
        req = new XMLHttpRequest();		
		req.onreadystatechange = function() {toggleTheHideDIVDone(target);};		
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {toggleTheHideDIVDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}

function toggleTheHideDIVDone(target) {
    // only if req is "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            results = req.responseText;
			if (results.indexOf("ERRORSTO", 0) != -1 || results.indexOf("authorized to view", 0) != -1  )
            {
            toggleTheHideDIVForSession("/portal/site/merckproductservices/?front_door=true&epi-content=ERRORSTO", "gridcontent")				
			}
			else
			{
				document.getElementById(target).innerHTML = results;
			}
			//var re = /</g;
			//results = results.replace(re, "&lt;");
			//var re = />/g;
			//results = results.replace (re, "&gt;");
			//document.getElementById(target).innerHTML = results;			
			//alert("results  " +results);
			
        } else {
            document.getElementById(target).innerHTML="jah error:\n" +
                req.statusText;
        }
    }
}



function toggleTheHideDIVForSession(url,target) {

    // native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
		req.onreadystatechange = function() {toggleTheHideDIVDone(target);};
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {toggleTheHideDIVDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}




function handleOver(divid) { 
	
	var imgName='img'+divid;
	
	if (document.getElementById(divid).className=="toghidepanel") {
		
		document.getElementById(divid).style.fontWeight="bold";		
	} else {
		
		document.getElementById(divid).style.fontWeight="bold";		
		document.getElementById(divid).style.backgroundImage="url('/usacontent/productservices/images/rolloverControl.gif')";
		document.getElementById(imgName).src="/usacontent/productservices/images/arrowDown.gif";		
	} 
}

function handleOut(divid) {
	var imgName='img'+divid;
	if (document.getElementById(divid).className=="toghidepanel") {
		document.getElementById(divid).style.fontWeight="bold";		
		document.getElementById(divid).style.backgroundImage="url('/usacontent/productservices/images/rolloverControl.gif')";
	}
	else
	{
		document.getElementById(divid).style.fontWeight="normal";		
		document.getElementById(divid).style.backgroundImage="url('/usacontent/productservices/images/regularControl.gif')";
		document.getElementById(imgName).src="/usacontent/productservices/images/arrowRight.gif";
	}
}



function swcshowdiv(id){
	document.getElementById(id).style.visibility='visible';	
	document.getElementById('schedulewcidbefore').className='emfHide';
	document.getElementById('schedulewcidafter').className='emfShow';
}

function swchidediv(id){
	document.getElementById(id).style.visibility='hidden';	
	document.getElementById('schedulewcidbefore').className='emfShow';
	document.getElementById('schedulewcidafter').className='emfHide';
}


function swapSWCDIV(url,target, divid) {
	// alert("swapSWCDIV TARGET = "+ target+" "+"url = "+url);	
			
    // native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';
	

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
		req.onreadystatechange = function() {swapSWCDIVDone(target);};
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapSWCDIVDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}

function swapSWCDIVDone(target) {

    // only if req is "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            results = req.responseText;
            if (results.indexOf("ERRORSTO", 0) != -1 ||
            	results.indexOf("authorized to view", 0) != -1  )
           {
            	swapSWCDIVForSession("/portal/site/merckproductservices/?front_door=true&epi-content=ERRORSTO", "gridcontent")
		   }
		   else
		   {
				document.getElementById(target).innerHTML = results;
		   }

        } else {
            document.getElementById(target).innerHTML="jah error:\n" +
                req.statusText;
        }
    }
}

function swapSWCDIVForSession(url,target) {

    // native XMLHttpRequest object
    document.getElementById(target).innerHTML = 'loading...';

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
		req.onreadystatechange = function() {swapSWCDIVDone(target);};
		req.open("GET", url, true);
        req.send(null);
    // IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function() {swapSWCDIVDone(target);};
            req.open("GET", url, true);
            req.send();
        }
    }
}

function swapIndexDIVForSessionDone(target) {

    // only if req is "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            results = req.responseText;
	        document.getElementById(target).innerHTML = results;
        } else {
            document.getElementById(target).innerHTML="jah error:\n" +
                req.statusText;
        }
    }
}



function scwOver(divid) { 		
	document.getElementById(divid).style.backgroundImage="url('/usacontent/productservices/images/rolloverControl.gif')";
	document.getElementById(divid+"img").src="/usacontent/productservices/images/arrowDown.gif";
	document.getElementById(divid).style.fontWeight="bold";

	
}

function scwOut(divid) {		
	document.getElementById(divid).style.backgroundImage="url('/usacontent/productservices/images/regularControl.gif')";
	document.getElementById(divid+"img").src="/usacontent/productservices/images/arrowRight.gif";
	document.getElementById(divid).style.fontWeight="normal";

	
}


