﻿var changing = false;
//This stupid for Fire Fuck 3
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";

	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
//------------------------------------
var xmlHttp;
function GetXmlHttpObject()
{ 
    var objXMLHttp=null
    if (window.XMLHttpRequest)
    {
    objXMLHttp=new XMLHttpRequest()
    }
    else if (window.ActiveXObject)
    {
        objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
    }
    return objXMLHttp
}

// Submit noi dung textbox
function fieldSubmit(campo1,idfld) {

    campo = document.getElementById(campo1);
    var sbval = campo.value;
    elem = document.getElementById( idfld );
    
    var re = new RegExp("\n\n\n",'gi');

    sbval = sbval.replace(re, '');
    re = new RegExp("\n", 'gi');

    sbval = sbval.replace(re, '<br />');
    elem.innerHTML = sbval;
	//UpdateDatabase
	var temp = new Array();
	var info = elem.id;
	temp = info.split('_');
	

	
    var rnd = Math.random()*5;
    var url = "/Farm/photoUpdateProperties.aspx?rnd=" + rnd + "&action=update" + "&id=" + temp[0] + "&col=" + temp[1] + "&var=" + encodeURI(sbval);
    function MySuccessCallback(req)
    {
    }
    $.get(url);
}



function resField(span1)
    {
		//alert (BrowserDetect.browser +BrowserDetect.version);
        if ((BrowserDetect.browser == "Firefox" && BrowserDetect.version == "3") || BrowserDetect.browser == "Safari") 
        {
            changing = true;
		}
	     span = document.getElementById(span1);
       	 span.style.cursor = "pointer";
	     span.title = "Click để sửa";
	   //  Spry.Utils.addClassName(span.id,"editText");
	     //Spry.Utils.addEventListener(span.id, "click", editBox, false);
	     $('#' + span.id).addClass("editText");
	     $('#' + span.id).bind('click', function() {
	         editBox(this);
	     });
	   
	}
	
 function fieldCancel(campo,idfld) 
{
	elem = document.getElementById( idfld );
	elem.innerHTML =campo ;
	
}
//edit field created

function editBox(e) {
   // alert(e);
    //  var target = e.target != null ? e.target : e.srcElement;
    var target = e;
     if (!changing)
	   {


	       width = widthEl(target.id) ;
	       height = heightEl(target.id);
	       fontSize = target.style.fontSize;
	       // Spry.Utils.removeEventListener(target.id, "click", editBox, false);
	       $(target).unbind();
	       target.style.cursor = "pointer";
	       //Spry.Utils.removeClassName(target.id, "editText");
	       $(target).removeClass("editText");
	       
	       target.title = "Click nút ";	
			if(width < 100)	width = 150;
			var oText = target.innerHTML;
			var fieldname = target.id + "_field"
			var fieldtype = target.id.split('_')[1];
			var re = new RegExp("<br>", 'gi');
			var value = target.innerHTML.replace(re, '\n');
		
			    if (fieldtype == 'Title')
			        target.innerHTML = "<input class=\"instedit\" onkeypress=\"if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {noLight('" + target.id + "'); fieldSubmit('" + fieldname + "','" + target.id + "'); resField('" + target.id + "');return false;}} else {return true}; \" id=\"" + target.id + "_field\" style=\"width: " + width + "px; height: " + height + "px;font-size:" + fontSize + "\" type=\"text\" value=\"" + target.innerHTML + "\"   /> <br/> <input type=\"button\" class=\"instSave\" value=\"lưu\" onclick=\"noLight('" + target.id + "'); fieldSubmit('" + fieldname + "','" + target.id + "'); resField('" + target.id + "')\"  />  <span style=\"font-size:12px\">hoặc</span> <input type=\"button\" value=\"Thôi\" class=\"instCancel\" onclick=\"noLight('" + target.id + "'); fieldCancel('" + oText + "','" + target.id + "'); resField('" + target.id + "')\"  /> ";
			    else {

			        target.innerHTML = "<textarea name=\"textarea\" class=\"editdesc\" id=\"" + target.id + "_field\" style=\"width: " + (parseInt(width)-30)  + "px; height: 120px;\">" + value + "</textarea>" + "<br/> <input type=\"button\" class=\"instSave\" value=\"lưu\" onclick=\"noLight('" + target.id + "'); fieldSubmit('" + fieldname + "','" + target.id + "'); resField('" + target.id + "')\"  />  <span style=\"font-size:12px\">hoặc</span> <input type=\"button\" value=\"Thôi\" class=\"instCancel\" onclick=\"noLight('" + target.id + "'); fieldCancel('" + oText + "','" + target.id + "'); resField('" + target.id + "')\"  /> ";

			    }
			document.getElementById(target.id + '_field').focus();
			document.getElementById(target.id + '_field').select();
	        document.getElementById(fieldname).focus();
	   }
	   else {
		    changing=false;

		   // Spry.Utils.addEventListener(target.id, "click", editBox, false);
		    $(target).bind('click', function() {
		        editBox(this);
		    });
		     
		   }
			//onBlur=\"fieldCancel('"+oText+"','"+actual.id +"')\" 
}



//find all span tags with class editText and id as fieldname parsed to update script. add onclick function
var addedbox =["trong"];
function editbox_init(){
 if (!document.getElementsByTagName){ return; }
	var spans = document.getElementsByTagName("span");

	// loop through all span tags
	for (var i=0; i<spans.length; i++){
		var spn = spans[i];
          
        	if (((' '+spn.className+' ').indexOf("editText") != -1)) {

        	    $('#' + spn.id).bind('click', function() {
        	        editBox(this);
        	    });
			spn.style.cursor = "pointer";
			spn.title = "Click để sửa!";	
			
		
			
       		}

	}


}

//crossbrowser load function
function addEvent(elm, evType, fn, useCapture)
{
  if (elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Please upgrade your browser to use full functionality on this page");
  }
}

//get width of text element
function widthEl(span){

	if (document.layers){
	  w=document.layers[span].clip.width;
	} else if (document.all && !document.getElementById){
	  w=document.all[span].offsetWidth;
	} else if(document.getElementById){
	  w=document.getElementById(span).offsetWidth;
	}
return w;
}

//get height of text element
function heightEl(span){

	if (document.layers){
	  h=document.layers[span].clip.height;
	} else if (document.all && !document.getElementById){
	  h=document.all[span].offsetHeight;
	} else if(document.getElementById){
	  h=document.getElementById(span).offsetHeight;
	}
return h;
}

function highLight(span){
            //span.parentNode.style.border = "2px solid #D1FDCD";
            //span.parentNode.style.padding = "0";
            span.style.border = "1px solid #54CE43";          
}

function noLight(span1){
        //span.parentNode.style.border = "0px";
        //span.parentNode.style.padding = "2px";
		span = document.getElementById(span1);
		
	
        span.style.border = "0px";   


}

//sets post/get vars for update
function setVarsForm(vars){
	formVars  = vars;
}

//addEvent(window, "load", editbox_init);

