function calculateTax(state) {
	var state = state || "";
	var action = action || ""
	if(state == 'CA') {
		doSystemMessages('systemmodule', 'name="users" action="'+action+'" view_mode="checkTaxByState" ajax="on" state="'+state+'" ');
	}
}

function charactersreminding(ara) {
	var $ = 450;
	var tmp = document.getElementById('characters_reminding');
	if(tmp) {
		//var a = ara.value.split("\n").length - 1;
		tmp.value = $ - ara.value.length;
		if(tmp.value < 0) {
			ara.value = ara.value.substr(0, $);
			tmp.value = 0;
		}
	}
}

function chOutMessage(ara) {
	if(ara.value == "") {
		ara.value = 'Type your message here';
		ara.style.color = '#BBBBBB';
		var href = document.getElementById('href_next');
		href.onclick = function() {
			alert('Type your message');
			return false;
		}
	} else {
		var IE=false;
		if(/MSIE (\d+\.\d+);/.test(navigator.userAgent)) IE = true;
		var Re3 = new RegExp("(\\w{31,})", "g");
		var bool = true;
		while ( bool ) {
			var Arr = Re3.exec(ara.value);
			if(Arr) {
				var bool2 = true 
				var str = Arr[1];
				var res = "";
				while ( bool2 ) {
					res +=  str.substr(0, 30) + " "  //(IE?"\n":"\n");
					str=str.substr(30);
					if( !str )  bool2 = false;
				}
				ara.value = ara.value.replace(new RegExp(Arr[1]), res);
			}
			else bool = false	
		} 
		ara.value = ara.value.replace(/(\s){2,}$/, "$1");
		ara.value = ara.value.replace(/(\S*)[ \t]*\n/, "$1\n");
		ara.value = calcLine(ara.value);
		ara.value = ara.value.replace(/(.*)\s+$/, "$1");
		ara.value = ara.value.substr(0, ara.value.length-(IE?2:0));
		charactersreminding(ara);
	}
}

function calcLine(text, linesCnt, onLine) {
	var Re = /([^\n]*?)\n/g;
	var Re2 = /\n$/
	if  (!Re2.exec(text) ) text += "\n";
	var resu = '';
	var lins = 0;
	var linesCnt = linesCnt || 15;
	var linecn = onLine || 30;
	var lE = 0;
	while ( true ) {
		var Arr = Re.exec(text);
		if(Arr) {
			lins  += strDelim(Arr[1], linecn);
			resu += Arr[1] + "\n";
		} else break;	
	} 
	var href = document.getElementById('href_next');
	if(lins > linesCnt) {
		href.onclick = function() {
			return false;
		}
		alert('Sorry, but your message exceeds the maximum of 15 lines');
	} else {
		href.onclick = function() {
			document.getElementById('frmSendNote').submit(); 
			return false;
		}
	}
	return resu; 
}

function strDelim(text, linecn) {
	var Re = new RegExp("(\\S* *)", "g");
	var str = '';
	var ln = 1;
	do {
		var Arr = Re.exec(text)
		if(Arr[1].toString() != "") {
			if(Arr[1].length>linecn) {
				// 
			} else {
				str += Arr[1].toString();
			}
			if(str.length > linecn) {
				str = Arr[1].toString();
				ln++;
			}
		}
	} while (Arr[1].toString() != "")
	return ln;
}



