
	var SC_SID, SC_LID, SC_LIB, SC_LANG, changeFlag = scAdmin = false;
	var SCUploadImgTypes =	'PNG;JPG;JPEG;GIF;';
	var SCDateFormat, SCCurrFormat, msgValidator = null;

	var SCJPath = GetSCJPath();
	var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
	var quickmouseflag = false, quicktimer = null, quickwindow = null;

	SCLoadScript('jquery/jquery.public.js');

	SCLoadScript('jquery/jquery.inputmask.js');
	SCLoadScript('jquery/jquery.maskMoney.js');
	
	SCLoadScript('jquery/jquery.load.js');

	SCLoadScript('jquery/jquery.imageswitch.js');

	function SCLoadScript(fname) 		{ document.write( '<scr' + 'ipt type="text/javascript" src="' + SCJPath + fname + '"><\/scr' + 'ipt>' ); }
	function SCLoadStyle(fname)			{ document.write( '<link rel="stylesheet" type="text/css" href="' + SCJPath + fname + '" />' ); }

	function GetSCJPath() {
		var scripts = document.getElementsByTagName("script");
		var regex = /(.*\/)/i;
		for(var i=0; i<scripts.length; i++) {
			var currentScriptSrc = scripts[i].src;
			if (currentScriptSrc.match(regex)) return currentScriptSrc.match(regex)[1];
		}		
		return null;
	}
	
	function ChangeControl()				{ changeFlag = true; }
	function IsIE()							{ return $.browser.msie; }
	function NotNull(value)					{ return (IsNull(value)) ? false : true; }
	function ScriptText(value)				{ return !IsNull(value) ? "'" + value + "'" : ''; }
	function Mod(v1, v2)					{ return v1 - (Math.floor(v1 / v2) * v2); }
	function LenControl (obj, len) 			{ if (obj.value == '' || obj.value.length < len) { alert(SCMessage['searchmustlen']); return false; } else return true; }
	function FocusControl(dv, fmt) 			{ if (dv.value == fmt) dv.value = ''; }
	function BlurControl(dv, fmt) 			{ if (dv.value == '') dv.value = fmt; }
	function SetHomePage(url) 				{ document.body.style.behavior='url(#default#homepage)'; document.body.setHomePage(url); }
	function AddFavorites(url, title) 		{ if (window.sidebar) { window.sidebar.addPanel(title, url,""); } else if( window.external ) { window.external.AddFavorite(url, title); } else if(window.opera && window.print) { return true; } }
	function Zero(v, c) 					{ var z = '000000000000000000000000000000', tmp = String(v); if (tmp.length < c) return z.substr(0, c - tmp.length) + tmp; else return tmp; }

	function parseCurr(val) {
		if (IsNull(val)) return 0;
		var reg = new RegExp(SCCurrFormat.moneySymbol, 'gi');
		if (SCCurrFormat.thousandSymbol == ',') { tmp = val.replace(/\,/g, ''); }
		if (SCCurrFormat.thousandSymbol == '.') { tmp = val.replace(/\./g, ''); tmp = tmp.replace(/\,/g, '.'); }
		tmp = tmp.replace(reg, ''); return tmp;
	}

	function IsNull(value) 		{
		if (!value) return(true);
		if (value == null) return(true);
		if (typeof(value) == 'undefined') return(true);
		if (typeof(value) == 'number') { if (isNaN(value)) return(true); }
		if (typeof(value) == 'string') { if (value == '') return(true); }
		return(false);
	}

	function ImageRatio(w, h, r) {
		if (w == h) { if (w > r) return [r, r]; }
		if (w > h) 	{ if (w > r) return [r, Math.floor((h * r) / w)]; }
		if (w < h) 	{ if (h > r) return [Math.floor((w * r) / h), r]; }
		return [w, h];
	}

	function MailCheck(obj) {
		var x = obj.val(); if (x != '') { x = x.toLowerCase(); obj.value = x;
			var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (filter.test(x)) { return true; } else { obj.value = ''; alert(SCMessage['mustemail']); obj.focus(); return false; }
		} else return true;
	}

	function addslashes(str) {
		str=str.replace(/\'/g,'\\\'');
		str=str.replace(/\"/g,'\\"');
		str=str.replace(/\\/g,'\\\\');
		str=str.replace(/\0/g,'\\0');
		return str;
	}
	
	function stripslashes(str) {
		str=str.replace(/\\'/g,'\'');
		str=str.replace(/\\"/g,'"');
		str=str.replace(/\\\\/g,'\\');
		str=str.replace(/\\0/g,'\0');
		return str;
	}
	
	function html_entity_decode( string ) {
		var ret, tarea = document.createElement('textarea');
		tarea.innerHTML = string;
		ret = tarea.value;
		return ret;
	}

	function TCControl(a) {
		if(a.substr(0,1)==0 && a.lenght!=11) { return false; }
		var i = 9, md='', mc='', digit, mr='';
		while(digit = a.charAt(--i)) { i%2==0 ? md += digit : mc += digit; }
		if(((eval(md.split('').join('+'))*7)-eval(mc.split('').join('+')))%10!=parseInt(a.substr(9,1),10)){ return false; }
		for (c=0; c<=9; c++) { mr += a.charAt(c); }
		if(eval(mr.split('').join('+'))%10!=parseInt(a.substr(10,1),10)) { return false; }
		return true;
	}

	function encode64(input) {
		input = escape(input);
		var output = "", chr1, chr2, chr3 = "", enc1, enc2, enc3, enc4 = "", i = 0;
		do {
			chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++);
			enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63;
			if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; }
			output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
			chr1 = chr2 = chr3 = ""; enc1 = enc2 = enc3 = enc4 = "";
		} while (i < input.length);
		return output;
  	}

  	function decode64(input) {
		 var output = "", chr1, chr2, chr3 = "", enc1, enc2, enc3, enc4 = "", i = 0;
		 // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
		 var base64test = /[^A-Za-z0-9\+\/\=]/g;
		 if (base64test.exec(input)) { alert("There were invalid base64 characters in the input text.\n" + "Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\n" + "Expect errors in decoding."); }
		 input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
		 do {
			enc1 = keyStr.indexOf(input.charAt(i++)); enc2 = keyStr.indexOf(input.charAt(i++)); enc3 = keyStr.indexOf(input.charAt(i++)); enc4 = keyStr.indexOf(input.charAt(i++));
			chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4;
			output = output + String.fromCharCode(chr1);
			if (enc3 != 64) { output = output + String.fromCharCode(chr2); }
			if (enc4 != 64) { output = output + String.fromCharCode(chr3); }
			chr1 = chr2 = chr3 = ""; enc1 = enc2 = enc3 = enc4 = "";
		
		 } while (i < input.length);
		 return unescape(output);
  	}

	function mkpass() {
		var pass_len=6;
		var cons_lo = ['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z'];
		var cons_up = ['B','C','D','F','G','H','J','K','L','M','N','P','Q','R','S','T','V','W','X','Y','Z'];
		var hard_cons_lo = ['b','c','d','f','g','h','k','m','p','s','t','v','z'];
		var hard_cons_up = ['B','C','D','F','G','H','K','M','P','S','T','V','Z'];
		var link_cons_lo = ['h','l','r'];
		var link_cons_up = ['H','L','R'];
		var vowels_lo = ['a','e','i','o','u'];
		var vowels_up = ['A','E','I','U'];
		var digits = ['1','2','3','4','5','6','7','8','9'];
		var names = [cons_lo, cons_up, digits, hard_cons_lo, hard_cons_up, digits, link_cons_lo, link_cons_up, digits, vowels_lo, vowels_up, digits];
		var newpass= '';
		for(i=0; i<pass_len; i++) newpass = newpass + randstr(names[choice(names)]);
		return newpass;
	}

	function ShowQuickClose() {
		if (quickmouseflag == false) { quickwindow.hide('fast'); clearTimeout(quicktimer); return; }
		quicktimer = setTimeout("ShowQuickClose()", 500);
	}
	
	function randstr(arg) 	{ var str = '', seed = choice(arg); str = arg[seed]; return str; }
	function choice(arg) 	{ return Math.floor(Math.random()*arg.length); }



