//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function Flash_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function doSearch(searchbox, e) {
	var keycode;
	var search;
	if(window.event) keycode = window.event.keyCode;
	else if(e) keycode = e.which;
	else return true;
	search = jQuery.trim(searchbox.value);
	if(keycode == 13 && search.length > 0) {
		//alert(escape(search));
		window.location.href = '/en/SearchResults/tabid/39/language/en-US/Default.aspx?Search=' + escape(search);
		return false;
	}
	return true;
}

function doSearch2() {
	var search;
	var search_input = document.getElementById('search_input_box');
	if(search_input) {
		var search = jQuery.trim(search_input.value);
		if(search.length > 0) {
			//alert(escape(search));
			window.location.href = '/en/SearchResults/tabid/39/language/en-US/Default.aspx?Search=' + escape(search);
		}
	}
}

function startsWith(str, target) {
	return str.match("^" + target) == target;
}

// wrap as a jQuery plugin and pass jQuery in to our anoymous function
(function ($) {
	$.fn.cross = function (options) {
		return this.each(function (i) { 
			// cache the copy of jQuery(this) - the start image
			var $$ = $(this);
			
			// get the target from the backgroundImage + regexp
			var target = $$.css('backgroundImage').replace(/^url|[\(\)'"]/g, '');
			target = target.substring(target.lastIndexOf('/')+1);
			var active = false;
			switch(target) {
				case "sub_enterprise_on.gif":
					if(location.href.indexOf('/EnterpriseImprovement/') >= 0) active = true;
					break;
				case "sub_corporate_on.gif":
					if(location.href.indexOf('/CorporateTurnaroundandRestructuring/') >= 0) active = true;
					break;
				case "sub_financial_on.gif":
					if(location.href.indexOf('/FinancialAdvisoryServices/') >= 0) active = true;
					break;
				case "sub_information_on.gif":
					if(location.href.indexOf('/InformationManagementServices/') >= 0) active = true;
					break;
			}
			if(active) $$.fadeOut(250);
			target = '/en/portals/0/images/' + target;
			// nice long chain: wrap img element in span
			$$.wrap('<span style="position: relative;"></span>')
				// change selector to parent - i.e. newly created span
				.parent()
				// prepend a new image inside the span
				.prepend('<img>')
				// change the selector to the newly created image
				.find(':first-child')
				// set the image to the target
				.attr('src', target)
				.attr('border', 0);

			// the CSS styling of the start image needs to be handled
			// differently for different browsers
				   if ($.browser.mozilla) {
						$$.css({
							'position' : 'absolute', 
							'left' : 0,
							'background' : '',
							'top' : this.offsetTop
						});
					} else if ($.browser.msie && $.browser.version > 7) {
						$$.css({
							'position' : 'absolute', 
							'left' : 0,
							'background' : '',
							'top' : "0"
						});
					} else if ($.browser.msie || $.browser.opera && $.browser.version < 9.5) {
						// opera < 9.5 has a render bug - so this is required to get around it
						// we can't apply the 'top' : 0 separately because Mozilla strips
						// the style set originally somehow...
						$$.css({
							'position' : 'absolute', 
							'left' : 0,
							'background' : '',
							'top' : "0"
						});						
					} else {
						$$.css({
							'position' : 'absolute', 
							'left' : 0,
							'background' : ''
						});
					}

			// similar effect as single image technique, except using .animate 
			// which will handle the fading up from the right opacity for us
			if(!active) {
				$$.hover(function () {
					$$.stop().animate({
						opacity: 0
					}, 250);
				}, function () {
					$$.stop().animate({
						opacity: 1
					}, 250);
				});			
			}
		});
	};
	
})(jQuery);

// note that this uses the .bind('load') on the window object, rather than $(document).ready() 
// because .ready() fires before the images have loaded, but we need to fire *after* because
// our code relies on the dimensions of the images already in place.
jQuery(window).bind('load', function () {
	jQuery('img.fade').cross();
});
