//AJAX Functions


function createXMLHttp() 
{

    if (typeof XMLHttpRequest != "undefined") 
	{
        return new XMLHttpRequest();
    } 
	else if (window.ActiveXObject) 
	{
      	var aVersions = [ "MSXML2.XMLHttp.5.0",
        "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
       	"MSXML2.XMLHttp","Microsoft.XMLHttp"
      	];

      	for (var i = 0; i < aVersions.length; i++) 
		{
        	try 
			{
            	var oXmlHttp = new ActiveXObject(aVersions[i]);
           		return oXmlHttp;
        	} 
			catch (oError) 
			{
            	//Do nothing
        	}
      	}
   	}
    throw new Error("XMLHttp object could be created.");
}



function sendGetRequest(url, func) 
{
    var oXmlHttp = createXMLHttp();
    oXmlHttp.open("get", url, true);

    oXmlHttp.onreadystatechange = function () 
	{
		
        if (oXmlHttp.readyState == 4) {
		
            if (oXmlHttp.status == 200) {
			       	var result = JSON.parse(oXmlHttp.responseText);
                eval(func + "(result);");
            } else {
                alert("An error occurred: "+ oXmlHttp.statusText);
            }
        }
		
    };
    oXmlHttp.send(null);
}




function getSmallThumbs(ord,param)
{ 

	sendGetRequest('http://www.bistrolandau.com/server/get_small_thumbs.php?ord='+ord, 'showSmallThumbs');	
	
}

function checkCode(writeCode)
{ //alert(writeCode);
	sendGetRequest('http://www.bistrolandau.com/server/codeCheck.php?code=' + writeCode, 'Myval');	
	
}


function Myval(aResult)
{
	a = parseInt(aResult)
	//alert(a);
	return a;
	
}

function getSubtypes(id)
{
	sendGetRequest('server/get_subtypes.php?id=' + id, 'displaySubtypes');	
}


function showSmallThumbs(aSmallTh)
{
	var div_exc  = document.getElementById('small_thumbs');
	data='';
	
	if (aSmallTh.length>0)
	{
		
		new Effect.Opacity(div_exc, Object.extend(
                                   {
                                        duration: 0.5, 
                                        from:1.0, 
                                        to:0.0,
                                        afterFinishInternal: function(effect) 
                                        {
                                            showSmallThumbsAgain(aSmallTh);
											Effect.Appear(div_exc,  Object.extend({duration: 0.5}));
                                        }
                                   }
                                ));
	}
}

function showSmallThumbsAgain(aSmallTh)
{
	var div_small  = document.getElementById('small_thumbs');
	data='';
	if (aSmallTh.length>0)
	{
		
		for (var i=0; i < aSmallTh.length; i++) 
		{
			some=aSmallTh[i];
			data = data +'<a onclick="SetBigThumb(\''+ some.bigg +'\',\''+ some.title +'\')" style="cursor:pointer; margin-bottom:12px; float:left;"><img src="'+ some.p +'" width="116" height="86" alt="'+some.title+'" class="img_gal"/></a>';
			if (i==aSmallTh.length-1) 
			{
				data = data +'<input type="hidden" id="first" value="'+some.h+'">';
			}
			
		}
		
	}
	div_small.innerHTML = data;
}

function HideFloors(par)
{
	if (par==1) document.getElementById('fl').style.display="none";
	else document.getElementById('fl').style.display="block";
}

function HideMap()
{
	document.getElementById('ma').style.display="none";
	
}
function HideUpdate()
{
	document.getElementById('constr_update').style.display="none";
	
}

