﻿
var http_request = false;
function makeRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
     	// set type accordingly to anticipated content type
        //http_request.overrideMimeType('text/xml');
        http_request.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!http_request) {
     //alert('Cannot create XMLHTTP instance');
     document.getElementById('response').innerHTML = 'Cannot create XMLHTTP instance';
     return false;
  }
  //alert(url + parameters);
  http_request.onreadystatechange = alertContents;
  http_request.open('GET', url + parameters, true);
  http_request.send(null);
}

function alertContents() {
  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
        //alert(http_request.responseText);
        result = http_request.responseText;
        document.getElementById('response').innerHTML = result;            
     } else {
        //alert('There was a problem with the request.');
        //alert(http_request.status);
        document.getElementById('response').innerHTML = 'There was a problem with the request.'; 
     }
  }
}

function get(obj) {
  var getstr = "?";
  for (i=0; i<obj.childNodes.length; i++) {
     if (obj.childNodes[i].tagName == "INPUT") {
        if (obj.childNodes[i].type == "text") {
           getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
        }
        if (obj.childNodes[i].type == "checkbox") {
           if (obj.childNodes[i].checked) {
              getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
           } else {
              getstr += obj.childNodes[i].name + "=&";
           }
        }
        if (obj.childNodes[i].type == "radio") {
           if (obj.childNodes[i].checked) {
              getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
           }
        }
     }   
     if (obj.childNodes[i].tagName == "SELECT") {
        var sel = obj.childNodes[i];
        getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
     }
     
  }
  getstr += "txtName=" + htmlToEncode(document.getElementById('txtName').value) + "&";
  getstr += "txtPhone=" + document.getElementById('txtPhone').value + "&";
  getstr += "txtEmail=" + document.getElementById('txtEmail').value;
  //alert(getstr);
  makeRequest('contact.asp', getstr);
}

function setSpan()
{
    document.getElementById('response').innerHTML = '...'; 
}

function htmlToEncode(strVal) {
	encodedHtml = escape(strVal);
	encodedHtml = encodedHtml.replace(/\//g,"%2F");
	encodedHtml = encodedHtml.replace(/\?/g,"%3F");
	encodedHtml = encodedHtml.replace(/=/g,"%3D");
	encodedHtml = encodedHtml.replace(/&/g,"%26");
	encodedHtml = encodedHtml.replace(/@/g,"%40");
	//encodeHtml.htmlEncoded.value = encodedHtml;
	return encodedHtml;
}

function testEncodedHtml() {
	testEncodedHtmlArea.innerHTML = unescape(encodeHtml.htmlEncoded.value);
}

function sendMail()
{

	var fname = document.all.txtName;
	var telephone = document.all.txtPhone;
	//var address = document.all.txtAddress;	
	var email = document.all.txtEmail;
	
	
	if(validateEmpty(fname) == false) 
	{	
		alert("חסרים נתונים");
		return false;
	}

	if(validateEmpty(telephone) == false) 
	{	
		alert("חסרים נתונים");
		return false;
	}
	else
		if(checkPhone(telephone) == false) 
			return false;

	
	if(validateEmpty(email) == false) 
	{	
		alert("חסרים נתונים");
		return false;
	}
	else
	{
	    if(checkMail(email) == false) 
		    return false;
	}	
	
	//alert("GOOD");	

	//document.getElementById("FrmJoinUs").action = "contactResult.asp";
	//document.getElementById("FrmJoinUs").submit();		
}

function SendQuery()
{
	var q = document.all.q;
	if(validateEmpty(q) == false || q.value.length < 3) 
	{	
		//alert("חסרים נתונים");
		return false;
	}
}

function checkMail(obj)
{
	if (obj.value != "") 
	{
		var x = obj.value;
		var msg = "דואר אלקטרוני אינו תקין"
		
		if (x.indexOf("@") == -1 || x.indexOf(".") == -1) 
		{
			alert(msg);
			obj.focus();
			return false;
		}
	}
	
	return true;
}

function checkPhone(obj)
{
	var x, msg;
	
	if (obj.value != "") 
	{
		msg = "מספר טלפון אינו תקין"
		x = obj.value;
		if (isNaN(x)) 
		{
			alert(msg);
			obj.focus();
			return false;
		}

		if (x.length < 7) {
			alert(msg);
			obj.focus();
			return false;
		}
		
		/*if (x.substring(0,1) < 2)
		{
			alert(msg);
			obj.focus();
			return false;
		}*/
	}
	return true;
}

function validateEmpty(field)
{
	if (field.value == "")
	{
		field.focus();
		field.select();
		return false;
	}
}

function charValidate(type) 
{
	var chr = event.keyCode;
	var isValidChar;

	switch (type) 
	{
		case "numeric":		// (Only numbers)
			isValidChar = (chr >= 48 && chr <= 57);
			break;

		case "phone":	// (Numbers & "-")
			isValidChar = ( (chr >= 48 && chr <= 57) || chr == 45 );
			break;
			
		case "date":		// (Numbers & "/")
			isValidChar = ( (chr >= 48 && chr <= 57) || chr == 47 );
			break;
			
		case "name":		// (Hebrew and English (both cases), Space, "-", """)
			isValidChar = ( (chr >= 65 && chr <= 90) || (chr >= 97 && chr <= 122) || (chr >= 227 && chr <= 250) ||  (chr >= 1488 && chr <= 1514) || chr == 32 || chr == 34 || chr == 45 );
			break;
			
		case "english":		// (English (both cases) and Space)
			isValidChar = ( (chr >= 65 && chr <= 90) || (chr >= 97 && chr <= 122) || chr == 32 );
			break;
			
		case "user":		// (English (both cases) and Numbers)
			isValidChar = ( (chr >= 48 && chr <= 57) || (chr >= 65 && chr <= 90) || (chr >= 97 && chr <= 122) );
			break;
			
		case "Email":		// (English and Numbers and "_", "-", ".", "@",	"-", "/")
			isValidChar = ( ( chr >= 45 && chr <= 57) || ( chr >= 65 && chr <= 90) || ( chr >= 97 && chr <= 122) || chr == 64 || chr == 95 );
			break;
			
		default:
			isValidChar = true
	}

	if (!isValidChar) 
		event.returnValue = false;
}
