// JavaScript Document
String.prototype.trim = function() 
{ 
	return this.replace(/^\s+|\s+$/, ''); 
};

function isPrice(number)
{
	number = number.trim();
	var characters="0123456789.";
	var tmp;
	var lTag;
	lTag = 0;
	temp = (number.length);
	for (var i=0;i<temp;i++)
	{
		tmp=number.substring(i,i+1);
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1;
		}
	}
	if(lTag == 1)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function isNumeric(number)
{
	number = number.trim();
	var characters="0123456789";
	var tmp;
	var lTag;
	lTag = 0;
	temp = (number.length);
	for (var i=0;i<temp;i++)
	{
		tmp=number.substring(i,i+1);
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1;
		}
	}
	if(lTag == 1)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function isPhone(number)
{
	number = number.trim();
	var characters="0123456789-";
	var tmp;
	var lTag;
	lTag = 0;
	temp = (number.length);
	for (var i=0;i<temp;i++)
	{
		tmp=number.substring(i,i+1);
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1;
		}
	}
	if(lTag == 1)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function isEmail(str) {
	
	//alert("Original string: '" + str + "'");
	str = str.trim();
	//alert("Incompletely stripped string: '" + str + "'");

	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var ldot = str.indexOf(dot);
	var lstr = str.length;
	var alt = "Please enter a valid email address.";
		
	if(str.indexOf(at) == -1) {
		alert(alt);
		return false;
	}
		
	if(str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) {
		alert(alt);
		return false;
	}
		
	if(str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) {
		alert(alt);
		return false;
	}
		
	if(str.indexOf(at, (lat + 1) ) != -1) {
		alert(alt);
		return false;
	}
		
	if(str.indexOf(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) {
		alert(alt);
		return false;
	}
		
	if(str.indexOf(dot, (lat + 2) ) == -1) {
		alert(alt);
		return false;
	}
		
	if(str.indexOf(" ") != -1) {
		alert(alt);
		return false;
	}
	return true;
}

function extractNumber(obj, decimalPlaces, allowNegative)
{
	var temp = obj.value;
	
	// avoid changing things if already formatted correctly
	var reg0Str = '[0-9]*';
	if (decimalPlaces > 0) {
		reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
	} else if (decimalPlaces < 0) {
		reg0Str += '\\.?[0-9]*';
	}
	reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
	reg0Str = reg0Str + '$';
	var reg0 = new RegExp(reg0Str);
	if (reg0.test(temp)) return true;

	// first replace all non numbers
	var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
	var reg1 = new RegExp(reg1Str, 'g');
	temp = temp.replace(reg1, '');

	if (allowNegative) {
		// replace extra negative
		var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
		var reg2 = /-/g;
		temp = temp.replace(reg2, '');
		if (hasNegative) temp = '-' + temp;
	}
	
	if (decimalPlaces != 0) {
		var reg3 = /\./g;
		var reg3Array = reg3.exec(temp);
		if (reg3Array != null) {
			// keep only first occurrence of .
			//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
			var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
			reg3Right = reg3Right.replace(reg3, '');
			reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
			temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
		}
	}
	
	obj.value = temp;
}
//for popup of the image using in admin/naartwork.php
function popup(page) {
	
	window.open(page, null, "height=500, width=500, top=100, left=100, status=yes, toolbar=no, menubar=no, location=no, scrollbars=yes, resizable=yes");
}

//for converting currency rs to doller used in admin/naartwork.php 
function convert(sec, dest, rate) {
		/* comment out due to client requiremnt
		if(parseFloat(sec) == 0) {
			alert('Please enter a valid amount');
			return false;
		}*/
		var pri = sec * rate;
		var result = pri.toFixed(2);
		document.getElementById(dest).value = result;
	}
//for making a item collection item used in admin/naartwork.php 
function make_collection(id)
{
	if(document.getElementById(id).checked == true)
		{
			mode="add";//will add the artwork to the session selection array
		}
		else
		{
			mode="remove";//will remove the artwork to the session selection array
		}
	
	  var url = "addartworkocollection.php?mode="+mode+"&collection="+id; // The server-side script
		//For Ajax of addign selected blog to the session
		showUser(url);
}

//for validating the form used in admin/naartwork.php 
function validate(frm) {

   if(frm.lot_no.value == '') {
		alert('You didn\'t enter Ref. No');
		frm.lot_no.focus();
		return false;
	}

	if(frm.artist_id.value == '') {
		alert('You didn\'t select Artist');
		frm.artist_id.focus();
		return false;
	}
	
	
		if(frm.image.value=="")
		{
		   alert('You didn\'t enter Artwork Iamge');
		   frm.image.focus();
		   return false;
		}
		else
		{
			if (frm.image.value.indexOf('.gif') == -1 && frm.image.value.indexOf('.jpg') == -1 && frm.image.value.indexOf('.png') == -1 && frm.image.value.indexOf('.JPG') == -1 && frm.image.value.indexOf('.JPEG') == -1)
				{
					alert('You didn\'t selected a valid file type for artwork image. \n Only GIF (.gif), JPG (.jpg/.jpeg), PNG (.png) files are allowed');
					frm.image.focus();
					return false;
				}
	  }
	 
	 
	 if(frm.high_res_image.value!="")
		{
		   
			if (frm.high_res_image.value.indexOf('.gif') == -1 && frm.high_res_image.value.indexOf('.jpg') == -1 && frm.high_res_image.value.indexOf('.png') == -1 && frm.high_res_image.value.indexOf('.JPG') == -1 && frm.high_res_image.value.indexOf('.JPEG') == -1)
				{
					alert('You didn\'t selected a valid file type for high resolution image of artwork. \n Only GIF (.gif), JPG (.jpg/.jpeg), PNG (.png) files are allowed');
					frm.high_res_image.focus();
					return false;
				}
	  }
	  
	  
	/*frm.description.value = oEdit1.getHTMLBody();
	if(frm.description.value == '') {
		alert('You didn\'t enter  Description');
		frm.description.focus();
		return false;
	}
	
	if(frm.art_era.value=="") {
		alert('You didn\'t enter Art Era');
		frm.art_era.focus();
		return false;
	}*/
	/* comment out for client requirement 
	if(frm.minimum_price.value == '' || frm.minimum_price.value == 0.00 || !isPrice(frm.minimum_price.value)) {
		alert('You didn\'t enter Price');
		frm.minimum_price.focus();
		return false;
	}*/
	if(frm.width.value == '' || !isPrice(frm.width.value)) {
		alert('You didn\'t enter a valid Width');
		frm.width.focus();
		return false;
	}
	if(frm.height.value == '' || !isPrice(frm.height.value)) {
		alert('You didn\'t enter a valid Height');
		frm.height.focus();
		return false;
	}
	
	
	if(frm.depth.value != '') {
		if(frm.depth.value == 0.00 || !isPrice(frm.depth.value)) {
			alert('You didn\'t enter a valid Depth');
			frm.depth.focus();
			return false;
		}
	}
	if(frm.category_id.value == '') {
		alert('You didn\'t select Art Category');
		frm.category_id.focus();
		return false;
	}
	/*if(frm.style_id.value == '') {
		alert('You didn\'t select Art Style');
		frm.style_id.focus();
		return false;
	}
	if(frm.surface_id.value == '') {
		alert('You didn\'t select Art Surface');
		frm.surface_id.focus();
		return false;
	}
	if(frm.medium_id.value == '') {
		alert('You didn\'t select Art Medium');
		frm.medium_id.focus();
		return false;
	}
	if(frm.year_range_id.value == '') {
		alert('You didn\'t select Art Year');
		frm.year_range_id.focus();
		return false;
	}*/
	
	
		if(frm.type[1].checked == true) {
	
		if(frm.slab_amount1.value == '' || frm.slab_amount1.value == 0.00 || !isPrice(frm.slab_amount1.value)) {
			alert('You didn\'t enter a valid Slab 1 Amount');
			frm.slab_amount1.focus();
			return false;
		}
		if(frm.inc_amount1.value == '' || frm.inc_amount1.value == 0.00 || !isPrice(frm.inc_amount1.value)) {
			alert('You didn\'t enter a valid Slab 1 Increment Amount');
			frm.inc_amount1.focus();
			return false;
		}
		if(frm.slab_amount2.value == '' || frm.slab_amount2.value == 0.00 || !isPrice(frm.slab_amount2.value)) {
			alert('You didn\'t enter a valid Slab 2 Amount');
			frm.slab_amount2.focus();
			return false;
		}
		if(parseFloat(frm.slab_amount1.value) >= parseFloat(frm.slab_amount2.value)) {
			alert('Slab 2 Amount must be bigger than Slab 1 Amount');
			frm.slab_amount2.focus();
			return false;
		}
		if(parseFloat(frm.slab_amount2.value) - parseFloat(frm.slab_amount1.value) < parseFloat(frm.inc_amount1.value)) {
			alert('Slab Difference must be bigger than Increment Amount');
			frm.slab_amount2.focus();
			return false;
		}
		if(frm.inc_amount2.value == '' || frm.inc_amount2.value == 0.00 || !isPrice(frm.inc_amount2.value)) {
			alert('You didn\'t enter a valid Slab 2 Increment Amount');
			frm.inc_amount2.focus();
			return false;
		}
		if(frm.slab_amount3.value == '' || frm.slab_amount3.value == 0.00 || !isPrice(frm.slab_amount3.value)) {
			alert('You didn\'t enter a valid Slab 3 Amount');
			frm.slab_amount3.focus();
			return false;
		}
		if(parseFloat(frm.slab_amount2.value) >= parseFloat(frm.slab_amount3.value)) {
			alert('Slab 3 Amount must be bigger than Slab 2 Amount');
			frm.slab_amount3.focus();
			return false;
		}
		if(parseFloat(frm.slab_amount3.value) - parseFloat(frm.slab_amount2.value) < parseFloat(frm.inc_amount2.value)) {
			alert('Slab Difference must be bigger than Increment Amount');
			frm.slab_amount3.focus();
			return false;
		}
		if(frm.inc_amount3.value == '' || frm.inc_amount3.value == 0.00 || !isPrice(frm.inc_amount3.value)) {
			alert('You didn\'t enter a valid Slab 3 Increment Amount');
			frm.inc_amount3.focus();
			return false;
		}
		if(frm.slab_amount4.value == '' || frm.slab_amount4.value == 0.00 || !isPrice(frm.slab_amount4.value)) {
			alert('You didn\'t enter a valid Slab 4 Amount');
			frm.slab_amount4.focus();
			return false;
		}
		if(parseFloat(frm.slab_amount3.value) >= parseFloat(frm.slab_amount4.value)) {
			alert('Slab 4 Amount must be bigger than Slab 3 Amount');
			frm.slab_amount4.focus();
			return false;
		}
		if(parseFloat(frm.slab_amount4.value) - parseFloat(frm.slab_amount3.value) < parseFloat(frm.inc_amount3.value)) {
			alert('Slab Difference must be bigger than Increment Amount');
			frm.slab_amount4.focus();
			return false;
		}
		if(frm.inc_amount4.value == '' || frm.inc_amount4.value == 0.00 || !isPrice(frm.inc_amount4.value)) {
			alert('You didn\'t enter a valid Slab 4 Increment Amount');
			frm.inc_amount4.focus();
			return false;
		}
		if(frm.slab_amount5.value == '' || frm.slab_amount5.value == 0.00 || !isPrice(frm.slab_amount5.value)) {
			alert('You didn\'t enter a valid Slab 5 Amount');
			frm.slab_amount5.focus();
			return false;
		}
		if(parseFloat(frm.slab_amount4.value) >= parseFloat(frm.slab_amount5.value)) {
			alert('Slab 5 Amount must be bigger than Slab 4 Amount');
			frm.slab_amount5.focus();
			return false;
		}
		if(parseFloat(frm.slab_amount5.value) - parseFloat(frm.slab_amount4.value) < parseFloat(frm.inc_amount4.value)) {
			alert('Slab Difference must be bigger than Increment Amount');
			frm.slab_amount5.focus();
			return false;
		}
		if(frm.inc_amount5.value == '' || frm.inc_amount5.value == 0.00 || !isPrice(frm.inc_amount5.value)) {
			alert('You didn\'t enter a valid Slab 5 Increment Amount');
			frm.inc_amount5.focus();
			return false;
		}
	
	}
	
	return true;
	
}








function blockNonNumbers(obj, e, allowDecimal, allowNegative)
{
	var key;
	var isCtrl = false;
	var keychar;
	var reg;
	
	if(window.event) {
		key = e.keyCode;
		isCtrl = window.event.ctrlKey
	}
	else if(e.which) {
		key = e.which;
		isCtrl = e.ctrlKey;
	}
	
	if (isNaN(key)) return true;
	
	keychar = String.fromCharCode(key);
	
	// check for backspace or delete, or if Ctrl was pressed
	if (key == 8 || isCtrl)
	{
		return true;
	}

	reg = /\d/;
	var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
	var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
	
	return isFirstN || isFirstD || reg.test(keychar);
}

/*############################################################################################################*/
/*############################################################################################################*/
/*############################################################################################################*/

	function validateEmpty(fld, msg) {
		var error = "";
	 
		if (fld.value.length == 0) {
			fld.style.background = '#FC3254'; 
			error = msg+"\n"
		} else {
			fld.style.background = 'White';
		}
		return error;  
	}
	
	function validateUsername(fld, minlen, maxlen) {
		var error = "";
		var illegalChars = /\W/; // allow letters, numbers, and underscores
	 
		if (fld.value == "") {
			fld.style.background = '#FC3254'; 
			error = "You didn't enter a username.\n";
		} else if ((fld.value.length < minlen) || (fld.value.length > maxlen)) {
			fld.style.background = '#FC3254'; 
			error = "The username is the wrong length.\n";
		} else if (illegalChars.test(fld.value)) {
			fld.style.background = '#FC3254'; 
			error = "The username contains illegal characters.\n";
		} else {
			fld.style.background = 'White';
		}
		return error;
	}
	
	function validatePassword(fld,minlen,maxlen) {
		var error = "";
		var illegalChars = /[\W_]/; // allow only letters and numbers 
	 
		if (fld.value == "") {
			fld.style.background = '#FC3254';
			error = "You didn't enter a password.\n";
		} else if ((fld.value.length < minlen) || (fld.value.length > maxlen)) {
			error = "The password is the wrong length. \n";
			fld.style.background = '#FC3254';
		} else if (illegalChars.test(fld.value)) {
			error = "The password contains illegal characters.\n";
			fld.style.background = '#FC3254';
		} else if (!((fld.value.search(/(a-z)+/)) && (fld.value.search(/(0-9)+/)))) {
			error = "The password must contain at least one numeral.\n";
			fld.style.background = '#FC3254';
		} else {
			fld.style.background = 'White';
		}
		return error;
	}
	
	function trim(s) {
		return s.replace(/^\s+|\s+$/, '');
	}
	
	function validateEmail(fld) {
		var error="";
		var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
		var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
		var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
	   
		if (fld.value == "") {
			fld.style.background = '#FC3254';
			error = "You didn't enter an email address.\n";
		} else if (!emailFilter.test(tfld)) {              //test email for illegal characters
			fld.style.background = '#FC3254';
			error = "Please enter a valid email address.\n";
		} else if (fld.value.match(illegalChars)) {
			fld.style.background = '#FC3254';
			error = "The email address contains illegal characters.\n";
		} else {
			fld.style.background = 'White';
		}
		return error;
	}
	
	function validatePhone(fld) {
		var error = "";
		var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    
	
		if (fld.value == "") {
			error = "You didn't enter a phone number.\n";
			fld.style.background = '#FC3254';
		} else if (isNaN(parseInt(stripped))) {
			error = "The phone number contains illegal characters.\n";
			fld.style.background = '#FC3254';
		} else if (!(stripped.length == 10)) {
			error = "The phone number is the wrong length. Make sure you included an area code.\n";
			fld.style.background = '#FC3254';
		}
		return error;
	}
	
	function validateNumeric(number, msg) {
		
		var error = "";
		var characters = "0123456789";
		var tmp;
		var lTag;
		lTag = 0;
		temp = (number.value.length);
		for (var i=0;i<temp;i++) {
			tmp = number.value.substring(i,i+1);
			if (characters.indexOf(tmp) == -1) {
				lTag = 1;
			}
		}
		if(lTag == 1) {
			error = msg;
			number.style.background = '#FC3254';
		}
		return error;
	}
	
	function validatePrice(number, msg) {
		
		var error = "";
		var characters = "0123456789.";
		var tmp;
		var lTag;
		lTag = 0;
		temp = (number.value.length);
		for (var i=0;i<temp;i++) {
			tmp = number.value.substring(i,i+1);
			if (characters.indexOf(tmp) == -1) {
				lTag = 1;
			}
		}
		if(lTag == 1) {
			error = msg;
			number.style.background = '#FC3254';
		}
		return error;
	}
	
	function validateCheckBox(fld, msg) {
		var error = "";
		if (fld.checked == false) {
			fld.style.background = '#FC3254'; 
			error = msg+"\n"
		} else {
			fld.style.background = 'White';
		}
		return error;
	}
	
	function confirmPassword(pass, confpass) {
		var error = "";
		if(pass.value != confpass.value) {
			error = "The both password are not same.\n";
			confpass.style.background = '#FC3254';
			confpass.focus();
		}
		return error;
	}