function HidePlans()
{
	document.getElementById('complex').style.display="none";
	
}
/*
function SetBigThumb(image,title)
{
	document.getElementById('big_thumb').innerHTML = '<img src="'+image+'" width="550" height="299" alt="'+title+'"/>';
}

*/
function SetBigThumb(image,title)
{
	
	var d= document.getElementById('big_thumb');
	
	var div_big  = d;
		new Effect.Opacity(div_big, Object.extend(
                                   {
                                        duration: 0.5, 
                                        from:1.0, 
                                        to:0.0,
                                        afterFinishInternal: function(effect) 
                                        {
                                            SetBigThumbAgain(image,title);
											Effect.Appear(div_big,  Object.extend({duration: 0.5}));
                                        }
                                   }
                                ));
	
}

function SetBigThumbAgain(image,title)
{
	
	document.getElementById('big_thumb').innerHTML = '<img src="'+image+'" width="496" height="371" class="img_gal" alt="'+title+'"/>';
}



function displaySubtypes(aRegions)
{
	var div  = document.getElementById('subtype_container');
	var init = document.getElementById('subtype_init').value;
	
	
	if(aRegions.length>0)
	{
		var sel  = '<select name="subtype_id" id="idsubtype_id" style=" width:100px;">';
	
		for (var i=0; i < aRegions.length; i++) 
		{
			some = aRegions[i];
			sel += '<option value="' + some.id + '"';
			if(some.id == init)
				sel += " selected";
		
			sel += '>' + some.name + '</option>';
   		}
	
		sel += '</select>';
	}
	else sel = "";
	div.innerHTML = sel;
}

function displayRegions(aRegions)
{
	var div  = document.getElementById('region_container');
	var init = document.getElementById('region_init').value;
	
	
	var sel  = '<select name="regionid" id="idregion_id" class="sel" style=" width:100px;">';
	
	for (var i=0; i < aRegions.length; i++) 
	{
		some = aRegions[i];
		sel += '<option value="' + some.id + '"';
		if(some.id == init)
			sel += " selected";
		
		sel += '>' + some.name + '</option>';
    }
	
	sel += '</select>';
	
	div.innerHTML = sel;
}

function ChangeStyle(id,on)
{	
	var ah=document.getElementById(id);
	//alert(ah.className);
	if (ah.className!="tabsOpen")
	{
		if (on==1) ah.className="change";
		else ah.className="tabsClose";
	}
	
}

