function setCookie(name, value) {
	var expire = new Date();
	expire.setTime(expire.getTime() + 30*24*60*60*1000);

	document.cookie = name + "=" + escape(value) + "; expires=" + expire.toGMTString() + "; path=/";
}

function removeCookie(name) {
	var expire = new Date();
	expire.setTime(expire.getTime() - 30*24*60*60*1000);

	document.cookie = name + "=" + escape('remove') + "; expires=" + expire.toGMTString() + "; path=/";
}

function getCookie(name, value) {
	var search = name + "=";
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = document.cookie.indexOf(";", offset); // set index of end of cookie value
			if (end == -1)
				end = document.cookie.length;

			return unescape(document.cookie.substring(offset, end));
		}
	}

	return value;
}

function isIdentifier(s) {
	if (s.length < 3)
		return false;

	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (('_' == c) || ('-' == c) ||
			(('A' <= c) && (c <= 'Z')) ||
			(('a' <= c) && (c <= 'z')) ||
			(('0' <= c) && (c <= '9')))
			continue;
		else
			return false;
	}

	return true;
}

function isEmail(s) {
	if (s.length < 4 || s.length > 40)
		return false;

	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (('_' == c) || ('-' == c) ||
			('@' == c) || ('.' == c) ||
			(('A' <= c) && (c <= 'Z')) ||
			(('a' <= c) && (c <= 'z')) ||
			(('0' <= c) && (c <= '9')))
			continue;
		else
			return false;
	}

	if ((i = s.lastIndexOf('@')) == -1)
		return false;

	if (s.charAt(0) == '@' || s.charAt(s.length-1) == '@')
		return false;

	var strTail = s.substring(i+1, s.length);
	if (strTail.length < 3)
		return false;
	if ((i = strTail.lastIndexOf('.')) == -1)
		return false;

	var strTailEnd = strTail.substring(i+1, strTail.length);
	if (strTailEnd.length == 0)
		return false;

	return true;
}

function submitEmail(text, alerttext) {
	if (!isEmail(text.value)) {
		alert(alerttext);
		text.focus();
		return false;
	}

	return true;
}
/*
function submitStr(text,str, alerttext) {
	if (text.value.length == 0) {
		alert(alerttext);
		text.focus();
		return false;
	}else
	{
		for(int i=0;i<str.length;i++)
		{
			for(var subLoop=0;subLoop<text.value.length;subLoop++)
			{
				if(text.value.charAt(subLoop)==str.chcarAt(i))
				{
					alert(alerttext);
					text.focus();
					return false;
				}
			}
		}
	}

	return true;
}*/
function submitIdentifier(text, alerttext) {
	if(!isIdentifier(text.value)) {
		alert(alerttext);
		text.focus();
		return false;
	}

	return true;
}

function submitEqual(text1, text2, alerttext) {
	if(text1.value != text2.value) {
		alert(alerttext);
		text2.focus();
		return false;
	}

	return true;
}

function submitText(text, alerttext) {
	if (text.value.length == 0) {
		alert(alerttext);
		text.focus();
		return false;
	}

	return true;
}

function submitChoice(radio, alerttext) {
	for (var i=0; i< radio.length; i++) {
		if (radio[i].checked == "1")
			return true;
	}

	alert(alerttext);
	return false;
}

function submitFloat(text, alerttext) {
	if (isNaN(parseFloat(text.value))) {
		alert(alerttext);
		text.focus();
		return false;
	}

	return true;
}

function submitInteger(text, alerttext) {
	if (isNaN(parseInt(text.value))) {
		alert(alerttext);
		text.focus();
		return false;
	}

	return true;
}

function submitQuantity(nMin, nMax, nDelta, Quantity, alerttext) {
	var nQuantity = parseInt(Quantity.value);
	if (nQuantity == Math.NaN || nQuantity < nMin || nQuantity > nMax || ((nQuantity - nMin) % nDelta) != 0) {
		alert(alerttext);
		Quantity.focus();
		return false;
	}

	return true;
}
function submitLength(iMinLen,iMaxLen,Obj,alertText)
{
	var iLength=Obj.value.length;
	if(iMinLen>iLength||iMaxLen< iLength)
	{
		alert(alertText);
		Obj.focus();
		return false;
	}
	return true;

}


var nSecsLeft = 0;
var nTimerID = 0;
var strDays = "";
var strHours = "";
var strMinutes = "";
var strSeconds = "";

function startClock(s1, s2, s3, s4, n) {
	strDays = s1;
	strHours = s2;
	strMinutes = s3;
	strSeconds = s4;
	nSecsLeft = n;
	showTime();
}

function showTime() {
	nSecsLeft--;

	if (nSecsLeft > 0) {
		var nRemainDays = Math.floor(nSecsLeft / (24*60*60));
		var nRemainHours = Math.floor((nSecsLeft%(24*60*60)) / (60*60));
		var nRemainMinutes = Math.floor(((nSecsLeft%(24*60*60))%(60*60)) / 60);
		var nRemainSeconds = Math.floor(((nSecsLeft%(24*60*60))%(60*60)) % 60);
		document.foClock.Face.value = nRemainDays + " " + strDays + ", " + nRemainHours + " " + strHours + ", " + nRemainMinutes + " " + strMinutes + ", " + nRemainSeconds + " " + strSeconds;
		nTimerID = setTimeout("showTime()", 1000);
	}
	else
		clearTimeout(nTimerID);
}



