// JavaScript Document
var img=new Image();
img.src="/images/wait.gif";
img.align="right";
img.border=0;
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
@end @*/

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}

function SendThisPage(){return;}

function queryServer(url) {
	var d=new Date();
	url = url + "?now="+d.getTime();
	xmlHttp.open("GET", url, true);
	xmlHttp.onreadystatechange = delay;
	xmlHttp.send(null);
}

function delay()
{
	var a;
	setTimeout("updateLayer()",1000);
	return;
}

function updateLayer(){
    // only if req shows "loaded"
    if (xmlHttp.readyState == 4) {
        // only if "OK"
        if (xmlHttp.status == 200) {
            // ...processing statements go here...
			document.getElementById("Layer1").innerHTML=xmlHttp.responseText;
			if(document.getElementById("Layer1").innerHTML.indexOf("Mail Sent")>=0){ showHideEmail(this);}
        } else {
            alert("There was a problem retrieving data from server:\n" + xmlHttp.statusText);
        }
    }
}

function showHideEmail(obj){
if(document.getElementById("Layer2")!=null){
	if(document.getElementById("Layer2").style.display=="block")
		StartShow("hide");
}
else{
createLayer(obj.parentNode);
StartShow("show");
}
}

function StartShow(flag) {
	switch (flag){
		case "show":
			document.getElementById("Layer2").style.height=0;
			document.getElementById("Layer2").style.display="block";
			action = window.setInterval("SlideDn()",1);
			break;
		case "hide":
			document.getElementById("Layer2").style.height=document.getElementById("Layer2").offsetHeight;
			action = window.setInterval("SlideUp()",1);
	}
}

function SlideDn() {
	document.getElementById("Layer2").style.height=document.getElementById("Layer2").offsetHeight+20;
	displayEmail();
    if (document.getElementById("Layer2").offsetHeight>=330) {
        window.clearInterval(action);
//		alert("Rolled down");
    }
}
function SlideUp() {
	document.getElementById("Layer2").style.height=document.getElementById("Layer2").offsetHeight-20;
    if (document.getElementById("Layer2").offsetHeight<=10) {
        window.clearInterval(action);
		document.getElementById("Layer2").style.height=1;
		document.getElementById("Layer2").style.display="none";
		var node=document.getElementById("Layer1");
		node.parentNode.removeChild(node);
		node=document.getElementById("Layer2");
		node.parentNode.removeChild(node);
		return;
//		alert("Rolled up");
    }
	else
		displayEmail();
}

function displayEmail(){
//document.getElementById("Layer1").style.height="50px";
var top=document.getElementById("Layer2").offsetTop+10;
var left=document.getElementById("Layer2").offsetLeft+10;
var width=document.getElementById("Layer2").offsetWidth-20;
var height=document.getElementById("Layer2").offsetHeight-20;
if(height>1 && document.getElementById("Layer1").style.display!="block"){
	document.getElementById("Layer1").style.display="block";
	document.getElementById("Layer1").style.zIndex=1;
}
else if(height<=1 && document.getElementById("Layer1").style.display=="block"){
	document.getElementById("Layer1").style.zIndex=-1;
	document.getElementById("Layer1").style.display="none";
	return;
}
document.getElementById("Layer1").style.top=top;
document.getElementById("Layer1").style.left=left;
document.getElementById("Layer1").style.width=width;
if(height>0) document.getElementById("Layer1").style.height=height;
	document.getElementById("Layer2").scrollIntoView(false);
}

function createLayer(obj){
	//Create the container layer. The position of this layer is relative
	//so that it automatically fits below the "Send Mail" and "Print" images.
	//Since setting the display style to block displays all contents in browser so
	//we hv to incorporate another underlying layer which it reveals gradually.
	var Layer2=document.createElement("div");
	Layer2.id="Layer2";
	Layer2.style.position="relative";
	Layer2.style.display="none";
	Layer2.style.backgroundColor="#eee";
	Layer2.style.overflow="hidden";
	Layer2.style.zIndex=0;
	Layer2.style.border="1px solid #ccc";
	
	//Create the Table layer. This layer contains the table with button etc.
	//It is positioned absolutely with reference to the container layer.
	var Layer1=document.createElement("div");
	Layer1.id="Layer1";
	Layer1.style.position="absolute";
	Layer1.style.display="none";
	Layer1.style.overflow="hidden";
	Layer1.style.zIndex=1;
	Layer1.className="caption";
	
//	var txt=document.createTextNode("Please wait...");
	Layer1.appendChild(img);
	
	obj.appendChild(Layer2);
	obj.appendChild(Layer1);
	queryServer("/others/mail1.jsp");
}

