/********************************* AJAX *********************************/

function getHTTPObject(){
	var xmlhttp;
	// Attempt to initialize xmlhttp object
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
    catch (e) {
		// Try to use different activex object
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (E) {
			xmlhttp = false;
		}
	}
	// If not initialized, create XMLHttpRequest object
	if (!xmlhttp) {
		if (typeof XMLHttpRequest != 'undefined') {
			xmlhttp = new XMLHttpRequest();
		}
		else {
			alert("This browser does not support AJAX.");
			return null;
		}
	}
	return xmlhttp;
}

function change_info() {
	httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.open("POST", "/widget/ajax_update/", true);
		httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpObject.setRequestHeader("Connection", "close");
		httpObject.onreadystatechange = Output_ChangeInfo;

		params = new Array();
		with (document.formCreateWidget) {
			params[params.length] = "width=" + encodeURIComponent(width.value);
			params[params.length] = "height=" + encodeURIComponent(document.getElementById('widget').offsetHeight);
			params[params.length] = "text_titlu=" + encodeURIComponent(text_titlu.value);
			params[params.length] = "title_limit=" + encodeURIComponent(title_limit.value);
			params[params.length] = "bck_titlu=" + encodeURIComponent(bck_titlu.value);
			params[params.length] = "text_categ=" + encodeURIComponent(text_categ.value);
			params[params.length] = "bck_categ=" + encodeURIComponent(bck_categ.value);
			params[params.length] = "text_anunt=" + encodeURIComponent(text_anunt.value);
			params[params.length] = "text_data=" + encodeURIComponent(text_data.value);
			params[params.length] = "bck_anunt=" + encodeURIComponent(bck_anunt.value);
			params[params.length] = "color_border=" + encodeURIComponent(color_border.value);
			params[params.length] = "font=" + encodeURIComponent(font.value);
			params[params.length] = "judet=" + encodeURIComponent(judet.value);
			params[params.length] = "cat_id=" + encodeURIComponent(cat_id.value);
			params[params.length] = "numar=" + encodeURIComponent(numar.value);
			
			//show data
			if (show_data.checked == true)
				params[params.length] = "show_data=y";
			else
				params[params.length] = "show_data=n";

			//show images
			if (arata_img.checked == true)
				params[params.length] = "arata_img=y";
			else
				params[params.length] = "arata_img=n";
			
			//show search	
			if (show_search.checked == true)
				params[params.length] = "show_search=y";
			else
				params[params.length] = "show_search=n";
			
			if (document.getElementById('format').checked == true)
				params[params.length] = "format=portrait";
			else
				params[params.length] = "format=landscape";
				
			if (document.getElementById('border_thickness').checked == true)
				params[params.length] = "border_thickness=1";
			else
				params[params.length] = "border_thickness=0";

		}		
		httpObject.send(params.join('&'));
	}
}

function Output_ChangeInfo() {
	if (httpObject.readyState == 4) {
		document.getElementById('widget').innerHTML = httpObject.responseText;
	}
	else {		
		document.getElementById('widget').innerHTML = '<div class="notice">Va rugam sa asteptati pana cand se incarca widget-ul.</div>';
	}
}

