/*
$(document).ready(
    function() {
        prepareAJAX('a');

    }

)
*/
function prepareAJAX(elem) {
  $(elem).click(
    function (event) {

      var $target = $(event.target); // sokrashenie prosto
      var url = $target.attr("href"); // url na kotoruju sobralisj perehoditj

        // alert(url);
        thisurl_type = check_link_type(undomain(location.href)); // type tekushego url
        tourl_type = check_link_type(undomain(url)); // type url na kotorij perehodim

        // jesli sovpadajut vidi stranic s kotoroj budem perehoditj i na kotoruju i ne oktritie v novom okne
        // AJAX toljko na gallery
        if(thisurl_type == tourl_type && $target.attr("target") != '_blank' && thisurl_type == 1) {
          event.preventDefault();
          
          location.replace('#url='+url);
          $.getJSON(url, onAjaxSuccess);
        }
    }
  );

}


// stiraet s ssilki http://..../ vedj domain kr4
function undomain(str) {
    var reg = /http:\/\/[^\/]+/
    return str.replace(reg, "");


}

// vozvrashet tip linka t.e kakogo vida stranica pod etim linkom.. tipa index, gallery, standart
function check_link_type(link) {
    var type = 0; // standart

    // type = 1;
    gallery_des = new Array(
            /\/price_range\//,
            /\/escorts_in_london\//,
            /\/incall\//,
            /\/duo\.htm/,
            /\/VIP\.htm/,
            /\/gallery\.htm/
        );
    // type = 2
    index_des = new Array(
            /\/index\.htm/,
            /\/{1}/
    );

    for(i=0; i<gallery_des.length; i++) { type = gallery_des[i].test(link)?1:type;}
    if(type==0) for(i=0; i<index_des.length; i++) { type = index_des[i].test(link)?2:type; }

    return type;
}

function onAjaxSuccess(obj) {
    $('#gal_list').html(obj.gal_view);
    prepareAJAX('#gal_list a');

    $('#subgal').html(obj.gal_kinds);
    prepareAJAX('#subgal a');

    $('#links_info_cont').html(obj.links_info_cont);
    prepareAJAX('#links_info_cont a');

    $('#incall_cont').html(obj.incall_cont);
    prepareAJAX('#incall_cont a');

    document.title = obj.heading;
    //prepareAJAX();
}


function popupWindow(url) { window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=5,left=5'); }

 function submit_form(theform) {		
	 sr = eval("document."+theform);
   	 sr.submit();
 }
 

function show_order_form(url){
     desktop = window.open(url, null, "toolbar=yes,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=330,height=380");
     desktop.window.focus();
}

function form_valid(form,hidd) {	

	 if (validate(form)) {
		 way=eval("form."+hidd);
		 way.value='ok';
		 form.submit();
	 }
}

function form_valid_contact(form,hidd) {	
		var err = [];
	 if(isValidEmail(form.mail.value)) {
		 way=eval("form."+hidd);
		 way.value='ok';
		 form.submit();
	 } else err[err.length] = "Please, enter right email";
	
	return error(err);
}

function validate(selff) {
		var err = [];
			if(selff.name.value == '' ) 
				err[err.length] = "Please, enter your name";
			if(selff.phone.value == '' )
				err[err.length] = "Please, enter your phone";
			if(!isValidEmail(selff.email.value))
				err[err.length] = "Please, enter right email";
	return error(err);
}

function isValidEmail(email){
	return email.match(/^([-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+)@([-0-9A-Z]+\.)+([0-9A-Z]{2,4})$/i);
}

	function error(err){
		if(err.length > 0){
			alert(err.join("\n\n"));
			return false;
		} else return true;
	}
function confirmSubmit(){
	var agree=confirm("Are you sure?");
	
	if (agree) return true ;
	else return false ;
}

function showHide(ITEM_ID)	{
  if (ITEM_ID) {
    if (window.document.getElementById(ITEM_ID).style.display == "block") {
      window.document.getElementById(ITEM_ID).style.display = "none";
    } else {
      window.document.getElementById(ITEM_ID).style.display = "block";
    }
  }
  return false;
}



//  MacroMedia javascript functions for image rollovers
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function GetXmlHttpObject() {
  var xmlHttp=null;
  try {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e) {
    // Internet Explorer
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  return xmlHttp;
}
