// JavaScript Document

function getOffset(elem) {
    if (elem.getBoundingClientRect) {
        // "правильный" вариант
        return getOffsetRect(elem)
    } else {
        // пусть работает хоть как-то
        return getOffsetSum(elem)
    }
}

function getOffsetSum(elem) {
    var top=0, left=0
    while(elem) {
        top = top + parseInt(elem.offsetTop)
        left = left + parseInt(elem.offsetLeft)
        elem = elem.offsetParent
    }

    return {top: top, left: left}
}

function getOffsetRect(elem) {
    // (1)
    var box = elem.getBoundingClientRect()

    // (2)
    var body = document.body
    var docElem = document.documentElement

    // (3)
    var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop
    var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft

    // (4)
    var clientTop = docElem.clientTop || body.clientTop || 0
    var clientLeft = docElem.clientLeft || body.clientLeft || 0

    // (5)
    var top  = box.top +  scrollTop - clientTop
    var left = box.left + scrollLeft - clientLeft

    return { top: Math.round(top), left: Math.round(left) }
}


function todo(){
	this.action=new Array();
	this.execute=function(){for(var i in this.action){try{todo.action[i]();}catch(er){alert('todo >> '+er.message+' in '+er.fileName+' on '+er.lineNumber);}}};
	var onLoadAction=function(o){return function(){o.execute();}}(this);
	if(typeof document.attachEvent!='undefined')window.attachEvent('onload',onLoadAction);
	else window.addEventListener('load',onLoadAction,false);
}
todo.prototype.get=function(id){return document.getElementById(id);}
todo.prototype.create=function(tag,attrs,text,style){
	var e=document.createElement(tag);
	if(attrs)for(var i in attrs)switch(i){
		case 'class': e.className=attrs[i];break;
		case 'id': e.id=attrs[i];break;
		default: e.setAttribute(i,attrs[i]);break;
	};
	if(text)e.appendChild(document.createTextNode(text));
	if(style)for(var i in style)e.style[i]=style[i];
	return e;
}
todo.prototype.onload=function(func){this.action[this.action.length]=func;}
todo.prototype.importScript=function(src){document.getElementsByTagName('head')[0].appendChild(this.create('script',{'type':'text/javascript','src':src}));};
todo=new todo();

function ShowCallMe() {
	cc = getOffsetSum(document.getElementById('call2me'));
	$('.button_div').show();
	$('.success_div, .error_div').hide();

	$('.Name').val('');
	$('.TelNum').val('');

	ss = $('.callme_cont');
	ss.css('left',cc.left+10);
	ss.css('top',cc.top+18);
	ss.css('z-index',1000);
	ss.toggle(0);
}

function AddCallRequest() {
	n = $('.Name').val();
	t = $('.TelNum').val();
	$('.button_div').show();
	$('.success_div, .error_div').hide();
	if (!t || !n) {
		return false;
	}
	
	$.getJSON("callme.php",{Name:n, TelNum:t},
		function(loaded){
			$('.button_div').hide();
			if (loaded.success == 1) {
				$('.success_div').show();
				$('.callme_cont').delay(1000).fadeOut();
			} 
			if (loaded.success == 0) {
				$('.error_div').show();
				$('.callme_cont').delay(1000).fadeOut();
			}
		});
}

$(document).ready(function() {
	$('a.itput_btn, input.itput_btn').bind('mouseover', function(event) {
		$(this).addClass('pressed');
	}).bind('mouseout', function(event) {
		$(this).removeClass('pressed');
	});
	
	$('.button').bind('mouseover', function(event) {
		$(this).addClass('hover');
	}).bind('mousedown', function(event) {
		$(this).addClass('press');
	}).bind('mouseup', function(event) {
		$(this).removeClass('press');
	}).bind('mouseout', function(event) {
		$(this).removeClass('hover');
		$(this).removeClass('press');
	});
});