var form;
var strElapsed;
var nProgress;

function startProgress(f, s) {
	form = f;
	strElapsed = s;
	nProgress = 0;
	showProgress();
}

function showProgress() {
	form.Progress.value = nProgress + strElapsed;
	nProgress ++;
	setTimeout("showProgress()", 1000);
}


function findMember (options, member) {
	for (var i=0; i< options.length; i++) {
		if (options[i].value == member) {
			return i;
		}
	}
	return -1;
}

function enterMember(member) {
	var options = parent.frChatMembers.document.foChatMembers.Member.options;
	var n = findMember(options, member);
	if (n == -1) {
		var tmp = new Option(member, member);
		options[options.length].value=tmp;
		options.length++;
	}
}

function leaveMember(member) {
	var options = parent.frChatMembers.document.foChatMembers.Member.options;
	var n = findMember(options, member);
	if (n != -1) {
		for (var i=n+1;i< options.length;i++) {
			options[i-1].text=options[i].text;
			options[i-1].value=options[i].value;
		}
		options[options.length-1]=null;
		options.length--;

		var choice = parent.frChatMembers.document.foChatMembers.Member;
		if (n==choice.selectedIndex) choice.selectedIndex=0;
		if (n<choice.selectedIndex) choice.selectedIndex=n-1;
		if (n>choice.selectedIndex) choice.selectedIndex=n;
	}
}

function insertMemberID(){
    s = '';
    scc = '';
    sbcc = '';
    j = 0;
    jcc = 0;
    jbcc = 0;
    if(document.foDelete == null) {
      alert('Invalid');
      return;
    }
    for(i=0; i<document.foDelete.elements.length; i++) {
      dom=document.foDelete.elements[i];
      if(dom.checked) {
	if(dom.name == 'to') {
		if(j==0) {
		  s += dom.value;
		  j = 1;
		} else {
		  s += ',' + dom.value;
		  j += 1;
		}
	}
        if(dom.name == 'cc') {
		if(jcc==0) {
		  scc += dom.value;
		  jcc = 1;
		} else {
		  scc += ',' + dom.value;
		  jcc += 1;
		}
	}
	if(dom.name == 'bcc') {
		if(jbcc==0) {
		  sbcc += dom.value;
		  jbcc = 1;
		} else {
		  sbcc += ',' + dom.value;
		  jbcc += 1;
		}
	}
	if((dom.name != 'to')&&(dom.name != 'cc')&&(dom.name != 'bcc')&&(dom.name != 'UseAsMyOwnCGroup')) {
         	if(j==0) {
            	  s += dom.name;
            	  j = 1;
          	} else {
             	  s += ',' + dom.name;
             	  j += 1;
          	}
        }
      }
    }
    if(window.opener.document.foNew == null) {
      if(window.opener.document.foEdit == null) {
         alert('Invalid');
         return;
      } else {
	if(!(window.opener.document.foEdit.Cc == null)) {
           window.opener.document.foEdit.Cc.size = 40 + (j-1)*10 + (jcc-1)*10;
	   if(!(window.opener.document.foEdit.Cc.value == 0)) {
	      window.opener.document.foEdit.Cc.value += ',' + scc;
	   } else {
              window.opener.document.foEdit.Cc.value = scc;
	   }
        }
        if(!(window.opener.document.foEdit.Bcc == null)) {
           window.opener.document.foEdit.Bcc.size = 40 + (jbcc-1)*10;
	   if(!(window.opener.document.foEdit.Bcc.value == 0)) {
	     window.opener.document.foEdit.Bcc.value += ',' + sbcc;
	   } else {
             window.opener.document.foEdit.Bcc.value = sbcc;
	   }
        }
	window.close();
      }
    } else {
     if(!(window.opener.document.foNew.To == null)) {
       window.opener.document.foNew.To.size = 40 + (j-1)*10;
       if(!(window.opener.document.foNew.To.value == 0)) {
          window.opener.document.foNew.To.value += ',' + s;
       } else {
          window.opener.document.foNew.To.value = s;
       }
       if(!(window.opener.document.foNew.Cc == null)) {
         window.opener.document.foNew.Cc.size = 40 + (jcc-1)*10;
	 if(!(window.opener.document.foNew.Cc.value == 0)) {
	   window.opener.document.foNew.Cc.value += ',' + scc;
	 } else {
           window.opener.document.foNew.Cc.value = scc;
	 }
       }
       if(!(window.opener.document.foNew.Bcc == null)) {
         window.opener.document.foNew.Bcc.size = 40 + (jbcc-1)*10;
	 if(!(window.opener.document.foNew.Bcc.value == 0)) {
	   window.opener.document.foNew.Bcc.value += ',' + sbcc;
	 } else {
           window.opener.document.foNew.Bcc.value = sbcc;
	 }
       }
       window.close();
     }
     if(!(window.opener.document.foNew.Contacts == null)) {
       window.opener.document.foNew.Contacts.size = 40 + (j-1)*10 + (jcc-1)*10 + (jbcc-1)*10;
       window.opener.document.foNew.Contacts.value = s + ',' + scc + ',' + sbcc;
       window.close();
     }
     if(!(window.opener.document.foNew.Members == null)) {
       window.opener.document.foNew.Members.size = 40 + (j-1)*10 + (jcc-1)*10 + (jbcc-1)*10;
       window.opener.document.foNew.Members.value = s + ',' + scc + ',' + sbcc;
       window.close();
     }
    }
}