function sendMail(url,data){
	xmlHttp.open("POST", url, true);
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlHttp.onreadystatechange = updateLayer;
	
	xmlHttp.send(data);
}

function packData(){
	if(fnValidate()){
	var i=0;
	var bdy="";
	for(i=0;i<document.getElementsByTagName("p").length;i++)
		{
		if(document.getElementsByTagName("p")[i].className=="story")
			{
			bdy=escape(document.getElementsByTagName("p")[i].innerHTML);
			break;
			}
		}
		
	
	var url="/others/mail.jsp";
	var data ="txtTo="+document.getElementById("txtTo").value+
				"&txtName="+document.getElementById("txtName").value+
				"&txtFrom="+document.getElementById("txtFrom").value+
				"&txtMsg="+document.getElementById("txtMsg").value+
				"&txtBody="+bdy+
				"&URL="+window.location.href+
				"&txtHead="+escape(document.getElementById("hd").innerHTML);
	document.getElementById("send").disabled=true;
	document.getElementById("cancel").disabled=true;
	
	sendMail(url,data);
	}
}

function blockError(){return true;}
//window.onerror=blockError();

function trimAll(Obj)
	{
	 for (i=0;i<Obj.elements.length;i++)
	    if (Obj.elements[i].type == "text" || Obj.elements[i].type == "textarea" )      
	            trim(Obj.elements[i])
	 return true;  
	}
	
function trim(Obj)
{
	if (Obj.value.charAt(0)==" " )
	  {
	    Obj.value = Obj.value.substring(1,Obj.value.length)
	    trim(Obj)
	  } 
	 else if (Obj.value.charAt(Obj.value.length-1)==" " )
	  {
	    Obj.value = Obj.value.substring(0,Obj.value.length-1)
	    trim(Obj)
	  }  	    
	 return true 
}

function msgAlert(Obj,msg)  { alert(msg);return false;} //Obj.select(); Obj.focus();
 function isEmail(Obj,msg) 
	{    

	        //chrReplace(Obj," ","")
			var str = Obj.value;
			var pass = 0;
			if(!fnCombination("-,_,.,@",str))	
				{ msgAlert(Obj,msg);return false;}			
			if (window.RegExp) {var tempStr = "a";var tempReg = new RegExp(tempStr);if (tempReg.test(tempStr)) pass = 1;}
			if (!pass) {return (str.indexOf(".") > 2) && (str.indexOf("@") > 3);}
			var RE1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
			var RE2 = new RegExp("^[a-zA-Z0-9\\.\\_\\-]*[a-zA-Z0-9]\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
			//msg =  "* " + msg + "\n\nPlease enter a valid email address it should be in format \n                 yourname@domainname"
			if(! (!RE1.test(str) && RE2.test(str)))	{msgAlert(Obj,msg);	return false; } // Obj.select();Obj.focus();
			return true 
	}
	
function fnCombination(strCombi,strVal)
	{
	var arr = strCombi.split(",")
	for(i=0;i<arr.length;i++)
	 for(j=0;j<arr.length;j++) 
	  if(strVal.indexOf(arr[i]+arr[j])>-1 || strVal.indexOf(arr[j]) == 0 )
			return false 
	return true		
	}

function fnValidate()
{
var strTomail
strTomail = document.getElementById("txtTo").value
trimAll(document.frmemail)
if(document.getElementById("txtTo").value == "")
{
	alert("Please enter to email address!!")
	document.getElementById("txtTo").focus()
	return false
}
if(strTomail != "")
{
var arrMail,len
arrMail = strTomail.split(",")
len = arrMail.length

	for(i=0;i<len;i++)
	{
	  	document.getElementById("testmail").value = arrMail[i]

		if(!isEmail(document.getElementById("testmail"),"Please enter valid email!!"))
		{
			document.getElementById("txtTo").select()
			document.getElementById("txtTo").focus()
			return false
		}
	
	}
}
if(document.getElementById("txtFrom").value == "")
{
	alert("Please enter your email address!!")
	document.getElementById("txtFrom").focus()
	return false
}
if(!isEmail(document.getElementById("txtFrom"),"Please enter valid email!!"))
{
	document.getElementById("txtFrom").select()
	document.getElementById("txtFrom").focus()
	return false
}
return true;
}
