function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function show_img(src,w,h){
 	var imgWin = window.open('', 'url', "height="+h+",width="+w);
  imgWin.document.write(
    '<HTML><TITLE></TITLE><HEAD>'+
    '</HEAD><BODY  leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">'+
    '<IMG src='+src+' width='+w+' height='+h+' onClick="javascript: window.close()">'+
    '</BODY></HTML>'
  );
  imgWin.document.close();
}

function getPos(obj)
{
    try {
        var hal = obj,
            x = 0,
            y = 0,
            m = 0;
        while(hal.tagName!="BODY") {
            x += hal.offsetLeft;
            y += hal.offsetTop;
            hal = hal.offsetParent;
        }
				
    } catch(e) {}
    return ({'x':x,'y':y});
}

//Orders processing

function setIH(id,v){
   document.getElementById(id).innerHTML = v;    
}

function $(id){
    return document.getElementById(id);
}

function addToOrder(pid){    
    var xsa = new XS2AJAX();
    xsa.onready = function(){
        setIH('basketValue',xsa.responseJS.Sum);
    }
    xsa.send({'pid':pid},'/sales/order/add_to_basket/');       
}

function addToWaitList(pid){    
    var xsa = new XS2AJAX();
    if(currentUser==''){
        alert('Для того, чтобы добавить товар в список ожидания, необходимо авторизоваться.');
        return;   
    }
    xsa.onready = function(){
        alert('Товар успешно добавлен в лист ожидания.');
    }
    xsa.send({'pid':pid},'/sales/order/add_to_waitlist/');       
}

function addToWishes(evnt){    
    if(currentUser=='' && $('mlLogin').value==""){
		var p = getPos($('toWishes'));
    	$('MiniLogin').style.display="";
    	$('MiniLogin').style.left = p.x+"px";
    	$('MiniLogin').style.top = p.y-160+"px";
    	return;	
    }
    var xsa = new XS2AJAX();
    xsa.onready = function(){
        if(xsa.responseJS.Error!=''){
        	alert(xsa.responseJS.Error);	
        }
        else{
        	//alert(xsa.responseText);
        	//window.location = 'http://www.mydiveblogs.com/wishlist/'+xsa.responseJS.customerName;
        	window.location = '/wishlist/'+xsa.responseJS.customerName;
        }    	
    }
    //xsa.send({'pid':currentPid,'Login':$('mlLogin').value,'Password':$('mlPassword').value},'/catalog/product/add_to_wishes/');       
    xsa.send({'pid':currentPid,'Login':$('mlLogin').value,'Password':$('mlPassword').value},'/catalog/product/add_to_wishes_new/');       
}

function changeDscale(obj){
    var d = obj.value;
    var xsa = new XS2AJAX();
    xsa.onready = function(){
        setIH('basketValue',xsa.responseJS.Sum); 
        setIH('Sum',xsa.responseJS.Sum);
        setIH('disc_info',(xsa.responseJS.Discount>0) ? '* С учетом скидки '+xsa.responseJS.DiscountScale[0].NName+' '+xsa.responseJS.Discount+'%' : '&nbsp;');       
    }
    xsa.send({'dscale':d},'/sales/order/change_dscale/');           
}

function changeAmount(pid){
    var a = $('am_'+pid).value; //количество
    var xsa = new XS2AJAX();
    xsa.onready = function(){       
        setIH('basketValue',xsa.responseJS.Sum);      
        setIH('Sum',xsa.responseJS.Sum);        
        setIH('disc_info',(xsa.responseJS.Discount>0) ? '* С учетом скидки '+xsa.responseJS.DiscountScale[0]['NName']+' '+xsa.responseJS.Discount+'%' : '&nbsp;');       
        setIH('sm_'+pid,$('am_'+pid).value*$('p_'+pid).innerHTML);
    }
    xsa.send({'pid':pid,'amount':a},'/sales/order/change_amount/');               
}

