$(document).ready(function () {
	
	$('#select_date_filter').change(function() {		
		document.DateFilterForm.submit(); return 0;
	});
	$('#jump_to_forum').change(function() {		
		document.ForumJumper.submit(); return 0;
	});
	
		
});

function go_to(url) {
	window.location.href = url;	
}

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
//	console.log(self.innerWidth);
//	console.log(document.documentElement.clientWidth);

	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

//	console.log("xScroll " + xScroll)
//	console.log("windowWidth " + windowWidth)

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
//	console.log("pageWidth " + pageWidth)

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}


function getPageScroll(){

	var xScroll, yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;	
	}

	arrayPageScroll = new Array(xScroll,yScroll) 
	return arrayPageScroll;
}


var intervals = new Array();
function setStopEdit(what) {
    if(intervals[what])
        clearTimeout(intervals[what]);   
    switch(what) {
        case 'username':    
            document.getElementById('check_username_result').innerHTML = 'se incarca..'
            intervals[what] = setTimeout("checkUsername()", 500);
            break;
        case 'email':
            intervals[what] = setTimeout("checkEmail()", 500);
            break;
    }
    
}

function checkEmail() {
    var email     = document.getElementById('reg_email').value;
    var resultBox = document.getElementById('check_email_result');    
	var regex=/^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/i;
	if(regex.test(email)) {
        resultBox.innerHTML = '&nbsp;';
        resultBox.className = "username_ok";
    } else {
        resultBox.innerHTML = "Adresa invalida";        
        resultBox.className = "username_not_ok";
    }
}

function check_username_cb(check_result) {     
    var resultBox = document.getElementById('check_username_result');
        
    check_result = parseInt(check_result);
    switch(check_result) {
        case 0:                        
            resultBox.innerHTML = 'Username-ul este disponibil';
            resultBox.className = "username_ok";                          
            break;                    
        case 1:                        
            //rform.style.display = "none";
            resultBox.innerHTML = 'Username-ul nu este disponibil';
            resultBox.className = "username_not_ok";
            break;
    }    
}

function checkUsername() {
    var username = document.getElementById('reg_username').value;
    var resultBox = document.getElementById('check_username_result');
    var regex=/^[a-z0-9_]+$/i;
    if(!regex.test(username)) {
        resultBox.className = "username_not_ok";
        resultBox.innerHTML = 'Username-ul poate contine doar cifre, litere si _';
    } else {
        if(username.length < 3) {
            resultBox.innerHTML = 'Username-ul trebuie sa contina cel putin 3 caractere';
            resultBox.className = "username_not_ok";
        } else {        
            x_check_username(username, check_username_cb);
        }
    }
}

