﻿/// <reference path="jquery-1.3.2-vsdoc2.js" />
function _doPost(elem, uri) {
	$(elem).parents('form')[0].action = uri;
	$(elem).parents('form')[0].submit();
}

function getEnding(count) {
	if (count % 10 == 1 && count % 100 != 11) return '';
	if (count % 10 == 2 && count % 100 != 12) return 'а';
	if (count % 10 == 3 && count % 100 != 13) return 'а';
	if (count % 10 == 4 && count % 100 != 14) return 'а';
	return 'ов';
}

function getEndingNew(count) {
	if (count % 10 == 1 && count % 100 != 11) return 'а';
	if (count % 10 == 2 && count % 100 != 12) return 'ы';
	if (count % 10 == 3 && count % 100 != 13) return 'ы';
	if (count % 10 == 4 && count % 100 != 14) return 'ы';
	return '';
}

function ajaxApiTool(element, tooltip_id, action, paramattr, controller) 
{
    var lock = false;
    var textContainer = $($('#' + tooltip_id).children()[0]);

    var infotooltip = element.tooltip({
        api: true,
        position: ['center', 'right'],
        effect: 'toggle',
        tip: '#' + tooltip_id,
        onBeforeHide: function () {
            textContainer.html('').addClass('waitimg');
        },
        onBeforeShow: function () {
            //alert("onBeforeShow");

            var cur_controller = controller || "/Ajax/";

            var params = this.getTrigger().attr(paramattr);
            if (typeof ($('body').data('ajaxdata_'+action+"_" + params)) == 'undefined' && !lock) {
                //Костыль
                lock = true;
                jQuery.getJSON(cur_controller + action + "/" + params, null, function (data, textStatus) {
                    if (data.Text != null && data.Text != '') {
                        textContainer.removeClass('waitimg');
                        $('body').data('ajaxdata_' + action + "_" + params, data.Text);
                        textContainer.html($('body').data('ajaxdata_' + action + "_" + params));
                    } else if (data.Error != null && data.Error != '') {
                        textContainer.removeClass('waitimg');
                        textContainer.html(data.Error);
                    }
                    else
                    {
                        textContainer.html('').addClass('waitimg');
                    }
                        //Костыль
                    lock = false;
                });
            } else {
                textContainer.html($('body').data('ajaxdata_' + action + "_" + params));
                textContainer.removeClass('waitimg');
            }

            //return false;
        },
        onShow: function () {
            this.getTip().css("top", this.getTrigger().offset().top);
            this.getTip().css("left", this.getTrigger().offset().left + $(this).outerWidth() + 5);
            this.getTip().show();
        },
        delay: 200
    });
}

function comtool(element, tooltip_id) {
	var lock = false;
	var textContainer = $($('#' + tooltip_id).children()[0]);
	var infotooltip = element.tooltip({
		api: true,
		position: ['center', 'right'],
		effect: 'toggle',
		tip: '#' + tooltip_id,
		onBeforeHide: function() {
			textContainer.html('').addClass('waitimg');
		},
		onBeforeShow: function() {
			//alert("onBeforeShow");
			var self = this;
			var params = this.getTrigger().attr("rel").split(':');
			if (typeof($('body').data('com_' + this.getTrigger().attr("rel"))) == 'undefined' && ! lock) {
				//Костыль
				lock = true;
				jQuery.getJSON("/Ajax/GetCommercialCodes/" + params[0] + "/" + params[1], null, function(data, textStatus) {
					if (data.Text == null) {
						data.Text = data.Title;
					}
					if (data.Text != null && data.Text != '') {
						textContainer.removeClass('waitimg');
						$('body').data('com_' + self.getTrigger().attr("rel"), data.Text);
						textContainer.html($('body').data('com_' + self.getTrigger().attr("rel")));
					} else {
						textContainer.html('').addClass('waitimg');
					}
					//Костыль
					lock = false;
				});
			} else {
				textContainer.html($('body').data('com_' + self.getTrigger().attr("rel")));
				textContainer.removeClass('waitimg');
			}

			//return false;
		},
		onShow: function() {
			this.getTip().css("top", this.getTrigger().offset().top);
			this.getTip().css("left", this.getTrigger().offset().left + $(this).outerWidth() + 5);
			this.getTip().show();
		},
		delay: 1000
	});

	/*element.bind("click", function() {
        //alert(1);
        infotooltip.getTip().css("top", $(this).offset().top);
        infotooltip.getTip().css("left", $(this).offset().left + $(this).outerWidth() + 5);
        infotooltip.getTip().show();
    });*/
}

