//trim functions
function Trim(TRIM_VALUE){
	if(TRIM_VALUE.length < 1){
		return"";
	}
	TRIM_VALUE = RTrim(TRIM_VALUE);
	TRIM_VALUE = LTrim(TRIM_VALUE);
	if(TRIM_VALUE==""){
		return "";
	}
	else{
		return TRIM_VALUE;
	}
}

function RTrim(VALUE){
	var w_space = String.fromCharCode(32);
	var v_length = VALUE.length;
	var strTemp = "";
	if(v_length < 0){
		return"";
	}
	var iTemp = v_length -1;

	while(iTemp > -1){
		if(VALUE.charAt(iTemp) == w_space){
		}
		else{
			strTemp = VALUE.substring(0,iTemp +1);
			break;
		}
		iTemp = iTemp-1;
	}
	return strTemp;
}

function LTrim(VALUE){
	var w_space = String.fromCharCode(32);
	if(v_length < 1){
		return"";
	}
	var v_length = VALUE.length;
	var strTemp = "";

	var iTemp = 0;

	while(iTemp < v_length){
		if(VALUE.charAt(iTemp) == w_space){
		}
		else{
			strTemp = VALUE.substring(iTemp,v_length);
			break;
		}
		iTemp = iTemp + 1;
	}
	return strTemp;
}

function searchforword(bodyText, searchTerm){
  var newText = false;
  var i = -1;
  var lcSearchTerm = searchTerm.toLowerCase();
  var lcBodyText = bodyText.toLowerCase();
    
  while (bodyText.length > 0) {
    i = lcBodyText.indexOf(lcSearchTerm, i+1);
    if (i < 0) {
//      newText = bodyText;
      bodyText = "";
    } else {
      // skip anything inside an HTML tag
      if (bodyText.lastIndexOf(">", i) >= bodyText.lastIndexOf("<", i)) {
        // skip anything inside a <script> block
        if (lcBodyText.lastIndexOf("/script>", i) >= lcBodyText.lastIndexOf("<script", i)) {
          newText = true;
          bodyText = bodyText.substr(i + searchTerm.length);
          lcBodyText = bodyText.toLowerCase();
          i = -1;
        }
      }
    }
  }
  
  return newText;
}

function windowopen(URL,widthwin,heightwin){
	 var screenH = screen.height;
	 var screenW = screen.width;
	 var fromLeft = parseInt((screenW-widthwin)/2);
	 var fromTop = parseInt((screenH-heightwin)/2);
	var newwin=window.open(URL,'invitation_guest_email','width='+widthwin+',height='+heightwin+',toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes,top='+fromTop+',left='+fromLeft)
	if(window.focus) newwin.focus();
}

function chkloginfrm(frm)
{
	var errorMsg='';
	if (Trim(frm.username.value) == ""){
			errorMsg += "\n\tEmail";	
	}
	if (Trim(frm.password.value) == ""){
			errorMsg += "\n\tПароль";	
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n\n";
		//msg += "The following field(s) need to be corrected: -\n";
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}
	return true;	
}

// Validate email address
function validate_emailaddress(arg){
	var str = arg;
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
	if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
	   return true;
	}
	else{
		return false;
	}
}

function valid_forgotpass(frm){
	var errorMsg = '';
	if(frm.email.value == "") {
		errorMsg = "\n\t Email ";
	}
	else{
		if(!validate_emailaddress(Trim(frm.email.value))){
			errorMsg = "\n\t Email";
		}
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n";
		alert(msg + errorMsg + "\n");
		frm.email.focus();
		return false;
	}
	return true;
}

function chkemail(frm){
	var errorMsg = '';
	if(frm.emailids.value == "") {
		errorMsg = "\n\t Email";
	}
	else{
		var tmp = frm.emailids.value;
		var email_arr = tmp.split(';');
		for(i=0; i<email_arr.length; i++){
			if(email_arr[i] != ''){
				if(!validate_emailaddress(Trim(email_arr[i]))){
					errorMsg = "\n\t Email";
				}
			}
		}
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n";
		alert(msg + errorMsg + "\n");
		frm.emailids.focus();
		return false;
	}

	frm.frmsubmit.value='sendemail';
	return true;
}

//Function for selecting all the values listed in the index page of the admin page.
function check_all(frm, checkboxname, chkname)
{
	chkbname=checkboxname.name;

	element_len = frm.elements.length;
	if(checkboxname.checked==true )
	{
		for (i=0; i<element_len; i++)
		{
			this_element = frm.elements[i]; 
			if (this_element.type == 'checkbox' && this_element.name!=chkbname && this_element.name.match(chkname))
				this_element.checked=true;
		}
	}
	else
	{
		for (i=0; i<element_len; i++)
		{
			this_element = frm.elements[i];
			if (this_element.type == 'checkbox' && this_element.name!=chkbname && this_element.name.match(chkname))
				this_element.checked=false;
		}
	}
	return true;
}


