function fixFlash()
{
	theObjects = document.getElementsByTagName("object");
	for (var i = 0; i < theObjects.length; i++) 
	{
		theObjects[i].outerHTML = theObjects[i].outerHTML;
	}
} 

var YScrollPosition;
		
		function SaveScrollPositions() 
		{   
			YScrollPosition = (document.all)?document.body.scrollTop:window.pageYOffset; 
			setTimeout('SaveScrollPositions()', 10);
		}
		
		function RestoreScrollPosition() 
		{   
			scrollTo(0, YScrollPosition);
		}


var pageControls = new Array();
	
function SaveControlsState(controls)
{
	//alert("SaveControlsState");
	
	var controlArray = controls.split(",");
	var elem;
	
	for(i = 0; i < controlArray.length; i++)
	{
		elem = document.getElementById(controlArray[i]);
		
		// stores current state
		pageControls[i] = new Array(controlArray[i], elem.disabled); 	
		
		// disable elements
		elem.disabled = true;
	}	
}

function RestoreControlsState(controls)
{
	//alert("RestoreControlsState");
	
	var elem;
	
	for(i = 0; i < pageControls.length; i++)
	{
		elem = document.getElementById(pageControls[i][0]);
		elem.disabled = pageControls[i][1];
	}
}

/********************************************/
/*  CreateBookmarkLink						*/
/********************************************/
function CreateBookmarkLink(url, title) 
{ 	
	if (window.sidebar) 
	{ 
		// Mozilla Firefox Bookmark		
		window.sidebar.addPanel(title, url,"");	
	} 
	else if( window.external ) 
	{ 
		// IE Favorite		
		window.external.AddFavorite( url, title); 
	}	
	else if(window.opera && window.print) 
	{ 
		// Opera Hotlist		
		return true; 
	} 
} 
/********************************************/

/********************************************/
/*  getObjInnerText							*/
/********************************************/
function getObjInnerText(obj){
  if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
    // IE;
    return obj.innerText;
  }
  else{
    if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1)
    {
      // Firefox
      return obj.text; 
    }
    else
      alert("Error: This application does not support your browser.  Try again using IE or Firefox.");
  }
} 

/********************************************/


function openpopup(popurl, width, height){
				winpops=window.open(popurl,"","width=" + width + ",height=" + height + ",,,");
			}

function closewindow()
{
	window.opener='self'; window.close();
}

// Replace string - equivalent to C# String.Format (with single parameter)
function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}


// Read query string
function GetQueryString()
{
	//This is the script to take querystrings from the URL and convert them into
	//a Javascript array. "?search=whatever" becomes querystring["search"] 

	//this loads the portion of the url containing the querystring, and also
	//decodes any special character codes  
	var que = unescape(location.search);

	//remove the ? from the beginning of the string
	var que = que.substring(1, que.length);

	//detects multiple values and splits them into an array que[0], que[1] etc...
	var que = que.split("&");

	// creates the querystring array
	var querystring = new Array();

	//(for some strange reason the "for/next" loop wasn't working)
	var loop = 0;

	//This loop takes each value in the que array then seperates the "names" 
	//from the "values" by splitting it into "inter" arrays. the name becomes
	// "inter3" and the value becomes "inter2". querystring then loads the "inter2" 
	//value into a slot called "inter3"
	while (loop < que.length)
	{
		var inter = que[loop].split("=");
		var inter2 = inter[1];
		var inter3 = inter[0]
		que[loop] = inter2;
		querystring[inter3] = inter2
		loop = loop + 1;
	} ;

	return querystring;
}

// Check if email addrees is valid
function echeck(str) 
{
	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var lstr = str.length;
	var ldot = str.indexOf(dot);
	
	if (str.indexOf(at)==-1)
		return false;

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		return false;

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		return false;

	if (str.indexOf(at,(lat+1))!=-1)
		return false;

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		return false;

	if (str.indexOf(dot,(lat+2))==-1)
		return false;

	if (str.indexOf(" ")!=-1)
		return false;

 	return true					
}

// Get select text from DropDownList controls
function GetSelectedText(elementID)
{
	//alert("GetSelectedText");
	
	elem = document.getElementById(elementID);
	
	//alert(elem.options[elem.selectedIndex].value);
	
	var str = elem.options[elem.selectedIndex].text;
	return str;
}

// Check password complexity
function CheckPassword(password)
{
	var x = (password.length >= 6) && ((password.match("[a-z]") != null) || (password.match("[A-Z]") != null)) && (password.match("[0-9]") != null)
	
	//alert(x);
	
	return x;
}

