function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

//==================================================================================================================================

function set_action_list_value(action_list_value, form_name)
{
	
	var f = eval("document."+form_name);

	var action_list = f.action_list;

	action_list.value = action_list_value;

	f.submit();
	return false;


}



function validate_email(field)
{
	var str = field.value;

	if (window.RegExp) 
	{
		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
		var reg1 = new RegExp(reg1str);
		var reg2 = new RegExp(reg2str);
		
		if (!reg1.test(str) && reg2.test(str)) 
		{
			return true;
		}
		
		return false;
	} 
	else 
	{
		if(str.indexOf("@") >= 0)
		{
			return true;
		}
		
		return false;
	}
}

function set_class_general(element_obj,new_class_name)
{
	element_obj.setAttribute("class", new_class_name);
	element_obj.setAttribute("className", new_class_name);
}


function get_form_values(form_obj)
{
    var i=0
    var ret_string = "";
    
    while(true)
    {
        var cur_element = form_obj.elements[i];
        
        if(!cur_element ) break;
        //alert(cur_element.type);
        switch(cur_element.type)
        {
            case "text":
            case "hidden":
            case "password":
            case "textarea":
                ret_string = ret_string+cur_element.name+"="+(cur_element.value)+"&";
            break;
            
            case "select":
            case "select-one":
                if(cur_element.multiple==true)
                {
                    
                }
                else
                {
                    ret_string = ret_string+cur_element.name+"="+(cur_element.value)+"&";
                }
                
            break;
            
            
            case "radio":
            case "checkbox":
                if(cur_element.checked==true)
                {
                    ret_string = ret_string+cur_element.name+"="+(cur_element.value)+"&";
                }
            break;
        }
        
        i++;
    }
    
    //alert(ret_string);
    
    return ret_string;
}


function order(orderby_var)
{
	 document.form_order.orderby.value = orderby_var;
	 document.form_order.submit();
}

function check_date(date_string)
{
    var original_date_array = date_string.split("-");
    
    var composed_date = new Date();
    
    
    composed_date.setFullYear(original_date_array[2]);
    composed_date.setDate('01');

    composed_date.setMonth((original_date_array[1]-1));

    composed_date.setDate(original_date_array[0]);
/*
    alert(composed_date);
    
    alert ("|"+composed_date.getFullYear() + " " +original_date_array[2]);
    alert ( "|" + composed_date.getMonth()+ " " +(original_date_array[1]-1));
    alert ( "|" + composed_date.getDate()+ " " +original_date_array[0]);
  */      
    if(composed_date.getFullYear()==original_date_array[2] && composed_date.getMonth()==(original_date_array[1]-1) && composed_date.getDate()==original_date_array[0])
    {
        return true;
    }
    else
    {
        return false;
    }
}

//=============================================================================
//Function that trims the text in a textarea or input to the specified length
//==============================================================================

function trim_text(obj,size)
{
	if(obj.value.length>=size)
	{
		obj.value=obj.value.substr(0,size);
	}
}

function trim_count(obj,counter,size)
{
	trim_text(obj,size);
	
	var value=(size-obj.value.length);
	
	//alert(counter.tagName);
	
	switch(counter.tagName.toLowerCase())
	{
	    case "div":
	    case "span":
	       counter.innerHTML = value;
        break;
        
       default:
            counter.value= value;
       break;
	}
}


//==============================================================================
// For teh JS Select
//==============================================================================

var fActiveMenu = false;
var oOverMenu = false;

function mouseSelect(e)
{
	if (fActiveMenu)
	{
		if (oOverMenu == false)
		{
			oOverMenu = false;
			document.getElementById(fActiveMenu).style.display = "none";
			fActiveMenu = false;
			return false;
		}
		return false;
	}
	return true;
}