function ShowParticular(param,id,dev)
{
	//document.getElementById('bigImgBrd').style.display="none";
	//document.getElementById('bigImgBrd_plans').style.display="none";
	//document.getElementById('bigImgBrd_floors').style.display="none";
	//document.getElementById('href_gallery').className="tabsClose";
	//document.getElementById('href_palns').className="tabsClose";
	//document.getElementById('href_floors').className="tabsClose";
	//document.getElementById('href_maps').className="tabsClose";
	if (param==1) 
	{ 
		document.getElementById('bigImgBrd').style.display="block"; 
		document.getElementById('bigImgBrd_plans').style.display="none";
		document.getElementById('BigImgBG_plans').innerHTML="";
		document.getElementById('SmallImgBG_plans').innerHTML="";
		document.getElementById('bigImgBrd_floors').style.display="none";
		document.getElementById('BigImgBG_floors').innerHTML="";
		document.getElementById('SmallImgBG_floors').innerHTML="";
		document.getElementById('bigImgBrd_maps').style.display="none";
		document.getElementById('BigImgBG_maps').innerHTML="";
		
		document.getElementById('bigImgBrd_update').style.display="none";
		document.getElementById('BigImgBG_update').innerHTML="";
		document.getElementById('SmallImgBG_update').innerHTML="";
		
		document.getElementById('href_gallery').className="tabsOpen";
		document.getElementById('href_palns').className="tabsClose";
		document.getElementById('href_floors').className="tabsClose";
		document.getElementById('href_maps').className="tabsClose";
		document.getElementById('request_info').style.display="none"; 
		document.getElementById('href_request').className="tabsClose";
		document.getElementById('href_update').className="tabsClose";
		showBigThumb(document.getElementById('BigIm').value,'1',document.getElementById('BigIm_real').value);
		getSmallThumbs(dev,0,1)
	}
	if (param==2) 
	{
		document.getElementById('bigImgBrd_plans').style.display="block";
		document.getElementById('bigImgBrd').style.display="none";
		document.getElementById('BigImgBG').innerHTML="";
		document.getElementById('SmallImgBG').innerHTML="";
		document.getElementById('bigImgBrd_floors').style.display="none";
		document.getElementById('BigImgBG_floors').innerHTML="";
		document.getElementById('SmallImgBG_floors').innerHTML="";
		document.getElementById('bigImgBrd_maps').style.display="none";
		document.getElementById('BigImgBG_maps').innerHTML="";
		
		document.getElementById('bigImgBrd_update').style.display="none";
		document.getElementById('BigImgBG_update').innerHTML="";
		document.getElementById('SmallImgBG_update').innerHTML="";
		
		document.getElementById('href_palns').className="tabsOpen";
		document.getElementById('href_gallery').className="tabsClose";
		document.getElementById('href_floors').className="tabsClose";
		document.getElementById('href_maps').className="tabsClose";
		document.getElementById('request_info').style.display="none"; 
		document.getElementById('href_request').className="tabsClose";
		document.getElementById('href_update').className="tabsClose";
		showBigThumb(document.getElementById('BigIm_plans').value,'2',document.getElementById('BigIm_plans_real').value);
		getSmallThumbs(dev,0,2)
	}
	if (param==3) 
	{
		document.getElementById('bigImgBrd_floors').style.display="block"; 
		document.getElementById('bigImgBrd').style.display="none";
		document.getElementById('BigImgBG').innerHTML="";
		document.getElementById('SmallImgBG').innerHTML="";
		document.getElementById('bigImgBrd_plans').style.display="none";
		document.getElementById('BigImgBG_plans').innerHTML="";
		document.getElementById('SmallImgBG_plans').innerHTML="";
		document.getElementById('bigImgBrd_maps').style.display="none";
		document.getElementById('BigImgBG_maps').innerHTML="";
		
		document.getElementById('bigImgBrd_update').style.display="none";
		document.getElementById('BigImgBG_update').innerHTML="";
		document.getElementById('SmallImgBG_update').innerHTML="";
		
		document.getElementById('href_floors').className="tabsOpen";
		document.getElementById('href_gallery').className="tabsClose";
		document.getElementById('href_palns').className="tabsClose";
		document.getElementById('href_maps').className="tabsClose";
		document.getElementById('request_info').style.display="none"; 
		document.getElementById('href_request').className="tabsClose";
		document.getElementById('href_update').className="tabsClose";
		showBigThumb(document.getElementById('BigIm_floors').value,'3',document.getElementById('BigIm_floors_real').value);
		getSmallThumbs(dev,0,3)
	}
	if (param==4) 
	{
		document.getElementById('bigImgBrd_maps').style.display="block"; 
		document.getElementById('bigImgBrd').style.display="none";
		document.getElementById('BigImgBG').innerHTML="";
		document.getElementById('SmallImgBG').innerHTML="";
		document.getElementById('bigImgBrd_plans').style.display="none";
		document.getElementById('BigImgBG_plans').innerHTML="";
		document.getElementById('SmallImgBG_plans').innerHTML="";
		document.getElementById('bigImgBrd_floors').style.display="none";
		document.getElementById('BigImgBG_floors').innerHTML="";
		document.getElementById('SmallImgBG_floors').innerHTML="";
		
		document.getElementById('bigImgBrd_update').style.display="none";
		document.getElementById('BigImgBG_update').innerHTML="";
		document.getElementById('SmallImgBG_update').innerHTML="";
		
		document.getElementById('href_maps').className="tabsOpen";
		document.getElementById('href_gallery').className="tabsClose";
		document.getElementById('href_palns').className="tabsClose";
		document.getElementById('href_floors').className="tabsClose";
		document.getElementById('request_info').style.display="none"; 
		document.getElementById('href_request').className="tabsClose";
		document.getElementById('href_update').className="tabsClose";
		showBigThumb(document.getElementById('BigIm_maps').value,'4',document.getElementById('BigIm_maps_real').value);
	}
	if (param==5) 
	{
		document.getElementById('request_info').style.display="block"; 
		document.getElementById('bigImgBrd').style.display="none";
		document.getElementById('BigImgBG').innerHTML="";
		document.getElementById('SmallImgBG').innerHTML="";
		document.getElementById('bigImgBrd_plans').style.display="none";
		document.getElementById('BigImgBG_plans').innerHTML="";
		document.getElementById('SmallImgBG_plans').innerHTML="";
		document.getElementById('bigImgBrd_floors').style.display="none";
		document.getElementById('BigImgBG_floors').innerHTML="";
		document.getElementById('SmallImgBG_floors').innerHTML="";
		document.getElementById('bigImgBrd_maps').style.display="none";
		document.getElementById('BigImgBG_maps').innerHTML="";
		
		document.getElementById('bigImgBrd_update').style.display="none";
		document.getElementById('BigImgBG_update').innerHTML="";
		document.getElementById('SmallImgBG_update').innerHTML="";
		
		document.getElementById('href_request').className="tabsOpen";
		document.getElementById('href_maps').className="tabsClose";
		document.getElementById('href_gallery').className="tabsClose";
		document.getElementById('href_palns').className="tabsClose";
		document.getElementById('href_floors').className="tabsClose";
		document.getElementById('href_update').className="tabsClose";
		
	}
	
	if (param==6) 
	{
		document.getElementById('bigImgBrd_update').style.display="block"; 
		document.getElementById('bigImgBrd').style.display="none";
		document.getElementById('BigImgBG').innerHTML="";
		document.getElementById('SmallImgBG').innerHTML="";
		document.getElementById('bigImgBrd_plans').style.display="none";
		document.getElementById('BigImgBG_plans').innerHTML="";
		document.getElementById('SmallImgBG_plans').innerHTML="";
		document.getElementById('bigImgBrd_floors').style.display="none";
		document.getElementById('BigImgBG_floors').innerHTML="";
		document.getElementById('SmallImgBG_floors').innerHTML="";
		document.getElementById('bigImgBrd_maps').style.display="none";
		document.getElementById('BigImgBG_maps').innerHTML="";
		
		document.getElementById('request_info').style.display="none";
		
		document.getElementById('href_update').className="tabsOpen";
		document.getElementById('href_maps').className="tabsClose";
		document.getElementById('href_gallery').className="tabsClose";
		document.getElementById('href_palns').className="tabsClose";
		document.getElementById('href_floors').className="tabsClose";
		document.getElementById('href_request').className="tabsClose";
		showBigThumb(document.getElementById('BigIm_update').value,'5',document.getElementById('BigIm_real_update').value);
		getSmallThumbs(dev,0,5)
		
	}
	
}