function infotool(element, tooltip_id, page) {

	//Костыль
	var lock = false;
	var textContainer = $($('#' + tooltip_id).children()[0]);
	var infotooltip = $(element).tooltip({
		api: true,
		position: ['center', 'right'],
		delay: 1,
		effect: 'toggle',
		tip: '#' + tooltip_id,
		onBeforeHide: function() {
			textContainer.html('').addClass('waitimg');
		},
		onBeforeShow: function() {
			//alert("onBeforeShow");
			var self = this;
			if (typeof($('body').data('info_' + this.getTrigger().attr("id"))) == 'undefined' && ! lock) {
				//Костыль
				lock = true;
				jQuery.getJSON("/Ajax/GetColumnDescription/" + this.getTrigger().attr("id") + "/" + page, null, function(data, textStatus) {
					if (data.Text == null) {
						data.Text = data.Title;
					}
					if (data.Text != null && data.Text != '') {
						textContainer.removeClass('waitimg');
						$('body').data('info_' + self.getTrigger().attr("id"), data.Text);
						textContainer.html($('body').data('info_' + self.getTrigger().attr("id")));
					} else {
						textContainer.html('').addClass('waitimg');
					}
					//Костыль
					lock = false;
				});
			} else {
				textContainer.html($('body').data('info_' + self.getTrigger().attr("id")));
				textContainer.removeClass('waitimg');
			}

			return false;
		}

	});

	element.bind("click", function() {
		if (typeof(infotooltip.getTip()) == 'undefined') infotooltip.show();
		infotooltip.getTip().css("top", $(this).offset().top);
		infotooltip.getTip().css("left", $(this).offset().left + $(this).outerWidth() + 5);
		infotooltip.getTip().show();
	});

	element.bind("mouseout", function() {
		if (typeof(infotooltip.getTip()) == 'undefined') infotooltip.show();
		infotooltip.getTip().hide();
	});
}

function litool(element, tooltip_id) {
	$(element).tooltip({
		effect: 'toggle',
		tip: '#' + tooltip_id,
		api: true,
		onBeforeShow: function() {
			if (this.getTrigger().hasClass('red')) this.getTip().html("<img src=\"http://counter.yadro.ru/logo;http://" + this.getTrigger().attr("id") + "?27.6" + "\"/>");
			else this.getTip().html("<img style=\"width:300px\" src=\"http://www.liveinternet.ru/stat/" + this.getTrigger().attr("id") + "/index.gif?27.6&graph=yes" + "\"/>");
		},
		onShow: function() {
			this.getTip().css("top", this.getTrigger().offset().top + 30);
			this.getTip().css("left", this.getTrigger().offset().left + 20);
		},
		delay: 0
	});
}

function postool(element, tooltip_id) {
    $(element).tooltip({
        effect: 'toggle',
        tip: '#' + tooltip_id,
        api: true,
        onBeforeShow: function () {
            var atr = this.getTrigger().attr('rel').split(';');
            this.getTip().find('.ttl').html(atr[0] + '&nbsp;Кэш&nbsp;' + atr[1]);
            this.getTip().find('.cnt').html('<a href=\"http://'+atr[2]+'\" target="blank">'+atr[2]+'</a>');
        },
        onShow: function () {
            this.getTip().css("top", this.getTrigger().offset().top + 30);
            this.getTip().css("left", this.getTrigger().offset().left + 20);
        },
        delay: 0
    });
}

function GetCounterName(id) {
	switch (id) {
	case 1:
		return "Liveinternet";
	case 2:
		return "Google Analytics";
	case 3:
		return "Yandex Metrica";
	case 4:
		return "Top100 Rambler";
	case 5:
		return "Mail.ru";
	case 6:
		return "Hotlog";
	case 7:
		return "Spylog";
	case 8:
		return "Bigmir)net";
	case 9:
		return "KMindex";
	case 10:
		return "TOPSTAT.Ru";
	case 11:
		return "MyCounter";
	case 12:
		return "24log";
	case 13:
		return "YandeG";
	case 14:
		return "TopPing";
	case 15:
		return "OpenStat";
	case 16:
		return "Stat24";
	case 17:
		return "Smart Log";
	case 18:
		return "WebVisor";
	}
}