function Chg(ImNm, Vsbl){
        if (document.images) {document.images[ImNm].src = "img/" + ImNm + (Vsbl ? "_" : "") + ".gif";}
}
function getCookie(Name) {   
        var search = Name + "="   
        if (document.cookie.length > 0) { 
                offset = document.cookie.indexOf(search)       
                if (offset != -1) { 
                        offset += search.length
                        end = document.cookie.indexOf(";", offset)
                        if (end == -1) end = document.cookie.length
                        return unescape(document.cookie.substring(offset, end))     
                }
        }
}
function setCookie(name, value) { 
        var expire = "0, 01-01-2020 00:00:00 GMT"
        document.cookie = name + "=" + escape(value) + "; expires=" + expire + "; path=/";
}
function Win2Escape(AStr){
        var Result='';
        for(var i=0;i<AStr.length;i++)
                if(AStr.charAt(i)>='А' && AStr.charAt(i)<='я')  Result+=Letters[AStr.charCodeAt(i)-0x0410];
                else if(AStr.charAt(i)=='Ё') Result+=Letters[64];
                else if(AStr.charAt(i)=='ё') Result+=Letters[65];
                else if(AStr.charAt(i)=='=') Result+='%3D';
                else if(AStr.charAt(i)=='&') Result+='%26';
                else Result+=AStr.charAt(i);
        return Result;
}
// -------------------------------------------------------------
function URLencode(sStr) {
        return (Win2Escape(sStr)).replace(/\+/g, '%2C').replace(/\"/g,'%22').replace(/\'/g, '%27');
}
// -------------------------------------------------------------
function startFlashing(block_id) {
        layer = document.getElementById(block_id);
        if (flashing==1) {
                layer.style.borderWidth='1px';
                layer.style.borderColor='#000000';
                if (layer.style.borderStyle.indexOf('none') == -1) {
                        //alert(layer.style.borderStyle);
                        layer.style.borderStyle='none';
                } else {
                        layer.style.borderStyle='dotted';
                }
                window.setTimeout("startFlashing('"+block_id+"');", 100);
        } else {
                layer.style.borderStyle='none';
                layer.style.borderWidth='0px';
        }
}
// -------------------------------------------------------------
function AJAXRequest(url_param, ready_function, first_param, proc_function) {
        proc_function = proc_function || '';
        first_param = first_param || '';


 var xmlhttp=false;

/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
 try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
@end @*/

        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {xmlhttp = new XMLHttpRequest();}
        
        xmlhttp.open("GET", url_param, true);

        xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
        xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
        xmlhttp.setRequestHeader("Pragma", "no-cache");
        xmlhttp.onreadystatechange=function() {
                if (xmlhttp.readyState==4) {
                 eval(ready_function+'(\''+first_param+'\', xmlhttp.responseText);');
                } else {
                 //alert('error: '+xmlhttp.responseText);
                }
        }
        if (proc_function) {
                eval(proc_function+'();');
        }
       
        xmlhttp.send(null);
        return false;
}
// -------------------------------------------------------------
function create_http_handle(TYPE){
        var http_handle = false;
        if (window.XMLHttpRequest){
                http_handle = new XMLHttpRequest();
                if (http_handle.overrideMimeType){
                        if (TYPE == "XML"){
                                http_handle.overrideMimeType('text/xml');
                        } else {
                                http_handle.overrideMimeType('text/html');
                        }
                }
        } else if (window.ActiveXObject){
                try {
                        http_handle = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                        try {
                                http_handle = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {}
                }
        }
        if (!http_handle){
                alert("We are sorry but you are using an outdated browser.  To view this site you must update your browser.");
                return false;
        } else {
                return http_handle;
        }
}
// -------------------------------------------------------------
function AJAXPostRequest(url, params, ready_function, first_param, proc_function) {
        proc_function = proc_function || '';
        first_param = first_param || '';
        xmlhttp = create_http_handle();
        var now = "&upid=" + new Date().getTime();
        url += (url.indexOf("?")+1) ? "&" : "?";
        url += now;
        //params += now;
        //xmlhttp.open("POST",url+params,true);
        xmlhttp.open("POST",url,true);
        xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded, charset=utf-8");
        xmlhttp.setRequestHeader("Content-length", params.length);
        xmlhttp.setRequestHeader("Connection", "close");
        xmlhttp.onreadystatechange=function() {
                if (xmlhttp.readyState==4) {
					eval(ready_function+'(\''+first_param+'\', xmlhttp.responseText);');
				}
        }
        if (proc_function) { eval(proc_function+'(\''+first_param+'\');');      }
        xmlhttp.send(params);
        return false;
}
// -------------------------------------------------------------
function returnURLParams(formId){
        var params='';
        var tmp = document.getElementById(formId);
        if(tmp) {
                if(tmp.elements.length>0)  for(i=0; i<tmp.elements.length; i++) {
                        switch(tmp.elements[i].type) {
                                case "radio": case "checkbox": 
                                        if(tmp.elements[i].checked) {
                                                if(tmp.elements[i].value=='') params += "&" + tmp.elements[i].name + "=1";
                                                else params += "&" + tmp.elements[i].name + "=" + encodeURIComponent(tmp.elements[i].value);
                                        }
                                break;
                                case "select-multiple": 
                                        if(tmp.elements[i].options.length>0) for(y=0; y<tmp.elements[i].options.length; y++) {
                                                if(tmp.elements[i].options[y].selected) {
                                                        params += "&" + tmp.elements[i].name + encodeURIComponent("[") + y + encodeURIComponent("]") + "=" + encodeURIComponent(tmp.elements[i].options[y].value);
                                                }
                                        }
                                break;
                                default: params += "&" + tmp.elements[i].name + "=" + encodeURIComponent(tmp.elements[i].value);
                        }
                }
        }
        return params;
}
// -------------------------------------------------------------
function getBlockDataForm(block_id, form) {
        params='';
        for(i=0;i<form.elements.length;i++) {
                if (form.elements[i].type!='radio' || form.elements[i].checked) {
                        params+='&'+form.elements[i].name+'='+URLencode(form.elements[i].value);
                }
        }
        //alert(params);
        url=form.action;
        layer = document.getElementById(block_id);
        old_data=layer.innerHTML;
        flashing=1;
        startFlashing(block_id);
        // layer.innerHTML='<b>Loading please wait...</b>';
        var xmlhttp=false;
        /*@cc_on @*/
        /*@if (@_jscript_version >= 5)
        // JScript gives us Conditional compilation, we can cope with old IE versions.
        // and security blocked creation of the objects.
         try {
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
          try {
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (E) {
           xmlhttp = false;
          }
         }
        @end @*/
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
                xmlhttp = new XMLHttpRequest();
        }
        xmlhttp.onreadystatechange=function() {
                if (xmlhttp.readyState==4) {
                        flashing=0;
                        layer.innerHTML=xmlhttp.responseText;
                        layer.style.borderStyle='none';
                }
        }
        if (form.method=='post') {
                xmlhttp.open("POST", url, true);
                xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                xmlhttp.send(params+'&filterblock='+block_id);
        } else {
                xmlhttp.open("GET", url+params+'&filterblock='+block_id,true);
                xmlhttp.send(null);
        }
        return false;
}
// ------------------------------------------------------------
function getBlockData(block_id, url) {
        layer = document.getElementById(block_id);
        old_data=layer.innerHTML;
        flashing=1;
        startFlashing(block_id);
        var xmlhttp=false;
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
                xmlhttp = new XMLHttpRequest();
        }
        xmlhttp.open("GET", url+'&filterblock='+block_id,true);
        xmlhttp.onreadystatechange=function() {
                if (xmlhttp.readyState==4) {
                        flashing=0;
                        layer.style.borderStyle='none';
                        layer.innerHTML=xmlhttp.responseText;
                }
        }
        xmlhttp.send(null);
        return false;
}
// ------------------------------------------------------------
var resizing = true;
function resizeHeight() {
        if(resizing) {
                tmp = document.getElementById('ridgepole');
                tmp2 = document.getElementById('ridgepoler');
                bbd = document.getElementById('meter');
                bm = document.getElementById('bottommeter');
                tm = document.getElementById('topmeter');
                if(tmp && bbd && bm && tm) {
                        var startH = Number(bbd.clientHeight - bm.clientHeight - tm.clientHeight);
                        if(tmp2 && getBrowserType()=='ie') {
                                var nod = tmp2.parentNode;
                                if(nod && nod.nodeName=='TD') {
                                        var nod = nod.parentNode;
                                        if(nod && nod.nodeName=='TR') {
                                                var he = 0;
                                                ex = true
                                                nodUNDER = nod
                                                do
                                                {
                                                        var nodUNDER = nodUNDER.nextSibling;
                                                        if(!nodUNDER) ex=false
                                                        else he+=nodUNDER.clientHeight;
                                                }
                                                while (ex);
                                                ex = true
                                                nodABOVE = nod
                                                do
                                                {
                                                        var nodABOVE = nodABOVE.previousSibling;
                                                        if(!nodABOVE) ex=false
                                                        else he+=nodABOVE.clientHeight;
                                                }
                                                while (ex);
                                        }
                                        if(he>0) {
                                                bbd.firstChild.style.height = "1%";
                                                tmp2.style.height = "1%";
                                                tmp.style.height = "1%";
                                                
                                                tmp2.style.height = Number(startH - he)  + "px";
                                                bbd.firstChild.style.height = "100%";
                                        }
                                }
                        } else {
                                tmp.style.height = (startH-1) + "px";
                        }
                }
        }
        resizing = false;
}
function getBrowserType()        {
        var myUserAgent;
        var myMajor;
        myUserAgent = navigator.userAgent.toLowerCase();
        myMajor = parseInt(navigator.appVersion);
        re = /safari/i;
        if(re.exec(myUserAgent))                                                                {       return "safari";         }
        if( (myUserAgent.indexOf('mozilla') != -1) && (myUserAgent.indexOf('spoofer') == -1) && (myUserAgent.indexOf('compatible') == -1) && (myUserAgent.indexOf('opera') == -1) && (myUserAgent.indexOf('webtv') == -1)    )  {       return "nav";   }
        if (myUserAgent.indexOf("msie") != -1)                          {       return "ie";            }
                                                                                                                                                return "other";
}
// ------------------------------------------------------------
function doSystemMessages(type, message, param) {
        if (message=='Data has been saved') return;
        var url="?ajt=messages&doit="+type+"&param1="+message+"&param2="+param; 
        AJAXRequest(url, 'resultFP', type);
} 
function cancelSystemMessage() {
        var tmp1 = document.getElementById('system_message');
        var tmp2 = document.getElementById('liover');
        if(tmp1 && tmp2) {
                //new Effect.Fade('system_message', { duration: 0.1}); 
                //new Effect.Fade('liover', { duration: 0.4}); 
                new Effect.Fade('system_message', { duration: 0.0}); 
                new Effect.Fade('liover', { duration: 0.0}); 
        }
        
        showSelectBoxes(); 
        showFlash(); 
}
var timerID = null
var timerRunning = false
function stopclock(){
   if(timerRunning) clearInterval(timerID)
   timerRunning = false
}
function reloadWin() {
        if(!timerRunning) window.location.reload()
        timerRunning = true
}