function toggleNotifyMe(pid){
    var xsa = new XS2AJAX();
    xsa.onready = function(){       
        var cs = xsa.responseJS.cs;
        if(cs==1){
            setIH("wln_"+pid,"да (<a href=\"javascript:void(0)\" onclick=\"toggleNotifyMe("+pid+")\">нет</a>)");   
        }
        else if(cs==0){
            setIH("wln_"+pid,"нет (<a href=\"javascript:void(0)\" onclick=\"javascript:toggleNotifyMe("+pid+")\">да</a>)");   
        }
    }
    xsa.send({'pid':pid},'/sales/wait_item/toggle_notification/');           
}

function transferToBasket(pid){
    var xsa = new XS2AJAX();
    xsa.onready = function(){
        setIH('basketValue',xsa.responseJS.Sum);
        setIH('basketTab',xsa.responseText);
        $('wli_'+pid).parentNode.removeChild($('wli_'+pid),true);
    }
    xsa.send({'pid':pid},'/sales/wait_item/transfer_to_basket/');              
}

function deleteFromOrder(pid){
    if(confirm('Вы уверены, что хотите удалить строку из заказа?')){
        var xsa = new XS2AJAX();
        xsa.onready = function(){
            setIH('basketValue',xsa.responseJS.Sum);
            setIH('Sum',xsa.responseJS.Sum);        
            setIH('disc_info',(xsa.responseJS.Discount>0) ? '* С учетом скидки '+xsa.responseJS.DiscountScale[0]['NName']+' '+xsa.responseJS.Discount+'%' : '&nbsp;');       
            $('os_'+pid).parentNode.removeChild($('os_'+pid));
        }
        xsa.send({'pid':pid},'/sales/order/delete_from_basket/');       
    }  
}

function deleteFromWaitList(pid){
    if(confirm('Вы уверены, что хотите удалить строку из листа ожидания?')){
        var xsa = new XS2AJAX();
        xsa.onready = function(){
            $('wli_'+pid).parentNode.removeChild($('wli_'+pid));
        }
        xsa.send({'pid':pid},'/sales/wait_item/delete/');       
    }  
}

function registerCard(){
    var xsa = new XS2AJAX();
    var f = $('regCard');
    
    if(!f.elements['Birthdate'].value.match(/^[0-3]?\d.[0-1]?\d.(19)?\d{2}$/)){
        alert('Поле Дата рождения пусто или дата указана в неверном формате.');
        return;   
    }
    if(f.elements['RDCard'].value==''){
        alert('Введите, пожалуйста, номер Вашей дисконтной карточки.');
        return;    
    }
    xsa.onready = function(){
       $('regCardState').innerHTML='Ваша заявка отправлена.';
       f.reset(); 
    }
    xsa.send(f,'/sales/customer/submit_reg_card/');           
}

function registerCard_(){
    var xsa = new XS2AJAX();
    var f = $('regCard');
    
    if(!f.elements['Birthdate'].value.match(/^[0-3]?\d.[0-1]?\d.(19)?\d{2}$/)){
        alert('Поле Дата рождения пусто или дата указана в неверном формате.');
        return;   
    }
    if(f.elements['RDCard'].value==''){
        alert('Введите, пожалуйста, номер Вашей дисконтной карточки.');
        return;    
    }
    xsa.onready = function(){
       $('regCardState').innerHTML='Ваша заявка отправлена.';
       f.reset(); 
    }
    xsa.send(f,'/sales/customer/submit_reg_card_/');           
}

