// JavaScript Document

function char2hex( str ){
	var array = str.split('&');
	str = array.join('%26');
	var array2 = str.split('#');
	str = array2.join("%23");
	return str;
}

function unescapeTxt(s){
	return unescape(s);
}

function get_option_value(element_id){
	var selection = document.getElementById(element_id);
	var num = selection.selectedIndex;
	var selection_value = selection[num].value;
	return selection_value;
}

function get_option_inner_html(element_id){
	var selection = document.getElementById(element_id);
	var num = selection.selectedIndex;
	var selection_inner = selection[num].innerHTML;
	return selection_inner;
}

function get_ajax(path,element){
	var ajaxRequest;  // The variable that makes Ajax possible!
    try{
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
	// Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
			$(element).innerHTML = ajaxRequest.responseText;
        }
    }
	
	ajaxRequest.open("GET", path, true);
	ajaxRequest.send(null);	
}

function get_ajax_plus(path,element){
	var ajaxRequest;  // The variable that makes Ajax possible!
    try{
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
	// Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
			$(element).innerHTML += ajaxRequest.responseText;
        }
    }
	
	ajaxRequest.open("GET", path, true);
	ajaxRequest.send(null);	
}

function get_ajax_func(path,func,element){
	var ajaxRequest;  // The variable that makes Ajax possible!
    try{
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
	// Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
			if(element != ""){
				$(element).innerHTML = ajaxRequest.responseText;
			}
			func();
        }
    }
	
	ajaxRequest.open("GET", path, true);
	ajaxRequest.send(null);	
}

function send_rant(user_id){
	var body = $('rant_box').value;
	var page = $('rant_page').value;
	if( body != "" ){
		function whattodo(){
			var sURL = unescape(window.location.pathname);
			window.location.href = sURL;
		}
		get_ajax_func("system/functions/php/make_rant.php?body=" + escape(body) + "&page=" + page + "&user_id=" + user_id,whattodo,"");
	} else {
		alert("You must enter a rant to post!");
	}
}

function get_rants(start,end,page){
	$('rants').innerHTML = "<center><img src='system/images/bigrotation2.gif'></center>";
	get_ajax("system/functions/php/get_rants.php?start=" + start + "&end=" + end + "&page=" + page, "rants");
}

function send_affirmative(id){
	$('affirm_'+id).innerHTML = "loading...";
	get_ajax("system/functions/php/send_affirmative.php?id=" + id, "affirm_" + id);
}

function send_wow(id){
	$('wow_'+id).innerHTML = "loading...";
	get_ajax("system/functions/php/send_wow.php?id=" + id, "wow_" + id);
}

function send_flag(id){
	$('flag_'+id).innerHTML = "loading...";
	get_ajax("system/functions/php/send_flag.php?id=" + id, "flag_" + id);
}


function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.innerHTML = limitNum - limitField.value.length;
	}
}

function check_form(){
	var email = $('email').value;
	var username = $('username').value;
	var password = $('password').value;
	var password2 = $('password2').value;
	//var website = $('website').value;
	//alert('u: ' + username + ' - p1: ' + password + ' - p2 ' + password2 + ' - e: ' + email + ' - w: ' + website);
	
	if( email != "" && username != "" && password != ""){
		if( password == password2){
			//alert('passwords match!');
			var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if(filter.test(email)){
				//alert('valid email');
				$('sign_form').action = "join.php?sign_up=yes";
				$('sign_form').submit();
			} else {
				alert('Please enter a valid email address!');
			}
		} else {
			alert('passwords do not match.');
		}
	} else {
		alert("Please fill out all form areas!");
	}
	
}

function check_form_save(){
	var password = $('password').value;
	var password2 = $('password2').value;
	var website = $('website').value;
	//alert('u: ' + username + ' - p1: ' + password + ' - p2 ' + password2 + ' - e: ' + email + ' - w: ' + website);
	if( password == password2 && password != ""){
		//alert('passwords match!');
		//alert('valid email');
		$('sign_form').action = "profile.php?edit=yes";
		$('sign_form').submit();
		
	} else {
		alert('passwords do not match.');
	}
	
}

function handleKeyPress(e,form){
	var key = e.keyCode || e.which;
	if(key == 13){
		SendLogin();
	}
}

function SendLogin(){
	var ajaxRequest;  // The variable that makes Ajax possible!
    try{
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
			var ans = ajaxRequest.responseText;
			if (ans == "not valid"){
				document.getElementById('login_area').innerHTML = "<br><b><span class='subtitle'>Login and password information is incorrect.</span></b>";
			} else if (ans == "no match"){
				var response = "<b><span class='subtitle'>There is no user information for <i>'" + user + "'</i> in our records.</span></b>"
				document.getElementById('login_area').innerHTML = response;
			} else { 
				document.getElementById('login_area').innerHTML = "<b><span class='subtitle'>Successfully Logged In.<br>Go to your <a href='profile.php'>profile!</a></span></b>";			
			}
        }
    }
	var user = $('login').value;
	var password = $('password').value;
	document.getElementById('login_area').innerHTML = "<img src='system/images/bigrotation2.gif'>";
	ajaxRequest.open("GET", "system/functions/php/member_login_check.php?login=" + user + "&password=" + escape(password), true);
	ajaxRequest.send(null);
}

function check_upload(element){
	if($(element).value != "" && $('name').value != ""){
		document.add_ad.submit();
	} else if ($('code').value != "" && $('name').value != ""){
		document.add_ad.submit();
	} else {
		alert('You must upload a file or enter code first!');
	}
}

function check_upload_book(element){
	if($(element).value != "" && $('name').value != ""){
		document.add_book.submit();
	} else if ($('code').value == ""){ 
		alert('You must upload a file or enter code first!');
	}
}
