var isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
var isMSIE=document.all && document.all.item //Microsoft Internet Explorer 4+
var isNetscape4=document.layers //Netscape 4.*
var isOpera=window.opera //Opera
var isOpera5=isOpera && isDOM //Opera 5+
var isMSIE5=isDOM && isMSIE && !isOpera //MSIE 5+
var isNetscape6;
var isMozilla=isNetscape6=isDOM && !isMSIE && !isOpera

var obj;

function getLayer(layerName, parentLayerName){
  if(isDOM){ return document.getElementById(layerName); }
  if(isMSIE){ return document.all[layerName]; }
  if(isNetscape4){ return eval('document.layers[layerName]'); }
  return false;
}

function ts(e,what){
  mousex = e.clientX;
  mousey = e.clientY;
  pagexoff = 0;
  pageyoff = 0;
  if(isMSIE5){
    pagexoff = document.body.scrollLeft;
    pageyoff = document.body.scrollTop;
  }
  else{
    pagexoff = window.pageXOffset;
     pageyoff = window.pageYOffset;
  }
  if(getLayer(what)){
    if(isNetscape4)
      obj = getLayer(what);
    else
      obj = getLayer(what).style;
 	
  	if(obj){
	    leftoff = mousex-pagexoff;
    	obj.left = (mousex+pagexoff);
  
	    topoff = mousey-pageyoff;
    	if(isOpera && topoff <= 30)
    	  obj.top = mousey + 20;
	    else 
		if( mousey <= 30) 
	        obj.top = (mousey+pageyoff) + 20;
		else 
	      if (isOpera) 
    	    obj.top = mousey + 20;
	    else
    	  obj.top = (mousey+pageyoff) + 20;
   		
		
	    if(isNetscape4)
    	  obj.visibility = 'show';
	    else
    	  obj.visibility = 'visible';
	  }
   }
  return true;
}

function tc(){
  if(obj){
    if(isNetscape4)
      obj.visibility = 'hide';
    else
      obj.visibility='hidden';
  }
  return true
}

function p(x, y, z) {
	for (a = 0; a < arguments.length; a++) {
		arguments[a] = arguments[a].split('');
		arguments[a] = arguments[a].reverse();
		arguments[a] = arguments[a].join('');
	}
	document.location.href = "mailto:" + x + "@" + y + "." + z;
}
function p_u(x, y, z) {
	c = arguments;
	for (b = 0; b < c.length; b++) {
        if (b == 3) continue;
		c[b] = c[b].split(',');
		c[b] = c[b].reverse();
		for (a = 0; a < c[b].length; a++)
			c[b][a] = String.fromCharCode(c[b][a] - 10);
		c[b] = c[b].join('');
	}
	document.location.href = "mailto:" + c[0] + "@" + c[1] + "." + c[2] + "?subject=" + c[3] + "";
	
}

var win = null;
function nwin(mypage,myname,w,h,scroll){
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable';
	win = window.open(mypage,myname,settings);
}
		
		function checkForm(t) {

			var name = document.getElementById('name');
			var email = document.getElementById('email');
			var body = document.getElementById('body');
			var msg = document.getElementById('msg');
			var err = 0;
			
			if(name.value == '') {
				name.style.backgroundColor = '#EEE';
				err ++;
			} else {
				name.style.backgroundColor = '';
			}

			if(email.value == '' || email.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) {
				email.style.backgroundColor = '#EEE';
				err ++;
			} else {
				email.style.backgroundColor = '';
			}


			if(body.value == '') {
				body.style.backgroundColor = '#EEE';
				err ++;
			} else {
				body.style.backgroundColor = '';
			}

			if(err > 0) {
				msg.style.display = '';
				return false;
			} else {
				msg.style.display = 'none';
				if(document.all) {
					
				} else {
					document.getElementById('btn').disabled = true;
				}
				return true;
			}	
		}		

		