function continueToStep2b(id) {
	document.getElementById('selected_contact_id').value = id;
	document.getElementById('frmSendNote').submit();
}

function resultFP(param, result) {
        var tmp1 = document.getElementById('system_message');
        var tmp2 = document.getElementById('liover');
        if(tmp1 && tmp2) {
                hideSelectBoxes();
                hideFlash();
                tmp1.innerHTML = result;
                // goToFunction
                var tmpRH = document.getElementById('goToFunction');
                if(tmpRH) {
                        eval(tmpRH.value+'(\''+document.getElementById('functionParam1').value+'\');');
                        cancelSystemMessage();
                        showSelectBoxes(); 
                        showFlash(); 
                        return false;
                }

                // redirect here
                var tmpRH = document.getElementById('refreshurl');
                if(tmpRH)  { 
                        cancelSystemMessage();
                        stopclock()
                        timerID = setInterval("reloadWin();",100);
                        return false;
                }
                // System Message
                var tmpR = document.getElementById('returntrue');
                if(tmpR)  { 
                        doSystemMessages('systeminformation', tmpR.value);      
                        return false;
                }
                var tmpA = document.getElementById('scroll_to');
                if (tmpA) {
                        window.location.hash = tmpA.value;
                }
                // just show result
                var arrayPageSize = getPageSize();
                tmp2.style.width = arrayPageSize[0]+"px";
                tmp2.style.height= arrayPageSize[1]+"px";
                tmp2.onclick=function() {
                        var tmp1 = document.getElementById('system_message');
                        var tmp2 = document.getElementById('liover');
                        if(tmp1 && tmp2) {
                                //new Effect.Fade('system_message', { duration: 0.1}); 
                                //new Effect.Fade('liover', { duration: 0.4}); 
                                new Effect.Fade('system_message', { duration: 0.0}); 
                                new Effect.Fade('liover', { duration: 0.0}); 
                        }
                        
                        showSelectBoxes(); 
                        showFlash(); 
                };
                
                tmp1.style.display = 'block'
                tss = Number(sysYPosition) - tmp1.clientHeight - 20;
                if(tss < 160) tss = 160;
                tmp1.style.top = tss + 'px'
                tmp1.style.display = 'none'

                //new Effect.Appear('liover', {duration: 0.1, from: 0.0, to: 0.8});
                //new Effect.Appear('system_message', { duration: 0.2, from: 0.0, to: 1.0});
                new Effect.Appear('liover', {duration: 0.0, from: 0.0, to: 0.5});
                new Effect.Appear('system_message', { duration: 0.0, from: 0.0, to: 1.0});
        }
}