function authorizeUser(){
    var f = $('userDetails');
    var xsa = new XS2AJAX();
    xsa.onready = function(){        
        if (xsa.responseJS.State == 'Ok'){
            f.elements['NName'].value = xsa.responseJS.user.NName;
			if (xsa.responseJS.user.Birthdate) {
				var d = xsa.responseJS.user.Birthdate.split('-');
				f.elements['Birthdate'].value = d[2].concat('.',d[1],'.',d[0]);
			}
			if (xsa.responseJS.user.Sex == 'Муж') {
				f.elements['sex_m'].checked = 'checked';
			}
			if (xsa.responseJS.user.Sex == 'Жен') {
				f.elements['sex_f'].checked = 'checked';
			}
			f.elements['RDCard'].value = xsa.responseJS.user.RDCard;   
            f.elements['Email'].value = xsa.responseJS.user.Email;   
            f.elements['Phone'].value = xsa.responseJS.user.Phone;   
            f.elements['City'].value = xsa.responseJS.user.City;   
            f.elements['Address'].value = xsa.responseJS.user.Address;   
            f.elements['Notes'].value = xsa.responseJS.user.Notes;   
            $('authorize').style.display='none';
            $('signin').style.display='none';
			$('cardin').style.display='none';
			$('cardin2').style.display='none';
            if(xsa.responseJS.user.RDCard!=''){
                $('RDCDiscountSuggest').style.display = '';   
            }
        }
        else{
           alert('Такой пользователь не найден.'); 
        }
    } 
    xsa.send($('authorize'),'/sales/customer/authorize/');
}

function submitUserDetails(){
    var f = $('userDetails');

    if(f.elements['Login'].value!='' && f.elements['Login'].value!='-1'){
        if(f.elements['Password'].value=='' && f.elements['Password2'].value==''){
            alert('Пожалуйста, заполните поле "Пароль" и его подтверждение');   
            return;               
        }
        else if(f.elements['Password'].value!=f.elements['Password2'].value){
            alert('Подтверждение пароля не совпадает с паролем');   
            return;                               
        }
		if(f.elements['RDCard'].value!=''){
			if(!f.elements['Birthdate'].value.match(/^[0-3]?\d.[0-1]?\d.(19)?\d{2}$/)){
				f.elements['Birthdate'].value = 'ДД.ММ.ГГГГ';
				alert('Поле Дата рождения пусто или дата указана в неверном формате.');
				return;   
			}
		}
    }
	if ((f.elements['Login'].value=='')&&(f.elements['RDCard'].value!='')){
		alert('Регистрация дисконтной карты возможна только при регистрации пользователя');
		return;   
	}
    
    if(f.elements['NName'].value==''){
        alert('Пожалуйста, заполните поле "ФИО"');   
        return;
    }
    if(f.elements['Email'].value=='' && f.elements['Phone'].value==''){
        alert('Пожалуйста, заполните поле "Ваш Email" или "Телефон"');   
        return;           
    }
    if(f.elements['Address'].value==''){
        alert('Пожалуйста, заполните поле "Адрес доставки"');   
        return;           
    }
    if(f.elements['Delivery'].value==''){
        alert('Пожалуйста, заполните поле "Способ доставки"');   
        return;           
    }    
    if(f.elements['Payment'].value==''){
        alert('Пожалуйста, заполните поле "Способ оплаты"');   
        return;           
    }    
    
    var xsa = new XS2AJAX();
    xsa.onready = function(){        
        if (xsa.responseJS.State == 'Ok'){
			if (xsa.responseJS.userRegister == 'Ok') {
				if (xsa.responseJS.cardRegister == 'Ok'){
					alert("Пользователь зарегистрирован. Ваша заявка на регистрацию карты отправлена.");
				} else {
					alert("Пользователь зарегистрирован.");
				}
			}
           window.location='/order_confirm/';
        }
        else{
           alert(xsa.responseJS.Error); 
        }
    } 
    
    xsa.send(f,'/sales/order/submit_user_details/');       
}