function menuActivate(idEdit, idMenu, idSel)
{
    var text='';
	if (fActiveMenu) return mouseSelect(0);

	oMenu = document.getElementById(idMenu);
	oEdit = document.getElementById(idEdit);
	nTop = oEdit.offsetTop + oEdit.offsetHeight;
	nLeft = oEdit.offsetLeft;
	while (oEdit.offsetParent != document.body)
	{
	    
		oEdit = oEdit.offsetParent;
		if(oEdit.style.position=="relative" || oEdit.style.position=="absolute") break;
		nTop  += oEdit.offsetTop;
		nLeft += oEdit.offsetLeft;		
	}
	
	
	oMenu.style.left = nLeft;
	oMenu.style.top = nTop;
	oMenu.style.display = "";
	fActiveMenu = idMenu;
	try
	{
	   document.getElementById(idSel).focus();
	}catch(e){}
	return false;
}

function textSet(idEdit, text)
{
	document.getElementById(idEdit).value = text;
	oOverMenu = false;
	mouseSelect(0);
	try
	{
	   document.getElementById(idEdit).focus();
	}
	catch(e)
	{}
	
}

function comboKey(idEdit, idSel,idHidden)
{
	if (window.event.keyCode == 13 || window.event.keyCode == 32)
	{
		textSet(idEdit,idSel.options[idSel.selectedIndex].text);
		textSet(idHidden,idSel.value);
	}
	else if (window.event.keyCode == 27)
	{
		mouseSelect(0);
		try
		{
		  document.getElementById(idEdit).focus();
		}
		catch(e)
		{}
	}
}


function set_pages(offset_var, form_name)
{
	
	frm = eval("document."+form_name);
	frm.offset.value = offset_var;

	frm.submit();
}


function getElementHeight(Elem) 
{
    var ns4=false;
    var op5=false;
    
	if (ns4) 
	{
		var elem = getObjNN4(document, Elem);
		return elem.clip.height;
	} 
	else 
	{
		if(document.getElementById) 
		{
			var elem = document.getElementById(Elem);
		} 
		else if (document.all)
		{
			var elem = document.all[Elem];
		}
		
		if (op5) 
		{ 
			xPos = elem.style.pixelHeight;
		} 
		else 
		{
			xPos = elem.offsetHeight;
		}
		
		return xPos;
	} 
}

function getElementWidth(Elem) 
{
    var ns4=false;
    var op5=false;
    
	if (ns4) 
	{
		var elem = getObjNN4(document, Elem);
		return elem.clip.width;
	} 
	else 
	{
		if(document.getElementById) 
		{
			var elem = document.getElementById(Elem);
		} 
		else if (document.all)
		{
			var elem = document.all[Elem];
		}
		
		if (op5) 
		{
			xPos = elem.style.pixelWidth;
		} 
		else 
		{
			xPos = elem.offsetWidth;
		}
		
		return xPos;
	}
}

document.onmousedown = mouseSelect;


function check_search_form_home_page()
{
	var ok = true;
	
	var frm = document.search_top;
	var tip_imobil = frm.tip_imobil.value;	
	
	var tip_cautare = frm.tip_cautare.value;
	
	if(tip_cautare == "ansambluri")
	{
		if(tip_imobil == "locuinte")
		{
			ok = false;
			alert("Va rugam sa alegeti tipul de imobil.");
		}
		frm.tip_imobil.focus();
	}
	
	return ok;
}

function search_anunturi_particulare()
{
	var frm = document.search_top;
	var tip_cautare = frm.tip_cautare;
	
	tip_cautare.value = "anunturi";
	
	frm.submit();
	return false;
}

function open_send_contact_harta()
{
	$("contact_nume").value = "";
	$("contact_email").value = "";				
	$("contact_url").value = "";	
	$("contact_content").value ="";
	$("alert_messages").innerHTML = "";
	
	showBox('overlay_box', 'overlay_contact_box');
}