function confirmdel(frm,chkname){
	var a = 0;

	element_len = frm.elements.length;
	for (i=0; i<element_len; i++){
		this_element = frm.elements[i];
		if (this_element.type == 'checkbox' && this_element.name.match(chkname)){
			if (this_element.checked == true)
				a=a+1;
		}
	}

	if(a==0){
		if(frm.name == 'Photos'){
			alert ('Пожалуйста, выберите фото.');
		}
		else{
			alert ('Пожалуйста, '+frm.name+' выберите контакт.');
		}
		return false;
	}
	else{
		if(window.confirm('Подтвердить удаление?')){
				return true;
		}
		else
			return false;
	}
}

function chk_related_details(elem, frm){
	var errorMsg='';
	if(elem.checked == true){
		if(frm.street.value == "") {
			errorMsg += "\n Enter the street";
		}
		if(frm.city.value == "") {
			errorMsg += "\n Enter the city";
		}
		/*if(frm.state.value == "") {
			errorMsg += "\n Enter the state";
		}*/
		if(frm.zipcode.value == ""){
			errorMsg += "\n Enter the zipcode";
		}
		if(frm.country.value == "") {
			errorMsg += "\n Select the country";
		}
		if (errorMsg != ""){
			msg = "Необходимо заполнить следующие обязательные поля:\n";
			//msg += "_____________________________________________\n\n";
			//msg += "The following field(s) need to be corrected: -\n";
			errorMsg += alert(msg + errorMsg + "\n\n");
			return false;
		}
	}
	return true;
}

//Validate User add/edit page
function validate_userform(frm){
	var errorMsg='';
	if(frm.firstname.value == "") {
		errorMsg += "\n Имя";
	}
	if(frm.lastname.value == "") {
		errorMsg += "\n Фамилия";
	}
	/*if(frm.zipcode.value == "") {
		errorMsg += "\n Enter the Zip Code/Postal Code ";
	}
	if(frm.mobilenumber1.value == "" || frm.mobilenumber2.value == "" || frm.mobilenumber3.value == ""){
		errorMsg += "\n Enter the Mobile number";
	}*/
	if(frm.gender.value == "") {
		errorMsg += "\n Select the Gender";
	}
	if(frm.dob_day.value == "" || frm.dob_month.value == "" || frm.dob_year.value == "") {
		errorMsg += "\n Дата рождения";
	}
	if(frm.email.value == "") {
		errorMsg += "\n Email";
	}
	else{
		if(!validate_emailaddress(frm.email.value)){
			alert("Email");
			frm.email.focus();
			return false;
		}
	}
	if(frm.cemail.value == "") {
		errorMsg += "\n Email (подтвердить)";
	}

	if(frm.email.value != frm.cemail.value){
		alert("Пожалуйста, проверьте правильность заполнения поля Email.");
		frm.email.value = "";
		frm.cemail.value = "";
		document.getElementById('avail').innerHTML = '';
		frm.avail_reg.value = 1;
		frm.email.focus();
		return false;
	}
	if(frm.password.value == "") {
		errorMsg += "\n Пароль";
	}

	if(frm.avail_reg.value == "0") {
		msg = "Данный электронный адрес уже загегистрирован. Пожалуйста, введите другой адрес.\n";
		alert(msg);
		return false;
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n\n";
		//msg += "The following field(s) need to be corrected: -\n";
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}
	return true;
}

function validate_category(frm){
	var errorMsg='';
	if(frm.category.value == "") {
		errorMsg += "\n Enter the category name";
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n\n";
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}
	return true;
}


function Chk_Valid(frm,chkname){
	var a=0;
	element_len = frm.elements.length;
	for (i=0; i<element_len; i++)
	{
		this_element = frm.elements[i];
		if (this_element.type == 'checkbox' && this_element.name.match(chkname))
		{
			if (this_element.checked == true)
				a=a+1;
		}
	}

	if(a>1)
	{
		alert ('You can select only one '+frm.name+'!!!');
		return false;
	}

	if(a==0)
	{

		if(frm.name=="Contact"){
		alert ('Выберите контакт, который нужно добавить.');
		} else {
				alert ('Пожалуйста, '+frm.name+' выберите контакт.');
		}

		return false;
	}

	return true;
}

var lastfocus_elem = '';
var chkrankname = "rank_";
function chk_dulicate(elem, frm){
	element_len = frm.elements.length;
	for (i=0; i<element_len; i++){
		this_element = frm.elements[i];
		if (this_element.type == 'text' && this_element.name.match(chkrankname) && this_element.name != elem.name)	{
			if (this_element.value == elem.value){
				lastfocus_elem += elem.name + '#';
			}
		}
	}
	return true;
}