function checkAll(ref, checkAll, chkName) {
  var chkAll = document.getElementById(checkAll);
  var checks = document.getElementsByName(chkName);
  var boxLength = checks.length;
  var allChecked = false;
  var totalChecked = 0;
  if ( ref == 1 ) {
    if ( chkAll.checked == true ) {
      for ( i=0; i < boxLength; i++ ) {
        checks[i].checked = true;
      }
    }
    else {
      for ( i=0; i < boxLength; i++ ) {
        checks[i].checked = false;
      }
    }
  }
  else {
    for ( i=0; i < boxLength; i++ ) {
      if ( checks[i].checked == true ) {
        allChecked = true;
        continue;
      }
      else {
        allChecked = false;
        break;
      }
    }
    if ( allChecked == true ) {
      chkAll.checked = true;
    }
    else {
      chkAll.checked = false;
    }
  }
  for ( j=0; j < boxLength; j++ ) {
    if ( checks[j].checked == true ) {
      totalChecked++;
	}
  }
}
    
    function get_object_position(obj) {
    	var curleft = curtop = 0;
    	if (obj.offsetParent) {
    		curleft = obj.offsetLeft
    		curtop = obj.offsetTop
    		while (obj = obj.offsetParent) {
    			curleft += obj.offsetLeft
    			curtop += obj.offsetTop
    		}
    	}
    	return [curleft,curtop];
    }
    
    function center_object(obj_id) {    
        obj_to_move = document.getElementById(obj_id);
        scrollInfo = getPageScroll();
        obj_to_move.style.top = ( scrollInfo[1] + 200)  + "px";          
    }
    
    function block_interface(){
        o = document.getElementById('overlay');        
        show('overlay');
        scrollInfo = getPageScroll();
        pageInfo   = getPageSize();
        o.style.height = pageInfo[1] + 'px';
        o.style.width = pageInfo[0] + 'px';        
    }   
    
    function showLogin(goback) {
		/*
        o = document.getElementById('w_login_required'); 
        document.getElementById('login_redirect').value = goback;        
        center_object('w_login_required');
        block_interface(); 
        show('w_login_required');
        document.getElementById('i2_login_box_user').focus();
		*/
		
		document.location.href = '/comunitate/bun-venit.html';
    }
	
	function form_adauga_poze(album_id) {
		document.getElementById('add_photo_album_id').value = album_id;
		toggle('w_add_photos'); 
	}       
    
    function showAvatar(av_url, av_width) {
        
        if(av_width>250) {
            document.getElementById('w_notice').style.width = av_width + 'px';          
            document.getElementById('w_blank_notice_content').style.width = av_width + 'px';   
            document.getElementById('w_notice').style.marginLeft = '-' + parseInt(av_width/2) + 'px';
        }
        document.getElementById('w_blank_notice_content').innerHTML = '<img src="'+av_url+'" style="border: 1px solid #ffffff;" />'; 
        hide('w_regular_notice_content');
        show('w_blank_notice_content');
        center_object('w_notice');
        show('w_notice');
    }
    
    function notice_cb(alert_result) {        
        document.getElementById('w_notice_content').innerHTML = alert_result;
        //document.getElementById('w_notice').style.marginLeft = '-125px';
        document.getElementById('w_notice').style.width = 250 + 'px';        
        hide('w_blank_notice_content');
        show('w_regular_notice_content');    
        center_object('w_notice');
        show('w_notice');
    }
    
    function notice(msg) {
        x_notice(msg, notice_cb);
    }   
    
    function report_cb(report_result) {
        report_button = document.getElementById(report_result[1]);
        switch(report_result[0]) {
            case 1:
                notice('report_posted');
                //showNotice({topic: 'report_posted', overlay: 50});
                report_button.style.display = "none";                          
                break;                    
            case 2:
                notice('report_posted');                
                report_button.style.display = "none";
                break;
        }
    }
    
    function report(item_type, item_id, report_button_id, usersex) {
        
        switch(item_type) {
            case 'p': item_label = 'poza'; break;
            case 'v': item_label = 'videoclipul'; break;
            case 'b': item_label = 'postul'; break;
            case 'u': item_label = 'userul'; break;
			case 'fp': item_label = 'comentariul'; break;
			case 'ft': item_label = 'subiectul'; break;
            default: ''; break;
        }
        
        if(usersex == 1)
            cmsg = 'Esti sigur ca vrei sa raportezi '+item_label+'? ';
        else
            cmsg = 'Esti sigura ca vrei sa raportezi '+item_label+'? ';
        if(confirm(cmsg))
            x_report(item_type, item_id, report_button_id, report_cb);
    }
    
    function starlight_on(starobj, starcount) {
        var rform = starobj.parentNode;
        var stars = rform.getElementsByTagName('img');
        for(var i = 0; i < starcount; i++) {            
            stars[i].src = stars[i].src.replace('_off', '_on');
        }
    }
    
    function starlight_off(starobj) {
        var rform = starobj.parentNode;
        var stars = rform.getElementsByTagName('img');
        for(var i = 0; i < stars.length; i++) {            
            stars[i].src = stars[i].src.replace('_on', '_off');
        }
    }
    
    function toggle(obj_id) {
        obj = document.getElementById(obj_id);
        if(obj) {
            if(obj.style.display == "none") {
                obj.style.display = "block";
                return true;
            }
            else
                if(obj.style.display == "block" || obj.style.display == "") {
                    obj.style.display = "none";
                    return false;
                }
        }
    }
    
    function show(obj_id) {
        obj = document.getElementById(obj_id);
        if(obj) {
            obj.style.display = "block";
            obj.style.visibility = "visible";
            return true;
        }
        return false;
    }
    
    function hide(obj_id) {
        obj = document.getElementById(obj_id);
        if(obj) {
            obj.style.display = "none";
            if(obj_id != 'overlay')
                hide('overlay');
            return true;
        }
        return false;
    }

    function rate_cb(rating_result) {
        rform = document.getElementById(rating_result[1]);
        rform_label = document.getElementById(rating_result[1]+'_label');
        rform_stars = document.getElementById(rating_result[1]+'_stars');
        switch(rating_result[0]) {
                    case 1:                        
                        //rform.style.display = "none";
                        rform_label.innerHMTL = '';
                        rform_stars.innerHTML = 'Votul a fost inregistrat';
                        rform.innerHTML = 'Votul a fost inregistrat';                          
                        break;                    
                    case 2:                        
                        //rform.style.display = "none";
                        rform_label.innerHMTL = '';
                        rform_stars.innerHTML = 'Ai votat deja';
                        rform.innerHTML = 'Ai votat deja';
                        break;
                }   
    }
	
	function rate(item_type, item_id, rating) {
		// get the folder name
		
		x_rate(item_type, item_id, rating, rate_cb);
	}
	
	/* SAJAX CODE */
	// remote scripting library
		// (c) copyright 2005 modernmethod, inc
		var sajax_debug_mode = false;
		var sajax_request_type = "GET";
		var sajax_target_id = "";
		var sajax_failure_redirect = "";
		
		function sajax_debug(text) {
			if (sajax_debug_mode)
				alert(text);
		}
		
 		function sajax_init_object() {
 			sajax_debug("sajax_init_object() called..")
 			
 			var A;
 			
 			var msxmlhttp = new Array(
				'Msxml2.XMLHTTP.5.0',
				'Msxml2.XMLHTTP.4.0',
				'Msxml2.XMLHTTP.3.0',
				'Msxml2.XMLHTTP',
				'Microsoft.XMLHTTP');
			for (var i = 0; i < msxmlhttp.length; i++) {
				try {
					A = new ActiveXObject(msxmlhttp[i]);
				} catch (e) {
					A = null;
				}
			}
 			
			if(!A && typeof XMLHttpRequest != "undefined")
				A = new XMLHttpRequest();
			if (!A)
				sajax_debug("Could not create connection object.");
			return A;
		}
		
		var sajax_requests = new Array();
		
		function sajax_cancel() {
			for (var i = 0; i < sajax_requests.length; i++) 
				sajax_requests[i].abort();
		}
		
		function sajax_do_call(func_name, args) {
			var i, x, n;
			var uri;
			var post_data;
			var target_id;
			
			sajax_debug("in sajax_do_call().." + sajax_request_type + "/" + sajax_target_id);
			target_id = sajax_target_id;
			if (typeof(sajax_request_type) == "undefined" || sajax_request_type == "") 
				sajax_request_type = "GET";
			
			uri = ajax_url;
			if (sajax_request_type == "GET") {
			
				if (uri.indexOf("?") == -1) 
					uri += "?rs=" + escape(func_name);
				else
					uri += "&rs=" + escape(func_name);
				uri += "&rst=" + escape(sajax_target_id);
				uri += "&rsrnd=" + new Date().getTime();
				
				for (i = 0; i < args.length-1; i++) 
					uri += "&rsargs[]=" + escape(args[i]);

				post_data = null;
			} 
			else if (sajax_request_type == "POST") {
				post_data = "rs=" + escape(func_name);
				post_data += "&rst=" + escape(sajax_target_id);
				post_data += "&rsrnd=" + new Date().getTime();
				
				for (i = 0; i < args.length-1; i++) 
					post_data = post_data + "&rsargs[]=" + escape(args[i]);
			}
			else {
				alert("Illegal request type: " + sajax_request_type);
			}
			
			x = sajax_init_object();
			if (x == null) {
				if (sajax_failure_redirect != "") {
					location.href = sajax_failure_redirect;
					return false;
				} else {
					sajax_debug("NULL sajax object for user agent:\n" + navigator.userAgent);
					return false;
				}
			} else {
				x.open(sajax_request_type, uri, true);
				// window.open(uri);
				
				sajax_requests[sajax_requests.length] = x;
				
				if (sajax_request_type == "POST") {
					x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
					x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				}
			
				x.onreadystatechange = function() {
					if (x.readyState != 4) 
						return;

					sajax_debug("received " + x.responseText);
				
					var status;
					var data;
					var txt = x.responseText.replace(/^\s*|\s*$/g,"");
					status = txt.charAt(0);
					data = txt.substring(2);

					if (status == "") {
						// let's just assume this is a pre-response bailout and let it slide for now
					} else if (status == "-") 
						alert("Error: " + data);
					else {
						if (target_id != "") 
							document.getElementById(target_id).innerHTML = eval(data);
						else {
							try {
								var callback;
								var extra_data = false;
								if (typeof args[args.length-1] == "object") {
									callback = args[args.length-1].callback;
									extra_data = args[args.length-1].extra_data;
								} else {
									callback = args[args.length-1];
								}
								callback(eval(data), extra_data);
							} catch (e) {
								sajax_debug("Caught error " + e + ": Could not eval " + data );
							}
						}
					}
				}
			}
			
			sajax_debug(func_name + " uri = " + uri + "/post = " + post_data);
			x.send(post_data);
			sajax_debug(func_name + " waiting..");
			delete x;
			return true;
		}

