
function checkEmailAddress(emailStr)
{
	var re_check_email = new RegExp("[A-Za-z0-9_]+([-+.][A-Za-z0-9_]+)*@[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*\\.[A-Za-z0-9_]{2,}([-.][A-Za-z0-9_]+)*");
	var ares = re_check_email.exec(emailStr);
	if( ares == null )
	{
		return false;
	}
	return true;
}


function sendQM(bIsSendToSender)
{
	var theForm = document.forms.quick_question_form;

	if (!theForm.name.value)
	{
		alert("Please, enter your name.");
		theForm.name.focus();
		return false;
	}

	if (!theForm.email.value)
	{
		alert("Please, enter your e-mail address.");
		theForm.email.focus();
		return false;
	}

	if (!checkEmailAddress(theForm.email.value))
	{
		alert("Please, enter valid e-mail address.");
		theForm.email.focus();
		return false;
	}

	if (!theForm.q_text.value)
	{
		alert("Please, enter your question.");
		theForm.q_text.focus();
		return false;
	}

	$.post('SendQuickMessage.php',{ name: theForm.name.value, email: theForm.email.value , question: theForm.q_text.value , bIsSendToSender: bIsSendToSender }, callbackSendQuickMessage);

    return true;
}

function callbackSendQuickMessage(sThanksStr)
{
	document.getElementById('quick_form_div').innerHTML = '<div id="content"><table><tr><td class="input_text"><span class="sncolor">'+ sThanksStr + '</span></td></tr></table></div>';
}


//#####################################################################################################

// Ajax finctions to show system message aboout some action result

//#####################################################################################################

function loadAction(dest) {
	try 
	{
   		 xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
	}catch(e){
	}
   document.getElementById("app_message").innerHTML = "<img src='/images/waiting.gif' />Processing...";
	xmlhttp.onreadystatechange = triggeredAction;
	xmlhttp.open("GET", dest);
	xmlhttp.send(null);
}

function triggeredAction() {
// if the readyState code is 4 (Completed)
// and http status is 200 (OK) we go ahead and get the responseText
// other readyState codes:
// 0=Uninitialised 1=Loading 2=Loaded 3=Interactive

if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {
    // xmlhttp.responseText object contains the response.
	 document.getElementById("app_message").innerHTML = xmlhttp.responseText;
	 setTimeout("hideMessage()", 3000);
}
}

function showMessage()
{
document.getElementById("app_message").innerHTML = "";
document.getElementById('app_message').style.display = 'block';
}

function hideMessage()
{
document.getElementById('app_message').style.display = 'none';
}

//#####################################################################################################

function checkEmailAddress(emailStr)
{
	var re_check_email = new RegExp("[A-Za-z0-9_]+([-+.][A-Za-z0-9_]+)*@[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*\\.[A-Za-z0-9_]{2,}([-.][A-Za-z0-9_]+)*");
	var ares = re_check_email.exec(emailStr);
	if( ares == null )
	{
	  return false;
	}
	return true;
}

function popup(pop_obj)
{
document.getElementById('for_inner').innerHTML = 
"<div id=p_up class=pop_div><iframe src=index.php?a="+pop_obj+" class=pop frameborder=0 scrolling=no></iframe></div>";

document.getElementById('for_inner').style.display = 'block';
}

function hide_popup(){
document.getElementById('for_inner').innerHTML = '';
}


function _onmouseout (_scr, _Img) {
   eval ("document.images." + _Img + ".src = '" + _scr + "'" ) ;
}

function SelectAll() {
  for (i = 0; i < document.forms['data'].elements.length; i++)
     {
         var item = document.forms['data'].elements[i];
                     item.checked = true;
         }
}

function SelectNone() {
  for (i = 0; i < document.forms['data'].elements.length; i++)
     {
         var item = document.forms['data'].elements[i];
                     item.checked = false;
         }
}

function confirm_delete() {
//var object = "";
//var message = "Are You sure, You want to delete ";
//        for (var i=0; i < document.forms['data'].elements[i].length; i++) {
//          if (document.forms['data'].elements[i].checked) {
//            object=document.forms['data'].elements[i].value+", ";
//            }
//        }
        if (confirm('Are you sure?')) {
                //alert("訩 롮");
                return true;
        } else {
                //alert("  ⠭ אַ ");
                return false;
        }
}

function isCheckboxSelected() {
   for (i = 0; i < document.forms['data'].elements.length; i++)
   {
      var item = document.forms['data'].elements[i];
      var item_name = item.name;

      if ( (item_name.substr(0, 2) == "id") && (item_name.length > 2) &&
          (item.checked == true) )
      {
         return true;
      }
   }

   return false;
}

