/*  jQuery friendly functions */

// relies on sarissa.js
function vulXML2HTML(cXMLFile, cXSLFile){
	var ret;
	var xReq = new XMLHttpRequest();
	xReq.open("GET", cXSLFile, false);	
	xReq.send(null);
	  
	var xmlParser = new DOMParser();
	var xslDoc = xmlParser.parseFromString(xReq.responseText, "text/xml");

	xReq.open("GET", cXMLFile, false);
	xReq.send(null);
       
	var xmlDoc = xmlParser.parseFromString(xReq.responseText, "text/xml");

	var processor = new XSLTProcessor();
	processor.importStylesheet(xslDoc);
	var resultDocument = processor.transformToDocument(xmlDoc);	
	
	var oXmler = new XMLSerializer();
	
	var mytext = oXmler.serializeToString(resultDocument);
	
	return mytext;
	//document.write(mytext);
}

// relies on jQuery
function setEmailVars(cuser, cname, credir){
		$("#contactto").removeClass("normal");
		$("#contactto").addClass("fadein");
		nTime = 250;
		$("#contactto").fadeOut(nTime, function(){
			$("#contactto").removeClass("fadein");
			$("#contactto").addClass("normal");			
			$("#contactto").html(cname).fadeIn(nTime);
		});
		$("#AVWUSER").val(cuser);
		$("#LVWREDIR").val(credir);	
		$("#LVWEMPNAME").val(cname);
		
		$("#LVWNAME").focus();
}

function maxlength(element, maxvalue){
     var q = eval("document.MYFORM."+element+".value.length");
     var o = eval("document.MYFORM."+element);
     var r = q - maxvalue;
     var msg = "Sorry, you have input "+q+" characters into the "+
       "text area box you just completed. It can return no more than "+
       maxvalue+" characters to be processed. Please abbreviate "+
       "your text by at least "+r+" characters";
     if (q > maxvalue) {
	     alert(msg);
	     return 0;
     }
     return 1;
}

