

function modifyStyleSheet(css_identifier,css_text) {  // Note this modifies all of the class settings; change css below manages each attribute
			// the identifier must be set for it to be changed
//alert(css_identifier+"  "+css_text);
	if (!document.styleSheets) return;
	var allcss = new Array(); allcss =document.styleSheets;
	if(allcss[0].cssRules) var standards="true"; else var standards= "false";  // False is IE
	for (i=0;i<allcss.length;i++) {
		if(standards=="true") thecss=allcss[i].cssRules; else thecss=allcss[i].rules;
		for (j=0;j<thecss.length;j++) {
        	if ( thecss[j].selectorText==css_identifier  || thecss[j].selectorText.toLowerCase()==css_identifier) {
	     thecss[j].style.cssText=css_text;
}   } }  }

function changeCss(theClass,element,value) {
		//Last Updated on July 4, 2011
		//documentation for this script at
		//http://www.shawnolson.net/a/503/altering-css-class-attributes-with-javascript.html
		 var cssRules;
		 for (var S = 0; S < document.styleSheets.length; S++){
			  try{
			  	document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length);
			  } catch(err){
			  		try{document.styleSheets[S].addRule(theClass,element+': '+value+';');
					}catch(err){
					 	try{
						    if (document.styleSheets[S]['rules']) {
							  cssRules = 'rules';
							 } else if (document.styleSheets[S]['cssRules']) {
							  cssRules = 'cssRules';
							 } else {
							 //no rules found... browser unknown
							 }

							  for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
							   if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
							    if(document.styleSheets[S][cssRules][R].style[element]){
							    document.styleSheets[S][cssRules][R].style[element] = value;
								break;
							    }
							   }
							  }
						  } catch (err){}	}  } }	}

function set_transparency(ele_id_txt,e_opacity) { // value to be between 1 and 100 (not 0 because of msft)
//if(ele_id_txt=="Ripe_Choice_Catering_Logo") { var loud; loud="TRUE"; alert("Ripe Choice"); }

	ele_id=document.getElementById(ele_id_txt);
//if(loud=="TRUE") alert("After " + ele_id_txt);
	if(browser_version().browserName=="Microsoft Internet Explorer") {
		var filterscheck=(ele_id.filters && ele_id.filters.length>0); //check if element supports filter/ has at least 1 filter defined
					// default class with defined attributes must be set for the so that filters are on!
	if (filterscheck) {  
		ele_id.filters[0].apply() //capture initial state of content
		//  ele_id.style.backgroundColor="red" //change content background to blue (not visible yet)
		ele_id.filters.item("DXImageTransform.Microsoft.Alpha").Opacity=e_opacity;
		return "true";
	} else return "false"; }
	else {  ele_id.style.MozOpacity=(e_opacity/100);
	 		ele_id.style.opacity=(e_opacity/100);
	}	return "true"; }
	
function clear_transparency(ele_id) { 
	ele_obj=document.getElementById(ele_id);
	ele_obj.style.display="none"; ele_obj.style.position="absolute";
	set_transparency(ele_id,100); 
	}

function set_para_off(current_slide) {
	var x = document.getElementById(div[current_slide]).getElementsByTagName('P'); // Turn off any existing paragraphs
		for(var i=0;i<x.length;i++) x[i].style.display="none"; 
	}

function set_para_on(current_slide) {
	var x = document.getElementById(div[current_slide]).getElementsByTagName('P'); // Turn off any existing paragraphs
		for(var i=0;i<x.length;i++) x[i].style.display="block"; 
	}
	
function fade(ele_id,steps,seconds) {
	var opacity; for(var i=1;i<steps;i++) { 
	var topacity=(100-(100/steps*i));
	setTimeout("set_transparency('"+ele_id+"','"+topacity+"')",(seconds*i/steps*1000)); } 
	setTimeout("clear_transparency('"+ele_id+"')",((seconds*i+1)/steps*1000)); 
	}