function send_contact_harta()
{
	var ok = true;
	
	var alert_messages_page = $("alert_messages");
	
	var contact_nume = $F("contact_nume");
	var contact_email = $("contact_email");	
	var contact_url = $F("contact_url");	
	var contact_content = $F("contact_content");
	
	
	if(contact_nume.length < 2)
	{
		alert_messages_page.innerHTML = "Introduceti va rog numele de contact."
		ok = false;
	}
	else
	{
		alert_messages_page.innerHTML = "";
	}
	
	if(ok)
	{
		if(!validate_email(contact_email))
		{
			alert_messages_page.innerHTML = "Introduceti va rog adresa de email."
			ok = false;
		}
		else
		{
			alert_messages_page.innerHTML = "";
		}
		
	}
	
	if(ok)
	{
		if(contact_url.length<5)
		{
			alert_messages_page.innerHTML = "Introduceti va rog adresa sitului unde doriti ca harta sa fie afisata."
			ok = false;
		}
		else
		{
			alert_messages_page.innerHTML = "";
		}
		
	}
	
	if(ok)
	{
		if(contact_content.length<5)
		{
			alert_messages_page.innerHTML = "Introduceti va rog alte detalii legate de ce tip harta doriti implementata, numar de telefon, etc."
			ok = false;
		}
		else
		{
			alert_messages_page.innerHTML = "";
		}
	}
	
	
	if(ok)
	{
		var url = "actions.php";
    	var pars = "form_category=send_contact_harta&contact_nume="+contact_nume+"&contact_email="+contact_email.value+"&contact_url="+contact_url+"&contact_content="+contact_content;
    
    	var myAjax = new Ajax.Request(url,{method:"post",parameters:pars,onComplete: send_contact_harta_from_server});
    	
	}
	
}

function send_contact_harta_from_server(originalResponse)
{
	var xml = originalResponse.responseXML;//we have the xml object

	var respNode = xml.getElementsByTagName("response")[0];
	var items = respNode.getElementsByTagName("item");

	var dir_value = items[0].getElementsByTagName("name")[0].firstChild.nodeValue;
	var page_name_value = items[0].getElementsByTagName("value")[0].firstChild.nodeValue;

	var name_div  = items[1].getElementsByTagName("name")[0].firstChild.nodeValue;
	var value_action = items[1].getElementsByTagName("value")[0].firstChild.nodeValue;


	var name_error  = items[2].getElementsByTagName("name")[0].firstChild.nodeValue;
	var value_error = items[2].getElementsByTagName("value")[0].firstChild.nodeValue;
	
	var alert_messages_page = $("alert_messages");
	
	//alert(value_action);
	
	
	switch(value_action)
	{
		case "send_contact_not_ok":
			alert_messages_page.style.fontWeight = 'bold';
			alert_messages_page.innerHTML = "Mesajul dvs. nu a putut fi trimis momentan. Va rugam reverificati campurile formularului si retrimiteti.";
		break;
		
		case "send_contact_ok":
		
			$("contact_nume").value = "";
			$("contact_email").value = "";				
			$("contact_url").value = "";	
			$("contact_content").value ="";
		
			alert_messages_page.style.fontWeight = 'bold';
			alert_messages_page.innerHTML = "Mesajul dvs. a fost trimis. Veti fi contactat de unul dintre administratorul sitului cat mai curand.";
			//setTimeout()
		
			setTimeout("hideBox('overlay_box', 'overlay_contact_box')", 3000);
		
		break;
	}
	
}

//===============================================================================================================================================================
function add_ansambluri_to_compare()
{
	var total_ansambluri_per_page = $F("total_ansambluri_per_page");
	
	var pars = "form_category=add_ansambluri_to_compare";
	var page_cat = $F("page_cat");
	
	var nr_ansambluri_already_added_in_comp = $F("nr_ansambluri_already_added_in_comp");
	
	var nr_ansambluri_selected = 0;
	for(var i=0; i<total_ansambluri_per_page; i++)
	{
		var check_ansamblu = $("compara_"+i);
		if(check_ansamblu.checked == true)
		{
			var i_ansamblu_id_value = $F("i_ansamblu_id_"+i);
			pars+="&i_ansamblu_id_"+nr_ansambluri_selected+"="+i_ansamblu_id_value;
			nr_ansambluri_selected++;
		}
	}
	
	
	pars+="&nr_ansambluri_selected="+nr_ansambluri_selected+"&page_cat="+page_cat;	
	
	if( (nr_ansambluri_already_added_in_comp*1) + (nr_ansambluri_selected*1) >= 2 )
	{
	
		var url = dir_value+"/actions.php";	
		var myAjax = new Ajax.Request(url,{method:"post",parameters:pars,onComplete: add_ansambluri_to_compare_from_server});
	}
	else
	{
		alert("Va rugam sa selectati cel putin 2 ansambluri.");
	}
}