function goToDel()
{ 
   if ( isCheckboxSelected() )
   {
      if ( confirm_delete() )
      {
         document.data.a.value=18;
         document.forms['data'].submit();
      }
   }
   else
   {
      alert("Select items for delete.");
   }

   return false;
}

function goToDelOpt(id)
{ 
      if ( confirm_delete() )
      {
         document.data.a.value=13.05;
		 document.data.id_to_remove.value=id;
         document.forms['data'].submit();
      }

   return false;
}


function goToAddToBundle()
{ 
   if ( isCheckboxSelected() )
   {
      if ( confirm_delete() )
      {
         document.data.a.value=17.03;
         document.forms['data'].submit();
      }
   }
   else
   {
      alert("Select items to add to bundle.");
   }

   return false;
}


function isSelectedForDiscount()
{ 
   if ( isCheckboxSelected() )
   {
   popup('15.00');
   }
   else
   {
      alert("Select items to add discount.");
   }
   return false;
}



function goToAddDiscount()
{ 
   if ( isCheckboxSelected() )
   {
         document.data.a.value='15.02';
         document.forms['data'].submit();
   }
   else
   {
      alert("Select items to add discount.");
   }

   return false;
}


function isSelectedForGPC()
{   
   popup('18.00');
}



function goToAddGPC()
{ 
   document.data.a.value='18.02';
   document.forms['data'].submit();

   return true;
}


function goToHideAction(state, strValue)
{
   if ( isCheckboxSelected() )
   {
      document.data.a.value=50;
      document.data.state.value=state;
      document.data.submit();
   }
   else
   {
      alert("Select items for " + strValue + ".");
   }

   return false;
}

function changeLocation(newLocation)
{
   document.location.href = newLocation;
   return false;
}



function goToCopy() {
   if ( isCheckboxSelected() )
   {
      document.data.a.value=101;
      document.data.submit();
   }
   else
   {
      alert("Select items for copying.");
   }

   return false;
}

function goToPaste() { 
   document.data.a.value=102;
   document.data.submit();

   return false;
}


function ajax_get_array_of (obj_type) {
    if (obj_type == 'type'){
        agent.call("","getListFromServer","callbackTypeFromServer",obj_type);
    }
    if (obj_type == 'design'){
        agent.call("","getListFromServer","callbackDesignFromServer",obj_type);
    }
    if (obj_type == 'metal'){
        agent.call("","getListFromServer","callbackMetalFromServer",obj_type);
    }


}

function callbackTypeFromServer(callback) {
   i=0;
   document.forms['data'].type_list.options.length = 0;
   for (var key in callback) {
        document.forms['data'].type_list.options[i] = new Option(callback[key],key, true);
   i++;
   }
}

function callbackDesignFromServer(callback) {
   i=0;
   document.forms['data'].design_list.options.length = 0;
   for (var key in callback) {
        document.forms['data'].design_list.options[i] = new Option(callback[key],key, true);
   i++;
   }
}

function callbackMetalFromServer(callback) {

}

function checkSignUpForm()
{
	var theForm = document.forms.sign_up_form;

	if (!theForm.user_email.value)
	{
		alert("Please, enter your e-mail.");
		theForm.user_email.focus();
		return false;
	}

	if( !checkEmailAddress(theForm.user_email.value) )
	{
		alert("Please, enter valid email address.");
		theForm.user_email.focus();
		return false;
	}

	if (!theForm.user_password.value)
	{
		alert("Please, enter your password.");
		theForm.user_password.focus();
		return false;
	}
	
	if (theForm.user_password.value.length < 4 || theForm.user_password.value.length > 12)
	{
		alert("Your password must be 4 to 12 characters long with no spaces.");
		theForm.user_password.focus();
		return false;
	}

	if (theForm.user_password.value != theForm.user_password2.value)
	{
		alert("Please verify your password - the password you entered in both fields does not match.");
		theForm.user_password2.focus();
		return false;
	}

	if (!theForm.user_con_code.value)
	{
		alert("Please, enter confirmation code.");
		theForm.user_con_code.focus();
		return false;
	}

	return true;
}

function checkIsIntNumberCorrect(sNumber)
{
 var re = new RegExp("^(\\d)+$");
 var ares = re.exec(sNumber); 
 if ( null == ares )
 {
  return false;
 }

 return true;
}

function checkIsDoubleNumberCorrect(sNumber)
{
 var re = new RegExp("^(\\d)+(\\.(\\d)+)?$");
 var ares = re.exec(sNumber); 
 if ( null == ares )
 {
  return false;
 }

 return true;
}


