var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var hexChars = "0123456789ABCDEF";
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
if( typeof Array.prototype.indexOf == 'undefined' )
{
	Array.prototype.indexOf = function(object) {
		for (var i = 0, length = this.length; i < length; i++)
			if (this[i] == object) return i;
		return -1;
	}
}
function clickIE() {
	if (document.all){
		//alert(message);
		return false;
	}
} 

function clickNS(e){
	if(document.layers||(document.getElementById&&!document.all)) { 
		if (e.which==2||e.which==3) {
			//alert(message);
			return false;
		}
	}
}
if(document.layers){
	document.captureEvents(Event.MOUSEDOWN);
	document.onmousedown=clickNS;
}else{	
	document.onmouseup=clickNS;
	document.oncontextmenu=clickIE;
}

function test(elm_name){
	str="";
	var i=0;
	for(xthis in elm_name) {  str=str+xthis+"<br>"; i++;}
	document.write(str);
} 
function sendGET(URL, parameters) { 
	alert(URL);
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
   http_request.onreadystatechange = alertContents;

      http_request.open('get',URL, true);
     //alert(parameters);
     http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); // set 
     http_request.setRequestHeader("Content-length", parameters.length);
     http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
  //  alert(parameters);
   //  http_request.send(thai(parameters));
}
function sendPOST(URL, parameters) { //alert(URL);
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
   http_request.onreadystatechange = alertContents;

      http_request.open('POST',URL, true);
     //alert(parameters);
     http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); // set 
     http_request.setRequestHeader("Content-length", parameters.length);
     http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
  //  alert(parameters);
   //  http_request.send(thai(parameters));
}
function alertContents() {	//alert(http_request.readyState);
      if (http_request.readyState == 4) {
      	//alert(http_request.status);
         if (http_request.status == 200) {
           // alert(http_request.responseText);
            result = http_request.responseText;
           //document.write(result);
	          	try {
	   		eval(result);
		}     
		catch(e){          
	  		alert(e+" : "+(e.number & 0xFFFF)+" : "+e.description); 
		}   
       //alert(result);
         //return result;
          //  document.forms[1].elements['result'].value = result;            
         } else {
            alert('There was a problem with the request.');
         }
      }
}
function gen_to_obj(obj,obj_ret){	//alert(obj.value);
	//var val=obj.value.replace(/[^A-Za-z0-9\+\-\=]/g,"");
	var val=obj.value.replace(/[^A-Za-z0-9]/g,"");
	obj_ret.value=val;
	//obj.value=val;

}
function encode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var 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);
   } while (i < input.length);
   
   return output;
}
function redate(obj){
	//obj.value=obj.value.replace(/[^0-9\-]/,"");
	
	
	
		//var reDate=/^(?:\w+\.?)*\w+@(?:\w+\.?)*\w+$/;

		if(obj.value!=""){
			if(obj.value.length==8){
				obj.value=obj.value.substring(0,4)+"-"+obj.value.substring(4,6)+"-"+obj.value.substring(6,8);
				document.getElementById(obj.name).value=obj.value;

			}
			
			var val=obj.value.replace(obj.value.substring(4,5),"-");
			var val=val.replace(obj.value.substring(7,8),"-");

			var reDate=/^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])+$/;
			if(reDate.test(val)) document.getElementById(obj.name).value=val;
			else{
				alert('Please Key Date format [   yyyy-mm-dd  OR  yyyymmdd   ] !!');
				document.getElementById(obj.name).value="";
				document.getElementById(obj.name).focus();
			}
		}
		
}
function JStodis(number,dec_num) { 
	if(number.value==0 ){ number.value=""; return;}
	re = /,/gi;
	var elm=number;
	var isobj=0;
	if((typeof number == "object")){isobj=1;number=number.value; }
	number=number.toString().replace(re,'');	
	//number=number.replace(re,'');	
	var profits=Number(number);
	var plus=1;
	if(profits < 0) {profits=(profits*-1);plus=0;}
	dec_num=Number(dec_num);
	var num_return;
	if(!isNaN(profits)){ 
		var number=profits.toFixed(dec_num);
		var dec=number.substring((number.indexOf('.')+1),(number.indexOf('.')+1)+dec_num);
		var number=(number.indexOf('.') < 0)? number : number.substring(0,number.indexOf('.'));
		number = '' + number;
		if (number.length > 3) {
			var mod = number.length % 3;
			var output = (mod > 0 ? (number.substring(0,mod)) : '');
			for (i=0 ; i < Math.floor(number.length / 3); i++) {
				if ((mod == 0) && (i == 0))
					output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
				else
					output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
			}
			num_return=(dec=="" )? output : (output+"."+dec);
		}else{ 
			num_return=(dec=="" )? number : (number+"."+dec); 
		}		
	}else{
		var profits=0;
		num_return=profits.toFixed(dec_num);
	}
	if(plus==0) num_return=("-"+num_return);
	if(isobj==1) elm.value=num_return; else	return num_return;
}
function get_dayofmonth(lyy,lmm){
	/*var lmm=document.getElementById("lmm").value;
	var lyy=document.getElementById("lyy").value;*/
	//alert(lyy);

	var dd = new Date(lyy, lmm, 0);
	return dd.getDate();
}

function Dec2Hex (Dec) {
var a = Dec % 16;
var b = (Dec - a)/16;
var hex = "" + this.hexChars.charAt(b) + this.hexChars.charAt(a);
return hex;
}
function thai(s){
	//alert(s.length);
  var s2='';
  
  for(var i=0;i<s.length;i++){
  	//alert(s.charCodeAt(i));
    if(s.charCodeAt(i)>3423){
        var n=s.charCodeAt(i)-3424;
        s2+='%'+this.Dec2Hex(n);
    }else s2+=s.charAt(i);
  }
 //alert(s2);
  return s2
}  
function gen_yy(obj){
	var val=Number(obj.value)+Number(5);
	var xn=obj.value;
	obj.length=0;
	for(var i=xn-5;i<val;i++){
			
			var optn = document.createElement("OPTION");
			optn.text = i;
			optn.value = i;
			obj.options.add(optn);
	}
	obj.value=xn;
}