function keyPressHandler(e) {
  var kC  = (window.event) ? event.keyCode : e.keyCode;
  var Esc = (window.event) ? 27 : e.DOM_VK_ESCAPE;
  if(kC==Esc) {
          cancelSystemMessage();
          var tmp = document.getElementById("d_cal_menu");
          if(tmp) { tmp.style.display = 'none'; selectedmenuarrow = ''; }
  }
}
var sysYPosition = 0;
function mouseMove(e) {
        e = e || window.event;
        if(e.pageY) {
                sysYPosition = e.pageY
                return 0;
        }
}
if(document.layers)     document.captureEvents(Event.KEYPRESS);
document.onkeypress = keyPressHandler;

if(document.layers)     document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=mouseMove;


// ------------------------------------------------------------
function showVideo(id) {
        doSystemMessages('systemmodule', 'name="videos" view_mode="view_videos" ajax="on" id="'+id+'"');
}

function editEmail(id, user_id, action) {
        var action = action || ""
        doSystemMessages('systemmodule', 'name="users" action="'+action+'" view_mode="edit_email" ajax="on" id="'+id+'" user_id="'+user_id+'" ');
}

function addNewContact(id, param, action) {
        var param = param || '';
        var action = action || ""
        doSystemMessages('systemmodule', 'name="users" action="'+action+'" view_mode="add_new_contact" ajax="on" id="'+id+'"', param);
}