function chk_duplicates(frm){
	if(lastfocus_elem != ''){
		var lastfocus_elems    = lastfocus_elem.substring(0,(lastfocus_elem.length-1));
		var lastfocus_elem_arr = lastfocus_elems.split('#');
		
		for(i=0; i<lastfocus_elem_arr.length; i++){
			var elem_name = lastfocus_elem_arr[i];
			var elemvalue = document.getElementById(elem_name).value;

			for (j=0; j<frm.elements.length; j++){
				this_element = frm.elements[j];
				if (this_element.type == 'text' && this_element.name.match(chkrankname) && this_element.name != elem_name){
					if (this_element.value == elemvalue){
						alert("Duplicates not allowed. Please try someother number");
						return false;
					}
				}
			}
		}
	}
	return true;
}

function validate_reply(frm){
	var errorMsg='';
	if(Trim(frm.question.value) == "") {
		errorMsg += "\n Enter the Question";
	}
	if(Trim(frm.answer1.value) == "") {
		errorMsg += "\n Enter Answer 1";
	}
	if(Trim(frm.answer2.value) == "") {
		errorMsg += "\n Enter Answer 2";
	}
	if(Trim(frm.answer3.value) == "") {
		errorMsg += "\n Enter Answer 3";
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n\n";
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}
	return true;
}


function validate_designs(frm){
	var errorMsg='';
	/*if(Trim(frm.question.value) == "") {
		errorMsg += "\n Upload file missing";
	}*/

	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n\n";
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}
	return true;
}

function validate_themes(frm){
	var errorMsg='';
	if(Trim(frm.themes_name.value) == "") {
		errorMsg += "\n Enter Templates name";
	}
	if(Trim(frm.themes_images.value) == "") {
		errorMsg += "\n Choose a Template image";
	}
	if(frm.bgimage.value == "") {
		errorMsg += "\n Select a Background Image";
	}
	if(frm.mainimage.value == "") {
		errorMsg += "\n Select a Main Image";
	}
	if(Trim(frm.page_txt_color.value) == "") {
		errorMsg += "\n Select the Page text color";
	}
	if(Trim(frm.event_title_color.value) == "") {
		errorMsg += "\n Select the Event title color";
	}
	if(Trim(frm.link_txt_color.value) == "") {
		errorMsg += "\n Select the Link text color";
	}
	if(Trim(frm.tb_bg_color.value) == "") {
		errorMsg += "\n Select the Reply box color";
	}
	if(Trim(frm.header_bg_color.value) == "") {
		errorMsg += "\n Select the Header bar color";
	}
	if(Trim(frm.header_txt_color.value) == "") {
		errorMsg += "\n Select the Header text color";
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n\n";
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}
	return true;
}

function validate_searchfrm(frm){
	if(frm.skeyword.value == ''){
		alert("Пожалуйста, введите слово для поиска");
		frm.skeyword.focus();
		return false;
	}
	return true;
}


function validate_invitation_details(frm){
	var errorMsg='';
	if(Trim(frm.event_title.value) == "") {
		errorMsg += "&event_title=1";
	}
	if(Trim(frm.hostedby.value) == "") {
		errorMsg += "&hostedby=1";
	}
	if(Trim(frm.location_name.value) == "") {
		errorMsg += "&location_name=1";
	}
	var cksg = cookie_read('is_suggestdatetime');
	//alert(cksg);
	if((cksg == '0' || cksg == '') && (frm.event_date.value == "" || frm.event_date.value == "ДД-ММ-ГГГГ")) {
		errorMsg += "&event_date=1";
	}
	if(frm.char_count.value < 0){
		errorMsg += "<br>Message has exceded the maximum character count<br>";
	}
	if(frm.host_message.value != ''){
		var wordfilterMsg = '';
		if(word_filter_arr.length != 0){
			for(i=0; i<word_filter_arr.length; i++){
				var chkword = word_filter_arr[i];
				if(searchforword(frm.host_message.value, chkword)){
					wordfilterMsg += chkword + ", ";
				}
			}
			if(wordfilterMsg != ''){
				wordfilterMsg = wordfilterMsg.substr(0,(wordfilterMsg.length - 2));
				errorMsg +=  "&wordfilter=1"; //"<br><b>" + wordfilterMsg + "</b> Unapropriate language. Please correct the Message<br>";
			}
		}
	}
	if (errorMsg != ""){
		var height = 200;
		var width = 420;
		var caption = 'Ошибка в заполнении формы';
		var url = tolink+'popup_validmsg.php?msg=invdet'+errorMsg;
		GB_showCenter(caption,url,height,width);

//		msg = "Необходимо заполнить следующие обязательные поля.\n";
//		msg += "_____________________________________________\n\n";
//		errorMsg += alert(msg + errorMsg + "\n");
		return false;
	}
	return true;
}
function validate_contact(frm){
	var errorMsg='';
	if(Trim(frm.firstName.value) == "") {
		errorMsg += "\n Имя";
	}
	if(Trim(frm.lastName.value) == "") {
		errorMsg += "\n Фамилия";
	}
	if(frm.email.value == "") {
		errorMsg += "\n Email";
	}
	else{
		if(!validate_emailaddress(frm.email.value)){
			alert("Некорректно введен email.");
			frm.email.focus();
			return false;
		}
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "__________________________________________    \n";
		errorMsg += alert(msg + errorMsg + "\n");
		return false;
	}
	return true;
}
function contact_check_all(frm, checkboxname1,  checkboxname2, chkname){
	chkbname=checkboxname1.name;

	element_len = frm.elements.length;
	if(checkboxname1.checked==true ){
		checkboxname2.checked = true;
		for (i=0; i<element_len; i++){
			this_element = frm.elements[i]; 
			if (this_element.type == 'checkbox' && this_element.name!=chkbname && this_element.name.match(chkname))
				this_element.checked=true;
		}
	}
	else{
		checkboxname2.checked = false;
		for (i=0; i<element_len; i++){
			this_element = frm.elements[i];
			if (this_element.type == 'checkbox' && this_element.name!=chkbname && this_element.name.match(chkname))
				this_element.checked=false;
		}
	}
	return true;
}