//-------------------
/// ALL THING YOU NEED FOR REQUEST FORMSs

	var div1 = "";


function openRequest()
{ 
	div1 = document.getElementById('div2');
 
	div1.style.display = "block";
	div1.style.top =  arguments[1] + "px";
	div1.style.left = arguments[0] + "px";
	
	fader1.fadeIn();
	fader2.fadeIn();
	
}

function openRequest_christmas()
{ 
	
	if (arguments[2])
	{ 
		card_lg='card_'+arguments[2];
	} 
	if ((document.getElementById('card_id').value=="") && (!getCookie(card_lg))&& (getCookie(card_lg)!=1))
	{
	setCookie(card_lg, "1");
	document.getElementById('card_id').value="set";
	div1 = document.getElementById('div3');
 
	div1.style.display = "block";
	div1.style.top =  arguments[1] + "px";
	div1.style.left = arguments[0] + "px";
	
	fader3.fadeIn();
	fader2.fadeIn();
	}
	else 
		{fader3.fadeOut();

			fader2.fadeOut();
			document.getElementById('card_id').value="";
			}
	
	
}

function openRequest1()
{ 
	div1 = document.getElementById('div2');
 
	div1.style.display = "block";
	div1.style.top =  arguments[1] + "px";
	div1.style.left = arguments[0] + "px";
	
	fader1.fadeIn();
	fader2.fadeIn();
}

