//#####################################################################################################
function trim(string)
{
    return string.replace(/(^\s+)|(\s+$)/g, "");
}

//#####################################################################################################

function validateCEForm(form_name)
{
    $('.is_required').each(function(i,elem) {
        if ($(elem).val() == "")
        {
            var label_id = "required_"+($(elem).attr('id'));
            alert($("#"+label_id).text());
            setFocus($(elem).attr('id'));
            return false;
        }
    });
    //return true;
}

function setFocus(elem)
{
    $("#"+elem).focus();
    $('html, body').animate({
        scrollTop: $("#"+elem).offset().top - 200
    }, 300);
}

function priceFormat(value)
{
 	var ValueStr = new String( parseFloat(value) );
	if (ValueStr == "NaN") ValueStr = "0";

	var ind = ValueStr.lastIndexOf(".");
	// xxxx.xx
	if ( ind >= 0 )
	{
		if ( ind == ValueStr.length - 2 )
		{
			ValueStr += "0";
		}
	
		if ( ind < ValueStr.length - 3 )
		{
			ValueStr = ValueStr.substr(0, ind + 3);
		}
	}
	else
	{
		ValueStr += ".00";
	}
	// xxxx.xx
	
	// x,xxx.xx
	ind = ValueStr.lastIndexOf(".");
	if ( ind >= 4 )
	{
		ValueStr = ValueStr.substr(0, ind - 3) + "," + ValueStr.substr(ind - 3, 6);
	}
	// x,xxx.xx
	return ValueStr;
}

//#####################################################################################################

function checkEmail(sEmail)
{
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(sEmail)) {
		return true;
	}
	return false;
}

function blockStandart(element) {
    if ($('#'+element+' .blockUI').size() == 0 )
    {
        $("#"+element).block({
                            message: '',
                            css: {
                                    backgroundColor: '#fff',
                                    color: '#000',
                                    top:'1%',
                                    left:'1%',
                                    width:'100px'
                            },
                            overlayCSS:  {
                                backgroundColor: '#fff',
                                opacity:         0.6
                            },
                            centerY: false,
                            centerX: false
                        });
    }
}

function getBodyScrollTop()
{
	return self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
}