function validateFormCertificate()
{


	if (document.getElementById('amount').value == "")
	{
	  alert("Please, enter amount.");
	  document.getElementById('amount').focus();
	  return (false);
	}

	if (isNaN(document.getElementById('amount').value))
	{
	  alert("The number you entered is invalid, check the number and try again.");
	  document.getElementById('amount').focus();
	  return (false);
	}


	if (document.getElementById('email').value == "")
	{
	  alert("Please, enter email.");
	  document.getElementById('email').focus();
	  return (false);
	}
	
	var re_check_email = new RegExp("[A-Za-z0-9_]+([-+.][A-Za-z0-9_]+)*@[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*\\.[A-Za-z0-9_]{2,}([-.][A-Za-z0-9_]+)*");
	var ares = re_check_email.exec(document.getElementById('email').value);
	if( ares == null )
	{
	  alert("Please, enter valid email address.");
	  document.getElementById('email').focus();
	  return (false);
	}

	return true;

}

function updateCertificateAjax(){
	from_text = encodeURI(document.getElementById('from_text').value);
	to_text = encodeURI(document.getElementById('to_text').value);
	message = encodeURI(document.getElementById('message').value);
	email = encodeURI(document.getElementById('email').value);
	amount = document.getElementById('amount').value;
	id  = document.getElementById('id').value;

	ajaxRequestByURL("index.php?a=6.04&id="+id+"&from_text="+from_text+"&to_text="+to_text+"&message="+message+"&email="+email+"&amount="+amount, "certificate");

}

function validateFormBillTo()
{
	if (document.getElementById('bill_name').value == "")
	{	 
	  alert("Please, enter name.");
	  document.getElementById('bill_name').focus();
	  return (false);
	}
	if (document.getElementById('bill_firstname').value == "")
	{	 
	  alert("Please, enter first name.");
	  document.getElementById('bill_firstname').focus();
	  return (false);
	}
	
	if (document.getElementById('bill_lastname').value == "")
	{
	  alert("Please, enter last name.");
	  document.getElementById('bill_lastname').focus();
	  return (false);
	}
	
	if (document.getElementById('bill_address1').value == "")
	{
	  alert("Please, enter address.");
	  document.getElementById('bill_address1').focus();
	  return (false);
	}
	
	if (document.getElementById('bill_city').value == "")
	{
	  alert("Please, enter city.");
	  document.getElementById('bill_city').focus();
	  return (false);
	}
	
	if (document.getElementById('bill_zip').value == "")
	{	
	  alert("Please, enter zip code.");
	  document.getElementById('bill_zip').focus();
	  return (false);
	}
	
	var bill_zip_lenght = document.getElementById('bill_zip').value.length;
	if ( bill_zip_lenght > 0 && bill_zip_lenght != 5 )
	{
		alert("Please, enter correct BILL TO zip.");
		document.getElementById('bill_zip').focus();
		return (false);
	}
	
	if (document.getElementById('bill_state').value == "N/A")
	{
	  alert("Please, select state.");
	  document.getElementById('bill_state').focus();
	  return (false);
	}
	
	if (document.getElementById('bill_phone').value == "")
	{
	  alert("Please, enter phone.");
	  document.getElementById('bill_phone').focus();
	  return (false);
	}

	if (document.getElementById('bill_email').value == "")
	{
	  alert("Please, enter email.");
	  document.getElementById('bill_email').focus();
	  return (false);
	}
	
	var re_check_email = new RegExp("[A-Za-z0-9_]+([-+.][A-Za-z0-9_]+)*@[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*\\.[A-Za-z0-9_]{2,}([-.][A-Za-z0-9_]+)*");
	var ares = re_check_email.exec(document.getElementById('bill_email').value);
	if( ares == null )
	{
	  alert("Please, enter valid email address.");
	  document.getElementById('bill_email').focus();
	  return (false);
	}

	return true;

}

function validateFormShipTo()
{
	if (document.getElementById('ship_name').value == "")
	{	 
	  alert("Please, enter name.");
	  document.getElementById('ship_name').focus();
	  return (false);
	}
	return true;
}

function closePopup()
{
	$('#modalContent').html("");
	setTimeout($.unblockUI, 200);
}

function updatePopupWindow(url_new)
{
	$('#modalContent').html("");
	$.ajax({
			type: "POST",
			url: url_new,
			complete: function(){},
			success: function(data){
				$('#modalContent').html(data);
			},
			error: function()
			{
				alert('Export operation failed!');
			}
		});
}

function popupWindow(nWidth, nHeight, url_show)
{
	updatePopupWindow(url_show);
		
	$('#modalContent').css('display', 'block');
	$('#modalPreloader').css('display', 'none');
	
	if (nWidth <= 0) nWidth = $(window).width();
	
	// show modal window
    $.blockUI({  
        message: $('#modalWindow'),  
        css: {  
				top:  ($(window).height() - nHeight) /2 + 'px', 
				left: ($(window).width() - nWidth) /2 + 'px',
				width: nWidth + 'px',
				heigth: nHeight + 'px'
			}
    }); 
}