function checkBlank() {    
    for ( var i = 0; i < arguments.length; i++) {
        if( document.getElementById(arguments[i]).value.length == 0 ) {
            alert('Te rugam sa completezi campurile obligatorii, marcate cu asterix!');
            return false;
        }
    }
    return true;
}
function hide_and_load(id) {
	toggle('w_add_photos');
	toggle('loading_photos');
}



function request_content_cb(result) {
        rform = document.getElementById('request_content');
        switch(result) {
                    case 1:                        
                        //rform.style.display = "none";
                        rform.innerHTML = 'Utilizatorul a fost informat!';                          
                        break;                    
                    case 0:                        
                        //rform.style.display = "none";
                        rform.innerHTML = 'Cerere esuata.';
                        break;
                }   
    }
	
function request_content(user_from, user_to, type) {
	// get the folder name
	x_request_content(user_from, user_to, type, request_content_cb);
}

function set_status_cb(status_txt) {
    
    document.getElementById('owner_status').innerHTML = status_txt;
    if(status_txt != '')
        document.getElementById('status_change').innerHTML = 'schimba';
    hide('status_edit');
    show('status_change');    
}

function set_status(user_id) {
    
    new_s = document.getElementById('new_status').value;
    old_s = document.getElementById('owner_status').innerHTML;
    
    if(old_s != new_s) {
        x_set_status(user_id, new_s, set_status_cb);
    } else {
        set_status_cb(old_s);
    }   
    
}