/* JSON parser */
(function($){$.toJSON=function(o)
{if(typeof(JSON)=='object'&&JSON.stringify)
return JSON.stringify(o);var type=typeof(o);if(o===null)
return"null";if(type=="undefined")
return undefined;if(type=="number"||type=="boolean")
return o+"";if(type=="string")
return $.quoteString(o);if(type=='object')
{if(typeof o.toJSON=="function")
return $.toJSON(o.toJSON());if(o.constructor===Date)
{var month=o.getUTCMonth()+1;if(month<10)month='0'+month;var day=o.getUTCDate();if(day<10)day='0'+day;var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10)hours='0'+hours;var minutes=o.getUTCMinutes();if(minutes<10)minutes='0'+minutes;var seconds=o.getUTCSeconds();if(seconds<10)seconds='0'+seconds;var milli=o.getUTCMilliseconds();if(milli<100)milli='0'+milli;if(milli<10)milli='0'+milli;return'"'+year+'-'+month+'-'+day+'T'+
hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
if(o.constructor===Array)
{var ret=[];for(var i=0;i<o.length;i++)
ret.push($.toJSON(o[i])||"null");return"["+ret.join(",")+"]";}
var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number")
name='"'+k+'"';else if(type=="string")
name=$.quoteString(k);else
continue;if(typeof o[k]=="function")
continue;var val=$.toJSON(o[k]);pairs.push(name+":"+val);}
return"{"+pairs.join(", ")+"}";}};$.evalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);return eval("("+src+")");};$.secureEvalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
return eval("("+src+")");else
throw new SyntaxError("Error parsing JSON, source is not valid.");};$.quoteString=function(string)
{if(string.match(_escapeable))
{return'"'+string.replace(_escapeable,function(a)
{var c=_meta[a];if(typeof c==='string')return c;c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};})(jQuery);

/*
	Watermark v3.1.3 (March 22, 2011) plugin for jQuery
	http://jquery-watermark.googlecode.com/
	Copyright (c) 2009-2011 Todd Northrop
	http://www.speednet.biz/
	Dual licensed under the MIT or GPL Version 2 licenses.
*/
(function(a,h,y){var w="function",v="password",j="maxLength",n="type",b="",c=true,u="placeholder",i=false,t="watermark",g=t,f="watermarkClass",q="watermarkFocus",l="watermarkSubmit",o="watermarkMaxLength",e="watermarkPassword",d="watermarkText",k=/\r/g,s="input:data("+g+"),textarea:data("+g+")",m="input:text,input:password,input[type=search],input:not([type]),textarea",p=["Page_ClientValidate"],r=i,x=u in document.createElement("input");a.watermark=a.watermark||{version:"3.1.3",runOnce:c,options:{className:t,useNative:c,hideBeforeUnload:c},hide:function(b){a(b).filter(s).each(function(){a.watermark._hide(a(this))})},_hide:function(a,r){var p=a[0],q=(p.value||b).replace(k,b),l=a.data(d)||b,m=a.data(o)||0,i=a.data(f);if(l.length&&q==l){p.value=b;if(a.data(e))if((a.attr(n)||b)==="text"){var g=a.data(e)||[],c=a.parent()||[];if(g.length&&c.length){c[0].removeChild(a[0]);c[0].appendChild(g[0]);a=g}}if(m){a.attr(j,m);a.removeData(o)}if(r){a.attr("autocomplete","off");h.setTimeout(function(){a.select()},1)}}i&&a.removeClass(i)},show:function(b){a(b).filter(s).each(function(){a.watermark._show(a(this))})},_show:function(g){var p=g[0],u=(p.value||b).replace(k,b),h=g.data(d)||b,s=g.attr(n)||b,t=g.data(f);if((u.length==0||u==h)&&!g.data(q)){r=c;if(g.data(e))if(s===v){var m=g.data(e)||[],l=g.parent()||[];if(m.length&&l.length){l[0].removeChild(g[0]);l[0].appendChild(m[0]);g=m;g.attr(j,h.length);p=g[0]}}if(s==="text"||s==="search"){var i=g.attr(j)||0;if(i>0&&h.length>i){g.data(o,i);g.attr(j,h.length)}}t&&g.addClass(t);p.value=h}else a.watermark._hide(g)},hideAll:function(){if(r){a.watermark.hide(m);r=i}},showAll:function(){a.watermark.show(m)}};a.fn.watermark=a.fn.watermark||function(p,o){var t="string";if(!this.length)return this;var s=i,r=typeof p===t;if(r)p=p.replace(k,b);if(typeof o==="object"){s=typeof o.className===t;o=a.extend({},a.watermark.options,o)}else if(typeof o===t){s=c;o=a.extend({},a.watermark.options,{className:o})}else o=a.watermark.options;if(typeof o.useNative!==w)o.useNative=o.useNative?function(){return c}:function(){return i};return this.each(function(){var B="dragleave",A="dragenter",z=this,i=a(z);if(!i.is(m))return;if(i.data(g)){if(r||s){a.watermark._hide(i);r&&i.data(d,p);s&&i.data(f,o.className)}}else{if(x&&o.useNative.call(z,i)&&(i.attr("tagName")||b)!=="TEXTAREA"){r&&i.attr(u,p);return}i.data(d,r?p:b);i.data(f,o.className);i.data(g,1);if((i.attr(n)||b)===v){var C=i.wrap("<span>").parent(),t=a(C.html().replace(/type=["']?password["']?/i,'type="text"'));t.data(d,i.data(d));t.data(f,i.data(f));t.data(g,1);t.attr(j,p.length);t.focus(function(){a.watermark._hide(t,c)}).bind(A,function(){a.watermark._hide(t)}).bind("dragend",function(){h.setTimeout(function(){t.blur()},1)});i.blur(function(){a.watermark._show(i)}).bind(B,function(){a.watermark._show(i)});t.data(e,i);i.data(e,t)}else i.focus(function(){i.data(q,1);a.watermark._hide(i,c)}).blur(function(){i.data(q,0);a.watermark._show(i)}).bind(A,function(){a.watermark._hide(i)}).bind(B,function(){a.watermark._show(i)}).bind("dragend",function(){h.setTimeout(function(){a.watermark._show(i)},1)}).bind("drop",function(e){var c=i[0],a=e.originalEvent.dataTransfer.getData("Text");if((c.value||b).replace(k,b).replace(a,b)===i.data(d))c.value=a;i.focus()});if(z.form){var w=z.form,y=a(w);if(!y.data(l)){y.submit(a.watermark.hideAll);if(w.submit){y.data(l,w.submit);w.submit=function(c,b){return function(){var d=b.data(l);a.watermark.hideAll();if(d.apply)d.apply(c,Array.prototype.slice.call(arguments));else d()}}(w,y)}else{y.data(l,1);w.submit=function(b){return function(){a.watermark.hideAll();delete b.submit;b.submit()}}(w)}}}}a.watermark._show(i)})};if(a.watermark.runOnce){a.watermark.runOnce=i;a.extend(a.expr[":"],{data:function(c,d,b){return!!a.data(c,b[3])}});(function(c){a.fn.val=function(){var e=this;if(!e.length)return arguments.length?e:y;if(!arguments.length)if(e.data(g)){var f=(e[0].value||b).replace(k,b);return f===(e.data(d)||b)?b:f}else return c.apply(e,arguments);else{c.apply(e,arguments);a.watermark.show(e);return e}}})(a.fn.val);p.length&&a(function(){for(var b,c,d=p.length-1;d>=0;d--){b=p[d];c=h[b];if(typeof c===w)h[b]=function(b){return function(){a.watermark.hideAll();return b.apply(null,Array.prototype.slice.call(arguments))}}(c)}});a(h).bind("beforeunload",function(){a.watermark.options.hideBeforeUnload&&a.watermark.hideAll()})}})(jQuery,window);

/**
 * SearchHighlight plugin for jQuery
 *
 * Thanks to Scott Yang <http://scott.yang.id.au/>
 * for the original idea and some code
 *
 * @author Renato Formato <renatoformato@virgilio.it>
 *
 * @version 0.4 (9/1/2009)
*/
if(window.jQuery)(function(a){jQuery.fn.SearchHighlight=function(c){var d=c.debug_referrer||document.referrer;if(!d&&c.keys==undefined)return this;b.options=a.extend({exact:"exact",style_name:"hilite",style_name_suffix:true},c);if(c.engines)b.engines.unshift(c.engines);var e=b.splitKeywords(c.keys!=undefined?c.keys.toLowerCase():b.decodeURL(d,b.engines));if(e&&e.join("")){b.buildReplaceTools(e);if(!b.regex){return this}var f=this;b.hiliteElement(f)}else return this};var b={options:{},regex:null,engines:[[/^http:\/\/(www\.)?google\./i,/q=([^&]+)/i],[/^http:\/\/(www\.)?search\.yahoo\./i,/p=([^&]+)/i],[/^http:\/\/(www\.)?search\.msn\./i,/q=([^&]+)/i],[/^http:\/\/(www\.)?search\.live\./i,/query=([^&]+)/i],[/^http:\/\/(www\.)?search\.aol\./i,/userQuery=([^&]+)/i],[/^http:\/\/(www\.)?ask\.com/i,/q=([^&]+)/i],[/^http:\/\/(www\.)?altavista\./i,/q=([^&]+)/i],[/^http:\/\/(www\.)?feedster\./i,/q=([^&]+)/i],[/^http:\/\/(www\.)?search\.lycos\./i,/q=([^&]+)/i],[/^http:\/\/(www\.)?alltheweb\./i,/q=([^&]+)/i],[/^http:\/\/(www\.)?technorati\.com/i,/([^\?\/]+)(?:\?.*)$/i]],subs:{},decodeURL:function(b,c){try{b=decodeURIComponent(b)}catch(d){b=unescape(b)}var e=null;a.each(c,function(a,c){if(c[0].test(b)){var d=b.match(c[1]);if(d){e=d[1].toLowerCase();return false}}});return e},splitKeywords:function(a){if(a){var b=a.match(/"([^"]*)"/g);if(b)for(var c=0,d=b.length;c<d;c++){var e=new RegExp(b[c]);a=a.replace(e,"@@@"+c+"@@@")}a=a.split(/[\s,\+\.]+/);if(b)for(var c=0,f=a.length;c<f;c++){for(var g=0,d=b.length;g<d;g++){var e=new RegExp("@@@"+g+"@@@");a[c]=a[c].replace(e,b[g].substring(1,b[g].length-1))}}}return a},regexAccent:[[/[\xC0-\xC5\u0100-\u0105]/ig,"a"],[/[\xC7\u0106-\u010D]/ig,"c"],[/[\xC8-\xCB]/ig,"e"],[/[\xCC-\xCF]/ig,"i"],[/\xD1/ig,"n"],[/[\xD2-\xD6\xD8]/ig,"o"],[/[\u015A-\u0161]/ig,"s"],[/[\u0162-\u0167]/ig,"t"],[/[\xD9-\xDC]/ig,"u"],[/\xFF/ig,"y"],[/[\x91\x92\u2018\u2019]/ig,"'"]],matchAccent:/[\x91\x92\xC0-\xC5\xC7-\xCF\xD1-\xD6\xD8-\xDC\xFF\u0100-\u010D\u015A-\u0167\u2018\u2019]/ig,replaceAccent:function(a){b.matchAccent.lastIndex=0;if(b.matchAccent.test(a)){for(var c=0,d=b.regexAccent.length;c<d;c++)a=a.replace(b.regexAccent[c][0],b.regexAccent[c][1])}return a},escapeRegEx:/((?:\\{2})*)([[\]{}*?|])/g,buildReplaceTools:function(c){var d=[],e;a.each(c,function(a,c){if(!b.options.min_length||c.length>=b.options.min_length)if(c=b.replaceAccent(c).replace(b.escapeRegEx,"$1\\$2"))d.push(c)});if(!d.length)return;e=d.join("|");switch(b.options.exact){case"exact":e="\\b(?:"+e+")\\b";break;case"whole":e="\\b\\w*("+e+")\\w*\\b";break}b.regex=new RegExp(e,"gi");a.each(d,function(a,c){b.subs[c]=b.options.style_name+(b.options.style_name_suffix?a+1:"")})},nosearch:/s(?:cript|tyle)|textarea/i,hiliteElement:function(c){var d=b.options,e,f;e=d.highlight?a(d.highlight):a("body");if(!e.length)e=a("body");f=d.nohighlight?a(d.nohighlight):a([]);e.each(function(){b.hiliteTree(this,f)})},hiliteTree:function(c,d){if(d.index(c)!=-1)return;var e=b.options.exact=="whole"?1:0;for(var f=0,g=c.childNodes.length;f<g;f++){var h=c.childNodes[f];if(h.nodeType!=8){if(h.nodeType==3){var i=h.data,j=b.replaceAccent(i);var k="",l,m=0;b.regex.lastIndex=0;while(l=b.regex.exec(j)){k+=b.fixTags(i.substr(m,l.index-m))+'<span class="'+b.subs[l[e].toLowerCase()]+'">'+b.fixTags(i.substr(l.index,l[0].length))+"</span>";m=l.index+l[0].length}if(k){k+=b.fixTags(i.substring(m));var n=a.merge([],a("<span>"+k+"</span>")[0].childNodes);g+=n.length-1;f+=n.length-1;a(h).before(n).remove()}}else{if(h.nodeType==1&&h.nodeName.search(b.nosearch)==-1)b.hiliteTree(h,d)}}}},fixTags:function(a){return a.replace("<","<").replace(">",">")}}})(jQuery)

function checkIsUnsignedDoubleNumberCorrect(sNumber)
{
	var re = new RegExp("^(\\d)+(\\.(\\d)+)?$");
	var ares = re.exec(sNumber);
	if ( null == ares )
	{
		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;
}