function openDesc()
{
	div1 = document.getElementById('divDescription');
	div1.style.display = "block";
	
	if (window.innerWidth || window.innerHeight)
	{ 
		docwidth = window.innerWidth; 
		docheight = window.innerHeight; 
	} 
	//IE Mozilla 
	if (document.body.clientWidth || document.body.clientHeight)
	{ 
		docwidth = document.body.clientWidth; 
		docheight = document.body.clientHeight; 
	} 
	
	if((docheight - 213)<arguments[1])
		div1.style.top  = (docheight - 200) + "px";
	else 	
		div1.style.top  = (arguments[1] - 10) + "px";
		
	div1.style.left = (arguments[0] + 105) + "px";	
	
	injectDiv('descTitle', arguments[2]);
	injectDiv('moreTitle', arguments[3]);
	injectInput('id', arguments[4]);
	injectDiv('listName', arguments[5]);
	injectDiv('listDesc', arguments[7]);
	injectDiv('descRegion', arguments[8]);
	injectDiv('listRegion', arguments[9]);
	
	document.getElementById('listImg').src = arguments[6] + ".jpg";
}

function closeDesc()
{
	document.getElementById('divDescription').style.display = "none";	
}

function injectDiv(some_id, text_to_inject)
{
	var id_container = document.getElementById(some_id);
	id_container.innerHTML = text_to_inject;
}

function injectInput(some_id, text_to_inject)
{
	var id_container = document.getElementById(some_id);
	id_container.value = text_to_inject;
}

function closeRequest()
{

	fader1.fadeOut();
	//fader1.fadeOut();
	fader2.fadeOut();
//	if (document.getElementById('card_id').value=="set")
	// fader3.fadeOut();
}

function validate()
{
	if (document.forms['request'].elements['request_name'].value == "") 
	{
		alert("Please input Your Name.!");
		document.forms['request'].elements['request_name'].focus();
		return false;
	}
	if (document.forms['request'].elements['request_phone'].value == "") 
	{
		alert("Please input Your Phone Number.!");
		document.forms['request'].elements['request_phone'].focus();
		return false;
	}
	if (document.forms['request'].elements['request_email'].value == "" || echeck(document.forms['request'].elements['request_email'].value)==false) 
	{
		alert("Please select correct e-mail address.!");
		document.forms['request'].elements['request_email'].value = "";
		document.forms['request'].elements['request_email'].focus();
		return false;
	}
	
	if (document.forms['request'].elements['about'].value == "") 
	{
		alert("Please input Your Phone Number.!");
		document.forms['request'].elements['about'].focus();
		return false;
	}
	
	checkCode(document.forms['request'].elements['code'].value);
	a= Myval();
	alert("Message is sending");
	//alert(a);
	if ((a==0) || (!a)) 
	{
		alert("The code is not correct");
		document.forms['request'].elements['email'].focus();
		return false;
	}
	
							
	return true
}


