ua = navigator.userAgent.toLowerCase();
OP = ua.indexOf('opera') != -1;
IE = ua.indexOf('msie') != -1 && document.all && !OP;
SF = ua.indexOf('safari')!=-1;
FF = ua.indexOf('firefox')!=-1;

function gid(id) {
	return document.getElementById(id);
}

function isJPG(s) {
	return (/.*?\.(jpeg|jpg)/i).test(s);
}

function windowOpen(url, width, height, name, scrollbars, resizable) {
	name = name || 'null';
	scrollbars = scrollbars || 1;
	resizable = resizable || 1;
	width = width || 500;
	height = height || 500;
	var top = (screen.height / 2) - height / 2, left = (screen.width / 2) - width / 2, newWindow = window.open(url, name, 'status=1,scrollbars='+ scrollbars +',resizable='+ resizable +',width='+ width +',height='+ height +',top='+ top +',left='+ left);
	newWindow.focus();
}

function trim(s, r) {
	s = ''+ s; // string olmayınca hata verir
	if(!r)
		return s.replace(/^\s+/, '').replace(/\s+$/, '').replace(/\n{2,}/g, '\n\n');
	else {
		var r1 = new RegExp('^'+ r +'+');
		var r2 = new RegExp(r +'+$');
		return s.replace(r1, '').replace(r2, '');
	}
}

function changeURL(select, ignore) {
	var search = window.location.search.substring(1), target;
	if(search != '') {
		var split = search.split('&');
		if(split != '') {
			var getVars = [];
			for(i = 0; i < split.length; i++)
				if(split[i].indexOf(ignore) == -1 && split[i].indexOf('start') == -1)
					getVars.push(split[i]);
			
			getVars = getVars.join('&');
			if(getVars != '')
				target = '?'+ getVars +'&'+ ignore +'='+ select.value;
		}
	}
	else
		target = '?'+ ignore +'='+ select.value;
	
	if(!target || typeof target == 'undefined') //debug
		target = '?'+ ignore +'='+ select.value;
	
	self.location = target;
}

function redirect(t) {
	window.location.href = t;
}

function isEmail(email) {
	return (/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/).test(email);
}

function keepForm(warning, field) {
	alert(warning +'\t');
	if(field) field.focus();
	return false;
}

function isSpamContent(content) {
	return (/<[a-z]*[^>].*?>|\[*(url|link).*?\]|([v|w]iagra)/i).test(content);
}


// FORM
var Form = function(field) {
	var Obj = new Object(); // new'den kurtulmak için
	Obj.field = field;
	Obj.trim = function() { // bazen trim'leri zincirin en sonunda kullan!
		this.field.value = trim(this.field.value.replace(/\s{1,}/g, ' ')); // veya / +/
		return this;
	};
	Obj.clean = function() {
		// çevir bakalım, güzel oldu :)
		this.field.value = this.field.value
		// .replace(/(\.|\?|!|,|:|;|=|%|&|#|'|")+/g, '$1') // iptal (düzgün çalışmıyor)
		.replace(/(\.|,|=|\\|\u0022|\u0027)+/g, '$1').replace(/\?+/g, '?').replace(/\*+/g, '*').replace(/!+/g, '!').replace(/#+/g, '#').replace(/&+/g, '&').replace(/%+/g, '%').replace(/:+/, ':').replace(/;+/, ';').replace(/\/+/, '/').replace(/<+/, '<').replace(/>+/, '>') // ... -> .
		.replace(/(\.|,)(.)/g, '$1 $2') // lorem.ipsum  -> lorem. ipsum
		.replace(/(.*?)\s(\.|,)/g, '$1$2') // lorem .ipsum -> lorem. ipsum
		.replace(/i̇/g, 'i'); // bu çıktı bir de
		this.field.value = desturDe(this.field.value);
		return this;
	};
	Obj.toLower = function() {
		this.field.value = this.field.value.replace(/I/g, 'ı').toLowerCase();
		return this;
	};
	Obj.toUpper = function() {
		this.field.value = this.field.value.replace(/i/g, 'İ').toUpperCase();
		return this;
	};
	Obj.ucWords = function() { // onkeypress ve onkeyup kullanılmaz, s'leri siler
		var a = this.field.value.split(/\s/), o = '', i;
		for(i in a) o += a[i].charAt(0).replace(/i/g, 'İ').toUpperCase() + a[i].substring(1).replace(/I/g, 'ı').toLowerCase() + ' ';
		o = trim(o);
		this.field.value = o;
		return this;
	};
	Obj.digit = function() {
		this.field.value = this.field.value.replace(/\s/g, '').replace(/[^0-9]/g, '');
		return this;
	};
	Obj.alpha = function() {
		this.field.value = this.field.value.replace(/[^a-zİıöüçğş\s]/gi, '');
		return this;
	};
	Obj.email = function() {
		this.field.value = this.field.value.toLowerCase().replace(/ı/g,'i').replace(/ö/g,'o').replace(/ü/g,'u').replace(/ç/g,'c').replace(/ğ/g,'g').replace(/ş/g,'s').replace(/[^a-z0-9@\._-]/g,'').replace(/@+/,'@');
		return this;
	};
	Obj.limitText = function(limit) {
		if(this.field.value.length > limit ) {
			// alert('En fazla '+ limit +' adedince karakter girebilirsiniz!\t');
			this.field.value = this.field.value.substring(0, limit);
		}
		return this;
	};
	return Obj;
};
// FORM end
