
// getElementById wrapper
function $$() {  
    var elements = new Array();  

    for (var i = 0; i < arguments.length; i++) {    
        var element = arguments[i];    

        if (typeof element == 'string')      
            element = document.getElementById(element);    

        if (arguments.length == 1)       
            return element;    

        elements.push(element);  
    }  

    return elements;
} 

function writeEmail(name) {
	document.write(unescape('%3C'+'a hr'+'ef="&#109;&#97;&#105;&#108;&#116;&#111;&#58;'+name+
	'&#64;projectorlamps&#46;ru"%3E'+name+'&#64;projectorlamps&#46;ru%3C/'+'a%3E'));
}

function formatPrice(price) {
	var p = new String(price);
	var len = p.length;
	if(len > 3) {
		p = p.substring(0,len-3)+'&nbsp;'+p.substring(len-3);
	}
	return p.toString();
}

var LAMP = {
};

//var cart = new LAMP.Cart();
//var search = new LAMP.Search();
var cart;
var search;


function toAlias(n) {
	n = n.toLowerCase()
		.replace(/\+/g,'-plus-')
		.replace(/[^A-Za-z0-9]/g,'-')
		.replace(/-{1,}/g,'-')
		.replace(/^-+/,'')
		.replace(/-+$/,'');
	return n;
}

function setPosition(evt) {
    var ele = document.getElementById("pleasewait");
    var x, y;

    if (ele && evt) {
        if (evt.pageX && evt.pageY) {
            x = evt.pageX;
            y = evt.pageY;
        } else {
            x = evt.clientX + (document.documentElement.scrollLeft ?
                               document.documentElement.scrollLeft :
                               document.body.scrollLeft);
            y = evt.clientY + (document.documentElement.scrollTop ?
                               document.documentElement.scrollTop :
                               document.body.scrollTop);
        }

        $(ele).css({'left': x + 20, 'top': y + 20});
    }
}

function progressShow() {
	var ele = document.getElementById("pleasewait");
    if (!ele) {
        ele = $('<div id="pleasewait" style="display: none;">' +
                    '<img src="/i/ajax-loader.gif" class="roller" alt="" />' +
                    '<div>Загрузка&hellip;</div>' +
                '</div>').prependTo("body");
    }

    $(document).bind('mousemove.pleasewait', setPosition);
    $(ele).fadeIn('fast');
}

function progressHide() {
	var ele = document.getElementById("pleasewait");
    if (ele) {
        $(ele).fadeOut('slow', function () {
            $(document).unbind('mousemove.pleasewait');
        });
    }
}

/**
 * Global "please wait" indicator for AJAX-actions
 */
(function () {
    
    $(document).bind('click.pleasewait', setPosition);

    $.ajaxSetup({
        global: false,
        beforeSend: function () {
            // show "please wait" label
            //progressShow();
        },
        complete: function (req, status) {
            // hide label
            //progressHide();            

            if (status !== "success") {
                throw new Error("jQuery.ajax: " + status);
            }
        }
    });
})();

$(document).ready(function(){

	//alert('ready');
	
	search = new LAMP.Search();
	cart = new LAMP.Cart();
	$('textarea.resizable:not(.processed)').TextAreaResizer();
			
	$('#msglink').click(function() {
	
		if(typeof pageTracker != "undefined") {
			pageTracker._trackPageview('/ajax/sendmessage')
		};
	
		speed = '';
		if($('#cb1').attr('checked')) {
			speed = 'fast';
		} else if($('#cb2').attr('checked')) {
			speed = 'slow';
		};
		
		brand = toAlias($('#selbrand').val());
		model = ($('#selmodel').size() > 0 ) ? toAlias($('#selmodel').val()) : '';
		
		progressShow();
	
		$.post("/plugins/projectorlamps/controller.php", { 
			cmd: 'mailsend',
			company: $('#form_company').val(),
			email: $('#form_email').val(),
			phone: $('#form_phone').val(),
			txt: $('#form_txt').val(),
			speed: speed,
			select_brand: brand,
			select_model: model
			
		}, function(i) {
			progressHide();
			//alert(i);
			if(i.res == 'ok') {
				alert('Ваше сообщение отправлено!');
			} else {
				if (i.reason == 'incompleteinfo') {
					alert('Пожалуйста, укажите более полную информацию о Вашей компании');
				} else {
					alert('При отправке сообщения произошла ошибка. Попробуйте повторить попытку позднее.');
				}	
			}
		}, 'json');
		return false;
		
	});	
	
	markFast = function() {
		if($('#cb1').attr('checked')) {
			$('#cb1').attr('checked',false);
		} else {
			$('#cb1').attr('checked',true);
			$('#cb2').attr('checked',false);
		}				
	};
	
	markSlow = function() {
		if($('#cb2').attr('checked')) {
			$('#cb2').attr('checked',false);
		} else {
			$('#cb2').attr('checked',true);
			$('#cb1').attr('checked',false);
		}	
	};
	
	$('#cb1').click(function() {
		if(!$('#cb1').attr('checked')) {
			$('#cb1').attr('checked',false);
		} else {
			$('#cb1').attr('checked',true);
			$('#cb2').attr('checked',false);
		}
	});
	$('#cb2').click(function() {
		if(!$('#cb2').attr('checked')) {
			$('#cb2').attr('checked',false);
		} else {
			$('#cb2').attr('checked',true);
			$('#cb1').attr('checked',false);
		}	
	});
	$('#cb1td').click(markFast);
	$('#cb2td').click(markSlow);
	
/*	if (screen.width < 1280) {
		$('#footer').append('<div style="padding-top: 2px">skype: projectorlamps.ru, icq: 480-964-18, Офис продаж: г.Москва, ул. Озерковская набережная, д.38/40</div>');		
	} else {
		$('#footer').append('skype: projectorlamps.ru, icq: 480-964-18')
				.append('<div style="text-align: left; padding-top: 2px;">Офис продаж: г.Москва, ул. Озерковская набережная, д.38/40</div>');
	}
*/	
	
});