function valid_guestfrm(frm){
	var errorMsg = '';
	if(Trim(frm.guestemail.value) == ''){
		errorMsg += "&email=1";
	}
	else{
		var tmp = frm.guestemail.value;
		var email_arr = tmp.split(',');
		for(i=0; i<email_arr.length; i++){
			if(Trim(email_arr[i]) != ''){
				if(!validate_emailaddress(Trim(email_arr[i]))){
					errorMsg += "&invalid_email=1";
				}
			}
		}
	}
	if(frm.char_count.value < 0){
		errorMsg += "&max_char=1";
	}
	if(frm.emailmsg.value != ''){
		var wordfilterMsg = '';
		if(word_filter_arr.length != 0){
			for(i=0; i<word_filter_arr.length; i++){
				var chkword = word_filter_arr[i];
				if(searchforword(frm.emailmsg.value, chkword)){
					wordfilterMsg += chkword + ", ";
				}
			}
			if(wordfilterMsg != ''){
				wordfilterMsg = wordfilterMsg.substr(0,(wordfilterMsg.length - 2));
				errorMsg +=   "&wordfilter=1"; //"<br><b>" + wordfilterMsg + "</b> Unapropriate language. Please correct the Message<br>";
			}
		}
	}
	if (errorMsg != ""){
		var height = 150;
		var width = 420;
		var caption = 'Ошибка в заполнении формы';
		var url = tolink+'popup_validmsg.php?msg=invgst'+errorMsg;
		GB_showCenter(caption,url,height,width);

		//msg = "Необходимо заполнить следующие обязательные поля.\n";
		//msg += "_____________________________________________\n";
		//alert(msg + errorMsg + "\n");
		//frm.guestemail.focus();
		return false;
	}

	return true;
}

function valid_replyoptions(frm){
	var errorMsg = '';
	if(Trim(frm.who.value) == ''){
		errorMsg = "\n Enter content for Who?";
	}
	if(Trim(frm.attending.value) == ''){
		errorMsg = "\n Enter content for Attending";
	}
	if(Trim(frm.undecided.value) == ''){
		errorMsg = "\n Enter content for Undecided";
	}
	if(Trim(frm.declining.value) == ''){
		errorMsg = "\n Enter content for Declining";
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n";
		alert(msg + errorMsg + "\n");
		return false;
	}
	return true;
}

function valid_changeorganizer(frm){
	if(Trim(frm.neworganizer.value) == ''){
		//var errorMsg = "<br>Please enter the Organizer Email address<br>"
		var height = 150;
		var width = 420;
		var caption = 'Ошибка в заполнении формы';
		var url = tolink+'popup_validmsg.php?msg=chgorg';//ermsg='+errorMsg;
		GB_showCenter(caption,url,height,width);
		return false;
	}
	return true;
}

function validate_groupfrm(frm){
	var errorMsg='';
	if(Trim(frm.group_name.value) == "") {
		errorMsg += "\n Название Группы";
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "__________________________________________    \n";
		errorMsg += alert(msg + errorMsg + "\n");
		frm.group_name.focus();
		return false;
	}

	for(var i=0; i<frm.tocontact.options.length; i++){
		frm.selgrp.value += frm.tocontact.options[i].value + '#';
	}

	return true;
}

function valid_guestreply(frm,chkname){
	var a=0;
	element_len = frm.elements.length;
	for (i=0; i<element_len; i++){
		this_element = frm.elements[i];
		if (this_element.type == 'checkbox' && this_element.name.match(chkname)){
			if (this_element.checked == true)
				a=a+1;
		}
	}

	if(a==0){
		//var errorMsg = '<br>Please Select a '+frm.name+' to Perform the Action!!!<br>';
		var errorMsg = 'Необходимо добавить хотя бы одного приглашенного.';
		 
		var height = 150;
		var width = 420;
		var caption = 'Ошибка';
		var url = tolink+'popup_validmsg.php?ermsg='+errorMsg;
		GB_showCenter(caption,url,height,width);
		//alert ('Please Select a '+frm.name+' to Perform the Action!!!');
		return false;
	}

	return true;
}