function save_widget() {
	httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.open("POST", "/widget/save/", true);
		httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpObject.setRequestHeader("Connection", "close");
		httpObject.onreadystatechange = Output_Save;

		params = new Array();
		with (document.formCreateWidget) {
			params[params.length] = "width=" + encodeURIComponent(width.value);
			params[params.length] = "container_width=" + encodeURIComponent(document.getElementById('container').offsetWidth);
			params[params.length] = "height=" + encodeURIComponent(document.getElementById('widget').offsetHeight);
			params[params.length] = "text_titlu=" + encodeURIComponent(text_titlu.value);
			params[params.length] = "title_limit=" + encodeURIComponent(title_limit.value);
			params[params.length] = "bck_titlu=" + encodeURIComponent(bck_titlu.value);
			params[params.length] = "text_categ=" + encodeURIComponent(text_categ.value);
			params[params.length] = "bck_categ=" + encodeURIComponent(bck_categ.value);
			params[params.length] = "text_anunt=" + encodeURIComponent(text_anunt.value);
			params[params.length] = "text_data=" + encodeURIComponent(text_data.value);
			params[params.length] = "bck_anunt=" + encodeURIComponent(bck_anunt.value);
			params[params.length] = "color_border=" + encodeURIComponent(color_border.value);
			params[params.length] = "font=" + encodeURIComponent(font.value);
			params[params.length] = "judet=" + encodeURIComponent(judet.value);
			params[params.length] = "cat_id=" + encodeURIComponent(cat_id.value);
			params[params.length] = "numar=" + encodeURIComponent(numar.value);

			if (show_data.checked == true)
				params[params.length] = "show_data=y";
			else
				params[params.length] = "show_data=n";
			
			if (arata_img.checked == true)
				params[params.length] = "arata_img=y";
			else
				params[params.length] = "arata_img=n";

	
			if (show_search.checked == true)
				params[params.length] = "show_search=y";
			else
				params[params.length] = "show_search=n";
			
			if (check_email.checked == true)
				params[params.length] = "email=" + encodeURIComponent(email.value);

			if (document.getElementById('format').checked == true)
				params[params.length] = "format=portrait";
			else
				params[params.length] = "format=landscape";
				
			if (document.getElementById('border_thickness').checked == true)
				params[params.length] = "border_thickness=1";
			else
				params[params.length] = "border_thickness=0";

		}
		httpObject.send(params.join('&'));
	}
}

function Output_Save() {
	if (httpObject.readyState == 4) {
		if (httpObject.responseText != "") {
			var response = httpObject.responseText;
			var items = response.split("|msg=|");

			document.getElementById('msg_error').className = 'success';
			document.getElementById('msg_error').innerHTML = items[1];
			document.getElementById('msg_error').style.display = "block";			
			
			document.getElementById('cod_iframe').style.display='block';
			document.getElementById('cod_textarea').value = items[0];
		}
		else {
			document.getElementById('msg_error').className = 'error';
			document.getElementById('msg_error').style.display = "block";
			document.getElementById('msg_error').innerHTML = 'Codul nu a putut fi generat. Va rugam sa incercati din nou.';
		}
	}
	else {
		document.getElementById('msg_error').className = 'notice';
		document.getElementById('msg_error').innerHTML = 'Se creeaza codul pentru widget...';
		document.getElementById('msg_error').style.display = "block";
	}
}
/********************************* JAVASCRIPT *********************************/

function arata_data() {
	show = getElementsByClassName('data_box');
	for (i = 0; i < show.length; i++) {
		elem = show[i];
		if (elem.style.display == 'none') 
			elem.style.display = 'block';
		else
			elem.style.display = 'none';
	}
	return true;
}

function arata_imaginile() {
	
	show = getElementsByClassName('show_img');
	for (i = 0; i < show.length; i++) {
		elem = show[i];
		if (elem.style.display == 'none') 
			elem.style.display = 'block';
		else
			elem.style.display = 'none';
	}
	return true;
}

function arata_cautarea() {
	if (document.getElementById('div_search').style.display == 'block')
		document.getElementById('div_search').style.display = 'none';
	else
		document.getElementById('div_search').style.display = 'block';			
}

function change_color_titlu_anunt(culoare) {
	titluri = getElementsByClassName('a_titlu_anunt');
	for (i = 0; i < titluri.length; i++) {
		titluri[i].style.color = culoare;
	}	
}

function change_color_data_anunt(culoare) {
	titluri = getElementsByClassName('data_box');
	for (i = 0; i < titluri.length; i++) {
		titluri[i].style.color = culoare;
	}
}

function show_email_field() {
	elem = document.getElementById('show_email');
	if (elem.style.display == 'none')
		elem.style.display = 'block';
	else
		elem.style.display = 'none';
}

function checkFormCreateWidget() {
	hashpos = document.location.href.indexOf('#msg');
	if (hashpos == -1)
		document.location.href = document.location.href + '#msg';
	else
		document.location.href = document.location.href.substring(0, hashpos) + "#msg";
	
	var msg = "";

	
	with (document.formCreateWidget) {
		
		if (termeni.checked == false)
			msg = "Trebuie sa fiti de acord cu Termenii de utilizare a widget-ului.";
		
		if (check_email.checked == true && email.value == '')
			msg = 'Trebuie sa specificati adresa de e-mail unde doriti sa trimiti widget-ul.';
		else if (check_email.checked == true && !isEmail(email.value))
			msg = 'Adresa de e-mail nu este corecta.';
	}
	
	if (msg != "") {
		document.getElementById('msg_error').innerHTML = msg;
		document.getElementById('msg_error').style.display = "block";
		document.getElementById('msg_error').className = 'error_big';
		return false;
	}
	return true;

}