function getValue(value, access, id) {
	var name = GetCounterName(id);
	switch (access) {
	case - 1: return id != 3 ? "<div>" + "<span class=\"gray\">?<\span> " + name + "</div>": "<div><span class=\"red\">!Нет ID</span> " + name + "</div>";
	case 2:
		return value > 0 ? "<div>" + "<span class=\"red\"><b>" + value + "</b></span> " + name + "</div>": value == - 666 ? "<div>" + "<span class=\"red\">!Склеен</span> " + name + "</div>": "<div>" + "<span class=\"red\">!Нет доступа</span> " + name + "</div>";
	default:
		switch (value) {
		case - 2: return "<div>" + "<span class=\"red\">!Нет доступа</span> " + name + "</div>";
		case - 666: return "<div>" + "<span class=\"red\">!Склеен</span> " + name + "</div>";
		default:
			return "<div>" + "<span class=\"" + (id == 3 ? "red": "") + "\"><b>" + value + "</b></span> " + name + "</div>";
		}
	}
}

function increasetool(element, tooltip_id) {
    $(element).tooltip({
        effect: 'toggle',
        tip: '#' + tooltip_id,
        api: true,
        onBeforeShow: function () {
            var params = this.getTrigger().attr("rel").split(':');
            var html = "Приход +" + params[0];
            var append = "<hr/>";
            /*if (params[1] > 0 && params[1] != '')
                append += "+" + params[1] + "&nbsp;Приход: при регистрации<br/>";
            if (params[2] > 0 && params[2] != '')
                append += "+" + params[2] + "&nbsp;Приход: за содействие<br/>";
            if (params[3] > 0 && params[3] != '')
                append += "+" + params[3] + "&nbsp;Приход: партнерские начисления<br/>";
            if (params[4] > 0 && params[4] != '')
                append += "+" + params[4] + "&nbsp;Приход: партнерские начисления API<br/>";
            if (params[5] > 0 && params[5] != '')
                append += "+" + params[5] + "&nbsp;Приход: пополнение WebMoney<br/>";
            if (params[6] > 0 && params[6] != '')
                append += "+" + params[6] + "&nbsp;Приход: пополнение интеркасса<br/>";
            this.getTip().html(html + append);*/

            var arr = new Array();
            if (params[1] > 0 && params[1] != '')
                arr.push({ value: parseFloat(params[1]), text: "+" + params[1] + "&nbsp;Приход: при регистрации<br/>" });
            if (params[2] > 0 && params[2] != '')
                arr.push({ value: parseFloat(params[2]), text: "+" + params[2] + "&nbsp;Приход: за содействие<br/>" });
            if (params[3] > 0 && params[3] != '')
                arr.push({ value: parseFloat(params[3]), text: "+" + params[3] + "&nbsp;Приход: партнерские начисления<br/>" });
            if (params[4] > 0 && params[4] != '')
                arr.push({ value: parseFloat(params[4]), text: "+" + params[4] + "&nbsp;Приход: партнерские начисления API<br/>" });
            if (params[5] > 0 && params[5] != '')
                arr.push({ value: parseFloat(params[5]), text: "+" + params[5] + "&nbsp;Приход: пополнение WebMoney<br/>" });
            if (params[6] > 0 && params[6] != '')
                arr.push({ value: parseFloat(params[6]), text: "+" + params[6] + "&nbsp;Приход: пополнение интеркасса<br/>" });

            arr.sort(comparer);

            for (var i = 0; i < arr.length; i++) {
                append += arr[i].text;
            }

            this.getTip().html(html + append);
        },
        onShow: function () {
            this.getTip().css("top", this.getTrigger().offset().top + 30);
            this.getTip().css("left", this.getTrigger().offset().left + 20);
        },
        delay: 0
    });
}

function comparer(a,b) {
    return (b.value - a.value);
}

