﻿
function cp_clientRegisterInfo(info,err)
{
	obj=getRef("CP_Information");
	if (obj==null)
		return;
	
	if (err)
		getSty(obj.id).color="red";
	else getSty(obj.id).color="green";
	
	obj.innerHTML=info;	
}

function cp_ServerRegisterInfo(info,err)
{
	obj=window.parent.document.getRef("CP_Information");
	//alert(obj);
	if (obj==null)
		return;
	
	if (err)
		window.parent.document.getSty(obj.id).color="red";
	else window.parent.document.getSty(obj.id).color="green";
	
	obj.innerHTML=info;
}

// returns an array containing bar objects; with:
// text, role(if set else null), validation(if set else null)
function cp_evalBars()
{
	var args=getRef("CP_info_bars").innerHTML.split("♀");
	var reAr=new Array();
	var inArgs=null;var valArgs=null;
	var obj;
	for (var i=0;i<args.length;i++)
	{
		obj=new Object();
		//alert("♪");
		inArgs=args[i].split("♪");
		//alert(args[i]+"   "+inArgs);
		obj.title=inArgs[0]; // title object
		obj.Role=parseInt(inArgs[1]);
		valArgs=inArgs[2].split("♫");
		if (valArgs.length==4)
		{
			obj.Validate.invalidText=valArgs[0];
			obj.Validate.validText=valArgs[1];
			obj.Validate.Value=valArgs[2];
			obj.Validate.Type=parseInt(valArgs[3]);
		}
		else obj.Validate=null;
		obj.MHV=inArgs[3]; // must have value;
		obj.id=inArgs[4];
		reAr[i]=obj;
	}
	return reAr
}

function cp_Validate(obj)
{
	//alert(getRef(obj.id)+"  "+obj.MHV+"  ");
	if ((getRef(obj.id)==null)||(getRef(obj.id).value==null))
	{
		cp_clientRegisterInfo("Object must have a value",true);
		return false; //must have value, and object exsistes; 
	}
	if ((getRef(obj.id).value=="")&&(obj.MHV=="true"))
	{
		cp_clientRegisterInfo(obj.title+" - must have a value",true);
		return false;
	}
	if (obj.Validate==null)
		return true; // no validation;
	return true;
}

function getArgById(id,args)
{
	for (var i=0;i<args.length;i++)
	{
		if (args[i].id==id)
			return args[i];
	}
}

function cp_ValidateByID(id)
{
	var args=cp_evalBars();
	cp_Validate(getArgById(id,args));
}

/// adding script for sending and reciving mail; 
function cp_send()
{
	var frame=getRef("Mailer");
	var frmDoc=frame.contentWindow.document;
	var bars=cp_evalBars();
	
	var From="";var Subject="";var Cc="";var Body="";
	
	//alert(getRef("mn").innerHTML);
	// loading basic information; 
	Subject=getRef("CP_Subject").value;
	Body=getRef("CP_MainText").value;
	//alert(Subject +"     "+Body);
	
	// getting the bars and editing them
	var objText="";
	//alert(bars.length);
	for (var i=0;i<bars.length;i++)
	{
		obj=bars[i];
		// if obj not valid;
		if (!cp_Validate(obj))
			return;
		//alert(obj.id+"   "+getRef(obj.id).value);
		objText=getRef(obj.id).value;
		//alert(obj.Role+"  "+objText);
		switch (obj.Role)
		{
			case 0:
			{	// From elemnt; Should be an email -but dose not have to.. 
				From=From+";"+objText;
			}
			break;
			case 1:
			{	// Cc another copy to; must be an email; 
				Cc=Cc+";"+objText;
			}
			break;
			case 2:
			{	// subject
				Subject=Subject+":"+obj.title+"-"+objText;
			}
			break;
			case 3:
			{
				Body=Body+"\r\n"+obj.title+": "+objText;
			}
			break;
		}
		//alert(From+"     "+Subject);
	}
	
	// getting the send objects and inserting the info;
	//alert(From);
	frmDoc.getRef("From").value=From;
	frmDoc.getRef("Subject").value=Subject;
	frmDoc.getRef("Body").value=Body;
	frmDoc.getRef("Cc").value=Cc;
	
	// sending... 
	// writing send order.. 
	getRef("CP_Information").innerHTML="Sending mail message... ";
	frmDoc.getRef("Send").click();
}