function $(x){return document.getElementById(x);}

function $$(x){return document.getElementsByTagName(x);}

function obj$$(obj,tag){return obj.getElementsByTagName(tag);}
	
function getEvent(e){
  if (window.event && window.event.srcElement)return(window.event.srcElement);
  else if(e && e.target)return(e.target);
  else return;
};

function canEvent(e){
    if (window.event) {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    }
    if (e && e.stopPropagation && e.preventDefault) {
      e.stopPropagation();
      e.preventDefault();
    }
};

function find_a_node(x){
	if(x.parentNode.tagName.toLowerCase()=='a')return x.parentNode;
	else return find_a_node(x);
};

function addListeners() 
{
	if (!document.getElementById)return;
	
	addEvent( $('search_form') , 'submit', bSubmit, false);
	addEvent( $('adsl') , 'click', ChVideoLinkBw, false);
	addEvent( $('dial_up') , 'click', ChVideoLinkBw, false);

	var all_links = document.getElementsByTagName('a');
	for (var i = 0; i < all_links.length; i++) {
		addEvent(all_links[i], 'click', handleLink, false);
	}
};

function handleLink(e) 
{
	var el=getEvent(e);
	if(el.tagName.toLowerCase()!='a')el=find_a_node(el);
	
	
	switch(true)
	{
		case(  ((el.rel.match(/^[0-9A-z]{32}$/i))?true:false)  ):
			if(el.className=='pimg')
			{
				update_view_view(el);
			}		
		
			//alert(el.tagName+'--rel:'+el.rel);
			//playVideo(el.rel);
			return;
		break;
		case( 'video'===el.id ):
		case( 'catalog'===el.id ):
			btnPos(el.id);
		break;
		case el.rel=='sidebar':
			try
			{
				window.external.AddFavorite(el.href,el.title)
			}
			catch(e)
			{
				try
				{
					window.sidebar.addPanel(el.title,el.href, "")
				}
				catch(e)
				{
					if( window.opera )return;
					else alert('Please Try [CTRL+D]');
				}
			}
		break;
		default:
			return;
		break;
	
	}
	canEvent(e);
};


function ChVideoLinkBw(e)
{
	var el=getEvent(e);
	var bw =( el.id == 'dial_up' )?'l':'h';
	var all_links = document.getElementsByTagName('a');
	for (var i = 0; i < all_links.length; i++)
	{
		if((all_links[i].rel.match(/^[0-9A-z]{32}$/i))?true:false)
		{
			if(bw == 'l')
			{
				all_links[i].href = all_links[i].href.replace(/bw=h/ig, "bw=l");
			}
			else
			{
				all_links[i].href = all_links[i].href.replace(/bw=l/ig, "bw=h");
			}
		}
	}	
}


function update_view_view(el)
{
	/*	
	xmlHttp=ajaxFunction();
	if(typeof(xmlHttp)!="object")return;

	var url='/update_video_view.htm';
	var queryString='newname='+el.rel;

	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{	
			var rootel=el.parentNode;
			var divs=obj$$(rootel,'div');
			for(var i=0;i<divs.length;i++)
			{
				if( 'view'==divs[i].className )
				{
					var view = divs[i];
					break;
				}
			}
			view=obj$$(view,'span')[0];
			view.innerHTML=xmlHttp.responseText;
		}
	}

	xmlHttp.open("POST",  url ,true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttp.send(queryString);
	*/
}




function bSubmit(e)
{
	var el=getEvent(e);
	if( ''===$('sword').value )
	{
		canEvent(e);
	}
	else
	{
		yCookie.set( "sword_input" , $('sword').value , { path: "/", domain:"machine-catalog.com" } );
	}
}



function init_cookie()
{
	//alert(document.referrer);

	if( 'video' === yCookie.get("btnPos")  ||  'catalog' === yCookie.get("btnPos"))
	{
		btnPos(yCookie.get("btnPos"));
	}
	if( null !== yCookie.get("sword_input") )
	{
		
		switch(true)
		{
			case  (document.referrer.match(/machinetools/i)!=null):
			case  (document.referrer.match(/plas-video/i  )!=null):
			break;
			default:
				$('sword').value=yCookie.get("sword_input");
			break;
		}
	}
}


function btnPos(id)
{
	yCookie.set("btnPos",id,{ path: "/", domain:"machine-catalog.com" });
	$('video').className='';
	$('catalog').className='';
	$(id).className='sf_clicked';
	$('search_type').value = id;
}

var currentMvcUrl = '';
var mvcState      = false;

function playVideo(id)
{
	currentMvcUrl = 'http://'+m+'mvc.machine-video.com/'+id+'/sj_mvc/';
	$('playVideo').style.visibility = 'visible';
	var myIframe = document.createElement('iframe');
	myIframe.id='myIframe';
	myIframe.allowTransparency='true';
	myIframe.frameborder='no';
	myIframe.src='/templates/machine-catalog/video-search/switchMvc.htm';
	$('playVideo').appendChild(myIframe);
	$('playVideo').style.top = 	(document.documentElement.scrollTop)+'px';


}
function switchMvc()
{

	if( '' === currentMvcUrl  ||  'undefined' === typeof( $('myIframe') )  )
	{
		closeMvc();
		return;
	}
	if( false === mvcState  )
	{
		mvcState=true;
		$('myIframe').src = currentMvcUrl+'?close_iframe='+closeMvcB64Url;
	}
	else 
	{
		closeMvc();
	}
}




function closeMvc()
{
	if(  'undefined' === typeof( $('myIframe') )  ) return;
	mvcState=false;
	$('playVideo').removeChild( $('myIframe') );
	$('playVideo').style.visibility = 'hidden';
}





function addEvent(elm, evType, fn, useCapture) {
  // cross-browser event handling for IE5+, NS6 and Mozilla 
  // By Scott Andrew 
  if (elm.addEventListener) { 
    elm.addEventListener(evType, fn, useCapture); 
    return true; 
  } else if (elm.attachEvent) { 
    var r = elm.attachEvent('on' + evType, fn); 
    return r; 
  } else {
    elm['on' + evType] = fn;
  }
};


function ajaxFunction()
{
	var xmlHttp;
	var x = new Array();
	x[0]="new ActiveXObject('Msxml2.XMLHTTP');";
	x[1]='new XMLHttpRequest();';
	x[2]="new ActiveXObject('Microsoft.XMLHTTP');";
	var i=0;
	while(i<x.length)
	{
		try{xmlHttp=eval(x[i]);break;
		}catch(e){}
		i++;
	}
	return xmlHttp;
}

var yCookie=YAHOO.util.Cookie;
addEvent(window, 'load', addListeners, false);
addEvent(window, 'load', init_cookie, false);