function editContact(id, user_id,action) {
        var action = action || ""
        doSystemMessages('systemmodule', 'name="users" action="'+action+'" view_mode="edit_contact" ajax="on" id="'+id+'" user_id="'+user_id+'" ');
}


function showPostCardInfo(id, action) {
	var action = action || ""
	doSystemMessages('systemmodule', 'name="users" action="'+action+'" view_mode="show_postcard_info" ajax="on" id="'+id+'" ');
}

function showPostOrderInfo(id, action) {
	var action = action || ""
	doSystemMessages('systemmodule', 'name="users" action="'+action+'" view_mode="show_postcard_info" edit_mode="orders" ajax="on" id="'+id+'" ');
}


function showDescription(id, action, contactid) {
        var action = action || "";
		var contactid = contactid || "";
        doSystemMessages('systemmodule', 'name="users" action="'+action+'" view_mode="show_description" ajax="on" id="'+id+'" contact_id="'+contactid+'" ');
}

function showNote(id, action) {
        var action = action || "";
        doSystemMessages('systemmodule', 'name="users" action="'+action+'" view_mode="show_note" ajax="on" id="'+id+'"');
}

function showGifts(user_id, id, type_id, param, sort, filter, action, editmode) {
        var action = action || "";
        var editmode = editmode || "";
        var message = 'name="users" action="'+action+'" view_mode="contact_page" edit_mode="'+editmode+'" ajax="on" id="'+id+'" user_id="'+user_id+'" type_id="'+type_id+'" sortby="'+sort+'" filterby="'+filter+'" instance="contact_page_'+type_id+'" param="'+param+'" ';
        var url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message); 
        AJAXRequest(url, 'resultFilter', param);
}