function totaltool(element, tooltip_id) {
    $(element).tooltip({
        effect: 'toggle',
        tip: '#' + tooltip_id,
        api: true,
        onBeforeShow: function () {
            var params = this.getTrigger().attr("rel").split(':');
            var html = "Остаток +" + params[0];
            var append = "<hr/>";
            if (params[1] > 0 && params[1] != '')
                append += "+" + params[1] + "&nbsp;Остаток без бонусов \"при регистрации\" и \"за содействие\"<br/>";
            if (params[2] > 0 && params[2] != '')
                append += "+" + params[2] + "&nbsp;Остаток с вычетом выплаты по \"партнерские начисления\" и \"партнерские начисления API\" <br/>";
            if (params[3] > 0 && params[3] != '')
                append += "+" + params[3] + "&nbsp;Остаток с вычетом бонусов и партнерских отчислений<br/>";            
            this.getTip().html(html + append);
        },
        onShow: function () {
            this.getTip().css("top", this.getTrigger().offset().top + 30);
            this.getTip().css("left", this.getTrigger().offset().left + 20);
        },
        delay: 0
    });
}

function decreasetool(element, tooltip_id) {
    $(element).tooltip({
        effect: 'toggle',
        tip: '#' + tooltip_id,
        api: true,
        onBeforeShow: function () {
            var params = this.getTrigger().attr("rel").split(':');
            var html = "Расход " + params[0];
            var append = "<hr/>";
            if (params[1] != 0 && params[1] != '')
                append += params[1] + "&nbsp;Расход: вывод средств<br/>";
            if (params[2] != 0 && params[2] != '')
                append += params[2] + "&nbsp;Расход: использование сервиса<br/>";           
            this.getTip().html(html + append);
        },
        onShow: function () {
            this.getTip().css("top", this.getTrigger().offset().top + 30);
            this.getTip().css("left", this.getTrigger().offset().left + 20);
        },
        delay: 0
    });
}

function countertool(element, tooltip_id) {
	$(element).tooltip({
		effect: 'toggle',
		tip: '#' + tooltip_id,
		api: true,
		onBeforeShow: function() {
			var params = this.getTrigger().attr("rel").split(':');
			var url = this.getTrigger().attr("id");
			var html = getValue(parseInt(params[1]), parseInt(params[3]), parseInt(params[0]));
			var append = "";
			switch (parseInt(params[0])) {
			case 1:
				if (params[1] == 0 || params[1] == - 2) break;
				if (params[1] == - 666 || params[3] == 2) append = "<img src=\"http://counter.yadro.ru/logo;http://" + this.getTrigger().attr("id") + "?27.6" + "\"/>"
				else append = "<img style=\"width:300px\" src=\"http://www.liveinternet.ru/stat/" + this.getTrigger().attr("id") + "/index.gif?27.6&graph=yes" + "\"/>"
				break;
			case 4:
				if (params[1] > 0 && params[3] == 1) append = "<img style=\"width:300px\" src=\"http://top100.rambler.ru/cgi-bin/graph1.cgi?id=" + params[2] + "&type=2\"/>";
				break;
			case 5:
				if (params[1] > 0 && params[3] == 1) append = "<img style=\"width:300px\" src=\"http://top.mail.ru/dynamics.gif?what=visitors&period=day&data=on&id=" + params[2] + "\"/>";
				break;
				/*case 11:
                var now = new Date();                   
                if (params[1] > 0 && params[3] == 1)
                //append = "<img style=\"width:300px\" src=\"http://mycounter.ua/image.php?file=" + params[2] + "-common-" + now.getFullYear() + (now.getMonth() < 9 ? "0" : "") + now.getMonth() + (now.getDay() < 9 ? "0" : "") + now.getDay() + "-1w-hvs\" />";
                {
                var xmlHttpObj = new XMLHttpRequest();
                xmlHttpObj.onreadystatechange = function () {
                if (this.readyState === 4) {
                append = "<img style=\"width:300px\" src=" + "data:image/gif;base64," + $.base64Encode(this.responseText) + " />"
                //alert("data:image/gif;base64," + Base64.encodeBinary(this.responseText));
                }
                };
                xmlHttpObj.open("GET", "http://mycounter.ua/image.php?file=" + params[2] + "-common-" + now.getFullYear() + (now.getMonth() < 9 ? "0" : "") + now.getMonth() + (now.getDay() < 9 ? "0" : "") + now.getDay() + "-1w-hvs", true);
                //xmlHttpObj.setRequestHeader('Referer', 'http://mycounter.ua');
                xmlHttpObj.overrideMimeType('text/plain; charset=x-user-defined');
                xmlHttpObj.send(null);
                }
                break;*/
			case 12:
				var now = new Date();
				if (params[1] > 0 && params[3] == 1) append = "<img style=\"width:300px\" src=\"http://www.24log.ru/stat/graph_stat2.php?project_id=" + params[2] + "&date=" + now.getFullYear() + ((now.getMonth() + 1) < 9 ? "0": "") + (now.getMonth() + 1) + (now.getDate() < 9 ? "0": "") + now.getDate() + "\" />";
				break;
			case 13:
				if (params[3] == 1) append = "<img style=\"width:300px\" src=\"http://yandeg.ru/simg/graph.php?id=" + params[2] + "\" />";
				break;
			}
			this.getTip().html(html + append);
		},
		onShow: function() {
			this.getTip().css("top", this.getTrigger().offset().top + 30);
			this.getTip().css("left", this.getTrigger().offset().left + 20);
		},
		delay: 0
	});
}

