function locationToGET(send){
var tmp = send.split('&');
var get = new Array();
for(k in tmp){
get[tmp[k].split('=')[0]] = tmp[k].split('=')[1];
}
return get;
};
//非同步AJAX
function ajaxRequest(url, send, callback, dataType){
$.ajax({
type : "POST",
url : url,
dataType : dataType,
async : true,
cache : false,
data : send,
error : function(data){
alert('網路連線過慢,網頁請重新整理');
alert(data.responseText);
},
success : function(html){
if($.isFunction(callback))callback(html);
}
});
};
//同步AJAX
function ajaxRequestFalse(url, send, callback, dataType){
$.ajax({
type : "POST",
url : url,
dataType : dataType,
async : false,
cache : false,
data : send,
error : function(data){
alert('網路連線過慢,網頁請重新整理');
},
success : function(html){
if($.isFunction(callback))callback(html);
}
});
};
//背景執行後切換頁面
function backGo(url, send){
if(!send && window.location.href){
send = window.location.href.split("?")[1];
}
$("body").delayBox({msg : "讀取中...",
src : "/config/fun/delayBox/load.gif",
display : true,
mask : true
});
ajaxRequest(url, send,
function(html){
$('#main_rightbox').html(html);
$('body').delayBox({display: false});
}, 'html');
};
function rawurldecode (str) {
return decodeURIComponent(str);
}
function rawurlencode (str) {
str = (str+'').toString();
return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A');
}
function utf8_decode ( str_data ) {
var tmp_arr = [], i = 0, ac = 0, c1 = 0, c2 = 0, c3 = 0;
str_data += '';
while ( i < str_data.length ) {
c1 = str_data.charCodeAt(i);
if (c1 < 128) {
tmp_arr[ac++] = String.fromCharCode(c1);
i++;
} else if ((c1 > 191) && (c1 < 224)) {
c2 = str_data.charCodeAt(i+1);
tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
i += 2;
} else {
c2 = str_data.charCodeAt(i+1);
c3 = str_data.charCodeAt(i+2);
tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
i += 3;
}
}
return tmp_arr.join('');
}
function base64_decode(data) {
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, dec = "", tmp_arr = [];
if (!data) {
return data;
}
data += '';
do { // unpack four hexets into three octets using index points in b64
h1 = b64.indexOf(data.charAt(i++));
h2 = b64.indexOf(data.charAt(i++));
h3 = b64.indexOf(data.charAt(i++));
h4 = b64.indexOf(data.charAt(i++));
bits = h1<<18 | h2<<12 | h3<<6 | h4;
o1 = bits>>16 & 0xff;
o2 = bits>>8 & 0xff;
o3 = bits & 0xff;
if (h3 == 64) {
tmp_arr[ac++] = String.fromCharCode(o1);
} else if (h4 == 64) {
tmp_arr[ac++] = String.fromCharCode(o1, o2);
} else {
tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
}
} while (i < data.length);
dec = tmp_arr.join('');
dec = utf8_decode(dec);
return dec;
}
function utf8_encode(argString) {
var string = (argString+'').replace(/\r\n/g, "\n").replace(/\r/g, "\n");
var utftext = "";
var start, end;
var stringl = 0;
start = end = 0;
stringl = string.length;
for (var n = 0; n < stringl; n++) {
var c1 = string.charCodeAt(n);
var enc = null;
if (c1 < 128) {
end++;
} else if((c1 > 127) && (c1 < 2048)) {
enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
} else {
enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
}
if (enc !== null) {
if (end > start) {
utftext += string.substring(start, end);
}
utftext += enc;
start = end = n+1;
}
}
if (end > start) {
utftext += string.substring(start, string.length);
}
return utftext;
}
function base64_encode( data ) {
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = [];
if (!data) {
return data;
}
data = utf8_encode(data+'');
do { // pack three octets into four hexets
o1 = data.charCodeAt(i++);
o2 = data.charCodeAt(i++);
o3 = data.charCodeAt(i++);
bits = o1<<16 | o2<<8 | o3;
h1 = bits>>18 & 0x3f;
h2 = bits>>12 & 0x3f;
h3 = bits>>6 & 0x3f;
h4 = bits & 0x3f;
// use hexets to index into b64, and append result to encoded string
tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
} while (i < data.length);
enc = tmp_arr.join('');
switch( data.length % 3 ){
case 1:
enc = enc.slice(0, -2) + '==';
break;
case 2:
enc = enc.slice(0, -1) + '=';
break;
}
return enc;
}
function stripslashes (str) {
return (str + '').replace(/\\(.?)/g, function (s, n1) {
switch (n1) {
case '\\':
return '\\';
case '0':
return '\u0000';
case '':
return '';
default:
return n1;
};
});
}
function in_array(needle, haystack, argStrict){
var key = '', strict = !! argStrict;
if(strict){
for(key in haystack){
if(haystack[key] === needle){
return true;
};
};
}
else{
for(key in haystack){
if(haystack[key] == needle){
return true;
};
};
};
return false;
};
//上傳的下載模式
function fileupload_info(path, value, type){
switch(type){
case "file":
var html = '' + rawurldecode(value) + ''+
'
'+
'';
break;
case "file_imp":
var html = '' + rawurldecode(value) + ''+
'
'+
'';
break;
case "file_rep":
var html = '' + rawurldecode(value) + ''+
'
'+
'';
break;
case "img":
var html = ''+
'
'+
'';
break;
case "file-url":
var html = '' + rawurldecode(value) + ''+
'
'+
'';
break;
case "detail-file":
var html = '';
break;
};
return html;
}
//初始上傳模組
function fileupload(id, value_id, url, path, type, ext, f, callback){
var val = $("#" + id).parents(".fileupload_out").find("#" + value_id).val();
if(val){
var h = fileupload_info(path, val, f);
$("#" + id).parents(".fileupload_out").find(".fileupload_info").html(h);
$("#" + id).parents(".fileupload_out").find(".fileupload_info_del").unbind('click').on("click", function(){
$("#" + id).parents(".fileupload_out").find("#" + value_id).val('');
$("#" + id).parents(".fileupload_out").find(".fileupload_info").html('');
$("#" + id).parents(".fileupload_out").find(".progress").hide();
});
}
$("#" + id).fileupload({
url: url,
dataType: 'json', //html, json
formData: [{name: 'Path', value: path}, {name: 'Type', value: type}, {name: 'Ext', value: ext}],
start: function(e, data){
var this_id = e.target.id;
$("#" + this_id).parents(".fileupload_out").find(".progress").show();
},
change: function (e, data) {
var this_id = e.target.id;
$("#" + this_id).parents(".fileupload_out").find(".progress").html('