﻿// CHECK USERNAME
// ---------------------------------------------------------------
function register_checkUsername(){
	username = document.getElementById('user_username').value;
	var regex_username  = /^[[a-zA-Z0-9]{1}[a-zA-Z0-9_\-]{3,16}[a-zA-Z0-9]{1}$/;
	if(username.length < 5 || username.length > 18){showSmallError('status_user_username', 'Username should be between 5 and 18 characters!'); return false;}
	if(!regex_username.test(username)){showSmallError('status_user_username', 'Username contains invalid characters!'); return false;}
	setLoader('status_user_username');
	call('ajax/?a=check_username&data[user_username]='+username,'register_usernameResponse','');
	return true;
}
function register_usernameResponse(data){
	var root = data.childNodes;
	if(root[1] != null){var status_node = root[1].firstChild; var i = 1;}
	else {var status_node = root[0].firstChild; var i = 0};
	if(status_node.firstChild.nodeValue == 'true'){showSmallMessage('status_user_username', 'Username Available!');}
	else{showSmallError('status_user_username', status_node.firstChild.nodeValue);}
}
// ---------------------------------------------------------------

// CHECK E-MAIL
// ---------------------------------------------------------------
function register_checkEmail(){
	email = document.getElementById('user_email').value;
	var regex_email  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-\.])+)\.([a-zA-Z0-9]{2,6})+$/;
	if(!regex_email.test(email)){showSmallError('status_user_email', 'Invalid e-mail address!'); return false;}
	setLoader('status_user_email');
	call('ajax/?a=check_email&data[user_email]='+email,'register_emailResponse','');
	return true;
}
function register_emailResponse(data){
	var root = data.childNodes;
	if(root[1] != null){var status_node = root[1].firstChild; var i = 1;}
	else {var status_node = root[0].firstChild; var i = 0};
	if(status_node.firstChild.nodeValue == 'true'){showSmallMessage('status_user_email', 'E-mail Address OK!');}
	else{showSmallError('status_user_email', status_node.firstChild.nodeValue);}
}
// ---------------------------------------------------------------

// ADD TAG
// ---------------------------------------------------------------
function wallpaper_addTag(wallpaper_id){
	var tagname = document.getElementById('tag_name').value;
    var regex_tag  = /^[[a-zA-Z0-9]{1}[a-zA-Z0-9_\-\+]{1,30}[a-zA-Z0-9]{1}$/;
    if(!regex_tag.test(tagname)){
        showSmallError('tags_status', 'Invalid tag name a-z allowed, space should be represented with the "+" sign!');
    }
    else {
	    setLoader('tags_status');
	    call('ajax/?a=add_tag&data[tag_name]='+escape(tagname)+'&data[wallpaper_id]='+wallpaper_id,'wallpaper_addTagResponce','');
    }
	return false;
}
function wallpaper_addTagResponce(data){
	var root = data.childNodes;
	if(root[1] != null){
        var status_node = root[1].firstChild; var i = 1;
        var tags_node = root[1].childNodes[1];
    }
	else {
        var status_node = root[0].firstChild; var i = 0
        var tags_node = root[0].childNodes[1];
    };
	if(status_node.firstChild.nodeValue == 'true'){showSmallMessage('tags_status', 'Tag added successfully!');}
	else{showSmallError('tags_status', status_node.firstChild.nodeValue);}
    var tag_str = '';
    for(j=0;j<tags_node.childNodes.length;j++){
           tag_str += '<a class="delete" href="#" onClick="return wallpaper_deleteTag( '+CWP_ID+', \''+tags_node.childNodes[j].firstChild.nodeValue+'\');">del</a> &nbsp; <a class="tag" href="tag/'+tags_node.childNodes[j].firstChild.nodeValue+'/"><b>'+tags_node.childNodes[j].firstChild.nodeValue+'</b></a><br />';
    }
    document.getElementById('tags').innerHTML = tag_str;
    document.getElementById('tag_name').value = '';
    return false;
}


// DELETE TAG
// ---------------------------------------------------------------
function wallpaper_deleteTag(wallpaper_id, tagname){
    setLoader('tags_status');
	call('ajax/?a=delete_tag&data[tag_name]='+escape(tagname)+'&data[wallpaper_id]='+wallpaper_id,'wallpaper_deleteTagResponce','');
	return false;
}
function wallpaper_deleteTagResponce(data){
	var root = data.childNodes;
	if(root[1] != null){
        var status_node = root[1].firstChild; var i = 1;
        var tags_node = root[1].childNodes[1];
    }
	else {
        var status_node = root[0].firstChild; var i = 0
        var tags_node = root[0].childNodes[1];
    };
	if(status_node.firstChild.nodeValue == 'true'){showSmallMessage('tags_status', 'Tag deleted successfully!');}
	else{showSmallError('tags_status', status_node.firstChild.nodeValue);}
    var tag_str = '';
    for(j=0;j<tags_node.childNodes.length;j++){
           tag_str += '<a class="delete" href="#" onClick="return wallpaper_deleteTag( '+CWP_ID+', \''+tags_node.childNodes[j].firstChild.nodeValue+'\');">del</a> &nbsp; <a class="tag" href="tag/'+tags_node.childNodes[j].firstChild.nodeValue+'/"><b>'+tags_node.childNodes[j].firstChild.nodeValue+'</b></a><br />';
    }
    document.getElementById('tags').innerHTML = tag_str;
    return false;
}

// LIST TAG
// ---------------------------------------------------------------
function wallpaper_getTags(wallpaper_id, tagname){
    setLoader('tags_status');
	call('ajax/?a=get_tags&data[wallpaper_id]='+wallpaper_id,'wallpaper_getTagsResponce','');
	return false;
}
function wallpaper_getTagsResponce(data){
	var root = data.childNodes;
	if(root[1] != null){
        var status_node = root[1].firstChild; var i = 1;
        var tags_node = root[1].childNodes[1];
    }
	else {
        var status_node = root[0].firstChild; var i = 0
        var tags_node = root[0].childNodes[1];
    };
	if(status_node.firstChild.nodeValue == 'true'){
        document.getElementById('tags_status').innerHTML = '';
    }
	else{showSmallError('tags_status', status_node.firstChild.nodeValue);}
    var tag_str = '';
    for(j=0;j<tags_node.childNodes.length;j++){
           tag_str += '<a class="delete" href="#" onClick="return wallpaper_deleteTag( '+CWP_ID+', \''+tags_node.childNodes[j].firstChild.nodeValue+'\');">del</a> &nbsp; <a class="tag" href="tag/'+tags_node.childNodes[j].firstChild.nodeValue+'/"><b>'+tags_node.childNodes[j].firstChild.nodeValue+'</b></a><br />';
    }
    document.getElementById('tags').innerHTML = tag_str;
    return false;
}