function newtool(element, tooltip_id, selector, timeout, page) {

	var lock = false;
	$(element).tooltip({
		// use a simple show/hide effect
		effect: 'toggle',
		direction: "up",
		predelay: 500,
		tip: '#' + tooltip_id,
		api: true,
		onBeforeShow: function() {
			var self = this;
			if (typeof($('body').data('tip_' + this.getTrigger().attr("id"))) == 'undefined' && ! lock) {
				//Костыль
				lock = true;
				if (this.getTrigger().attr("id") != '') {
					$.ajaxSetup({
						async: false
					});
					jQuery.getJSON("/Ajax/GetColumnTitle/" + this.getTrigger().attr("id") + "/" + page + "/" + this.getTrigger().attr("rel"), null, function(data, textStatus) {
						if (data.Text == null) {
							data.Text = data.Title;
						}
						$('body').data('tip_' + self.getTrigger().attr("id"), data.Text);
						self.getTip().find('.rdstl-cont').html($('body').data('tip_' + self.getTrigger().attr("id")));
						//self.getTip().find('.rdstl-cont').html(data.Text);
						lock = false;
					});
					$.ajaxSetup({
						async: true
					});
				}
			}
			else {
				self.getTip().find('.rdstl-cont').html($('body').data('tip_' + self.getTrigger().attr("id")));
				//textContainer.removeClass('waitimg');
			}
		},
		onShow: function() {
			if (this.getTrigger().attr("id") != '') {
				var IE = '\v' == 'v';
				var scrollX = window.scrollX,
				scrollY = window.scrollY;
				if (IE) {
					scrollX = document.documentElement.scrollLeft;
					scrollY = document.documentElement.scrollTop;
				}
				this.getTip().removeClass("br").removeClass('tr');
				this.getTip().removeClass("bl").removeClass('tl');
				if (this.getTrigger().offset().top - this.getTip()[0].clientHeight -
				/*window.*/
				scrollY < 0) {
					if (this.getTrigger().offset().left - this.getTip()[0].clientWidth -
					/*window.*/
					scrollX < 0) {
						//bottom right
						this.getTip().css("top", this.getTrigger().offset().top + 15);
						this.getTip().css("left", this.getTrigger().offset().left + 20);
						this.getTip().addClass("tl");
					}
					else {
						//bottom left
						this.getTip().css("top", this.getTrigger().offset().top + 15);
						this.getTip().css("left", this.getTrigger().offset().left + 20 + this.getTrigger().find(selector).outerWidth() / 2 - this.getTip()[0].clientWidth);
						this.getTip().addClass("tr");
					}
				}
				else {
					if (this.getTrigger().offset().left - this.getTip()[0].clientWidth -
					/*window.*/
					scrollX < 0) {
						// top right
						this.getTip().css("top", this.getTrigger().offset().top + 12 - this.getTip()[0].clientHeight);
						this.getTip().css("left", this.getTrigger().offset().left + 20);
						this.getTip().addClass("bl");
					}
					else {
						// top left 
						this.getTip().css("left", this.getTrigger().offset().left + 20 + this.getTrigger().find(selector).outerWidth() / 2 - this.getTip()[0].clientWidth);
						this.getTip().css("top", this.getTrigger().offset().top + 12 - this.getTip()[0].clientHeight);
						this.getTip().addClass("br");
					}
				}
			}
			else {
				this.getTip().hide();
			}
		},
		delay: timeout
	});
}