function valid_contact_sel(frm,chkname){
	var a=0;
	element_len = frm.elements.length;
	for (i=0; i<element_len; i++){
		this_element = frm.elements[i];
		if (this_element.type == 'checkbox' && this_element.name.match(chkname)){
			if (this_element.checked == true)
				a=a+1;
		}
	}

	if(a==0){
		alert ('Пожалуйста,выберите контакт');
		return false;
	}

	return true;
}

function valid_contact_importer(frm,chkname){
	var a=0;
	element_len = frm.elements.length;
	for (i=0; i<element_len; i++){
		this_element = frm.elements[i];
		if (this_element.type == 'checkbox' && this_element.name.match(chkname)){
			if (this_element.checked == true)
				a=a+1;
		}
	}

	if(a==0){
		alert ('Пожалуйста, выберите контакт');
		return false;
	}

	return true;
}

function move_element(fbox,tbox,sort,refresh){
	for(var i=0; i<fbox.options.length; i++){
		if(fbox.options[i].selected && fbox.options[i].value != ""){
			var no = new Option();
			no.value = fbox.options[i].value;
			no.text = fbox.options[i].text;

			tbox.options[tbox.options.length] = no;
			fbox.options[i].value = "";
			fbox.options[i].text = "";
		}
	}
	listadd(fbox);
	if (sort){
		listsort(tbox);
	}
	if(refresh){
		removedublicates(tbox);
	}

	return;
}

function listadd(box){
	for(var i=0; i<box.options.length; i++){
		if(box.options[i].value == ""){
			for(var j=i; j<box.options.length-1; j++){
				box.options[j].value = box.options[j+1].value;
				box.options[j].text = box.options[j+1].text;
			}
			var ln = i
			;
			break;
		}
	}
	if(ln < box.options.length){
		box.options.length -= 1;
		listadd(box);
	}
	return;
}
function listsort(box){
	var temp_opts = new Array();
	var temp = new Object();
	for(var i=0; i<box.options.length; i++){
		temp_opts[i] = box.options[i];
	}
	for(var x=0; x<temp_opts.length-1; x++){
		for(var y=(x+1); y<temp_opts.length; y++){
			if(temp_opts[x].text > temp_opts[y].text){
				temp = temp_opts[x].text;
				temp_opts[x].text = temp_opts[y].text;
				temp_opts[y].text = temp;
				temp = temp_opts[x].value;
				temp_opts[x].value = temp_opts[y].value;
				temp_opts[y].value = temp;
			}
		}
	}
	for(var i=0; i<box.options.length; i++){
		box.options[i].value = temp_opts[i].value;
		box.options[i].text = temp_opts[i].text;
	}
	return;
}
function removedublicates(field){
	var temp = null;
	for(i = 0 ; i < field.options.length; i++){
		temp = field.options[i].value;
		for(j = i+1; j < field.options.length;j++){
			if(temp == field.options[j].value){
				field.options[j].value = "";
				field.options[j].text = "";
			}
		}
	}
	listadd(field);
}

function add_element(tbox, value, text){
	var no = new Option();
	no.value = value;
	no.text = text;

	tbox.options[tbox.options.length] = no;
	listsort(tbox);
	return;
}
function remove_element(fbox,refresh){
	sortListitems = refresh;
	for(var i=0; i<fbox.options.length; i++){
		if(fbox.options[i].selected && fbox.options[i].value != ""){
			fbox.options[i].value = "";fbox.options[i].text = "";
		}
	}
	listadd(fbox);
	return;
}