function PhotoFader(nm, mainDiv, imgArr, speed, delay){
	nm = nm + Math.floor( Math.random() * 100 + 1 ).toString();
	this.name	= nm;
	this.imgArr = imgArr;
	this.curImg = 0;
	this.curDiv = 1;
	this.speed = speed;
	this.delay = delay;
	
	var mainDv = document.getElementById(mainDiv);
	
	if( !document.PFArray ) document.PFArray = new Array();
	document.PFArray[nm] = this;
			
	document.write("<style type='text/css'>\n");
	document.write("#" + nm + "_photo1 img { visibility:hidden; }\n");
	document.write("#" + nm + "_photo1 { position:absolute; z-index: 1; }\n");
	document.write("#" + nm + "_photo2 { position:absolute; z-index: 0; }\n");
	document.write("</style>");
	
	this.initImages = function() {
		document.write("<scr");
		document.write("ipt type='text/javascript'>\n");
		for(var i=0; i<this.imgArr.length; i++){
			document.write("var " + nm + "_img"+i+" = new Image();\n");
			document.write(nm + "_img"+i+".src = '"+ this.imgArr[i] +"';\n");
		}
		document.write("document.PFArray['" + nm + "'].start();\n");
		document.write("</scr");
		document.write("ipt>\n");
		
	}
	
	this.start = function(){
		var hldr1 = nm + "_photo1";
		var hldr2 = nm + "_photo2";
		
		var dv1 = document.createElement("div");
				dv1.id = nm + "_photo1";
				dv1.innerHTML = "<img style=\"border:1px solid #333;\" src='"+ imgArr[0] +"' />";
		var dv2 = document.createElement("div");
				dv2.id = nm + "_photo2";
		
		mainDv.appendChild(dv1);
		mainDv.appendChild(dv2);
		
		var image1 = document.getElementById(hldr1).childNodes[0];
		
		PhotoFaderSetOpacity(image1, 0);

		image1.style.visibility = 'visible';
		
		
		document.PFArray[nm].startTime = new Date();
		PhotoFaderFadeIn(hldr1,nm);
		}
	
	this.initImages();
}
	
function PhotoFaderSetOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}

function PhotoFaderFadeIn(objId,nm) {
	if (document.getElementById) {
    	var obj = document.getElementById(objId).childNodes[0];
		
		var startTime = document.PFArray[nm].startTime;
		var currTime = new Date();
		var diffTime = currTime.getTime() - startTime.getTime();
		var speed = document.PFArray[nm].speed;
		
		var opacity = Math.ceil((diffTime/speed) * 100);
		if( opacity > 100 ) opacity = 100;
		
    	if (opacity < 100) {
		
			PhotoFaderSetOpacity(obj, opacity);
			window.setTimeout("PhotoFaderFadeIn('"+objId+"','"+nm+"')", 10);
		}
		else {
			PhotoFaderSetOpacity(obj, opacity);
			setTimeout("PhotoFaderSwapImages('"+nm+"')",document.PFArray[nm].delay);
		}
	}
}

function PhotoFaderSwapImages(nm){
	// find out which
	
	var pfObj = document.PFArray[nm]
	
	if(pfObj.curImg == pfObj.imgArr.length-1)
		pfObj.curImg = 0;
	else 
		++pfObj.curImg;

	// now get the div to hld the new image
	var dvName = (pfObj.curDiv == 1)? nm + "_photo2" : nm + "_photo1";
	var eDivName = (pfObj.curDiv == 1)? nm + "_photo1" : nm + "_photo2";
	pfObj.curDiv = (pfObj.curDiv == 1)?2:1;
	
	var tgtDiv = document.getElementById(dvName);
	var eDiv = document.getElementById(eDivName);
	
	// now fill the target div
	tgtDiv.innerHTML = "<img style=\"border:1px solid #333;\" src='"+ pfObj.imgArr[pfObj.curImg] +"' style='visibility:hidden;' />";
	
	//move the divs around in z-index
	eDiv.style.zIndex = 0;
	tgtDiv.style.zIndex = 1;
	
	// And finally fade in the image
	
  var img = tgtDiv.childNodes[0];
	
  PhotoFaderSetOpacity(img, 0);
  img.style.visibility = 'visible';
  
  document.PFArray[nm].startTime = new Date();
  PhotoFaderFadeIn(tgtDiv.id,nm);
}

function ge(id) {

	return document.getElementById(id);

}