function pictures_init() { // Updated version which modifies css for the slide division
//var res="";  for(var i=0;i<div.length;i++) { if(document.getElementById(div[i])) res = res + i +" "+div[i]+" found \n"; else res= res + i+ " "+div[i]+" NOT found \n"; } alert(res); 
	if(set_transparency(div[0],100)) {  // Only do this if transparency works.
		if(slide_show_container){ modifyStyleSheet(slide_show_container,slide_show_container_complete_css);}
		if(slide_division_class) for(var i=0;i<picture_count;i++) {
			document.getElementById(div[i]).setAttribute("class",slide_division_class); // Netscape + IE 8
			document.getElementById(div[i]).setAttribute("className",slide_division_class); // IE 7 & 6 
			}
		changeCss("."+slide_division_class,"position","absolute");
		changeCss("."+slide_division_class,"display","none");
		if(typeof new_styles !=="undefined" && new_styles.length > 0) for ( var i in new_styles )
					changeCss(new_styles[i]["my_class"],new_styles[i]["attrib"],new_styles[i]["value"]);  // Custom style changes support
		document.getElementById(div[0]).style.display="block";
		setTimeout( "pictures()", display_seconds*1000 );	
	} } 	

function pictures() {
	document.getElementById(div[current_slide]).style.zIndex="1"; 
	var next_slide=current_slide+1; if(next_slide==picture_count) next_slide=0;
	set_para_off(current_slide);
	fade(div[current_slide],fade_steps,fade_duration);  // Fade uses sleep but this function keeps processing which is perfect!
	current_slide =next_slide; 
	set_para_off(current_slide);
	document.getElementById(div[current_slide]).style.zIndex="0";
	document.getElementById(div[current_slide]).style.display="block";
	setTimeout("set_para_on('"+current_slide+"')",(fade_duration*1000));  // Something is preventing turing the paragraph on any sooner!
	setTimeout( "pictures()", display_seconds*1000 );  // Loop!
	}
	
function browser_version() {
	// Source JavaScripter.net  //http://www.javascripter.net/faq/browsern.htm 
	var nVer = navigator.appVersion;
	var nAgt = navigator.userAgent;
	var browserName  = navigator.appName;
	var fullVersion  = ''+parseFloat(navigator.appVersion); 
	var majorVersion = parseInt(navigator.appVersion,10);
	var nameOffset,verOffset,ix;
	// In MSIE, the true version is after "MSIE" in userAgent
	if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
		browserName = "Microsoft Internet Explorer";
 		fullVersion = nAgt.substring(verOffset+5);
		}
	// In Opera, the true version is after "Opera" 
	else if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
 		browserName = "Opera";
 		fullVersion = nAgt.substring(verOffset+6);
		}
	// In Chrome, the true version is after "Chrome" 
	else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
 		browserName = "Chrome";
 		fullVersion = nAgt.substring(verOffset+7);
		}
	// In Safari, the true version is after "Safari" 
	else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
 		browserName = "Safari";
 		fullVersion = nAgt.substring(verOffset+7);
		}
	// In Firefox, the true version is after "Firefox" 
	else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
 		browserName = "Firefox";
 		fullVersion = nAgt.substring(verOffset+8);
		}
	// In most other browsers, "name/version" is at the end of userAgent 
	else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) ) {
		browserName = nAgt.substring(nameOffset,verOffset);
 		fullVersion = nAgt.substring(verOffset+1);
 		if (browserName.toLowerCase()==browserName.toUpperCase()) {
  		browserName = navigator.appName;
 	}	}
	// trim the fullVersion string at semicolon/space if present
	if ((ix=fullVersion.indexOf(";"))!=-1) fullVersion=fullVersion.substring(0,ix);
	if ((ix=fullVersion.indexOf(" "))!=-1) fullVersion=fullVersion.substring(0,ix);
	majorVersion = parseInt(''+fullVersion,10);
	if (isNaN(majorVersion)) {
 		fullVersion  = ''+parseFloat(navigator.appVersion); 
 		majorVersion = parseInt(navigator.appVersion,10);
		}

	var result=Array();
	result['browserName']=browserName;
	result['fullVersion']=fullVersion;
	result['majorVersion']=majorVersion;
	result['appName']=navigator.appName;
	result['userAgent']=navigator.userAgent;
	return result;  }
// document.write(browser_version().browserName +" "+browser_version().fullVersion+"<br>"+browser_version().appName+"<br>"+browser_version().userAgent);