// Set focus
function SetFocus(elementID)
{
	elem = document.getElementById(elementID);
	
	if(elem.style.display == "none" || elem.disabled == true)
	{
		return;
	}
	else
	{	
		elem.focus();
		moveToEnd(elementID);
	}
}

// Moves cursor to end
function moveToEnd(elementID) 
{
	elem = document.getElementById(elementID);
	
    var myRange = elem.createTextRange();
    myRange.collapse(false);
    myRange.select();
}



// Verify if allows OnClick. If control is disable returns false
function AllowOnClick(elementID)
{
	//alert("AllowOnClick");
	
	var elem = document.getElementById(elementID);
	
	return (elem.disabled == false)?true:false;
}

// Toggles element visability
function Toggle(elementID) {
    var elem = document.getElementById(elementID);
    elem.style.display = (elem.style.display == "none")?"":"none";
}

// Toggles panel visability
function TogglePanel(elementID) {
    var elem = document.getElementById(elementID);
    elem.style.display = (elem.style.display == "none")?"":"none";
    
    var img = document.getElementById(i + elementID);
    alert(img.src);
    img.src = (img.src == "images/i-open.gif")?(img.src):("images/i-open.gif");
}


// Hide one or more elements
function HideElements(elements) 
{
	//alert("HideElements");
	
	var arrElements = elements.split(",");
	var elem;
	
	for(i=0; i < arrElements.length; i++)
	{
		elem = document.getElementById(arrElements[i]);
		
		//elem.style.visibility = "hidden";
		elem.style.display = "none";
	}
	
	//alert("HideElements() - End");
}


// Hide one or more elements
function ShowElements(elements) 
{
	//alert("ShowElements");
	
	var arrElements = elements.split(",");
	var elem;

	for(i=0; i < arrElements.length; i++)
	{
		elem = document.getElementById(arrElements[i]);
		
		//elem.style.visibility = "visible";
		elem.style.display = "inline";
	}
}



// Toggle Disable for one or more elements
function ToggleDisabled(elements) 
{
	//alert("DisableElements");
	
	if(elements != "")
	{
		
		var arrElements = elements.split(",");
		var elem;
		
		alert("Disable elements: " + elements);

		for(i=0; i < arrElements.length; i++)
		{
			elem = document.getElementById(arrElements[i]);
			elem.disabled = (elem.disabled)?false:true;
			
			if(elem.onclick)
			{
				if(elem.disable)
				{
					elem.onclick = new Function("return false;" + elem.onclick.toString().getFuncBody());
				}
				else
				{
					strClick = elem.onclick.toString().getFuncBody().replace("return false;","")
					elem.onclick = new Function(strClick);
				}
			}
		}
	}
	//alert("DisableElements()");
}

// Disable one or more elements
function DisableElements(elements) 
{
	if(elements != "")
	{
		
		var arrElements = elements.split(",");
		var elem;
		
		//alert("Disable elements: " + elements);

		for(i=0; i < arrElements.length; i++)
		{
			elem = document.getElementById(arrElements[i]);
			elem.disabled = true;
			
			if(elem.onclick)
			{
				elem.onclick = new Function("return false;" + elem.onclick.toString().getFuncBody());
			}
		}
	}
}

// Enable one or more elements
function EnableElements(elements) 
{
	//alert("EnableElements");

	var arrElements = elements.split(",");
	var elem;
	
	for(i=0; i < arrElements.length; i++)
	{
		elem = document.getElementById(arrElements[i]);
		elem.disabled = false;
		
		if(elem.onclick)
		{
			strClick = elem.onclick.toString().getFuncBody().replace("return false;","")
			elem.onclick = new Function(strClick);
		}
	}
}

// ToggleDisableState
// Toggles element visability
function ToggleDisabledState(elementID) {
    var elem = document.getElementById(elementID);
    elem.disabled = (elem.disabled == false)?true:false;
}