function abContacts(user_id, resId, action, editmode) {
        var action = action || "";
        var editmode = editmode || "";
        message = 'name="users" action="'+action+'" view_mode="ab_contacts" edit_mode="'+editmode+'" ajax="on" id="'+user_id+'" ';
        var url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message)+"&param2="; 
        AJAXRequest(url, 'resultFilter', resId);
}
function scrollContactsDiv(letter) {
        //хз.. лучше конечно просто передать из php - но мы простых путей не ищем!
        var all_data=document.getElementById('contacts_result').innerHTML;
        var all_contacts='';
        all_contacts=all_data.split('<!---->');
        var ichar='';
        var first_char=new Array();
        for (var i=1;i<all_contacts.length;i++) {
                ichar=all_contacts[i].substr(0,1).toUpperCase();
                if (typeof(first_char[ichar])=='undefined')
                        first_char[ichar]=i;
        }
        
        if (typeof(first_char[letter])!='undefined') {
                var toheight=(first_char[letter]-1)*22+3;
                document.getElementById('contacts_result').scrollTop=toheight;
        }
        
}
function filterContacts(user_id, ab, resId, action, editmode, selectedid) {
        var action = action || "";
        var editmode = editmode || "";
        var selectedid = selectedid || "";
        message = 'name="users" action="'+action+'" view_mode="filter_contacts" edit_mode="'+editmode+'" ajax="on" id="'+user_id+'" ab="'+ab+'" selected_id="'+selectedid+'" ';
        var url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message)+"&param2="; 
		if(editmode == 'checkboxes') fnc = 'resultFilterCNTScheckboxes'; else fnc = 'resultFilterCNTS';
        AJAXRequest(url, fnc, resId);
}

function resultFilterCNTS(param, resultFilter) {
        var tmp = document.getElementById(param);
        if(tmp) tmp.innerHTML = resultFilter;
		if(some1) {
				var tm = document.getElementById('frmEditRem');
				if(tm) tm.submit();
		}
}

function resultFilterCNTScheckboxes(param, resultFilter) {
        var tmp = document.getElementById(param);
        if(tmp) tmp.innerHTML = resultFilter;
		if(someArray.length > 0 ) {
			for(y=0; y<someArray.length; y++) 
				for(i=0; i<document.getElementsByTagName('input').length; i++)
					if(document.getElementsByTagName('input')[i].name=='CONTACT_ID[]' && document.getElementsByTagName('input')[i].value == someArray[y]) 
						document.getElementsByTagName('input')[i].checked = true;
		}
		if(some1) {
			var tm = document.getElementById('frmEditRem');
			if(tm) tm.submit();
		} else {
			var tu = document.getElementById('functionParam3');
			if(tu) addNewContactUsualToGift(tu.value);
		}
}



function resultFilter(param, resultFilter) {
        var tmp = document.getElementById(param);
        if(tmp) tmp.innerHTML = resultFilter;
}

function addNewContactUsual(user_id, from) {
        message = 'name="users" view_mode="add_new_contact" edit_mode="stationary" ajax="on" user_id="'+user_id+'" from_page="reminder" ';
        var url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message)+"&param2=stationary"; 
        AJAXRequest(url, 'resultaddNewContactUsual', '');
}

function addNewContactUsualToGift(user_id) {
        message = 'name="users" view_mode="add_new_contact" edit_mode="stationary" ajax="on" user_id="'+user_id+'" from_page="gift" ';
        var url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message)+"&param2=stationary"; 
        AJAXRequest(url, 'resultaddNewContactUsualGift', '');
}


function resultaddNewContactUsual(param, resultFilter) {
        var tmp = document.getElementById('addNewContactUsualDiv');
        if(tmp) tmp.innerHTML = resultFilter;
        var tmp1 = document.getElementById('functionParam1');
        var tmp2 = document.getElementById('functionParam2');
        var tmp3 = document.getElementById('functionParam3');
		//alert(tmp1.value + " | "+tmp2.value + " | " + tmp3.value)
        if(tmp2) if(tmp2.value!="") {
                abContacts(tmp3.value, 'ab_contacts_result', '', 'withcheckbox');
                filterContacts(tmp3.value, tmp1.value, 'contacts_result', '', 'withcheckbox', tmp2.value)       
        }
}

function resultaddNewContactUsualGift(param, resultFilter) {
        var tmp = document.getElementById('addNewContactUsualDiv');
        if(tmp) tmp.innerHTML = resultFilter;
        var tmp1 = document.getElementById('functionParam1');
        var tmp2 = document.getElementById('functionParam2');
        var tmp3 = document.getElementById('functionParam3');
		//alert(tmp1.value + " | "+tmp2.value + " | " + tmp3.value)
        if(tmp2) if(tmp2.value!="") {
                abContacts(tmp3.value, 'ab_contacts_result', '', 'checkboxes');
                filterContacts(tmp3.value, tmp1.value, 'contacts_result', '', 'checkboxes', tmp2.value)       
        }
}


