var path = "";

function AttachEvent(obj,evt,fnc,useCapture){
	if (!useCapture) useCapture=false;
	if (obj.addEventListener){
		obj.addEventListener(evt,fnc,useCapture);
		return true;
	} else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
	else{
		MyAttachEvent(obj,evt,fnc);
		obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
	}
} 

//The following are for browsers like NS4 or IE5Mac which don't support either
//attachEvent or addEventListener
function MyAttachEvent(obj,evt,fnc){
	if (!obj.myEvents) obj.myEvents={};
	if (!obj.myEvents[evt]) obj.myEvents[evt]=[];
	var evts = obj.myEvents[evt];
	evts[evts.length]=fnc;
}
function MyFireEvent(obj,evt){
	if (!obj || !obj.myEvents || !obj.myEvents[evt]) return;
	var evts = obj.myEvents[evt];
	for (var i=0,len=evts.length;i<len;i++) evts[i]();
}

function relTags() 
{
	if (document.getElementsByTagName) 
	{
		var anchors = document.getElementsByTagName( "a" );
		for (var loop = 0; loop < anchors.length; loop++) 
		{
			var anchor = anchors[loop];
			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") 
			{
				anchor.target = "_blank";
			}
			if (anchor.id.indexOf("star")!=-1)
			{
				AttachEvent(anchor,'click',update_rating,false);
			}
		}
	}
}	


/*-------------------------------------------------------------------------------------------
EVENTS.JS------------------------------------------------------------------------------------*/

function onLoad(e)
{
  var form_newsletter = document.getElementById('form-email-submit');
  if (form_newsletter)
  {
  	AttachEvent(form_newsletter,'submit',check_one_mail,false);
  }
  
  relTags();
  var adLink = document.getElementById( "adLink" );
  if (adLink)
  {
	  AttachEvent(adLink,'click',onClickAd,false);	  
  } 
}

function onClickAd(e)
{
	var href = (e.target)?e.target:e.srcElement;
	
if (window.XMLHttpRequest){

          // If IE7, Mozilla, Safari, etc: Use native object
          var req = new XMLHttpRequest();

}
else 
{
if (window.ActiveXObject){

          // ...otherwise, use the ActiveX control for IE5.x and IE6
          var req = new ActiveXObject("Microsoft.XMLHTTP"); 
          }

}

	//var req = new XMLHttpRequest(); 
	if (req) { 
		
		req.open('POST', path + "add_email.php",false);
		req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		req.send("href=" + href.getAttribute("href"));
		
		if (req.readyState == 4 && req.status == 200)
		{
			
		}
	}
}

AttachEvent(window,'load',onLoad,false);


function check_one_mail(e)
{
	var email = document.getElementById('input-email');
	var einfo = document.getElementById('einfo');
	
	var re3 = /^\s*([a-zA-Z0-9\._\-]{1,100})@([a-zA-Z0-9\.\-_]){1,100}\.([a-zA-Z]{2,4})\s*$/gi;

	if (email.value.length==0 || !email.value.match(re3)) 
	{
		blockEvent(e);
		alert("Please enter a valid email address");
		return false;
	}
	else
	{
		//send data to server
		blockEvent(e);
		var newsBlock = document.getElementById('result');
		
	if (window.XMLHttpRequest){
	
	          // If IE7, Mozilla, Safari, etc: Use native object
	          var req = new XMLHttpRequest();
	
	}
	else 
	{
	if (window.ActiveXObject){
	
	          // ...otherwise, use the ActiveX control for IE5.x and IE6
	          var req = new ActiveXObject("Microsoft.XMLHTTP"); 
	          }
	
	}
		
		
		//var req = new XMLHttpRequest(); 
		if (req) { 

			req.open('POST', path + "add_email.php",false);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			req.send("email=" + email.value + "&submit=Send&einfo=" + einfo.value);
			
			if (req.responseText != '')
			{
				newsBlock.innerHTML = "<p style=\"margin-top:0\">" + req.responseText+ "</p>";
			}
			if (req.readyState == 4 && req.status == 200)
			{
				//email.value = "";
				//name.value = "";
				//comments.value = "";
			}
		}
		
	}
	
	return true;
}	


function blockEvent(e)
{
	var newE = getEvent(e);
	if (newE != null)
	{
		newE.returnValue = false;
		newE.cancelBubble = true;
		if (window.event == null)
		{
			newE.preventDefault();
			newE.stopPropagation();
		}
	}
}


// function getEvent - returns event based on browser

function getEvent(e)
{
	var newE;
	if (e != null) //Netscape 4 or W3C DOM event model
		if (e.eventPhase != null) 
		{	
			//W3C DOM event model
		    emod = "W3C";
			newE = e;
		}
		else 
		{
			//NN4+ event model
		    emod = "NN4";
			newE = e;
		}
	else if (window.event != null) 
	{
		//MSIE 4+ event model
	    emod = "IE4+";
		newE = window.event;
	}
	else 
	{
		emod = "unknown"; // no event object found
		newE = null;
	}

    //alert("Page loaded! Your event model is: "+emod);
	return newE;
}