function set_width(user_value) {
	if (document.getElementById('format').checked == true)
		var format = 'portrait';
	else
		var format = 'landscape';
	
	if (format == 'landscape') {
		var min_width = 290;
		var max_width = 500;		
	}
	else {
		var min_width = 130;
		var max_width = 230;
	}
	
	if (user_value < min_width) user_value = min_width;
	else if (user_value > max_width) user_value = max_width;
	
	document.getElementById('width').value = user_value;
	document.getElementById('container').style.width=user_value + 'px'; 
	document.getElementById('table_container').style.width=user_value + 'px';	
	
	//if width < 160 -> don't show the image
	if (user_value < 160) {
		document.getElementById('arata_img').checked = false;
		document.getElementById('arata_img').disabled = true;
		show = getElementsByClassName('show_img');
		for (i = 0; i < show.length; i++) {
			elem = show[i];
			elem.style.display = 'none';
		}
		
	}
	else document.getElementById('arata_img').disabled = false;
	
	//make the title have a specific number of characters depending on width and font-family
	var font = document.getElementById('font').value;
	var width = user_value;
	
	// font = Arial
	if (font == 'Arial') {
		if (width >= 130 && width < 160) 
			characters = 80;
		else if (width >= 160 && width <= 230)
			characters = 80;
		else if (width >= 290 && width < 350)
			characters = 80;
		else if (width >= 350 && width <= 500)
			characters = 80;
	}
	//font = Verdana
	else {
		if (width >= 130 && width < 160) 
			characters = 80;
		else if (width >= 160 && width <= 230)
			characters = 80;
		else if (width >= 290 && width < 350)
			characters = 80;
		else if (width >= 350 && width <= 500)
			characters = 80;	
	}
	
	document.getElementById('title_limit').value = characters;	
	
	/*titles = document.getElementsByClassName('a_titlu_anunt');	
	for (j = 0; j < titles.length; j++) {
		if (titles[j].innerHTML.length <= characters) continue;
		titles[j].innerHTML = titles[j].innerHTML.substr(0, characters);		
		if (titles[j].innerHTML.substr(length - 3, 3) != '...') titles[j].innerHTML += '...';
	}*/
	
	return true;
	
	
}

function set_width_old(user_value) {
	
	var width = 150;
	if (document.getElementById('show_data').checked == true) width += 25;
	if (document.getElementById('arata_img').checked == true) width += 45;

	if (user_value < width) {
		user_value = width;
		document.getElementById('width').value = user_value;
	}
	
	document.getElementById('container').style.width=user_value + 'px'; 
	document.getElementById('table_container').style.width=user_value + 'px';	
}

function set_height(user_value) {
	//diference
	var diference = 30;
	if (document.getElementById('cat_id').value != '') diference += 25;
	if (document.getElementById('show_search').checked == true) diference += 25;

	//table
 	if (document.getElementById('show_data').checked == true || document.getElementById('show_search') == true)
		tdh = 40;
	else
		tdh = 20;
		
	if (document.getElementById('marime_font').value == 10) mf = 0.8;
	else if (document.getElementById('marime_font').value == 13) mf = 1;
	else if (document.getElementById('marime_font').value == 15) mf = 1.2;
	
	var min_table = Math.round(tdh * mf) * document.getElementById('numar').value;
 	var min_div = min_table + diference;
	
	var user_div = user_value;
	var user_table = user_value - diference;
	
	if (user_div < min_div) { 
		user_div = min_div;
		document.getElementById('height').value = min_div;
	}

	if (user_table < min_table) user_table = min_table;
	
	document.getElementById('container').style.minHeight= user_div + 'px'; 
	document.getElementById('table_container').style.minHeight=user_table + 'px';
	document.getElementById('table_container').style.height=user_table + 'px';
}