var someArray = [];
function sendNewContactUsual(formId, form) {
		var form = form || "";
        var tmp = document.getElementById(formId);
        var params = returnURLParams(formId);
		//alert(tmp.action + " | "+params)
		if(form == 'gift') {
			someArray = [];
			fnc = 'resultaddNewContactUsualGift'; 
			for(i=0; i<document.getElementsByTagName('input').length; i++)
				if(document.getElementsByTagName('input')[i].name=='CONTACT_ID[]' && document.getElementsByTagName('input')[i].checked) 
					someArray[someArray.length] = document.getElementsByTagName('input')[i].value;
		} else {
			fnc = 'resultaddNewContactUsual';
		}
        if(params) AJAXPostRequest(tmp.action, params, fnc, 'systemmoduleclear');
}



function includeAddedContact(id, title, relationship, where) {
        var tmp = document.getElementById(where);
        if(tmp) {
                var option = new Option(title+' ('+relationship+')', id, false, true);
                tmp.options[tmp.options.length]=option;
        }
        cancelSystemMessage();
}


function sendPackageData(formId) {
        var tmp = document.getElementById(formId);
        var params = returnURLParams(formId);
        if(params) AJAXPostRequest(tmp.action, params, 'resultFP', 'systemmodule');
        cancelSystemMessage(); 
}
function ckeckboxs(name) {
        var tmp = document.getElementsByName(name);
        if(tmp) if(tmp.length>0) for(i=0; i<tmp.length; i++) if(tmp[i].type=="checkbox") if(tmp[i].checked) tmp[i].checked = false; else tmp[i].checked = true;
}

var unique_contact_id;

function changeContactId(obj, dateChange){
		var id =  obj.value
		var tmp = document.getElementById('selected_contact_id');
		if (tmp) {
			tmp.value = id;
		}
		if(obj._click_numbers == null) {
			obj._first_check = obj.checked;
			obj._click_numbers = 0;
		}
		obj._click_numbers ++;
		if((obj._click_numbers%2)==0) obj.checked = false

		//if(obj._prev_ckecked == true) obj.checked = false;
        /*unique_contact_id = id;
        if (dateChange){
                group = document.forms['frmEdit'].elements['OCCASION_ID'];
                // Get active contact selecter
                for (i=0; i<= group.length; i++) {
                        if (group[i].checked) {
                                changeDate(group[i].value);
                                break;
                        }
                }       
        }*/
}

function changeContactIds(obj){
		var id =  obj.value
		var tmp = document.getElementById('selected_contact_id');
		if (tmp) tmp.value = id;
}


function changeDateValues(param, result){
        //alert(result);
        document.getElementById('date_result').innerHTML=result;
}

function changeDate(id){
        var id = id || "";
        group = document.forms['frmEdit'].elements['CONTACT_ID'];
        // Get active contact selecter
        if((group!=undefined) && (group.length>0)) {
                for (i=0; i<= group.length; i++) {
                        if (group[i].checked) {
                                unique_contact_id = group[i].value;
                                break;
                        }
                }
        }

        message='name="users" view_mode="show_date" ajax="on" id="'+id+'"';
        if (unique_contact_id!=undefined){
                message += ' fakename="'+unique_contact_id+'"';
        }       
        message += ' tab="'+viewModeForDate+'"';
        url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message)+"&param2=";
        AJAXRequest(url, 'changeDateValues', '');
}



function changeDateFormat(obj, rem_id, cont_id) {
	var id = obj.value || "0"
	var rem_id = rem_id || ""
	var cont_id = cont_id || ""
	message = 'name="users" view_mode="get_date_format" ajax="on" id="'+id+'" rem_id="'+rem_id+'" cont_id="'+cont_id+'" ';
	var url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message)+"&param2="; 
	AJAXRequest(url, 'resultFilter', 'date_result');
}

