74 lines
2.3 KiB
JavaScript
74 lines
2.3 KiB
JavaScript
function setCookie(name, value) {
|
|
var end = new Date();
|
|
end.setTime( end.getTime() + 3600 * 1000 );
|
|
var str=name+"="+escape(value)+"; expires="+end.toGMTString()+"; path=/";
|
|
document.cookie = str;
|
|
}
|
|
function getCookie(name) {
|
|
var debut = document.cookie.indexOf(name);
|
|
if( debut == -1 ) return null;
|
|
var end = document.cookie.indexOf( ";", debut+name.length+1 );
|
|
if( end == -1 ) end = document.cookie.length;
|
|
return unescape( document.cookie.substring( debut+name.length+1, end ) );
|
|
}
|
|
|
|
function close_important(element) {
|
|
element.style.opacity = 0;
|
|
setTimeout(function(){ element.parentNode.removeChild(element); }, 200);
|
|
}
|
|
|
|
/*
|
|
Send post ajax request to url defined in action.
|
|
Callback the function defined in the callback attribute from the submit type.
|
|
*/
|
|
function ajaxWrapper(evt){
|
|
evt.preventDefault();
|
|
var elems = evt.target;
|
|
var params = "";
|
|
// do not embed submit value (-1)
|
|
for(i = 0; i < elems.length-1; i++){
|
|
if(params) params += "&";
|
|
params += encodeURIComponent(elems[i].name)+"="+encodeURIComponent(elems[i].value);
|
|
}
|
|
const req = new XMLHttpRequest();
|
|
req.open("POST", evt.target.action, true);
|
|
req.setRequestHeader('Content-Type',"application/x-www-form-urlencoded");
|
|
req.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
|
req.onreadystatechange = function(){
|
|
if(req.readyState == 4 && (req.status == 200 || req.status == 0)){
|
|
var fn = window[elems[elems.length-1].getAttribute("callback")];
|
|
if(typeof fn == 'function'){
|
|
fn(req.responseText);
|
|
}
|
|
}
|
|
}
|
|
req.send(params);
|
|
}
|
|
|
|
/*
|
|
Add event listener on submit for all form with class with-ajax.
|
|
*/
|
|
|
|
window.onload = function(){
|
|
|
|
var ele;
|
|
var elems = document.getElementsByClassName('with-ajax');
|
|
for(i = 0; i < elems.length; i++){
|
|
ele = elems[i];
|
|
if(ele.addEventListener){ // Normal people
|
|
ele.addEventListener("submit", ajaxWrapper, false);
|
|
}else if(ele.attachEvent){ // Retarded user using IE
|
|
ele.attachEvent("onsubmit", ajaxWrapper);
|
|
}
|
|
}
|
|
|
|
if(getCookie('pc_notif') == 'true')
|
|
document.getElementsByClassName('alert')[0].parentNode.removeChild(document.getElementsByClassName('alert')[0]);
|
|
if(getCookie('pc_notif_2') == 'true')
|
|
document.getElementsByClassName('alert')[0].parentNode.removeChild(document.getElementsByClassName('alert')[0]);
|
|
|
|
}
|
|
|
|
function login(response){
|
|
alert(response);
|
|
} |