function simpletool(element, tooltip_id) {

	$(element).tooltip({
		// use a simple show/hide effect
		effect: 'toggle',
		tip: '#' + tooltip_id,
		api: true,
		onBeforeShow: function() {
			if (this.getTrigger().hasClass("brl")) {
				this.getTip().html(this.getTrigger().html().replace(/\s/g, "<br />"));
			}
			else {
				this.getTip().html(this.getTrigger().html());
			}
		},

		onShow: function() {
			this.getTip().css("top", this.getTrigger().offset().top + 30);
			this.getTip().css("left", this.getTrigger().offset().left + 20);
		},
		delay: 0
	});
}

function acrdisact(element, textval) {

	$(document).ready(function() {
		if (element.val() == "" || element.val() == textval) {
			element.val(textval).addClass('disactive');
		} else {
			element.addClass("active");
		}
		element.bind("focus", function() {
			if ($(this).val() == textval) {
				$(this).val('').addClass("active").removeClass("disactive");
			}
		});

		element.parents('form:first').bind("submit", function(e) {

			if ($(element).val() == textval) {
				element.val('');
			}

		});

		element.bind("blur", function() {
			if ($(this).val() == '') {
				$(this).val(textval).addClass("disactive").removeClass("active");
			}
		});

	});

}

jQuery.ConfirmDelOverlay = function(options) {

	//Initalyze Overlay Content
	if ($("#cdo_overlay").size() == 0) $("<div class=\"overlay_confirm_del\" id=\"cdo_overlay\"><div id=\"likeForm\"><label id=\"message\"></label><input type=\"text\" id=\"confirm_word\" name=\"confirm_word\"/><a id=\"delBt\" href=\"#\">Удалить</a></div><div class=\"wait\"></div><div id=\"report\"></div></div>").appendTo("body");

	var _UNDEF = "undefined";

	//Initialyze Overlay Object
	var overlayObj = $("#cdo_overlay");
	overlayObj.find("div.wait").hide();
	var api = overlayObj.overlay({
		api: true,
		expose: {
			maskId: 'expDiv',
			color: '#555555',
			loadSpeed: 200,
			opacity: 0.9,
			onBeforeLoad: function() {
				$("#expDiv").width($("body").width());
			}
		},

		speed: 0,
		fadeInSpeed: 0,
		closeSpeed: 0
	});

	//overlayObj.find("div.wait").show();
	overlayObj.unbind("click");
	overlayObj.click(function(evt) {
		return false;
	});

	var cur_elem;

	//Ajax Callback Delegate
	var AjaxCallback = function(data) {
		//overlayObj.find("div#likeForm").slideUp(1000);
		$.ajaxSetup({
			async: false
		});
		overlayObj.find("div.wait").hide();
		data = jQuery.makeArray(data);
		var message = options.onMessagePrepend ? options.onMessagePrepend(data) : data[0].Message;

		overlayObj.find("div#report").html(message);

		if (options.onAjaxCallback != null) options.onAjaxCallback(cur_elem, data);

		if (overlayObj.position().top + overlayObj.height() > jQuery("body").height()) {
			overlayObj.animate({
				top: (jQuery("body").outerHeight(true) - overlayObj.outerHeight(true) - 200) + "px"
			},
			0);
			javascript: scroll(0, jQuery("body").outerHeight(true) - window.innerHeight);
		}
	};

	if (options.isConfirm)
	//On Click
	$(options.linkSel).click(function() {
		cur_elem = this;

		//Reset Elements
		overlayObj.find("div#likeForm").show();
		overlayObj.find("input[name=confirm_word]").val("");
		overlayObj.find("div#report").html("");
		overlayObj.find("div.close").show();

		//On Delete Button Click
		var dlgClick = function(evt) {
			if (evt.keyCode != 13 && evt.button != 0) return;

			if ($.trim(overlayObj.find("input[name=confirm_word]").val().toLowerCase()) != "delete") return false;

			overlayObj.find("div#likeForm").hide();
			overlayObj.find("div.wait").show();

			var url = options.ajaxUrl || options.generateUrl(cur_elem);
			var data = ! (options.generateData) || options.generateData();

			options.ajaxMethod.toLowerCase() == "post" ? $.post(url, data, AjaxCallback, 'json') : $.get(url, data, AjaxCallback, 'json');
			return false;
		};

		overlayObj.find("a#delBt").unbind("click");
		overlayObj.find("a#delBt").click(dlgClick);
		overlayObj.find("input[name=confirm_word]").unbind("keydown");
		overlayObj.find("input[name=confirm_word]").keydown(dlgClick);

		//On Label Prepend
		if (typeof(options.onLabelPrepend) != _UNDEF) overlayObj.find("label#message").html(options.onLabelPrepend(options.labelText, cur_elem))
		else overlayObj.find("label#message").html(options.labelText);

		//overlayObj.find("a#delBt").attr("href", jQuery(this).attr("rel"));
		api.load();
		$("#confirm_word").focus();
		return false;
	});
	else $(options.linkSel).click(function() {

		cur_elem = this;
		api.load();
		//jQuery.BlockUi();
		//Reset Elements
		overlayObj.find("div#likeForm").hide();
		overlayObj.find("div.wait").show();
		overlayObj.find("input[name=confirm_word]").val("");
		overlayObj.find("div#report").html("");

		var url = options.ajaxUrl || options.generateUrl(cur_elem);
		var data = ! (options.generateData) || options.generateData();
		$("#confirm_word").focus();
		$.ajaxSetup({
			async: true
		});
		options.ajaxMethod.toLowerCase() == "post" ? $.post(url, data, AjaxCallback, 'json') : $.get(url, data, AjaxCallback, 'json');
		return false;
	});

}