/**
* Insert text at position
*/
function insert_text(text)
{
	textarea = document.getElementById('forum_post_textarea');
	
	if (!isNaN(textarea.selectionStart))
	{
		var sel_start = textarea.selectionStart;
		var sel_end = textarea.selectionEnd;

		mozWrap(textarea, text, '')
		textarea.selectionStart = sel_start + text.length;
		textarea.selectionEnd = sel_end + text.length;
	}
	else if (textarea.createTextRange && textarea.caretPos)
	{
		
		textarea.focus();
		if (textarea.createTextRange)
		{
			textarea.caretPos = document.selection.createRange().duplicate();
		}

		var caret_pos = textarea.caretPos;
		caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
	}
	else
	{
		textarea.value = textarea.value + text;
	}
	textarea.focus();
	
}

/**
* From http://www.massless.org/mozedit/
*/
function mozWrap(txtarea, open, close)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	var scrollTop = txtarea.scrollTop;

	if (selEnd == 1 || selEnd == 2) 
	{
		selEnd = selLength;
	}

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);

	txtarea.value = s1 + open + s2 + close + s3;
	txtarea.selectionStart = selEnd + open.length + close.length;
	txtarea.selectionEnd = txtarea.selectionStart;
	txtarea.focus();
	txtarea.scrollTop = scrollTop;

	return;
}