function changeDateFormatReminder(obj, reminder_id) {
	var occasion_id = obj.value || "0"
	var reminder_id = reminder_id || ""
	var contact_id = ""
	var tmp = document.getElementById('selected_contact_id');
	if (tmp) contact_id = tmp.value; 
	var message = 'name="users" view_mode="get_date_format" ajax="on" occasion_id="'+occasion_id+'" reminder_id="'+reminder_id+'" contact_id="'+contact_id+'" ';
	var url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message)+"&param2="; 
	document.getElementById('date_result').innerHTML = '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="35"><img src="/img/ico12.jpg" alt=""></td><td width="60"><h3>Date</h3></td><td class="check"></td></tr></table><table width="100%" border="0" cellspacing="0" cellpadding="0" class="mb20"><tr><td width="35"></td><td><b>Please wait...</b></td></tr></table>';
	AJAXRequest(url, 'resultFilter', 'date_result');

	/*message = 'name="users" view_mode="get_reminder_date_format" ajax="on" occasion_id="'+occasion_id+'" reminder_id="'+reminder_id+'" contact_id="'+contact_id+'" ';
	var url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message)+"&param2="; 
	document.getElementById('date_result_2').innerHTML = '<b>Please wait...</b>';
	AJAXRequest(url, 'resultFilter', 'date_result_2');*/

}


function changeDateFormatGift(obj, reminder_id) {
	var occasion_id = obj.value || "0"
	var reminder_id = reminder_id || ""
	var contact_id = ""
	var tmp = document.getElementById('selected_contact_id');
	if (tmp) contact_id = tmp.value; 

	var type_id = 1;
	var tmp = document.getElementById('type_val2');
	if(tmp.checked) type_id = 2; 
		
	var message = 'name="users" view_mode="get_date_format" ajax="on" it_already_was="1" is_gift="1" type_id="'+type_id+'" occasion_id="'+occasion_id+'" reminder_id="'+reminder_id+'" contact_id="'+contact_id+'" ';
	var url="?ajt=messages&doit=systemmoduleclear&param1="+URLencode(message)+"&param2="; 
	document.getElementById('date_result').innerHTML = '<b>Please wait...</b>';
	AJAXRequest(url, 'resultFilter', 'date_result');
}


function changeDayMonth(year, months_show, months, days, years, pre_month)  {
	var pre_month = pre_month || "";
	var check = 0;
	if(months_show.length && months.length && days.length && years.length) {
		var tmp = document.getElementById('_result_date');
		var elM =  document.getElementById('OCCASION_MONTH');
		var elD =  document.getElementById('OCCASION_DAY');
		if(tmp) 
			for(i = 0; i<years.length; i++) {
				if(years[i] == year) {
					tmp.innerHTML = "<b>"+months_show[i] + "</b>&nbsp;<b>" + days[i] + "</b>&nbsp;&nbsp";
					if(elM) elM.value=months[i];
					if(elD) elD.value=days[i];
					check = 1;
				}
			}
	} 
	if(!check && pre_month!="") {
		tmp.innerHTML = "<b>"+pre_month + "</b>&nbsp;&nbsp";
		if(elM) elM.value=months[0];
		if(elD) elD.value=1;
	}
}


var some1 = false;
function checkfrm1() {
	some1 = false;
	var tmp = document.getElementById('selected_contact_id');
	if(tmp.value == 0 && (document.getElementById('addNewContactUsualDiv').style.display=='' || document.getElementById('addNewContactUsualDiv').style.display=='block')) {
		some1 = true;
		sendNewContactUsual('frmAddit');
		return false;
	} else {
		var tm = document.getElementById('frmEditRem');
		if(tm) tm.submit();
	}
}

function checkfrm2() {
	some1 = false;
	var tmp = document.getElementById('selected_contact_id');
	if(document.getElementById('addNewContactUsualDiv').style.display=='' || document.getElementById('addNewContactUsualDiv').style.display=='block') {
		some1 = true;
		sendNewContactUsual('frmAddit', 'gift');
		return false;
	} else {
		var tm = document.getElementById('frmEditRem');
		if(tm) tm.submit();
	}
}


function chMessage(textArea) {
	if(textArea.value == 'Type your message here') {
		textArea.value = '';
		textArea.style.color = '#000000';
	}
}