function registerCustomer(){
    var f = $('userDetails');
    
    if(f.elements['Login'].value!=''){
        if(f.elements['Password1'].value=='' && f.elements['Password2'].value==''){
            alert('Пожалуйста, заполните поле "Пароль" и его подтверждение');   
            return;               
        }
        else if(f.elements['Password1'].value!=f.elements['Password2'].value){
            alert('Подтверждение пароля не совпадает с паролем');   
            return;                               
        }
    }
    
    if(f.elements['NName'].value==''){
        alert('Пожалуйста, заполните поле "ФИО"');   
        return;
    }
    if(f.elements['Email'].value=='' && f.elements['Phone'].value==''){
        alert('Пожалуйста, заполните поле "Ваш Email" или "Телефон"');   
        return;           
    }
    if(f.elements['Address'].value==''){
        alert('Пожалуйста, заполните поле "Адрес доставки"');   
        return;           
    }
    if((f.elements['RDCard'].value!='')||(f.elements['Birthdate'].value!='')){
		if(!f.elements['Birthdate'].value.match(/^[0-3]?\d.[0-1]?\d.(19)?\d{2}$/)){
			f.elements['Birthdate'].value = 'ДД.ММ.ГГГГ';
			if(f.elements['RDCard'].value!=''){
				alert('Поле Дата рождения пусто или дата указана в неверном формате.');
				return;
			}
		}
    }
	
    var xsa = new XS2AJAX();
    xsa.onready = function(){        
        if (xsa.responseJS.State == 'Ok'){
			if (xsa.responseJS.cardRegister == 'Ok'){
				alert("Ваша заявка на регистрацию карты отправлена.");
			}
           window.location='/sales/customer/edit/';
        }
        else{
           alert(xsa.responseJS.Error); 
        }
    } 
    
    xsa.send(f,'/sales/customer/submit_register/');             
}

function editCustomer(){
    var f = $('userDetails');
    
    if(f.elements['Password1'].value!=f.elements['Password2'].value){
        alert('Подтверждение пароля не совпадает с паролем');   
        return;                               
    }
    
    if(f.elements['NName'].value==''){
        alert('Пожалуйста, заполните поле "ФИО"');   
        return;
    }
    if(f.elements['Email'].value=='' && f.elements['Phone'].value==''){
        alert('Пожалуйста, заполните поле "Ваш Email" или "Телефон"');   
        return;           
    }
    if(f.elements['Address'].value==''){
        alert('Пожалуйста, заполните поле "Адрес доставки"');   
        return;           
    }
    if((f.elements['RDCard'].value!='')||(f.elements['Birthdate'].value!='')){
		if(!f.elements['Birthdate'].value.match(/^[0-3]?\d.[0-1]?\d.(19)?\d{2}$/)){
			f.elements['Birthdate'].value = 'ДД.ММ.ГГГГ';
			if(f.elements['RDCard'].value!=''){
				alert('Поле Дата рождения пусто или дата указана в неверном формате.');
				return;
			}
		}
    }

    var xsa = new XS2AJAX();
    xsa.onready = function(){        
        if (xsa.responseJS.State == 'Ok'){
			if (xsa.responseJS.cardRegister == 'Ok'){
				alert("Ваша заявка на регистрацию карты отправлена.");
			}
           window.location='/sales/customer/edit/';
        }
        else{
           alert(xsa.responseJS.Error); 
        }
    } 
    
    xsa.send(f,'/sales/customer/submit_edit/');             
}

function changePayment(){
    var p = $('Payment').value;
    for(var i=0; i<payments.length; i++){
        payment = payments[i];
        if(payment.NodId==p && payment.Note!=''){
            $('PaymentNote').style.display = '';
            setIH('PaymentNote',payment.Note);
            break;   
        } 
        else{
            $('PaymentNote').style.display = 'none';
        }  
    }
}

function changeDelivery(){
    var d = $('Delivery').value;
    for(var i=0; i<deliveries.length; i++){
        delivery = deliveries[i];
        if(delivery.NodId==d){
            h = delivery;
            if (delivery.Note!=''){
                $('DeliveryNote').style.display = '';
                setIH('DeliveryNote',delivery.Note);
                break;   
            }
        } 
        else{
            $('DeliveryNote').style.display = 'none';
        }  
    }
    var v;
    for(var i=0; i<$('Payment').options.length ;i++){
        v = false;
        g = h.Payment;
        for (var j=0; j<g.length;j++){
            if(g[j].NodId==$('Payment').options[i].value){
                v=true;   
            }   
        } 
        if($('Payment').value == $('Payment').options[i].value){
            if (!v) $('Payment').selectedIndex=0; 
        }
        $('Payment').options[i].style.display = (v)?'':'none';
    }    
}