// Used in 2 previous functions
String.prototype.getFuncBody = function(){ 
  var str=this.toString(); 
  str=str.replace(/[^{]+{/,"");
  str=str.substring(0,str.length-1);   
  str = str.replace(/\n/gi,"");
  if(!str.match(/\(.*\)/gi))str += ")";
  return str; 
} 

// Updates elements InnerText
function UpdateInnerText(elementID, text)
{
	//alert("UpdateInnerText");
	
	//alert("UpdateInnerText");
	//alert("ID: " + elementID + ", text:" + text)
	
	document.getElementById(elementID).innerText = text;
}

// Get select text from DropDownList controls
function GetSelectedText(elementID)
{
	//alert("GetSelectedText");
	
	elem = document.getElementById(elementID);
	
	//alert(elem.options[elem.selectedIndex].value);
	
	var str = elem.options[elem.selectedIndex].text;
	return str;
}

function EditStateDelete(elementID)
{
	//alert("EditStateDelete");
	
	elem = document.getElementById(elementID);
	
	var x = (elem.Value == "3")?true:false;
	
	//alert(x);
	
	return x;
}

// GetTextBoxText
function GetTextBoxText(textBoxID)
{
	textBox = document.getElementById(textBoxID);
	
	return textBox.value;
}

// Validates text box and shows message
function ValidateText(textBoxID, msgLabelID)
{
	//alert("ValidateText");
	
	textBox = document.getElementById(textBoxID);
	msgLabel = document.getElementById(msgLabelID);
	
	if(TrimString(textBox.value) == "")
	{
		msgLabel.style.display = "inline";	
		
		// move focus back to textbox
		if(!textBox.style.display == "none")
			textBox.focus();
		
		return false;
	}
	else
	{
		return true;
	}
}

// Validates text box and shows message
function ValidateEmptyText(textBoxID)
{
	
	textBox = document.getElementById(textBoxID);
	
	if(TrimString(textBox.value) == "")
	{
		// move focus back to textbox
		textBox.focus();
		
		return false;
	}
	else
	{
		return true;
	}
}


function TrimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}

// ShowDialog
function ShowDialog(page, title, width, height)
{
	//var cultureID = '<%=Session["language"].ToString() %>';	
	//alert(cultureID);
	//window.open(page, "_new");
	
	window.showModelessDialog(page, title, "dialogWidth:" + width + "px;dialogHeight:" + height + "px;center:yes; help: No; resizable: Yes; status: yes;edge: Raised;");
	//window.showModelessDialog(page, title, "dialogWidth:" + width + "px;dialogHeight:" + height + "px;center:yes; help: No; resizable: No; status: No;edge: Raised;");	
}

<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; 
	if(d.images)
	{ 
		if(!d.MM_p) 
			d.MM_p=new Array();
    
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
		for(i=0; i<a.length; i++)
			 if (a[i].indexOf("#")!=0)
			 { 
				d.MM_p[j]=new Image; 
				d.MM_p[j++].src=a[i];
			}
		}
}


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function flvS3(v1) {//v1.2
  var v2=MM_findObj(v1);if (!v2){this.x=this.y=this.h=this.w=0;return;}var v3,v4,v5,v6,v7=(document.layers)?v2:v2.style;v3=isNaN(parseInt(v7.left))?v2.offsetLeft:parseInt(v7.left);v4=isNaN(parseInt(v7.top))?v4=v2.offsetTop:parseInt(v7.top);if (v2.offsetHeight){v5=v2.offsetHeight;v6=v2.offsetWidth;}else if (document.layers){v5=v7.clip.height;v6=v7.clip.width;}else {v5=v6=0;}this.x=parseInt(v3);this.y=parseInt(v4);this.h=parseInt(v5);this.w=parseInt(v6);
}

function flvS8(v1,v2,v3) {//v1.0
  var v4=(document.layers)?v1:v1.style;var v5=flvS5();eval("v4.left='"+v2+v5+"'");eval("v4.top='"+v3+v5+"'");
}

function flvS5() {//v1.0
  var v1=((parseInt(navigator.appVersion)>4||navigator.userAgent.indexOf("MSIE")>-1)&&(!window.opera))?"px":"";return v1;
}

function flvXAS1() {
  var v1=arguments,v2=v1.length,v3='AutoScrollContainer',v4='AutoScrollContent';var v5=MM_findObj(v3),v6=MM_findObj(v4);if (!v5){return;}if (v5.XAS1!=null){clearTimeout(v5.XAS1);}var v7=(v2>0)?parseInt(v1[0]):1;if (v7){var v8=(v2>1)?parseInt(v1[1]):1,v9=(v2>2)?parseInt(v1[2]):50,v10=(v2>3)?parseInt(v1[3]):1;var v11=new flvS3(v3),v12=new flvS3(v4);var v13=v12.x,v14=v12.y,v15=0,v16=0;if (v10==1){var v17=-1*v12.h;v15=v12.x;if (v14>=v17){v16=v12.y-v8;}else {v16=v11.h;}}else {var v18=-1*v12.w;v16=v12.y;if (v13>=v18){v15=v12.x-v8;}else {v15=v11.w;}}flvS8(v6,v15,v16);v5.XAS1=setTimeout("flvXAS1("+v7+","+v8+","+v9+","+v10+")",v9);}
}

//-->