var reqObj = null;
function createRequest(){
	try {
	   reqObj = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (err)	{
			try {
			reqObj = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (err2) {
			try {
			   reqObj = new XMLHttpRequest();
			}
			catch (err3) {
			   reqObj = null;
			}
		}
	}
	return reqObj;
}
var ajx_cfname = '';
var ajx_clname = '';
var ajx_cemail = '';
var ajx_frm = '';
var ajx_frmelem = '';
function add_contact(frm){
	xmlhttp = createRequest();
	if(xmlhttp != null){
		ajx_cfname = frm.firstname.value;
		ajx_clname = frm.lastname.value;
		ajx_cemail = frm.email.value;
		ajx_frm = frm;
		xmlhttp.open("GET", "ajxcontact.php?action=ajxaddcontact&key=key123&fname="+ajx_cfname+"&lname="+ajx_clname+"&email="+ajx_cemail+"&rand="+Math.random(1,10), true);
		xmlhttp.onreadystatechange = add_contact_selectbox;
		xmlhttp.send(null);
	}	
}

function add_contact_selectbox(){
	if (xmlhttp.readyState == 4) {
		if (xmlhttp.status == 200) {
		  var text1  = xmlhttp.responseText;
		   if(text1 == 0){
				alert('Адресная книга уже содержит данный Email');
		   }
		   else{
				add_element(ajx_frm.tocontact, text1, ajx_cemail);
		   }
		}
	}
}

var thisismyreplyoptionid = '';
function replyoption(frm){
	xmlhttp = createRequest();
	if(xmlhttp != null){
		var reply_id = frm.reply_type.value;
		thisismyreplyoptionid = reply_id;
		ajx_frm = frm;
		xmlhttp.open("GET", "ajxgetreplyoption.php?action=findoption&id="+reply_id+"&rand="+Math.random(1,10), true);
		xmlhttp.onreadystatechange = send_reply_options;
		xmlhttp.send(null);
	}
}

function send_reply_options(){
	if (xmlhttp.readyState == 4) {
		if (xmlhttp.status == 200) {
			var rs  = xmlhttp.responseText;
			var vals = rs.split('#');
			savetosessionvalue('reply_type',thisismyreplyoptionid);
			ajx_frm.who.value = vals[0];
			savetosession(ajx_frm.who);
			ajx_frm.attending.value = vals[1];
			savetosession(ajx_frm.attending);
			ajx_frm.undecided.value = vals[2];
			savetosession(ajx_frm.undecided);
			ajx_frm.declining.value = vals[3];
			savetosession(ajx_frm.declining);
		}
	}
}

function savetosession(frmelem){
	xmlhttp = createRequest();
	if(xmlhttp != null){
		var key = frmelem.name;
		var value = frmelem.value;
		//alert(key + ' ' + value);
		var param = "name="+key+"&val="+value;
		ajx_frmelem = frmelem;
		//xmlhttp.open("GETT", "savetosession.php?action=invitedetails&name="+key+"&val="+value+"&rand="+Math.random(1,10), true);
		xmlhttp.open("POST", "savetosession.php?action=invitedetails&rand="+Math.random(1,10), true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", param.length);
		xmlhttp.setRequestHeader("Connection", "close");
		xmlhttp.onreadystatechange = after_savetosession;
		//xmlhttp.send(null);
		xmlhttp.send(param);
	}
}
function savetosessionvalue(key,value){
	xmlhttp = createRequest();
	if(xmlhttp != null){
		var param = "name="+key+"&val="+value;
		//xmlhttp.open("POST", "savetosession.php?action=invitedetails&name="+key+"&val="+value+"&rand="+Math.random(1,10), true);
		xmlhttp.open("POST", "savetosession.php?action=invitedetails&rand="+Math.random(1,10), true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", param.length);
		xmlhttp.setRequestHeader("Connection", "close");
		xmlhttp.onreadystatechange = after_savetosession;
		//xmlhttp.send(null);
		xmlhttp.send(param);
	}
}
function savetosesinvite(frmelem){
	xmlhttp = createRequest();
	if(xmlhttp != null){
		var key = frmelem.name;
		var value = frmelem.value;
		value = value.replace(/\"/g,"#QUOTES#");
		value = value.replace(/&/g,"#AMP#");
		//alert(key + ' ' + value);
		var param = "name="+key+"&val="+value;
		xmlhttp.open("POST", "ajx_savetosession.php?action=invitedetails&frminvite=1&rand="+Math.random(1,10), true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", param.length);
		xmlhttp.setRequestHeader("Connection", "close");
		xmlhttp.onreadystatechange = after_savetosession;
		xmlhttp.send(param);
	}
}
function savevaluetosession(frmelem){
	xmlhttp = createRequest();
	if(xmlhttp != null){
		var key = frmelem.name;
		var value = frmelem.value;
		value = value.replace(/\"/g,"#QUOTES#");
		value = value.replace(/&/g,"#AMP#");
		//alert(key + ' ' + value);
		var param = "name="+key+"&val="+value;
		//xmlhttp.open("POST", "savetosession.php?action=invitedetails&name="+key+"&val="+value+"&rand="+Math.random(1,10), true);
		xmlhttp.open("POST", "ajx_savetosession.php?action=invitedetails&rand="+Math.random(1,10), true);
		xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", param.length);
		xmlhttp.setRequestHeader("Connection", "close");
		xmlhttp.onreadystatechange = after_savetosession;
		//xmlhttp.send(null);
		xmlhttp.send(param);
	}
}
function after_savetosession(){
	if (xmlhttp.readyState == 4) {
		if (xmlhttp.status == 200) {
			var rs  = xmlhttp.responseText;
			//alert(rs);
		}
	}
	return true;
}

function showextraoptions(obj){
	var showobj = document.getElementById(obj);
	if(showobj.style.display == 'none')
		showobj.style.display = 'block';
	else
		showobj.style.display = 'none';
	return true;
}

function countit(obj, disobj, limit){
	var objval = obj.value;
	var display_obj = document.getElementById(disobj);
	var remains = limit - objval.length;
	if(remains < 0){
		alert("Превышен допустимый лимит знаков");
		obj.value = obj.value.substr(0, limit);
	}
	
	remains = limit - obj.value.length;
	display_obj.innerHTML = remains;

	return true;
}
function clean( content ){
    content = content.replace(/<(.+?)>/g, '');//remove html
    content = content.replace('&nbsp;', ' ', 'g');//replace &nbsp; with space
    content = content.replace(/&(.*);/g, '1');//convert entities to single character
    return content;
}
function countWords( content ){
    content = clean( content );
    var arr = content.split(' ');    
    var total = 0;
    for(var i=0; i<arr.length; i++){
        if( arr[i].match(/\w/g)){
            total ++;
        }
    }

    return total;
}
function wcountit(frm, obj, limit){
	var objval = obj.value;
	var wcount = countWords(objval);
	var remains = limit - wcount;

	if(remains < 0){
		alert("Превышен лимит слов");
		obj.focus();
		return false;
	}
	return true;
}
function countit1(obj, disobj, limit){
	var objval = obj.value;
	var display_obj = document.getElementById(disobj);
	var remains = limit - objval.length;
	if(remains < 0){
		alert("Превышен допустимый лимит знаков");
		obj.value = obj.value.substr(0, limit);
	}
	
	remains = limit - obj.value.length;
	display_obj.innerHTML = remains;

	return true;
}

function checkFirst() {
    if (activate_link){
		var linkobj = document.getElementById('addressbooklink_hldr');
		linkobj.style.visibility = 'visible';
	}
}

function main_nav_js(str,page)
{
	xmlhttp = createRequest();
	if(xmlhttp != null){
		document.getElementById('cb').className = 'dsinurown';
		document.getElementById('mi').className = 'dsinurown';
		document.getElementById('ai').className = 'dsinurown';
		document.getElementById('cc').className = 'dsinurown';
		document.getElementById(str).className  = 'dsiative';
		// call open with GET or POST, the URL, and true for asynchronous
		xmlhttp.open("POST", "ajx_design_ur_own.php?show="+str+"&page="+page+"&rand="+Math.random(1,10), true);
		xmlhttp.onreadystatechange = show_design_option;
		xmlhttp.send(null);
	}	
}

function show_design_option()
{
	if (xmlhttp.readyState == 4) {
	  if (xmlhttp.status == 200) {
		  var text1  = xmlhttp.responseText;
		  document.getElementById('tabs').innerHTML = text1;
	  }
	}
}

function chk_availabilty(chkval, id)
{				
	if(chkval != ''){
		if(validate_emailaddress(chkval)){
			xmlhttp = createRequest();
			if(xmlhttp != null){
				// call open with GET or POST, the URL, and true for asynchronous
				xmlhttp.open("GET", "ajx_chk_availabilty.php?tochk="+chkval+"&id="+id+"&rand="+Math.random(1,10), true);
				xmlhttp.onreadystatechange = post_chk_availabilty;
				xmlhttp.send(null);
			}
		}
	}
}
function post_chk_availabilty()
{
	if (xmlhttp.readyState == 4) {
		if (xmlhttp.status == 200) {
			var text1  = xmlhttp.responseText;
			if(text1 == 0){
				document.getElementById('avail').innerHTML = "Адрес уже зарегистрирован. <br>Пожалуйста введите другой адрес.";
				document.User.avail_reg.value = 0;
			}
			else{
				document.getElementById('avail').innerHTML = "<span class='greentxt'>Адрес еще не зарегистрирован</span>";
				document.User.avail_reg.value = 1;
			}
		}
	}
}

/* COOKIES */
var Cookies = {
	init: function () {
		var allCookies = document.cookie.split('; ');
		for (var i=0;i<allCookies.length;i++) {
			var cookiePair = allCookies[i].split('=');
			this[cookiePair[0]] = cookiePair[1];
		}
	},
	create: function (name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
		this[name] = value;
	},
	erase: function (name) {
		this.create(name,'',-1);
		this[name] = undefined;
	}
};
Cookies.init();

function cookies_save(cookiename, ids) {
	var x = ids;
	var name = cookiename;
	Cookies.create(name,x,0.5);
}

function cookie_read(name) {
	return Cookies[name];
}

function cookie_erase(name) {
	Cookies.erase(name);
	frm.action = gotourl;
	frm.submit();
}

function selimg(opt,imgid){
	cookies_save(opt, imgid);	
}

function selaccimg(imgid, pos){
	var opt = "ai";
	var cokval = cookie_read(opt);

	if(!cookie_read(opt)){
		if(pos == 'l')
			var cok_save_val = 'l-'+imgid+'--r-0';
		if(pos == 'r')
			var cok_save_val = 'l-0--'+'r-'+imgid;
	}
	else{
		var cokval_arr = cokval.split('--');
		var cok_lval_arr = cokval_arr[0].split('-');
		var cok_rval_arr = cokval_arr[1].split('-');

		if(pos == 'l')
			var cok_save_val = 'l-'+imgid+'--r-'+cok_rval_arr[1];
		if(pos == 'r')
			var cok_save_val = 'l-'+cok_lval_arr[1]+'--r-'+imgid;
	}

	cookies_save(opt, cok_save_val);
}

function selcolr(opt, colorhex){
	cookies_save(opt, colorhex);	
}

function chk_suggest_set(opt){
	var cksgg = cookie_read(opt);
	if(cksgg != '1'){
		document.invitation_details.event_date.disabled=false;
		displayDatePicker('event_date', false, 'dmy', '-');
		return true;
	}
	else
		return false;
}


function valid_notify_frm(frm){
	var a=0;
	for (i = 0; i < frm.notify_me.length; i++){
		if (frm.notify_me[i].checked)
			var notifyme = frm.notify_me[i].value;
	}

	if(notifyme == 2){
		element_len = frm.elements.length;
		for (i=0; i<element_len; i++){
			this_element = frm.elements[i];
			if (this_element.type == 'checkbox' && this_element.name.match('guest_')){
				if (this_element.checked == true)
					a=a+1;
			}
		}

		if(a==0){
			var errorMsg = 'Пожалуйста, выберите кого-либо из приглашенных'; //'<br>Не выбрано ни одного гостя!<br>';
			var height = 150;
			var width = 420;
			var caption = 'Ошибка в заполнении формы';
			var url = tolink+'popup_validmsg.php?msg=invnotifyme';//+errorMsg;
			GB_showCenter(caption,url,height,width);
			//alert ('Please select guests to perform the action!!!');
			return false;
		}
	}

	return true;
}

function unchkother(frm, chkname){
	element_len = frm.elements.length;
	for (i=0; i<element_len; i++){
		this_element = frm.elements[i];
		if (this_element.type == 'checkbox' && this_element.name.match(chkname)){
			this_element.checked = false;
		}
	}
}

function move2nextelem(val, nextelem){
	if(val.length == 3){
		nextelem.focus();
	}
	return true;
}

function valid_contactus(frm, spmcode){
	var errorMsg = '';
	if(frm.name.value==""){
		errorMsg += "\n Имя и фамилия";
	}
	if(frm.email.value==""){
		errorMsg += "\n Email";
	}
	else if(frm.email.value!=""){
		var str = frm.email.value;
		var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
		var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
		if (!reg1.test(str) && reg2.test(str)){ 	// if syntax is valid
			//return true;
		}
		else{
			alert ("Некорректно введен email.");
			frm.email.focus();
			return false;
		}
	}

	if(frm.description.value==""){
		errorMsg += "\n Сообщение";
	}
	if(frm.valid_code.value==""){
		errorMsg += "\n Код.";
	}
	else if(frm.valid_code.value != spmcode){
		alert('Неверно введен код.');
		frm.valid_code.focus();
		return false;
	}

	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		//msg += "_____________________________________________\n";
		alert(msg + errorMsg + "\n");
		return false;
	}
	return true;
}


GB_myShow = function(caption, url, height, width) {
	GB_showCenter(caption,url,parseInt(height),parseInt(width));
	return false;
}

GB_le2_center = function(caption, url, height, width) {

	if(document.invitation_details.event_date.disabled == true){
		LE_showCenter(caption,url,parseInt(height),parseInt(width));
		return false;
	}
	else{
		var eventdate = document.invitation_details.event_date.value;
		if(eventdate != '')
			var le_newurl = url+'&eventd='+eventdate;
		else
			var le_newurl = url;

		LE_showCenter(caption,url,parseInt(height),parseInt(width));
		return false;
	}
}

GB_le_showCenter=function(caption, url, height, width){
	LE_showCenter(caption,url,parseInt(height),parseInt(width));
	return false;
}

//Validate quick register form
function validate_quickregfrm(frm){
	var errorMsg='';
	if(frm.firstname.value == "") {
		errorMsg += "\n Имя";
	}
	if(frm.lastname.value == "") {
		errorMsg += "\n Фамилия";
	}
	if(frm.password.value == "") {
		errorMsg += "\n Пароль";
	}
	if(frm.dob_day.value == "" || frm.dob_month.value == "" || frm.dob_year.value == "") {
		errorMsg += "\n Дата рождения";
	}
	var a=0;
	for (i=0; i<frm.gender.length; i++){
		if (frm.gender[i].checked == true){
			a++;
		}
	}
	if(a == 0) {
		errorMsg += "\n Пол";
	}
	if (errorMsg != ""){
		msg = "Необходимо заполнить следующие обязательные поля:\n";
		errorMsg += alert(msg + errorMsg + "\n\n");
		return false;
	}
	return true;
}