jQuery.ConfirmMoveToOverlay = function(options) {

	//Initalyze Overlay Content
	var _UNDEF = "undefined";

	var cur_elem;

	//Ajax Callback Delegate
	var AjaxCallback = function(data) {

		data = jQuery.makeArray(data);
		if (options.onAjaxCallback != null) options.onAjaxCallback(cur_elem, data);

	};

	//On Click
	$(options.linkSel).change(function() {
		cur_elem = this;

		var url = options.ajaxUrl;
		var data = ! (options.generateData) || options.generateData();

		options.ajaxMethod.toLowerCase() == "post" ? $.post(url, data, AjaxCallback, 'json') : $.get(url, data, AjaxCallback, 'json');

		return false;
	});
}

function getBodyWidth(rdstable){

    if (rdstable == undefined || rdstable == null) return $("body").width();
    
	var w = ($("body").width() > $(rdstable).outerWidth() + $(rdstable).offset().left) ? $("body").width() : $(rdstable).outerWidth() + $(rdstable).offset().left;
	return w;
}

function AddSec(time, clockid) {
	//  oldtime = $("body").data("time");
	var time = parseInt(time) + 1000;

	if (! (typeof(time) == 'undefined')) {
		rdsServerTime = new Date();
		rdsServerTime.setTime(time + 1000);
		var Year = rdsServerTime.getFullYear();
		var Month = rdsServerTime.getMonth() + 1;
		Month = (Month < 10) ? "0" + Month: Month;
		var Day = rdsServerTime.getDate();
		Day = (Day < 10) ? "0" + Day: Day;
		var rdsTime = rdsServerTime.toLocaleTimeString();
		var rdsDate = Day + "." + Month + "." + Year;
		// $("#" + $("body").data("timerelement")).text(rdsDate + " " + rdsTime);
		$("#" + clockid).html(rdsDate + " " + rdsTime);
		//$("body").data("time",rdsServerTime.getTime())
		window.setTimeout('AddSec(\'' + time + '\',\'' + clockid + '\')', 1000);

	}

};

