
// Ajax functions
function CreateRequest()
{
var Request = false;

	if (window.XMLHttpRequest)
	{
	
	//Gecko-compatible browsers, Safari, Konqueror, Firefox, Opera 8.0+
	Request = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
		{
		//Internet explorer
		try
			{Request = new ActiveXObject("Microsoft.XMLHTTP");}
		catch (CatchException)
			{Request = new ActiveXObject("Msxml2.XMLHTTP");}
		}
/*
if (!Request)
	{alert("Your browser doesn't support AJAX technology!!!");}
*/
return Request;
} 
/*
r_method - GET,POST
r_path - path to action file
r_args - arguments a=1&b=2&c=3...
r_handler - javascript handler
*/



function SendRequest(r_method, r_path, r_args, r_handler)
{
var Request = CreateRequest();

if (!Request)return;
	
	
	if (r_args.length == 0) r_args="&Z=";

	if (r_method.toLowerCase() == "get")
	{	
		r_path += "?" + r_args;
		Request.open("GET",r_path,true);
		Request.setRequestHeader("charset","UTF-8");
		Request.setRequestHeader("Content-Type","text/xml");
        Request.setRequestHeader("Cache-Control","no-cache, must-revalidate");
		r_args = null;
	}
	else 
	if (r_method.toLowerCase() == "post")
	{
		Request.open("POST",r_path,true);
		
		Request.setRequestHeader("charset","UTF-8");
		Request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
		//Request.setRequestHeader("Content-Type","text/xml");
		Request.setRequestHeader("Content-length",r_args.length);
		//Request.setRequestHeader("Connection", "close");
		Request.setRequestHeader("Cache-Control","no-cache, must-revalidate");
		
		
	}
	
	Request.send(r_args);
	Request.onreadystatechange = function()
	{
		if (Request.readyState == 4 && Request.status == 200){
			r_handler(Request.responseText);
			delete Request;
			Request = null;
			}
			else
			{
/*			
   				if (Request.readyState == 4 && Request.status == 404) {
    			r_handler(' Error while transferring data! ')
   				}
   				else
   				{
    			r_handler(' Loading... ');
   				}
*/
			}
	}
return;
}

/*
function urlencode(str) {
--str = str.replace(/\+/g, '%2B');
str = str.replace(/\+/g, '%252B');
str = str.replace(/\&/g, '%26');
--str = escape(str);
str = str.replace(/ /g, '+');
str = str.replace(/\-*-/g, '%2A');
str = str.replace(/\/-/g, '%2F');
str = str.replace(/@/g, '%40');
return str;
}
*/
// End ajax functions
function urlencode(str) {
	str = str.replace(/\+/g, '%252B');
	str = str.replace(/\&/g, '%26');
	str = str.replace(/ /g, '+');
	return str;
}

function replaceParenthesis(str){
	str = str.replace(/\\/g, "\\\\");
	str = str.replace(/'/g, "\\\'"); 
	return str;
}

function Set_Javascript_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	// if the expires variable is set, make the correct expires time, the
	// current script below will set it for x number of days, to make it
	// for hours, delete * 24, for minutes, delete * 60 * 24
	//expires = time in milliseconds since now when will it expire
	
	if ( expires )
	{
		 // expires = expires * 1000 * 60 * 60 * 24;
	}
	//alert( 'today ' + today.toGMTString() );// this is for testing purpose only
	var expires_date = new Date( today.getTime() + (expires) );
	//alert('expires ' + expires_date.toGMTString());// this is for testing purposes only

	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

function bookmark(url,title,obj){
	if(window.sidebar) 
          window.sidebar.addPanel(title,url,"");
	else if(window.external)
          window.external.AddFavorite(url, title);
}


function closegbForm(ltr) {
	Set_Javascript_Cookie("gbForm","true",1000*3600*24*7,"/");// set cookie to 7 days
	if (ltr)
		document.getElementById("gbButtonDiv_ltr").style.display = "none";
		else 
		document.getElementById("gbButtonDiv").style.display = "none";
}

function closegbBubble() {
	Set_Javascript_Cookie("gbBubbleForm","true",1000*3600*24*365,"/");// set cookie to 365 days
	var obj = document.getElementById("commentBubble");
	if (obj) {
		obj.style.display = "none";
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
	curleft = obj.offsetLeft;
	curtop = obj.offsetTop;
	while (obj = obj.offsetParent) {
	curleft += obj.offsetLeft;
	curtop += obj.offsetTop;
	}
	}
	return [curleft,curtop];
}

function showBubbleCommentToElement(elId) {
	var obj = document.getElementById(elId);
	if (!obj) return;
	var coordinates = findPos(obj);
    var cbObj = document.createElement("div");
	cbObj.id = "commentBubble";
	cbObj.style.top = (coordinates[1] + 8) + "px";
	cbObj.style.left = (coordinates[0] - 540) + "px";
	cbObj.innerHTML = "<img src='myImages/close.gif' id='imgCloseBubbleGif' onclick='closegbBubble();' title='Закрыть окно | לסגור הערה'>" +
			"<span id='commentBubbleInner'>" +
			"<b> מפיצים יקרים! </b><br><br> בעקבות בקשותכם פותחה מערכת לשימור לקוחות<br> הקליקו <b><a onclick='closegbBubble();' href='myAppointments.php'> 'תורים שלי' </a></b>לפרטים נוספים!" +
			"</span>"+
			"<span id='commentBubbleInnerRus'>" +
			"<b>Дорогие дистрибьюторы!</b><br><br>По Вашим просьбам была разработана <br> система для связи с посетителями сайта,<br> нажмите <b><a href=\"myAppointments.php\" onclick=\"closegbBubble();\"> 'תורים שלי | Мои очереди' </a></b><br>для дополнительной информации!" +
			"</span>";

	
	
	document.getElementsByTagName("body")[0].appendChild(cbObj);
	
}

function validateEmail(email) { 
 var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
 return email.match(re); 
}