function validate2()
{
	if (document.forms['write'].elements['name'].value == "") 
	{
		alert("Please input Your Name.!");
		document.forms['write'].elements['name'].focus();
		return false;
	}

	if (document.forms['write'].elements['email'].value == "" || echeck(document.forms['write'].elements['email'].value)==false) 
	{
		alert("Please select correct e-mail address.!");
		document.forms['write'].elements['email'].value = "";
		document.forms['write'].elements['email'].focus();
		return false;
	}
	
	checkCode(document.forms['write'].elements['code'].value);
	a= Myval();
	alert("Message is sending");
	//alert(a);
	if ((a==0) || (!a)) 
	{
		alert("The code is not correct");
		document.forms['write'].elements['code'].focus();
		return false;
	}
							
	return true
}
var SITEURL = 'http://www.bistrolandau.com/';
function saveForm(lg) 
{ 
		var name = document.forms['write'].elements['name'].value;
		var email= document.forms['write'].elements['email'].value;
		var message=document.forms['write'].elements['notes'].value;
		var code=document.forms['write'].elements['code'].value;
	
	
	sendGetRequest(SITEURL+'server/save_form.php?name='+name+'&email='+email+'&message='+message+'&code='+code, 'showSaveFormResults');	
}

function showSaveFormResults(aSaveInfo)
{
	if (aSaveInfo.length>0)	
	{
		some=aSaveInfo[0];	
		
		document.getElementById(some.div).innerHTML=some.mes;
	}
}
function CheckAndGo2()
{
	var checked = false;
	checked = validate2();
	if (checked) 
	{

		sendRequest('write');
		document.forms['write'].reset();
		//closeRequest();
	}
}

function CheckAndGo()
{
	var checked = false;
	checked = validate();
	if (checked) 
	{
		//fader.fadeOut();
		sendRequest('request');
		document.forms['request'].reset();
		//closeRequest();
	}
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}


function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    //alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}
	
	function getRequestBody(oForm) 
{
    var aParams = new Array();

    for (var i=0 ; i < oForm.elements.length; i++) 
	{
        var sParam = encodeURIComponent(oForm.elements[i].name);
        sParam += "=";
        sParam += encodeURIComponent(oForm.elements[i].value);
        aParams.push(sParam);
    }

    return aParams.join("&");
}
	
	function sendRequest( formm) 
{
	  
    var oForm = document.forms[formm];
    var sBody = getRequestBody(oForm);

    var oXmlHttp = createXMLHttp();
    oXmlHttp.open("post", oForm.action, true);
   	oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    oXmlHttp.onreadystatechange = function () 
	{
        if (oXmlHttp.readyState == 4) 
		{
            if (oXmlHttp.status == 200) 
			{
                //saveResult(oXmlHttp.responseText);
            } 
			else 
			{
                saveResult("An error occurred: "+ oXmlHttp.statusText);
           	}
        }
    };
    oXmlHttp.send(sBody);
}

function sendMailRequest(formName) 
{
    var oForm = document.forms[formName];
    var sBody = getRequestBody(oForm);

    var oXmlHttp = createXMLHttp();
    oXmlHttp.open("post", oForm.action, true);
   	oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    oXmlHttp.onreadystatechange = function () 
	{
        if (oXmlHttp.readyState == 4) 
		{
            if (oXmlHttp.status == 200) 
			{
                clearForm(oXmlHttp.responseText, formName);
            } 
			else 
			{
                clearForm("An error occurred: "+ oXmlHttp.statusText, formName);
           	}
        }
    };
    oXmlHttp.send(sBody);
}

function number_format(a, b, c, d) {
	// number_format(number, decimals, comma, formatSeparator)
	a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b);
	e = a + '';
	f = e.split('.');
	if(!f[0]) f[0] = '0';
	if(!f[1]) f[1] = '';
	if(f[1].length < b){
		g = f[1];
		for(i = f[1].length + 1; i <= b; i++) {
			g += '0';
		}
		f[1] = g;
	}
	if(d != '' && f[0].length > 3) {
		h = f[0];
		f[0] = '';
		for(j = 3; j < h.length; j += 3) {
			i = h.slice(h.length - j, h.length - j + 3);
			f[0] = d + i +  f[0] + '';
		}
		j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3));
		f[0] = j + f[0];
	}
	c = (b <= 0) ? '': c;
	return f[0] + c + f[1];
}