jQuery.fn.rdsHostoryHider = function(options) {
	var options = jQuery.extend({
		histhider_cookiename: 'HistoryHider',
		hideblockid: ['historycont'],
		histhider_cookieval: '1',
		histhider_multiple: null,
		histhider_onClick: null,
		histhider_default: 'block'
	},
	options || {});

	if ($.cookie(options.histhider_cookiename) != null) {
		$.cookie(options.histhider_cookiename, options.histhider_cookieval, {
			expires: 1,
			secure: false,
			path: "/"

		});
	}

	for (var i = 0; i < options.hideblockid.length; i++)
	$("#" + options.hideblockid[i]).css("display", options.histhider_default);

	$(this).click(function(e) {

		if ($("#" + options.hideblockid).css("display") == "none") {
			$.cookie(options.histhider_cookiename, null, {
				expires: 1,
				secure: false,
				path: "/"
			});
			if (options.histhider_onClick != null) {
				options.histhider_onClick(this, options);
			}
			$(this).addClass("open");
		} else {
			$.cookie(options.histhider_cookiename, options.histhider_cookieval, {
				expires: 1,
				secure: false,
				path: "/"
			});
			if (options.histhider_onClick != null) {
				options.histhider_onClick(this, options);
			}
			$(this).removeClass("open");
		}
		if (options.histhider_multiple != null && options.histhider_multiple == 'multiple') {
			curElem = $(this).parent().children().index(this);
			$("#" + options.hideblockid[curElem]).slideToggle("fast");
		} else {
			for (var i in options.hideblockid) {
				$("#" + options.hideblockid[i]).slideToggle("fast");
			}
		}
		if (e.target.type == 'checkbox') return true;
		return false;
	});
	return this
}


jQuery.fn.RdsInputChecked = function (parameters) {
    var options = jQuery.extend(
        {
            checked_class: "checked",
            default_value: ""
        }, parameters || {});

    jQuery(this).each(function () {
        var jqObj = jQuery(this);
        
        if ( $.trim(jqObj.val()) != options.default_value) {
            jqObj.addClass(options.checked_class);
        }

        jqObj.bind("blur", function () {
            var jqObj = jQuery(this);

            if ($.trim(jqObj.val()) == options.default_value) {
                jqObj.removeClass(options.checked_class);

            }

            if ($.trim(jqObj.val()) != options.default_value) {
                jqObj.addClass(options.checked_class);
            }

        });

        jqObj.bind("change", function () {
            var jqObj = jQuery(this);

            if ($.trim(jqObj.val()) == options.default_value) {
                jqObj.removeClass(options.checked_class);
            }
        });
    });

    return this;
};

jQuery.fn.RdsInputDefault = function (parameters) {
    var options = jQuery.extend(
        {
            default_value: null
        }, parameters || {});

    jQuery(this).each(function () {
        var jqObj = jQuery(this);
        var jqObjVal =  $.trim(jqObj.val());

        if (jqObjVal == "") {
            jqObj.val(options.default_value);
        }

        jqObj.bind("focus", function () {
            var jqObj = $(this);
            var curVa = $.trim(jqObj.val());

            if (curVa == options.default_value) {
                jqObj.val("");
            }
        });

        jqObj.bind("blur", function () {
            var jqObj = jQuery(this);

            if ( $.trim(jqObj.val()) == "") {
                jqObj.val(options.default_value);

            }
        });
    });

    return this;
};


jQuery.fn.RdsInput = function(_options) {

	var options = jQuery.extend({

		default_value: null,
		default_hide: true,
		checked_class: "checked"
	},
	_options || {});

	jQuery(this).each(function() {

		var jqObj = jQuery(this);
		var jqObjVal = $.trim(jqObj.val());

		if (jqObjVal == "") {
			jqObj.val(options.default_value);
		}

		if ( $.trim(jqObj.val()) != options.default_value) {
			jqObj.addClass(options.checked_class);
		}

		jqObj.bind("focus", function() {
			var jqObj = $(this);
			var curVa = $.trim(jqObj.val());

			if (options.default_hide && curVa == options.default_value) {
				jqObj.val("");
			}
		});

		jqObj.bind("blur", function() {
			var jqObj = jQuery(this);

			if ($.trim(jqObj.val()) == "") {
				jqObj.val(options.default_value);

			}

            if ($.trim(jqObj.val()) == options.default_value) {
				jqObj.removeClass(options.checked_class);

			}

            if ($.trim(jqObj.val()) != options.default_value) {
				jqObj.addClass(options.checked_class);
			}

		}); 

		jqObj.bind("change", function() {
			var jqObj = jQuery(this);

			if ($.trim(jqObj.val()) == options.default_value) {
				jqObj.removeClass(options.checked_class);
			}
		});

	});

};