function add_ansambluri_to_compare_from_server(originalRequest)
{
	Try.these(
			function () {				
				
			var jsonObject = eval('(' + originalRequest.responseText + ')');				
			
				
			var action_result = jsonObject['action_result'];
			
			switch(action_result)
			{
				case "add_ansambluri_to_compare_ok":
					// alert("aici");
					 
					var page_cat = jsonObject['page_cat'];					
					var iframe_location = dir_value+"/cx_compara_ansambluri.php?page_cat="+page_cat;		 
					//alert("aici");
					parent.window.compare_ansambluri_iframe.location = iframe_location;
					//alert("aici");
					 
					if($("overlay_compare_ansambluri_box").style.display == "none")
					{
						showBox('overlay_box', 'overlay_compare_ansambluri_box');
					}
					 
				break;
				
				case "add_ansambluri_to_compare_not_ok":		
					alert("Va rugam sa alegeti cel putin 2 ansambluri din lista pentru a putea fi comparate.");					
				break;
			}
			
				
			}//function ()			
			
			
	);
		
}



function set_action_go_to_product_from_overlay(products_url)
{
	//alert(products_url);
	parent.window.location = products_url;
	parent.window.hideBox('overlay_box', 'overlay_compare_ansambluri_box');
	
}

function set_action_remove_ansamblu_from_compare(i_ansamblu_id, page_cat)
{
	var url = dir_value+"/actions.php";
	var pars = "form_category=remove_ansamblu_from_comparation&i_ansamblu_id="+i_ansamblu_id+"&page_cat="+page_cat;
	
	var myAjax = new Ajax.Request( url,

											{
												
											  method: 'post',
											  parameters: pars,
											  onComplete: set_action_remove_ansamblu_from_compare_from_server
											  
											}

								);
	
}


function set_action_remove_ansamblu_from_compare_from_server(originalRequest)
{
	Try.these(
			function () {				
				
			var jsonObject = eval('(' + originalRequest.responseText + ')');							
				
			var action_result = jsonObject['action_result'];
			var page_cat = jsonObject['page_cat'];	
			
			var nr_left_ansambluri = jsonObject['nr_left_ansambluri'];
			
			switch(action_result)
			{
				case "remove_ansamblu_from_comparation_ok":
					 					 
					 if(nr_left_ansambluri == 0)
					 {
					 	parent.window.hideBox('overlay_box', 'overlay_compare_ansambluri_box');
					 }
					 else
					 {
					 	var iframe_location = dir_value+"/cx_compara_ansambluri.php?page_cat="+page_cat;		 					
						parent.window.compare_ansambluri_iframe.location = iframe_location;
					 }
					 
					
					 
				break;
				
				case "remove_product_from_comparation_not_ok":
					
				break;
			}
			
				
			}//function ()						
			
	);	
	
}


function add_ansamblu_single_product_to_comparation(page_cat)
{
	
	var i_ansamblu_id = $F("i_ansamblu_id_other");
	
	if(i_ansamblu_id > 0)
	{
	
		var pars = "form_category=add_ansambluri_to_compare&page_cat="+page_cat+"&i_ansamblu_id_0="+i_ansamblu_id+"&nr_ansambluri_selected=1";	
		var url = dir_value+"/actions.php";
		
		
			
		var myAjax = new Ajax.Request( url,
	
												{
													
												  method: 'post',
												  parameters: pars,
												  onComplete: add_ansambluri_to_compare_from_server
												  
												}
	
									);
	}
	else
	{
		alert("Va rugam alegeti un ansamblu rezidential din lista.");
	}
	
}