function validatecomms_v3(){		
	lError = false;	
		
	cKey = $("#AVWUSER").val();
	cKey = jQuery.trim(cKey);
	
	if (cKey.length < 1){
		cDialog = "<div id=\"question\" style=\"text-align:right;display:none; cursor: default;padding:20px 40px 15px 40px;\"><h1 style=\"text-align:left;color:#555\">Please select a recipient from the Email Directory.</h1><input type=\"button\" id=\"ok\" value=\"ok\" /></div>";
		$("body").append(cDialog);
		$("body").click(function(e){		
			if ($(e.target).is("#question #ok")){						
				$.unblockUI({ 
	   	            onUnblock: function(){ 
						$("#question").remove();	
					} 
	            });														
			}						  
		});
		$.blockUI({ message: $('#question'), css: { width: 'auto' } });
		return false;
	}
			
	$("[req='yes']").each(function(i){
		cVal = $(this).val();
		if (cVal.length == 0){
			cStr = $(this).attr("errtxt");
			cControl = this.id;
			if (cStr == undefined){
				cStr = "Please fill out all the required fields.";
			}
			cDialog = "<div id=\"question\" style=\"text-align:right;display:none; cursor: default;padding:20px 40px 15px 40px;\"><h1 style=\"text-align:left;color:#555\">"+cStr+"</h1><input type=\"button\" id=\"ok\" value=\"ok\" /><input type=\"hidden\" id=\"control\" value=\""+cControl+"\" /></div>";
			$("body").append(cDialog);
			$("body").click(function(e){		
				if ($(e.target).is("#question #ok")){						
					$.unblockUI({ 
	    	            onUnblock: function(){ 
							cControl = $("#control").val();
							$("#question").remove();
							$("#"+cControl).focus();			
						} 
		            });														
				}						  
			});	
			
			$.blockUI({ message: $('#question'), css: { width: 'auto' } });
			lError = true;			
			return false;
		}		
	});
	
	if (lError) return false;

	cStr = "";
	var aItems = new Array();

	$("[req][req!='yes']").each(function(i){
		cGroup = $(this).attr("req");
		cName =  $(this).attr("name");
		cErrTxt =  $(this).attr("errtxt");		
		
		if (aItems[cGroup] == undefined){
			aItems[cGroup] = new Array();
			aItems[cGroup]["errtxt"] = "";
			aItems[cGroup]["chkcnt"] = 0;
		}
		aItems[cGroup]["errtxt"] = cErrTxt;
		if ($(this).is(":checked")){
			aItems[cGroup]["chkcnt"] = aItems[cGroup]["chkcnt"] + 1;
		}
	});
	
	cErrMsg = "";
	
	for (x in aItems){
		if (aItems[x]["chkcnt"] == 0){
			cStr = aItems[x]["errtxt"];
			if (cStr == ""){
				cStr = "Please fill out all the required fields.";
			}
			lError = true;
		}
    }
					
	if (cStr != ""){
		cDialog = "<div id=\"question\" style=\"text-align:right;display:none; cursor: default;padding:20px 40px 15px 40px;\"><h1 style=\"text-align:left;color:#555\">"+cStr+"</h1><input type=\"button\" id=\"ok\" value=\"ok\" /></div>";
			$("body").append(cDialog);
			$("body").click(function(e){		
				if ($(e.target).is("#question #ok")){						
					$.unblockUI({ 
	    	            onUnblock: function(){ 
							$("#question").remove();
						} 
		            });														
				}						  
			});	
			
			$.blockUI({ message: $('#question'), css: { width: 'auto' } });
			lError = true;			
			return false;
	}
	
	if (lError) return false;
	
	var cEmail = $('#LVWMAIL').val();
	var lEmailReq = ($('#LVWMAIL').attr("req") != undefined);
	var lEmailEmpty = (cEmail == "");
	
	if (((lEmailReq) || (!lEmailEmpty)) && !(echeck(cEmail))){
		cStr = 'Invalid email address.';
		cDialog = "<div id=\"question\" style=\"text-align:right;display:none; cursor: default;padding:20px 40px 15px 40px;\"><h1 style=\"text-align:left;color:#555\">"+cStr+"</h1><input type=\"button\" id=\"ok\" value=\"ok\" /></div>";
		$("body").append(cDialog);
		$("body").click(function(e){		
			if ($(e.target).is("#question #ok")){						
				$.unblockUI({ 
	   	            onUnblock: function(){ 
						$("#question").remove();
					} 
	            });														
			}						  
		});	
		
		$.blockUI({ message: $('#question'), css: { width: 'auto' } });
		lError = true;			
		
		$('#LVWMAIL').focus();
		return;
	}		
	
	if (!(maxlength("COMMS", 2000))){
		document.MYFORM.COMMS.focus();
		return;
	}

	// Split LVWCOMMS into LVWCOMMS1...8
		
	var q;
	var str = document.MYFORM.COMMS.value;
	var strtemp="";
	var nBeg=0; 
	var nEnd=0;
	for(i=0; i < 8; i++){		
		q = eval("document.MYFORM.LVWCOMMS"+(i+1));		
		nBeg = nEnd;
		nEnd = (i+1) * 250;
		strtemp = str.substring(nBeg, nEnd);
		q.value = strtemp;
		//alert(q.name + " "  + nBeg + " " + nEnd + " -- " + q.value);
	}	
	
	HandleSubmit('MYFORM');
}

function HandleSubmit(cIn){
	
	$("#MYFORM").submit();
}


function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   //alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   //alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	   // alert("Invalid E-mail ID")
	    return false
	}

	if (str.indexOf(at,(lat+1))!=-1){
		// alert("Invalid E-mail ID")
	    return false
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		// alert("Invalid E-mail ID")
	    return false
	}

	if (str.indexOf(dot,(lat+2))==-1){
		// alert("Invalid E-mail ID")
		return false
	}
		
	if (str.indexOf(" ")!=-1){
		// alert("Invalid E-mail ID")
		return false
	}

	return true					
}